secure-workflow-guide은(는) 무엇을 하나요?
Trail of Bits의 5단계 보안 개발 워크플로우를 안내합니다. Slither 스캔을 실행하고, 특수 기능(업그레이드 가능성/ERC 규정 준수/토큰 통합)을 확인하며, 시각적 보안 다이어그램을 생성하고, 퍼징/검증을 위한 보안 속성 문서화를 지원하며, 수동 보안 영역을 검토합니다.
1단계: 초기 Slither 스캔 실행
다음 명령어로 프로젝트에서 Slither를 실행합니다:
slither .
이 명령어는 모든 Solidity 파일에서 일반적인 취약점과 모범 사례 위반을 검사합니다.
2단계: 특수 기능 확인
다음 특수 기능을 확인합니다:
- 업그레이드 가능성: 프록시 패턴 사용 시 저장소 충돌 위험 확인
- ERC 규정 준수: ERC20/ERC721/ERC1155 표준 준수 여부 확인
- 토큰 통합: 외부 토큰과의 상호 작용 시 안전성 확인
Slither의 프린터 모듈을 사용하여 관련 정보를 추출할 수 있습니다:
slither . --print human-summary
3단계: 시각적 보안 다이어그램 생성
다음 명령어로 계약 간 상속 및 호출 관계를 시각화합니다:
slither . --print inheritance-graph
이 정보를 바탕으로 계약 아키텍처 다이어그램을 생성합니다.
4단계: 보안 속성 문서화
퍼징 및 형식 검증을 위해 다음 속성을 문서화합니다:
require()/assert()조건- 상태 변수 불변 조건
- 함수 간 호출 순서 제약 조건
- 시간 종속 조건 (블록 타임스탬프 등)
문서화된 속성은 .spec.md 파일에 저장하는 것이 좋습니다.
5단계: 수동 보안 영역 검토
다음 영역을 수동으로 검토해야 합니다:
- 접근 제어 및 권한 관리
- 외부 호출 재진입 위험
- 가스 제한 관련 취약점
- 오라클 조작 가능성
각 영역에 대해 발견된 위험과 권장 수정 사항을 문서화합니다.
이 워크플로우는 Trail of Bits의 보안 엔지니어링 방법론을 기반으로 합니다. 자세한 내용은 공식 문서를 참조하세요.