smart-contract-audit은(는) 무엇을 하나요?
Solidity/EVM 스마트 계약 보안 감사를 위한 AI 에이전트 스킬 — 재진입, 접근 제어, 오라클 조작 등을 SWC 레지스트리를 기반으로 분석합니다. Claude Code, Codex, Cursor에서 작동합니다. Viprasol Tech 제공.
개요
이 스킬은 스마트 계약의 보안 취약점을 자동으로 식별하고 분석합니다. Solidity 및 EVM 호환 언어로 작성된 계약을 지원하며, SWC 레지스트리에 정의된 표준 보안 약점을 기준으로 평가합니다.
기능
- 재진입 공격 감지 — 비신뢰 코드 실행 후 상태 변경 누락 확인
- 접근 제어 분석 —
tx.origin사용, 잘못된 권한 부여 패턴 탐지 - 오라클 조작 방지 — 중앙화된 오라클 의존성 및 가격 조작 가능성 평가
- 서명 재사용 방지 — ECDSA 서명의 논스 누락 및 재생 공격 확인
- 부동 소수점 정밀도 — 나눗셈 반올림 오류 및 정밀도 손실 분석
- 기타 취약점 — SWC-101부터 SWC-140까지 포괄적인 검사
사용 방법
- 스킬 활성화 — 지원되는 AI 에이전트(Claude Code, Codex, Cursor)에서 이 스킬을 활성화합니다.
- 계약 코드 제출 — 분석할 Solidity 소스 코드를 입력합니다.
- 결과 확인 — 스킬이 취약점 목록, 위험 등급, 수정 권장 사항을 포함한 감사 보고서를 생성합니다.
명령 예시
// 예: 타겟 스마트 계약
contract VulnerableVault {
mapping(address => uint256) public balances;
address public owner;
function withdraw(uint256 amount) external {
require(balances[msg.sender] >= amount, "잔액 부족");
(bool sent, ) = msg.sender.call{value: amount}("");
require(sent, "전송 실패");
balances[msg.sender] -= amount;
}
}
# AI 에이전트에 요청 예시
@agent run audit-contracts --source ./contracts/
SWC 레지스트리 매핑
| 취약점 유형 | SWC ID | 설명 |
|---|---|---|
| 재진입 | SWC-107 | 순서 문제로 인한 재진입 공격 |
| 접근 제어 | SWC-105 | 권한 상승 취약점 |
| 오라클 조작 | SWC-120 | 외부 데이터 피드 조작 |
| 서명 재사용 | SWC-121 | ECDSA 논스 재사용 |
| 부동 소수점 | SWC-114 | 정밀도 손실 |
지원 환경
- Claude Code — Anthropic의 AI 코딩 에이전트
- Codex — OpenAI 기반 자동 코드 리뷰 도구
- Cursor — AI 통합 코드 편집기
제한 사항
- 이 스킬은 예비 감사 도구로, 전문 감사자의 심층 분석을 대체하지 않습니다.
- 최신 취약점이 항상 포함되지는 않을 수 있습니다. 정기적으로 SWC 레지스트리를 확인하세요.
- 복잡한 비즈니스 로직 취약점은 완전히 자동으로 감지되지 않을 수 있습니다.
라이선스
MIT 라이선스 — 자유롭게 사용 및 수정 가능합니다.