프로젝트 소개
Keygraph가 개발한 Shannon은 웹 애플리케이션과 그 밑바탕 API를 위한 자율 AI 침투 테스트 에이전트입니다. 핵심 원칙은 "공격 없음 = 보고 없음"으로, Shannon이 실행 중인 애플리케이션에 대해 동작하는 증명 가능한 PoC를 보여줄 때만 문제를 발견으로 간주합니다.
동작 방식
- 탐색 및 취약점 분석: 실시간 애플리케이션을 탐색하고 런타임 동작을 소스 코드와 연결하며, 주입, XSS, SSRF, 인증 및 권한 부여 분야에서 전문 에이전트를 실행합니다.
- 에이전트 기반 보안 코드 분석: 아키텍처, 신뢰 경계, 노출된 인터페이스, 의존성, 데이터 흐름, 고위험 자산을 매핑한 후 타겟 조사를 시작합니다.
- 발견 정합: 두 후보 스트림을 병합 및 중복 제거하여 공격 큐에 넣습니다.
- 공격 에이전트: 실제 PoC 공격을 시도하며, 입증되지 않은 항목은 버립니다.
- 보고서 생성: PDF 및 Markdown 형식의 보고서와 함께 증거를 첨부하고, 구조화된 JSON 및 SARIF 2.1.0(기본적으로 공격 모드 스캔에 사용)을 제공하여 하류 도구 및 CI/CD 게이트와 연동합니다.
실행 방법
- 필수 조건: Docker(워커 컨테이너용), Node.js 18+(권장 npx 워크플로우용), 사용자 AI 제공업체 자격 증명.
- `npx @keygraph/shannon@latest setup`으로 설치 후, `npx @keygraph/shannon@latest start -u https://your-app.com -r /path/to/your/repo`로 실행합니다.
- 대상 저장소는 읽기 전용으로 일시적 Docker 컨테이너 내에 마운트되며, 결과는 로컬 작업 공간에 저장되고, 중단된 스캔은 재개 가능합니다.
설정 및 범위
- 인증 테스트, 로그인 흐름, TOTP 및 이메일 인증, 집중 영역 및 참여 규칙 지원.
- OWASP 중심으로 주입, XSS, SSRF, 손상된 인증 및 권한 부여 등 공격 가능한 취약점 포함.
- 공급자 독립적 및 BYOK: Anthropic, OpenAI, xAI, AWS Bedrock 내장, 기타 하네스 카탈로그 제공업체 호환, 사용자 정의 기본 URL로 프록시 또는 LLM 게이트웨이 사용 가능, Ollama, vLLM, LM Studio를 통해 로컬 모델 제공 가능.
- GitHub Actions 및 GitLab CI/CD 공식 통합: 보고서 및 로그 보존, PR, 릴리스, 예약 펜테스트 지원, 설정된 심각도 임계값에 도달하는 공격된 발견 시 파이프라인 실패 옵션 제공. `status: exploited` 상태의 발견만 심각도 게이트에 반영됩니다.
에디션 및 주의사항
오픈소스 에디션은 개인 개발자 및 소규모 팀이 로컬 또는 CI 기반 테스트를 수행하도록 설계되었으며, 상업용 Keygraph Enterprise Platform은 포괄적인 에이전트 기반 SAST, 지속적 펜테스트 및 전체 생애주기 취약점 관리를 추가합니다.
Shannon은 수동 스캐너가 아닙니다: 공격 에이전트는 사용자 생성, 폼 제출, 애플리케이션 상태 변경, 외부 요청 트리거 등을 수행할 수 있습니다. 소유하거나 명시적으로 허가받은 시스템에만 사용해야 하며, 가급적 샌드박스, 스테이징 또는 로컬 환경에서 실행해야 합니다. 문서화된 제한 사항에는 LLM 생성 발견에 대한 인간 검토 필요, 전체 실행 시간 약 1~1.5시간, LLM API 비용 가능성, 모델 능력 차이, 신뢰할 수 없는 코드베이스에 대한 프롬프트 주입 위험 등이 있으며, GNU AGPL v3.0 라이선스 하에 배포되며 상업용 라이선스는 별도로 제공됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.