20개 이상의 보안 도구를 LLM을 통해 조율하여 자동 정찰, 취약점 스캔, 익스플로잇, 보고서 작성을 수행하는 AI 기반 침투 테스트 프레임워크입니다.
# 저장소 클론
git clone https://github.com/SHAdd0WTAka/zen-ai-pentest.git
cd zen-ai-pentest
# 의존성 설치
pip install -r requirements.txt
# 환경 설정 및 복사
cp .env.example .env
# .env에서 API 키 및 설정 편집
nano .env
# 모든 보안 도구가 사전 설치된 원 커맨드 배포
docker-compose up -d
# 컨테이너 실행 상태 확인
docker-compose ps
# 로그 보기
docker-compose logs -f
# 모든 k-* 커맨드 별칭 로드
source tools/setup_aliases.sh
# 설치 확인
k-recon --help
k-exploit --help
| 명령어 | 설명 |
|---|
k-recon "Target: example.com" | 대상에 대한 AI 가이드 정찰 실행 |
k-exploit "Target: 192.168.1.1" | 대상에 대한 익스플로잇 에이전트 시작 |
k-report | 침투 테스트 보고서 생성 |
k-audit | 보안 감사 작업 실행 |
source tools/setup_aliases.sh | 모든 CLI 도구 별칭 로드 |
docker-compose up -d | Docker로 프레임워크 시작 |
docker-compose logs -f | 컨테이너 로그 추적 |
docker-compose down | 모든 컨테이너 중지 |
| 에이전트 | 목적 |
|---|
k-recon | 정찰 — 정보 수집, 서브도메인 열거, 포트 스캔 |
k-exploit | 익스플로잇 — 취약점 검증, 페이로드 전달 |
k-report | 보고 — 발견 결과를 구조화된 침투 테스트 보고서로 컴파일 |
k-audit | 감사 — 규정 준수 검사, 설정 검토 |
k-social | 사회 공학 — 피싱 시뮬레이션, 사기 방지 평가 |
k-network | 네트워크 분석 — 트래픽 검사, 프로토콜 분석 |
k-mobile | 모바일 보안 — Android/iOS 애플리케이션 테스트 |
k-redteam | 레드팀 작전 — 적 시뮬레이션, 횡 이동 |
k-ics | ICS/SCADA — 산업 제어 시스템 보안 평가 |
k-cloud | 클라우드 보안 — AWS, Azure, GCP 오설정 스캔 |
k-crypto | 암호화 분석 — 암호 제품군 평가, 인증서 검사 |
| 명령어 | 설명 |
|---|
k-recon "Target: example.com" | 완전한 정찰 스캔 |
k-recon "Subdomain enumeration: example.com" | 서브도메인 열거 |
k-recon "Port scan: 192.168.1.0/24" | 네트워크 범위 오픈 포트 스캔 |
k-recon "DNS enumeration: example.com" | DNS 레코드 발견 |
k-recon "Technology fingerprint: example.com" | 웹 기술 식별 |
k-recon "OSINT gather: target_org" | 오픈소스 인텔리전스 수집 |
k-recon "SSL analysis: example.com" | SSL/TLS 설정 분석 |
| 명령어 | 설명 |
|---|
k-exploit "Vuln scan: example.com" | 자동 취약점 스캔 |
k-exploit "Web app test: https://example.com" | 웹 애플리케이션 보안 테스트 |
k-exploit "SQL injection: https://example.com/login" | SQL 주입 테스트 |
k-exploit "XSS scan: https://example.com" | 크로스사이트 스크립팅 탐지 |
k-exploit "API test: https://api.example.com" | API 보안 평가 |
k-exploit "Auth bypass: https://example.com/admin" | 인증 우회 테스트 |
| 도구 | 범주 | 사용 대상 |
|---|
| Nmap | 네트워크 스캔 | k-recon, k-network |
| SQLMap | SQL 주입 | k-exploit |
| Metasploit | 익스플로잇 프레임워크 | k-exploit, k-redteam |
| Burp Suite | 웹 앱 테스트 | k-exploit |
| Gobuster | 디렉토리 무작위 대입 | k-recon |
| Nuclei | 템플릿 기반 스캔 | k-exploit |
| BloodHound | Active Directory | k-redteam |
| Nikto | 웹 서버 스캔 | k-recon |
| Hydra | 패스워드 크래킹 | k-exploit |
| John the Ripper | 해시 크래킹 | k-exploit |
| Amass | 서브도메인 열거 | k-recon |
| Subfinder | 서브도메인 발견 | k-recon |
| ffuf | 웹 퍼저 | k-exploit |
| Responder | 네트워크 포이즈닝 | k-network |
| Impacket | 네트워크 프로토콜 | k-network, k-redteam |
| 명령어 | 설명 |
|---|
k-report | 완전한 침투 테스트 보고서 생성 |
k-report --format json | JSON으로 발견 결과 내보내기 |
k-report --format junit | JUnit XML로 내보내기 (CI/CD 통합) |
k-report --format sarif | SARIF로 내보내기 (GitHub/GitLab 통합) |
k-report --compliance pci | PCI-DSS 규정 준수 보고서 생성 |
k-report --compliance hipaa | HIPAA 규정 준수 보고서 생성 |
k-report --compliance gdpr | GDPR 규정 준수 보고서 생성 |
# .github/workflows/pentest.yml
name: Security Scan
on: [push]
jobs:
pentest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: SHAdd0WTAka/zen-ai-pentest@v2
with:
target: ${{ secrets.SCAN_TARGET }}
mode: recon
output: sarif
# .gitlab-ci.yml
security_scan:
image: shadd0wtaka/zen-ai-pentest:latest
script:
- k-recon "Target: $SCAN_TARGET"
- k-report --format junit
artifacts:
reports:
junit: report.xml
| 변수 | 설명 | 예 |
|---|
OPENAI_API_KEY | LLM 추론을 위한 OpenAI API 키 | sk-... |
ANTHROPIC_API_KEY | 인스로픽 API 키 (대체 LLM) | sk-ant-... |
SCAN_TARGET | 스캔의 기본 대상 | example.com |
REPORT_FORMAT | 기본 보고서 형식 | json, sarif, junit |
MAX_THREADS | 최대 동시 스캔 스레드 | 10 |
TIMEOUT | 스캔 시간 제한 (초) | 3600 |
PROXY | 스캔 트래픽용 프록시 | http://127.0.0.1:8080 |
| 모드 | 설명 |
|---|
| Interactive | AI 가이드 결정과의 지속적인 상호작용 |
| One-shot | 미리 정의된 매개변수로 단일 실행 |
| Pipeline | 종료 코드 및 상태 보고를 통한 CI/CD 통합 |
| Autonomous | 최소한의 인간 상호작용으로 완전히 AI 기반 스캔 |
- 대상을 스캔하기 전에 적절한 인증을 항상 얻으세요
- 익스플로잇 전에 정찰로 시작하세요
--proxy 플래그를 사용하여 Burp Suite를 통해 트래픽을 라우팅하여 수동 검토하세요
- 인터랙티브 모드에서 자동 익스플로잇을 허용하기 전에 AI 결정을 검토하세요
- 규정 준수 요구 사항에 대한 규정 준수 보고서 생성하세요
- 팀 구성원 간의 일관된 도구 버전을 위해 Docker 배포를 사용하세요
- 대상 시스템 오버로드를 피하기 위해 속도 제한을 설정하세요
- 감사 추적을 위해 스캔 결과를 버전 제어에 저장하세요