Skip to main content
Glama

🏗️ 아키텍처

┌──────────────────────────────────────────────────────────┐
│  $ pentest ask --query "scan for SQLi and XSS" \         │
│                --target http://localhost:3000 --consent  │
└──────────────────┬───────────────────────────────────────┘
                   │ Direct Python execution
                   ▼
┌──────────────────────────────────────────────────────────┐
│            GEMINI-POWERED AGENT (Python)                 │
│                                                          │
│  Phase 1: PLAN    → LLM selects tools from query        │
│  Phase 2: EXECUTE → Runs tools, collects findings       │
│  Phase 3: REPORT  → LLM generates professional report   │
│                                                          │
│  ┌─────────────┐  ┌──────────────┐  ┌────────────────┐  │
│  │   Session    │  │  Scan Mode   │  │   Tool         │  │
│  │   Manager    │  │  Orchestrator│  │   Registry     │  │
│  └─────────────┘  └──────┬───────┘  └────────────────┘  │
│                          │                               │
│         ┌────────────────┼────────────────┐              │
│         ▼                ▼                ▼              │
│  ┌────────────┐  ┌────────────┐  ┌────────────────┐     │
│  │   nmap     │  │   sqlmap   │  │   ffuf         │     │
│  │   nuclei   │  │   dalfox   │  │   nikto        │     │
│  │   sslyze   │  │   commix   │  │   gobuster     │     │
│  │   wafw00f  │  │   arjun    │  │   subfinder    │     │
│  │   ... 30+  │  │   ...      │  │   ...          │     │
│  └────────────┘  └────────────┘  └────────────────┘     │
│                          │                               │
│                          ▼                               │
│              ┌──────────────────────┐                    │
│              │    GEMINI API        │                    │
│              │  (Flash Lite)       │                    │
│              │  Triage · Analysis  │                    │
│              │  CVSS · Reporting   │                    │
│              └──────────────────────┘                    │
└──────────────────────────────────────────────────────────┘

✨ 주요 기능

기능

설명

자연어 인터페이스

평이한 영어로 보안 질문을 하면 AI가 적절한 도구를 선택하고 실행합니다

3가지 스캔 모드

Quick(5-10분), Medium(15-30분), Extensive(45분 이상) — 각 모드별 깊이와 AI 분석 수준이 다릅니다

30개 이상의 보안 도구

nmap, sqlmap, nuclei, ffuf, dalfox, nikto, wafw00f, subfinder, sslyze 등

AI 기반 분석

Gemini AI(Flash Lite)가 취약점 분류, CVSS 점수 산정 및 경영진 보고서 생성

자동 도구 선택

pentest ask 명령어를 통한 LLM 기반 도구 계획 및 실행

세션 관리

여러 대상에 걸쳐 보안 평가 추적, 일시 중지 및 재개

OWASP Top 10 커버리지

OWASP 2021 카테고리에 매핑된 체계적인 스캔

스마트 폴백

전문 도구가 설치되어 있지 않은 경우, Python 기반 구현이 이를 대체

📋 목차

🚀 빠른 시작

사전 요구 사항

  • Python 3.11+

  • uv (Python 패키지 관리자)

  • Gemini API 키 (무료 티어 제공)

1. 복제 및 설치

git clone https://github.com/yourusername/pentest-ai-cli
cd pentest-ai-cli

# Install dependencies
uv sync

2. 환경 설정

cp .env.example .env

.env 파일을 편집하여 Gemini API 키를 추가하세요:

GEMINI_API_KEY=your_gemini_api_key_here

3. 보안 도구 설치 (선택 사항)

서버는 Python 기반 폴백으로 작동하지만, 전문적인 수준의 스캔을 위해서는 외부 도구를 설치하세요:

# macOS (Homebrew)
brew install nmap sqlmap

# Install ffuf (Go-based fuzzer)
go install github.com/ffuf/ffuf/v2@latest

# Install nuclei (vulnerability scanner)
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

# Install subfinder (subdomain discovery)
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest

팁: session_init을 실행하여 시스템에서 감지된 도구를 확인하세요.

4. 스캔 시작!

pentest ask \
  --query "run a quick security scan" \
  --target https://example.com \
  --consent

🎯 스캔 모드

Quick 모드 (5-10분)

즉각적인 위험 평가를 위한 빠른 분류.

테스트

도구

WAF 탐지

wafw00f / custom

DNS 열거

dnsrecon / custom

포트 스캔 (상위 20개)

nmap / custom

헤더 분석

custom

TLS/SSL 감사

sslyze / custom

기술 지문 인식

whatweb / custom

민감 파일 발견

ffuf / custom

Medium 모드 (15-30분)

OWASP Top 10을 다루는 표준 모의 해킹.

테스트

도구

Quick 모드의 모든 기능

포트 스캔 (상위 100개)

nmap

XSS 스캔

dalfox / custom

SQL 인젝션

sqlmap

디렉토리 발견

ffuf / gobuster

CORS 설정 오류

corscanner / custom

경로 탐색

custom

오픈 리다이렉트

custom

CSRF 체크

custom

Extensive 모드 (45분 이상)

경영진 수준의 포괄적인 보안 평가.

테스트

도구

Medium 모드의 모든 기능

포트 스캔 (상위 1000개)

nmap / masscan

서브도메인 열거

subfinder / amass

고급 퍼징

wfuzz / ffuf

SSRF 프로빙

custom

시크릿 스캔

trufflehog

Git 노출

git-dumper

JWT 분석

jwt_tool

GraphQL 보안

graphql-cop

커맨드 인젝션

commix

🔧 지원 도구

서버는 30개 이상의 보안 도구를 자동 감지와 함께 통합합니다. 도구가 설치되어 있지 않아도 Python 기반 폴백이 스캔을 계속 수행합니다.

도구

카테고리

필수 여부

nmap

포트 스캔

선택 (폴백 있음)

sqlmap

SQL 인젝션

선택

ffuf

퍼징 / 파일 발견

선택 (폴백 있음)

nuclei

취약점 스캔

선택

dalfox

XSS 스캔

선택

subfinder

서브도메인 발견

선택

wafw00f

WAF 탐지

선택 (폴백 있음)

sslyze

TLS/SSL 감사

선택 (폴백 있음)

nikto

웹 서버 스캔

선택

gobuster

디렉토리 무차별 대입

선택

whatweb

기술 지문 인식

선택 (폴백 있음)

wfuzz

고급 퍼징

선택

arjun

숨겨진 파라미터 발견

선택

testssl

SSL/TLS 테스트

선택

masscan

빠른 포트 스캔

선택

amass

OSINT / 서브도메인 열거

선택

dnsrecon

DNS 열거

선택 (폴백 있음)

theHarvester

이메일/도메인 OSINT

선택

retire.js

JS 라이브러리 CVE 스캔

선택

trufflehog

시크릿 탐지

선택

git-dumper

Git 저장소 노출

선택

commix

커맨드 인젝션

선택

corscanner

CORS 설정 오류

선택 (폴백 있음)

jwt_tool

JWT 분석

선택

graphql-cop

GraphQL 보안

선택

xsstrike

고급 XSS

선택

hydra

무차별 대입

선택

shodan

인터넷 인텔리전스

선택

enum4linux-ng

SMB 열거

선택

💬 사용 예시

pentest ask 명령어는 Gemini AI를 사용하여 자연어 쿼리를 기반으로 보안 스캔을 자동으로 계획하고 실행합니다.

빠른 취약점 스캔

pentest ask \
  --query "scan for SQL injection and XSS vulnerabilities" \
  --target http://localhost:3000 \
  --consent

전체 OWASP Top 10 감사

pentest ask \
  --query "perform a comprehensive OWASP Top 10 security audit" \
  --target https://example.com \
  --consent

정찰 전용

pentest ask \
  --query "enumerate subdomains and check for exposed sensitive files" \
  --target example.com \
  --consent

사용자 지정 보고서 경로

pentest ask \
  --query "check security headers and TLS configuration" \
  --target https://example.com \
  --consent \
  --output security-audit-2024.md

📖 전체 문서: 자세한 사용 가이드, 예시 및 문제 해결은 CLI_USAGE_GUIDE.md를 참조하세요.

📁 프로젝트 구조

pentest-ai/
├── pentest_mcp/
│   ├── scan_modes.py          # Quick/Medium/Extensive scan orchestration
│   ├── agent.py               # Standalone CLI orchestrator
│   ├── session.py             # Session state management
│   ├── models.py              # Pydantic data models
│   ├── config.py              # Environment & settings
│   ├── cli.py                 # CLI interface (includes "ask" command)
│   ├── cli_ui.py              # Beautiful CLI UI components
│   ├── tools/
│   │   ├── __init__.py        # Python-native security tools
│   │   ├── professional.py    # External tool wrappers (nmap, sqlmap, etc.)
│   │   └── tool_registry.py   # Tool execution and result processing
│   └── utils/
│       └── sanitizer.py       # Input validation & sanitization
├── tests/
│   └── test_system.py         # System tests
├── wordlists/                 # Fuzzing wordlists for ffuf/gobuster
├── reports/                   # Generated scan reports (Markdown)
├── CLI_USAGE_GUIDE.md         # Example prompts and detailed usage guide
├── pyproject.toml             # Project dependencies & metadata
├── Makefile                   # Development shortcuts
├── install_tools.sh           # Security tool installer script
└── .env.example               # Environment variable template

⚙️ 설정

환경 변수

변수

설명

기본값

GEMINI_API_KEY

Gemini API 키

필수

GEMINI_MODEL

분석용 LLM 모델

gemini-flash-lite-latest

GEMINI_MAX_TOKENS

최대 응답 토큰

8192

GEMINI_TEMPERATURE

LLM 온도

0.2

SESSION_DIR

세션 저장 경로

~/.pentest-ai/sessions

LOG_LEVEL

로그 상세 수준

INFO

AGENT_MAX_TOOLS

pentest ask 실행당 최대 도구 수

10

AI 분석 파이프라인

각 스캔 모드는 스캔 깊이에 맞춰 조정된 별도의 Gemini AI 프롬프트를 사용합니다:

  • Quick: 간결한 분류 — 중요/높음 위험 발견 사항에만 집중

  • Medium: 균형 잡힌 위험 평가 및 수정 방안을 포함한 OWASP Top 10 분석

  • Extensive: 철저한 CVSS 점수 발견 사항, 규정 준수 매핑 및 전략적 권장 사항을 포함한 경영진 요약 보고서

🔍 문제 해결

Read-only file system 오류

보고서는 <project_root>/reports/에 저장됩니다. 프로젝트 디렉토리에 쓰기 권한이 있는지 확인하세요.

Gemini API 오류

  • API 키 확인: echo $GEMINI_API_KEY

  • aistudio.google.com에서 속도 제한 확인

  • Gemini를 사용할 수 없는 경우에도 서버는 스캔을 계속하며, 원시 도구 출력은 여전히 반환됩니다.

도구가 감지되지 않음

Homebrew 또는 패키지 관리자를 통해 누락된 도구를 설치하세요. 외부 도구가 없어도 Python 폴백이 핵심 기능을 커버합니다.

⚠️ 보안 공지

이 도구는 승인된 보안 테스트용으로만 사용해야 합니다.

  • 스캔 대상에 대해 항상 명시적인 서면 허가를 받으세요.

  • 무단 테스트는 컴퓨터 사기 및 남용법(CFAA), IT Act 2000/2008 및 전 세계 유사 법률을 위반합니다.

  • consent_confirmed 매개변수는 윤리적 안전장치로 존재하며, 이를 절대 우회하지 마세요.

  • API 키를 버전 관리 시스템에 커밋하지 마세요.

📝 라이선스

자세한 내용은 LICENSE를 참조하세요.


-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MohitSahoo/MCPToolForWebVulnerabilities-'

If you have feedback or need assistance with the MCP directory API, please join our Discord server