위키득계정 ↗
기술

Slither

Slither기술
대상 언어
Solidity와 Vyper
구현 언어
Python
중간 표현
SlithIR
확장 방식
탐지기와 분석 API
Slither는 Solidity와 Vyper 스마트 계약을 분석하는 정적 분석 프레임워크다. 취약점 탐지기와 계약 정보를 출력하는 기능, 사용자 정의 분석 API를 제공한다.

실행 전 구조를 분석하기

계약 코드를 컴파일해 얻은 정보를 바탕으로 문제 패턴과 프로그램 구조를 분석한다. 입력을 반복해서 바꾸는 퍼저와 달리 코드의 관계와 표현을 다루는 것이 중심이다. 분석 결과는 경고가 발생한 위치와 실제 동작을 연결해 검토해야 한다.

탐지기와 정보 출력

취약점을 보고하는 탐지기 외에도 계약의 핵심 정보를 보여 주는 printer 기능이 있다. 개발자는 API로 특정 프로젝트에 필요한 검사를 만들 수 있다. 경고가 없다는 사실만으로 모든 업무 규칙과 보안 요구가 확인되었다고 판단하지 않는다.

프로젝트 빌드와 연결

의존성이 있는 계약은 해당 프로젝트의 빌드 프레임워크를 통해 분석하는 경로가 중요하다. 단일 파일만 넘기면 필요한 외부 정의나 컴파일 설정을 제대로 반영하지 못할 수 있다. 컴파일러와 프로젝트 설정을 분석 기록에 함께 남긴다.

관련 문서

Echidna 계약 퍼저 / Medusa 계약 퍼저 / Mythril / Solhint