01
스마트 컨트랙트 위협 탐지Smart Contract Threat Detection
문제 정의
서명 창에 뜬 컨트랙트가 무엇을 하는지 해석할 수 없는 사용자. 그리고 배포된 컨트랙트의 위험을 실행 전에 걸러낼 방법이 없는 지갑·dApp.
구현 목표
스마트 컨트랙트(
.sol) 소스코드를 입력받아 악성 여부와 위험 패턴을 분석하는 도구를 구현합니다. CLI 또는 웹 인터페이스 어느 쪽이든 가능합니다.
필수 제출물
- 입력 —
.sol파일을 입력받습니다. 복수 파일에 대한 일괄 분석 지원을 권장합니다 - 판정 — Benign / Malicious / Uncertain 등 명확한 판정 결과를 제공합니다
- 근거 — 위험 요소가 위치한 코드 또는 함수와 판단 근거를 함께 제시합니다
- Machine-readable Output — 자동화된 평가가 가능하도록 JSON 등 구조화된 출력 형식을 지원해 주세요
- 실행 방법 — 재현 가능한 실행 방법을 README에 제공해 주세요
제출 요건
- 오프라인 동작 — 채점은 네트워크가 차단된 환경에서 진행됩니다. 외부 API·LLM 호출에 의존하는 툴은 동작하지 않으니, 필요한 모델과 규칙은 제출물에 포함해 주세요.
- 비대화형 진입점 — 웹 UI로 만드셔도 되지만, 일괄 채점을 위해 같은 로직을 실행하는 비대화형 진입점(CLI·스크립트·
docker run중 아무거나)을 함께 제출해 주세요. - 디렉터리 일괄 처리 — 입력은 디렉터리 단위 일괄 처리가 필수입니다. 단일 파일 지원은 선택입니다.
평가 기준
- 주최 측이 준비한 Mock 컨트랙트(정상·악성 샘플 및 비공개 테스트셋)를 정확하게 판별하는가
- 단순 키워드 매칭이 아니라 코드의 로직 흐름과 권한 구조를 근거로 위험 요소를 식별하는가
- 판정 근거가 타당한가 — 비정상적 권한 이전, 은닉된 자산 인출 경로 등
제공 자료
공개 샘플과 비공개 심사 테스트셋은 신청 확인 후 디스코드로 안내합니다.