Shannon: 스타 41.4K 화이트박스 AI 침투 테스트 도구

🤖 Shannon: 스타 41.4K 화이트박스 AI 침투 테스트 도구, No PoC No Report
Shannon은 웹 애플리케이션과 API를 대상으로 자율 실행되는 화이트박스 AI 침투 테스트 도구입니다:
- GitHub 스타 41.4K: 보안 분야에서 가장 인기 있는 오픈소스 프로젝트 중 하나
- No PoC No Report: PoC가 없으면 보고하지 않음, 오탐 0건
- XBOW 벤치마크 96.15%: 취약점 악용 성공률이 상용 도구를 압도
- 회당 $50: 1회 테스트 비용, 1-1.5시간 만에 보고서 작성
- 화이트박스 테스트: 소스 코드 접근이 필요, 소스 분석 + 동적 공격
이는 보안 도구 체인의 동적 검증 계층으로, 전통적인 침투 테스트의 공백을 메웁니다.
🔍 Shannon은 왜 존재하는가?
보안 공백 문제
당신의 팀은 AI 코딩 도구로 매일 코드를 배포하지만 침투 테스트는 1년에 한 번실시합니다 — 그 사이 364일의 보안 공백은 누가 메울까요?
- 전통 스캐너: '존재할 가능성이 있는' 취약점을 수없이 보고, 보안 엔지니어가 하나씩 검증해야 함
- 수동 침투 테스트: 수주 걸리고 비용은 수만 달러
- 보안 공백: 그 사이 364일 동안 취약점이 프로덕션 환경에 배포되고 있을지도 모름
Shannon의 대답
Shannon이 내놓은 대답은: 소스 코드를 읽고, 브라우저를 직접 조작해 공격을 시도하며, 뚫지 못하면 보고하지 않는 완전 자율 침투 테스트 Agent입니다.
⚠️ 스캐너가 아닙니다: No Exploit, No Report
Shannon을 이해하는 첫걸음
Shannon을 이해하는 첫걸음은 그것이 무엇이 아닌지를 명확히 하는 것입니다:
- DAST가 아님: 동적 애플리케이션 보안 테스트 도구가 아님
- SAST가 아님: 정적 애플리케이션 보안 테스트 도구가 아님
- 패턴 매칭이 아님: 알려진 위험 패턴을 스캔하는 것이 아님
전통 도구는 본질적으로 패턴 매칭입니다 — 코드나 HTTP 응답에서 알려진 위험 패턴을 스캔해 '의심 취약점' 목록을 출력합니다.
Shannon의 핵심 설계 원칙
Shannon의 핵심 설계 원칙은 한 문장으로 요약할 수 있습니다:“POC or it didn’t happen”(PoC가 없으면 일어나지 않은 것과 같다):
| 특징 | 설명 |
|---|---|
| 실제 공격 실행 | 브라우저 자동화로 SQL 주입, XSS 페이로드 구성, SSRF 요청 전송 |
| 악용에 성공한 경우에만 보고 | 악용에 성공한 취약점만 최종 보고서에 포함 |
| 복사-붙여넣기 가능한 PoC 첨부 | 모든 발견 항목에 바로 복사해 쓸 수 있는 PoC 코드 첨부 |
| 오탐은 보고서 미포함 | 악용할 수 없는 취약점은 '오탐' 또는 '잠재'로 표시되며 보고서에 포함되지 않음 |
이는 보안 팀이 받는 모든 발견 항목이 검증되고 재현 가능하다는 것을 의미합니다.
OWASP Juice Shop 테스트
공식 제공 OWASP Juice Shop 테스트 보고서에서 Shannon은 20개 이상의 취약점을 발견했습니다:
- SQL 주입 인증 우회(Critical)
- UNION 주입 데이터 추출(Critical)
- SSRF(High)
- XSS(High)
- 다양한 권한 부여 우회(High)
주목할 점은, 다른 두 테스트 대상에서 Shannon의 XSS 탐지가 오탐 0건이었다는 것입니다 — 이 애플리케이션들이 견고한 XSS 방어를 갖추고 있음을 정확히 식별했으며, 오보가 없었습니다.
🔬 5단계 파이프라인 아키텍처
5단계 파이프라인 + 다중 Agent 병렬
Shannon의 기술 아키텍처의 키워드는 두 가지입니다:5단계 파이프라인과 다중 Agent 병렬입니다:
| 단계 | 이름 | 설명 |
|---|---|---|
| 단계 1 | Pre-Recon | 외부 스캔 + 소스 코드 분석(Nmap, Subfinder, WhatWeb) |
| 단계 2 | Recon | 정적 분석과 동적 분석을 연결, 엔드포인트 검증 및 인증 흐름 매핑 |
| 단계 3 | Vulnerability Analysis | 5개 병렬 Agent, 각각 하나의 취약점 카테고리 담당 |
| 단계 4 | Exploitation | 5개 병렬 Agent, 실제 공격 실행 |
| 단계 5 | Reporting | 침투 테스트 수준의 실행 보고서 생성 |
하위 추론 엔진
Shannon은 Anthropic Claude Agent SDK 기반으로 3계층 모델 구성을 채택합니다:
- Claude Haiku 4.5: 요약
- Claude Sonnet 4.6: 보안 분석
- Claude Opus 4.6: 심층 추론
📊 5가지 취약점 카테고리 병렬 Agent
5개의 독립 분석 Agent
Shannon은 동시에 5개의 독립 분석 Agent를 가동하며, 각각 하나의 취약점 카테고리를 담당합니다:
| Agent | 방법 | 커버 취약점 |
|---|---|---|
| Injection | Source→Sink 테인트 추적 | SQL/명령어/파일/템플릿/역직렬화 주입 |
| XSS | Sink→Source 테인트 추적 | HTML 렌더링 컨텍스트의 크로스 사이트 스크립팅 |
| SSRF | Sink→Source 테인트 추적 | HTTP 클라이언트, raw socket, URL 오프너 |
| Auth | Guard 검증 | 누락된 보안 통제(속도 제한, 세션 관리 등) |
| Authz | Guard 검증 | 누락된 권한 부여 검사(수평/수직/컨텍스트) |
5개 Agent가 동시 실행되며 서로 방해하지 않습니다. 각 분석 Agent가 완료되면 대응하는 악용 Agent가 즉시 가동됩니다.
취약점 분류 상태
악용 Agent는 각 발견 항목을 세 가지 상태로 분류합니다:
- EXPLOITED(악용됨): 최종 보고서에 포함
- POTENTIAL(잠재): 보고서 미포함
- FALSE POSITIVE(오탐): 보고서 미포함
오직 EXPLOITED만 최종 보고서에 포함됩니다.
🔥 XBOW 벤치마크 96.15%
XBOW 벤치마크 테스트
Shannon은 XBOW 벤치마크에서 96.15%의 취약점 악용 성공률(100/104)을 달성했습니다:
| 취약점 유형 | 총수 | 성공 | 성공률 |
|---|---|---|---|
| Broken Authorization | 25 | 25 | 100% |
| SQL Injection | 7 | 7 | 100% |
| Blind SQL Injection | 3 | 3 | 100% |
| SSRF / Misconfiguration | 22 | 21 | 95.45% |
| XSS | 23 | 22 | 95.65% |
| Server-Side Template Injection | 13 | 12 | 92.31% |
| Command Injection | 11 | 10 | 90.91% |
| 합계 | 104 | 100 | 96.15% |
테스트 조건 설명
- XBOW 벤치마크: 의도적으로 취약점을 심은 104개 애플리케이션
- 정리 버전: 변수명, 주석, 파일 경로 힌트 제거
- 화이트박스 모드: Shannon이 애플리케이션 소스 코드에 접근 가능
상용 도구와 비교
- Shannon: 96.15%(화이트박스 모드)
- KinoSec: 92.3%(블랙박스 모드)
- Xfenser AI: 88.5%
- XBOW 상용 플랫폼: 약 85%(블랙박스)
💰 비용과 시작 방법
비용
1회 전체 스캔:
- 소요 시간: 1-1.5시간
- API 비용: 약 $50 USD(Claude Sonnet 4.6 기준)
- 범위: $40-55, 모델 가격과 애플리케이션 복잡도에 따라 다름
비교전통 수동 침투 테스트: 1회 수만 달러, 수주 소요.
시작 방법
npx 모드(권장, 설치 불필요):
# 一次性配置 npx @keygraph/shannon setup # 运行渗透测试 npx @keygraph/shannon start -u https://your-app.com -r /path/to/repo
로컬 모드(전체 빌드):
# 克隆仓库 git clone https://github.com/KeygraphHQ/shannon.git cd shannon # 配置 API Key echo "ANTHROPIC_API_KEY=your-key" > .env # 安装和构建 pnpm install && pnpm build # 运行 ./shannon start -u https://your-app.com -r /path/to/repo
선행 조건
- Docker: 컨테이너 런타임
- Node.js 18+: 실행 환경
- Anthropic API Key: 권장
- 소스 코드 접근: 화이트박스 도구에 필요
🤝 Shannon Lite vs Shannon Pro
두 버전
| 버전 | 라이선스 | 포지셔닝 |
|---|---|---|
| Shannon Lite | AGPL-3.0 | 자신의 애플리케이션 로컬 테스트 |
| Shannon Pro | 상용 | 조직 수준 AppSec 플랫폼(SAST + SCA + Pentest) |
Shannon Pro 기능
Shannon Pro는 풀기능 애플리케이션 보안 플랫폼입니다:
- Code Property Graph: 정적 분석 엔진
- 비즈니스 로직 보안 테스트: 자동화된 불변식 발견
- SCA 도달성 분석: CVE 도달성 추적
- 시크릿 탐지: 정규식 + LLM 탐지
- 정적-동적 연계: 정적 발견 항목을 동적 침투 테스트에 자동 투입
- CI/CD 통합: GitHub PR 스캔
⚠️ 사용 시 주의사항
중요 경고
- 허가받지 않은 시스템에 절대 사용 금지: Shannon은 실제 공격을 실행하며, 무단 스캔은 불법입니다
- 프로덕션 환경에서 실행 비권장: 공격 행위가 파괴적 영향을 일으킬 수 있음
- 저장소가 AI 프롬프트 주입에 노출될 수 있음: 이는 공식적으로 명시된 보안 위험입니다
- Shannon Lite는 화이트박스 도구: 소스 코드 저장소 접근 필요
LLM 환각 위험
공식 면책 조항: LLM은 여전히 환각을 일으킬 수 있으므로 모든 발견 항목의 적법성과 심각도를 사람이 검증해야 합니다.
📝 요약
Shannon은 지금 형성되고 있는 보안 도구 패러다임을 대표합니다:
- No PoC No Report: 악용에 성공한 경우에만 보고
- 스타 41.4K: 보안 분야에서 가장 인기 있는 오픈소스 프로젝트
- XBOW 벤치마크 96.15%: 화이트박스 테스트 성공률이 상용 도구를 압도
- 5단계 파이프라인: Pre-Recon → Recon → Vuln → Exploit → Report
- 5가지 병렬 Agent: Injection, XSS, SSRF, Auth, Authz
- 회당 $50, 1-1.5시간: 수동 침투 테스트보다 훨씬 저렴한 비용
- 화이트박스 도구: 소스 코드 접근 필요
PoC가 없으면 보고하지 않는다, Shannon은 침투 테스트를 명령어 한 줄로 바꿔놓았습니다.
GitHub: https://github.com/KeygraphHQ/shannon
공식 홈페이지: https://keygraph.io