GitHub - KeygraphHQ/shannon: Fully autonomous AI hacker to find actual exploits in your web apps. Shannon has achieved a 96.15% success rate on the hint-free, source-aware XBOW Benchmark.
핵심 포인트
- 1Shannon은 웹 애플리케이션의 취약점을 탐지하고 실제 익스플로잇을 실행하는 완전 자율 AI pentester입니다.
- 2Reconnaissance, Vulnerability Analysis, Exploitation, Reporting의 4단계 다중 에이전트 아키텍처를 통해 Injection, XSS, SSRF, Broken Authentication/Authorization 등 OWASP 주요 취약점을 검증합니다.
- 3Shannon은 오픈소스인 Lite 버전과 CI/CD 통합 및 고급 기능을 제공하는 Pro 버전으로 나뉘며, 실제 PoC를 포함한 pentest 등급의 보고서를 제공합니다.
KeygraphHQ의 Shannon은 웹 애플리케이션에서 실제 익스플로잇(exploits)을 찾아내는 완전 자율 AI 펜테스터입니다. 이 프로젝트의 목표는 다른 공격자가 먼저 웹 애플리케이션을 침해하기 전에 취약점을 발견하고 악용하는 것입니다. Shannon은 단순한 경고를 넘어 실제 익스플로잇을 제공하며, 내장된 브라우저를 사용하여 Injection 공격이나 인증 우회(auth bypass)와 같은 실질적인 익스플로잇을 실행하여 취약점의 실제 악용 가능성을 증명합니다. 이는 연간 한두 번 이루어지는 전통적인 침투 테스트의 보안 격차를 해소하고, 코드가 지속적으로 배포되는 현대 개발 환경에서 지속적인 화이트박스(white-box) 펜테스팅을 가능하게 합니다.
Shannon은 다음과 같은 주요 특징들을 제공합니다:
- 완전 자율 운영(Fully Autonomous Operation): 단일 명령으로 펜테스트를 시작하며, 고급 2FA/TOTP 로그인 및 브라우저 탐색부터 최종 보고서 작성까지 모든 과정을 개입 없이 처리합니다.
- 펜테스터 수준 보고서(Pentester-Grade Reports): 입증된 익스플로잇 가능한 결과를 중심으로 최종 보고서를 제공하며, 오탐(false positives)을 제거하고 실행 가능한 결과를 제공하기 위해 복사-붙여넣기 방식의 PoC(Proof-of-Concepts)를 포함합니다.
- 주요 OWASP 취약점 커버리지(Critical OWASP Vulnerability Coverage): 현재 Injection, XSS, SSRF, Broken Authentication/Authorization과 같은 치명적인 취약점을 식별하고 검증합니다.
- 코드 인식 동적 테스팅(Code-Aware Dynamic Testing): 소스 코드를 분석하여 공격 전략을 지능적으로 유도한 다음, 실행 중인 애플리케이션에서 라이브 브라우저 및 명령줄 기반 익스플로잇을 수행하여 실제 위험을 확인합니다.
- 통합 보안 도구 활용(Powered by Integrated Security Tools): Nmap, Subfinder, WhatWeb, Schemathesis와 같은 선도적인 정찰 및 테스트 도구를 활용하여 대상 환경에 대한 심층 분석을 통해 발견 단계를 강화합니다.
- 병렬 처리(Parallel Processing): 시간 소모가 큰 단계를 병렬화하여 분석 및 익스플로잇을 동시에 실행함으로써 보고서 생성 시간을 단축합니다.
Shannon은 두 가지 에디션으로 제공됩니다:
- Shannon Lite: AGPL-3.0 라이선스로 제공되며, 본 리포지토리에 포함된 핵심 자율 AI 펜테스팅 프레임워크를 사용합니다. 보안 팀, 독립 연구원, 그리고 자신의 애플리케이션 테스트에 적합합니다.
- Shannon Pro: 엔터프라이즈(Enterprise) 고객을 위한 상업용 에디션으로, 고급 기능, CI/CD 통합, 전용 지원을 제공합니다. LLMDFA 논문에서 영감을 받은 고급 LLM 기반 데이터 흐름 분석(data flow analysis) 엔진을 통해 엔터프라이즈 수준의 코드 분석과 심층적인 취약점 탐지를 수행합니다.
Shannon의 핵심 방법론은 인간 침투 테스터의 방법론을 모방하는 정교한 다중 에이전트 아키텍처를 사용합니다. 이는 화이트박스 소스 코드 분석과 블랙박스 동적 익스플로잇을 결합하며, 네 가지 명확한 단계로 관리됩니다:
- 정찰(Reconnaissance):
- 이 단계는 애플리케이션의 공격 표면(attack surface)에 대한 포괄적인 맵을 구축합니다.
- Shannon은 소스 코드를 분석하고 Nmap, Subfinder와 같은 도구와 통합하여 기술 스택(tech stack)과 인프라를 이해합니다.
- 동시에 브라우저 자동화(browser automation)를 통해 실시간 애플리케이션 탐색을 수행하여 코드 수준의 인사이트와 실제 동작을 연관시킵니다.
- 결과적으로 다음 단계를 위한 모든 진입점(entry points), API 엔드포인트, 인증 메커니즘에 대한 상세 맵을 생성합니다.
- 취약점 분석(Vulnerability Analysis):
- 효율성을 극대화하기 위해 이 단계는 병렬로 작동합니다.
- 정찰 데이터를 사용하여 각 OWASP 범주에 특화된 에이전트들이 잠재적인 결함을 병렬로 탐색합니다.
- Injection 및 SSRF와 같은 취약점의 경우, 에이전트들은 사용자 입력이 위험한 싱크(sinks)로 전달되는 과정을 추적하는 구조화된 데이터 흐름 분석을 수행합니다.
- 이 단계는 검증을 위해 전달될 가설적인 익스플로잇 가능한 경로(hypothesized exploitable paths) 목록을 주요 결과물로 산출합니다.
- 익스플로잇(Exploitation):
- 속도를 유지하기 위해 병렬 워크플로우를 계속합니다.
- 이 단계는 가설을 증명으로 바꾸는 데 전념합니다.
- 전용 익스플로잇 에이전트들은 가설적인 경로를 받아 브라우저 자동화, 명령줄 도구 및 사용자 정의 스크립트를 사용하여 실제 공격을 실행하려고 시도합니다.
- 이 단계는 "No Exploit, No Report" 정책을 엄격히 시행합니다. 즉, 가설이 영향을 입증하기 위해 성공적으로 익스플로잇될 수 없다면 오탐으로 간주되어 폐기됩니다.
- 보고(Reporting):
- 마지막 단계는 검증된 모든 결과를 전문적이고 실행 가능한 보고서로 컴파일합니다.
- 에이전트가 정찰 데이터와 성공적인 익스플로잇 증거를 통합하여 불필요한 노이즈나 환각된 아티팩트(hallucinated artifacts)를 정리합니다.
- 재현 가능한 복사-붙여넣기 PoC와 함께 검증된 취약점만 포함되며, 오직 입증된 위험에 초점을 맞춘 최종 펜테스터 등급의 보고서를 제공합니다.
Shannon은 일반적인 스캔을 넘어선 깊은 컨텍스트 기반 익스플로잇을 수행하며, 최소한의 오탐과 실행 가능한 PoC를 제공하는 능력을 입증합니다. 사용 시 주의사항으로, Shannon은 활동적인 익스플로잇 에이전트를 포함하므로 프로덕션 환경이 아닌 샌드박스, 스테이징 또는 로컬 개발 환경에서만 사용해야 합니다. 또한, 대상 시스템 소유자의 명시적인 서면 승인이 있어야만 합법적으로 사용할 수 있습니다.