
shannon v2.5.0
Shannon은 웹 애플리케이션과 API를 위한 자율적 화이트박스 AI 침투 테스터입니다. 소스 코드를 분석하고 공격 벡터를 식별하며, 취약점이 프로덕션에 도달하기 전에 실제 익스플로잇을 실행하여 입증합니다.
[!NOTE] Shannon 2.0이 공식 출시되었습니다
Shannon - Keygraph의 AI 침투 테스터
Shannon은 웹 애플리케이션과 API를 위한 자율형 AI 침투 테스터입니다.
소스 코드를 분석하고 공격 경로를 식별하며, 취약점이 프로덕션에 도달하기 전에 입증하기 위해 실제 익스플로잇을 실행합니다.
이 저장소는 Shannon Open Source입니다: 전체 에이전트를 여러분의 커맨드라인에서 로컬로 실행할 수 있습니다.
[!TIP] AI 에이전트 및 LLM: 이 저장소의 간결한 지도를 보려면 llms.txt부터 시작하거나, README와 문서를 하나의 파일로 결합한 llms-full.txt를 사용하세요.
목차
Shannon이란 무엇인가?
Shannon은 Keygraph가 개발한 자율형 AI 침투 테스터입니다. 소스 코드 분석과 실시간 익스플로잇을 결합하여 웹 애플리케이션과 그 기반 API에 대한 보안 테스트를 수행합니다.
Shannon은 웹 애플리케이션의 소스 코드를 분석하여 잠재적 공격 벡터를 식별한 다음, 브라우저 자동화와 커맨드라인 도구를 사용하여 실행 중인 애플리케이션과 해당 API를 대상으로 실제 익스플로잇을 실행합니다. 작동하는 개념 증명(PoC)이 있는 취약점만 최종 보고서에 포함됩니다.
Shannon은 에이전트입니다. 이 저장소는 Shannon Open Source로, 여러분이 직접 실행하는 독립형 침투 테스터입니다. 동일한 Shannon이 Keygraph의 상용 침투 테스트 제품인 Keygraph 플랫폼도 구동합니다. 두 버전의 차이점은 에디션을 참조하세요.
Shannon이 존재하는 이유
Claude Code나 Cursor 같은 도구 덕분에 여러분의 팀은 코드를 쉬지 않고 배포합니다. 하지만 침투 테스트는 어떻습니까? 일 년에 한 번입니다. 이는 엄청난 보안 공백을 만듭니다. 나머지 364일 동안 여러분은 의식하지 못한 채 취약점을 프로덕션에 배포하고 있을 수 있습니다.
Shannon은 모든 빌드 또는 릴리스를 대상으로 실행할 수 있는 온디맨드 자동 침투 테스트를 제공하여 이 공백을 메웁니다.
Shannon 동작 화면
Shannon Open Source가 생성한, 의도적으로 취약하게 만든 애플리케이션에 대한 샘플 침투 테스트 보고서:
| 대상 | 요약 | 보고서 |
|---|---|---|
| OWASP Juice Shop | 인증 우회, SQL 인젝션, IDOR, SSRF를 포함한 20개 이상의 취약점. | 보고서 보기 |
| c{api}tal API | 커맨드 인젝션, 인증 우회, 대량 할당(mass assignment)을 포함한 약 15개의 치명적 및 고심각도 API 발견 사항. | 보고서 보기 |
| OWASP crAPI | JWT, 인젝션, SSRF, API 인가 경로 전반에 걸친 15개 이상의 치명적 및 고심각도 발견 사항. | 보고서 보기 |
빠른 시작
사전 요구 사항
- Docker: 워커 컨테이너에 필요합니다.
- Node.js 18+: 권장되는
npx워크플로에 필요합니다. - AI 제공업체 자격 증명: Anthropic, OpenAI, xAI, AWS Bedrock - 또는 기타 제공업체. Claude 모델이 권장됩니다. 제공업체별 권장 모델 ID와 게이트웨이 및 사용자 지정 기본 URL은 AI 제공업체를 참조하세요.
- 사이버 안전장치를 제공업체와 사전 확인: Anthropic과 OpenAI는 사이버 보안 워크로드에 실시간 안전장치를 적용하므로 스캔이 실행 중에 중단될 수 있습니다. 첫 실행 전에 합법적인 보안 테스터를 위한 해당 가이드를 완료하세요 - AI 제공업체를 참조하세요.
Shannon 실행
[!WARNING] Shannon은 익스플로잇을 적극적으로 실행합니다. 소유하거나 명시적인 서면 승인을 받은 애플리케이션 및 환경에서만 실행하세요. 프로덕션 시스템에 대해서는 Shannon을 실행하지 마세요.
# Configure credentials with the interactive wizard.
npx @keygraph/shannon setup
# Run a pentest against a source-available target.
npx @keygraph/shannon start -u https://your-app.com -r /path/to/your-repo
Shannon은 Docker Hub에서 워커 이미지를 가져오고, 필요한 로컬 인프라를 시작하며, 대상 저장소를 임시 워커 컨테이너에 읽기 전용으로 마운트하고, 결과를 로컬 워크스페이스에 기록합니다.
소스 빌드, 인증된 스캔, 제공업체별 설정 및 플랫폼 관련 사항은 문서를 참조하세요.
[!TIP] API 크레딧 대신 구독을 사용하고 싶으신가요?
- OpenAI Codex: 최신 버전의 Shannon은 ChatGPT Plus 및 Pro 구독을 지원합니다. 시작하려면 OpenAI Codex 구독 설정 가이드를 따르세요.
- Claude Code: 최신 버전의 Shannon은 Claude Code 구독을 지원하지 않습니다. Claude Code 구독 설정 가이드에 따라 Claude Agent SDK 기반으로 구축된 최종 릴리스인 버전
1.9.0을 사용하세요.
주요 기능
- 익스플로잇 기반 증명 보고서: Shannon은 추측성 경고 대신 재현 가능한 개념 증명 단계와 함께 검증된 발견 사항을 보고합니다.
- 화이트박스 공격 계획: Shannon은 소스 코드 분석을 사용하여 동적 테스트를 안내하고 현실적인 공격 경로에 집중합니다.
- 자율 실행: Shannon은 단일 명령으로 정찰, 취약점 분석, 익스플로잇, 보고서 생성을 시작합니다.
- 인증된 테스트: 구성 파일에서 로그인 흐름, 테스트 자격 증명, TOTP, 이메일 기반 로그인 흐름, 집중 영역 및 교전 규칙을 정의할 수 있습니다.
- OWASP 중심 범위: Shannon은 악용 가능한 인젝션, XSS, SSRF, 손상된 인증(Broken Authentication) 및 손상된 인가(Broken Authorization) 문제를 대상으로 합니다.
- 재개 가능한 워크스페이스: Shannon은 완료된 에이전트를 다시 실행하지 않고 중단된 실행을 재개할 수 있습니다.
에디션
Shannon은 두 가지 방식으로 제공됩니다: 직접 실행하는 침투 테스터인 Shannon Open Source와, Shannon을 지속적으로 실행하고 그 주변에서 전체 AppSec 수명 주기를 완결하는 상용 침투 테스트 제품인 Keygraph 플랫폼입니다.
Shannon Open Source(이 저장소)는 독립형 침투 테스터입니다: 소유하거나 테스트 권한이 있는 웹 애플리케이션 및 API를 화이트박스 방식으로 익스플로잇 기반 증명 테스트하는 CLI 에이전트입니다. 소스를 읽고, 공격을 계획하고, 실제 익스플로잇을 실행하며, 증명할 수 있는 것만 보고합니다. 온디맨드로 실행되며 그 영역에서 완전합니다. 대상을 지정하면 침투 테스트를 수행하고 보고서를 생성합니다.
Keygraph 플랫폼은 Shannon이 구동하는 엔터프라이즈급 연속 침투 테스트 제품입니다. Keygraph 플랫폼에서는 Keygraph의 전체 코드 분석 스택이 공급하는 강화된 오케스트레이션 환경에서 향상된 빌드의 Shannon이 지속적으로 실행됩니다. 이 엔진을 중심으로 플랫폼은 분석부터 검증된 수정까지 전체 취약점 수명 주기를 완결합니다:
- 분석(Analyze): Code Property Graph SAST, 도달 가능성(reachability) 기반 SCA, 시크릿, IaC 및 컨테이너 스캐닝. 그 자체로 일급 탐지 기능이며, Shannon의 공격을 더 정밀하게 만드는 컨텍스트를 제공합니다.
- 증명(Prove): 자율 블랙박스 및 소스 인지 화이트박스 침투 테스트가 후보 발견 사항을 추측성 알림이 아닌, 입증되고 익스플로잇된 취약점으로 전환합니다.
- 관리(Manage): 저장소별, 취약점별 단일 표준 레코드를 모든 소스에서 중복 제거하여 소유자, 상태, SLA 추적, 대시보드 및 양방향 Jira 동기화와 함께 관리합니다.
- 수정 및 검증(Remediate and verify): 패치가 자동으로 작성되고 전달 전에 패치된 코드에 대해 재테스트되며, 자동 적용이 아닌 기존 검토 워크플로로 들어갑니다.
- 배포(Deploy): 자체 호스팅 및 에어갭(air-gapped) 환경, 엄격한 BYOK(Bring-Your-Own-Key) 모델 접근, 고객 제어 LLM 게이트웨이 패턴을 통해 소스, 결과 및 모델 트래픽이 내부 경계 안에 유지됩니다.
Shannon은 Keygraph 플랫폼의 중심에 있는 증명 엔진입니다. Shannon Open Source는 그 엔진을 직접 실행할 수 있게 제공합니다. Keygraph 플랫폼은 Shannon을 지속적인 분석, 발견 사항 관리, 수정, 검증 및 엔터프라이즈 배포로 둘러쌉니다.
| AppSec 수명 주기 단계 | Shannon Open Source | Keygraph 플랫폼 |
|---|---|---|
| 분석 | 공격 계획을 위한 소스의 기본 LLM 통과 | 실제 코드베이스 파싱과 Code Property Graph, SAST, 도달 가능성 기반 SCA, 시크릿, IaC 및 컨테이너 |
| 침투 테스트 및 증명 | 화이트박스 전용, 익스플로잇 기반 증명 | 향상된 화이트박스와 블랙박스 및 그레이박스 모드, 지속 실행 |
| 발견 사항 관리 | 로컬 Markdown 보고서 | 표준 발견 사항 시스템: 소스 간 중복 제거, 소유권, SLA, 대시보드, Jira 동기화 및 전문 침투 테스트급 PDF 보고서 |
| 수정 및 검증 | 보고서에서 수동으로 수정한 후 전체 스캔을 다시 실행하여 검증 | 자동 수정: 수정 사항이 포함된 PR을 열고, 전체 스캔을 다시 실행하지 않고 특정 지점 재테스트로 검증 |
| 배포 및 운영 | 로컬 CLI 및 Docker 워커 | 자체 호스팅, 에어갭, BYOK, 지속적, 엔터프라이즈 통합 |
| 라이선스 및 지원 | AGPL-3.0, 커뮤니티 | 상용, 지원 포함 |
Keygraph 웹사이트에서 자세히 알아보고, Keygraph 플랫폼 기술 개요를 읽고, 무료 평가판을 시작하거나 데모를 예약하거나 [email protected]로 문의하세요.
아키텍처
Shannon은 소스 코드 분석과 실시간 익스플로잇을 결합한 멀티 에이전트 워크플로를 사용합니다:
┌──────────────────────┐
│ Pre-Reconnaissance │
│ (source code scan) │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Reconnaissance │
│ (attack surface │
│ mapping) │
└──────────┬───────────┘
│
▼
┌──────────┴───────────┐
│ │ │
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ Vuln │ │ Vuln │ │ ... │
│(Injection)│ │ (XSS) │ │ │
└─────┬─────┘ └─────┬─────┘ └─────┬─────┘
│ │ │
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ Exploit │ │ Exploit │ │ ... │
│(Injection)│ │ (XSS) │ │ │
└─────┬─────┘ └─────┬─────┘ └─────┬─────┘
│ │ │
└──────┬───────┴─────────────┘
│
▼
┌──────────────────────┐
│ Reporting │
└──────────────────────┘
개괄적으로 보면:
- 사전 정찰은 저장소에서 프레임워크, 진입점, 데이터 흐름 및 가능성이 높은 공격 표면을 식별합니다.
- 정찰은 실행 중인 애플리케이션을 탐색하고 런타임 동작을 코드 수준 컨텍스트와 연관시킵니다.
- 취약점 분석은 인젝션, XSS, SSRF, 인증 및 인가에 특화된 에이전트를 실행합니다.
- 익스플로잇은 실제 개념 증명 공격을 시도하고 입증할 수 없는 가설은 폐기합니다.
- 보고는 검증된 발견 사항, 증거 및 수정 지침을 최종 Markdown 보고서로 정리합니다.
각 스캔은 격리된 워크스페이스와 호출별 오케스트레이션을 갖춘 임시 Docker 컨테이너에서 실행됩니다.
문서
운영 세부 사항은 다음 가이드를 사용하세요:
| 가이드 | 용도 |
|---|---|
| 소스 빌드 및 CLI 명령 | 클로닝, 빌드, 일반적인 명령, 출력 경로 및 로컬 개발. |
| 구성 | 인증된 테스트, 로그인 흐름, 교전 규칙 및 보고서 필터. |
| AI 제공업체 | 모델 선택, 지원되는 제공업체(Anthropic, OpenAI, xAI, AWS Bedrock 및 Pi가 지원하는 기타 제공업체) 및 사용자 지정 게이트웨이. |
| 플랫폼 및 네트워킹 | Windows/WSL2, Linux, macOS, Docker 네트워킹, 로컬 앱 및 사용자 지정 호스트 이름. |
| 워크스페이스 및 재개 | 워크스페이스 이름 지정, 중단된 스캔 재개 및 워크스페이스 저장. |
| 안전 및 제한 사항 | 승인된 사용 요구 사항, 비프로덕션 지침, 변경 효과, 비용 및 모델 주의 사항. |
| 범위 및 로드맵 | 현재 취약점 범위와 계획된 작업. |
| Keygraph 플랫폼 | 지속적인 에이전틱 침투 테스트 플랫폼: 코드 분석, 블랙박스 및 화이트박스 테스트, 발견 사항 관리, 수정, 검증 및 엔터프라이즈 배포. |
안전, 범위 및 제한 사항
Shannon은 수동적인 스캐너가 아닙니다. 익스플로잇 에이전트는 사용자를 생성하고, 양식을 제출하고, 애플리케이션 상태를 변경하고, 아웃바운드 요청을 트리거하는 등 대상 시스템에 영향을 줄 수 있습니다. 폐기 가능한 데이터가 있는 샌드박스, 스테이징 또는 로컬 개발 환경을 사용하세요.
Shannon을 합법적이고 윤리적으로 사용할 책임은 사용자에게 있습니다. 소유하지 않았거나 명시적인 테스트 승인을 받지 않은 시스템, 저장소 또는 애플리케이션에 Shannon을 지정하지 마세요.
중요한 제한 사항:
- Shannon Open Source는 인젝션, XSS, SSRF, 손상된 인증 및 손상된 인가와 같이 적극적으로 악용 가능한 문제에 중점을 둡니다. 취약한 종속성 및 안전하지 않은 구성을 포함한 더 광범위한 정적 분석 범위는 Keygraph 플랫폼을 통해 제공됩니다.
- 발견 사항은 여전히 사람의 검토가 필요합니다. LLM이 생성한 보고서에는 증거가 부족하거나 부정확한 세부 사항이 포함될 수 있습니다.
- Shannon은 Claude 모델에서 공식적으로 지원됩니다. 더 작거나 대체 또는 프록시된 비-Claude 모델은 불완전하거나 불안정할 수 있습니다.
- 전체 실행은 약 1~1.5시간이 걸릴 수 있으며 모델 가격과 애플리케이션 복잡성에 따라 LLM API 비용이 발생할 수 있습니다.
- 신뢰할 수 없거나 적대적인 코드베이스를 스캔하지 마세요. 소스 코드를 읽는 AI 기반 도구는 프롬프트 인젝션에 노출될 수 있습니다.
새 환경에서 Shannon을 실행하기 전에 전체 안전 및 제한 사항 가이드를 읽으세요.
라이선스
Shannon Open Source는 GNU Affero General Public License v3.0에 따라 라이선스가 부여됩니다.
다른 라이선스 조건, 상용 지원, 비공개 재배포, 관리형 서비스 사용 또는 Keygraph 플랫폼을 포함한 더 광범위한 배포 옵션이 필요한 조직에는 상용 및 엔터프라이즈 라이선스가 제공됩니다.
상용 라이선스에 대해서는 [email protected]로 문의하세요.
Keygraph 소개
Keygraph는 Shannon을 만든 회사입니다. 또한 전체 AppSec 수명 주기를 완결하고 향상된 빌드의 Shannon을 침투 테스트 엔진으로 실행하는 상용 에이전틱 침투 테스트 제품인 Keygraph 플랫폼도 구축합니다.
커뮤니티 및 지원
커뮤니티 오피스 아워에서 버그, 배포 및 구성 관련 질문에 대한 실질적인 도움을 받을 수 있습니다.
- US/EU: 목요일 오전 10:00 PT
- 아시아: 목요일 오후 2:00 IST
- 시간 예약
Discord 참여하여 질문하고, 피드백을 공유하고, 다른 Shannon 사용자와 소통하세요.
현재 Keygraph는 외부 코드 기여를 받지 않습니다. 버그 신고 및 기능 요청을 위한 이슈는 환영합니다:
계속 소통하세요:
제작: Keygraph