소스 코드 보안 감사
필수 조치 (읽은 후 즉시 실행)
NOW:../field-journal/precedent-pentest.md또는 코드 감사 권한 읽기NOW: 소스 코드/저장소 접근 확인 (소스 없는 바이너리 → RE 스킬로 전환)NOW: 언어 스택 및 범위 명확히 하기 (디렉터리/서비스/PR diff)NEXT: tool-index; semgrep 등ACT: 위협 모델링 스케치 → 자동 스캔 → 수동 검증
적용 시나리오
- 화이트박스 감사, PR/차등 보안 검토
- Semgrep / CodeQL / Bandit / gosec 등 SAST
- 위험 API, 인젝션 지점, 인증 누락, 암호화 오용
supply-chain-security/와의 분업: 이 스킬은 자체 코드 로직에 중점, 공급망은 종속성과 파이프라인에 중점
워크플로우
1. 범위 및 위협 모델
□ 신뢰 경계: 사용자 입력, 파일, 역직렬화, SSRF, 인증 미들웨어
□ 고가치 자산: 인증, 결제, 관리자 페이지, 키 처리
2. 자동 스캔
semgrep --config auto .
# 또는 프로젝트 규칙 패키지
semgrep --config p/owasp-top-ten .
3. 수동 검증 (필수)
□ 각 SAST 적중: 접근성? 악용 가능성? 오탐?
□ 인증: IDOR/권한 상승, 검증 누락, 잘못된 멀티테넌트 격리
□ 인젝션: SQL/명령어/템플릿/LDAP
□ 암호화: 하드코딩된 키, ECB, 사용자 정의 암호화
4. 산출물
발견 항목: 위치 + 데이터 흐름 + PoC + 수정 권장 사항
선택 사항 ATT&CK / CWE 번호
도구 체인
| 도구 | 언어/시나리오 |
|---|---|
| Semgrep | 다중 언어 빠른 규칙 |
| CodeQL | 깊은 데이터 흐름 (GitHub) |
| Bandit | Python |
| gosec / staticcheck | Go |
| SpotBugs / FindSecBugs | Java |
참고 자료
references/sast-review-checklist.md../supply-chain-security/../api-security/../llm-security/(Agent 코드)
라우팅 컨텍스트
상위: MASTER R26
역할: ops/role-map.md cae
하위: 종속성 취약점 → supply-chain; 런타임 검증 → pentest-tools
작업 완료 자가 점검
- 스캐너 출력만 붙여넣지 않고 수동 검증했는가?
- 수정 권장 사항이 포함되었는가?
- 권한이 부여된 저장소 범위로 제한되었는가?
- 체크리스트를 사용했는가?