
AIRecon은 자체 호스팅 대규모 언어 모델(Ollama)을 Kali Linux Docker 샌드박스 및 Textual TUI와 결합하는 자율 사이버 보안 에이전트입니다. API 키나 클라우드 의존성 없이 보안 평가, 침투 테스트, 버그 바운티 정찰을 자동화하도록 설계되었습니다.
AIRecon은 자체 호스팅 Ollama LLM과 Kali Linux Docker 샌드박스, 네이티브 Caido 프록시 통합, 구조화된 RECON → ANALYSIS → EXPLOIT → REPORT 파이프라인, 실시간 Textual TUI를 결합한 자율 침투 테스트 에이전트입니다. 완전히 오프라인으로 작동하며 API 키가 필요 없습니다.

상용 API 기반 모델(OpenAI GPT-4, Claude, Gemini)은 세션당 수천 건의 LLM 호출이 필요할 수 있는 반복적이고 자율적인 정찰 워크플로우에서 비용이 감당하기 어려울 정도로 높아집니다.
AIRecon은 100% 로컬 및 비공개 운영을 위해 설계되었습니다.
| 기능 | AIRecon | 클라우드 기반 에이전트 |
|---|---|---|
| API 키 필요 | 아니요 | 예 |
| 클라우드로 전송되는 대상 데이터 | 아니요 | 예 |
| 오프라인 작동 | 예 | 아니요 |
| Caido 통합 | 네이티브 | 없음 |
| 세션 재개 | 예 | 다양함 |
| 로컬 지식 베이스 | 약 109만 개 레코드 | 없음 |
§FUZZ§), findings, scope.dataset_search를 자율적으로 호출하여 실제 인덱싱된 데이터에 기반해 결정을 내립니다.RECON → ANALYSIS → EXPLOIT → REPORT
각 단계에는 특정 목표, 권장 도구, 자동 전환 기준이 있습니다. 단계 강제는 소프트(soft) 방식입니다 — 에이전트는 안내를 받지만 차단되지는 않습니다. 체크포인트는 5회(단계 평가), 10회(자체 평가), 15회(컨텍스트 압축) 반복마다 실행됩니다.
AIRecon은 LLM을 파인튜닝하지 않습니다. "학습"은 도구 선택을 안내하고 실패한 경로의 반복을 방지하는 로컬 구조화된 원격 측정(telemetry) 데이터입니다.
로컬 영속성 (전부 디스크에 저장, 클라우드 없음):
~/.airecon/memory/airecon.db의 SQLite 메모리 DB — 세션, 파인딩, 패턴, 대상 인텔, 도구 사용, 모델 성능, 스킬 사용, 공격 체인 발견 사항을 저장합니다.~/.airecon/learning/global_learning.json의 적응형 학습 상태 (도구 성능 통계, 전략 패턴, 관찰 로그, 정제된 인사이트).~/.airecon/memory/by_target/ 아래에 저장되는 대상별 메모리 파일 — 엔드포인트, 취약점, WAF 우회, 민감한 파라미터, 인증 엔드포인트를 포함합니다.workspace/<target>/payload_memory.json에 페이로드 메모리 스냅샷을 저장할 수 있습니다.동작에 미치는 영향:
AIRecon에는 확장 사고(<think> 블록)와 신뢰할 수 있는 도구 호출 기능을 갖춘 모델이 필요합니다. 기능은 ollama show 메타데이터를 통해 자동 감지됩니다.
⚠️ 도구 호출 지원이 필수입니다. 모델은 네이티브 함수/도구 호출을 지원해야 합니다. 이 기능이 없는 모델은 어떤 도구(http_observe, execute, 브라우저 동작 등)도 실행할 수 없어 AIRecon이 완전히 작동하지 않게 됩니다.
권장 최소 사양: 8B-9B 파라미터. 8B 미만 모델은 기술적으로 사용 가능하지만 강력히 권장되지 않습니다. 도구 출력을 자주 환각(hallucinate)하고, CVE를 지어내며, 범위 규칙을 건너뛰고, 신뢰할 수 없는 도구 호출을 생성합니다.
| 모델 | Pull | VRAM | 비고 |
|---|---|---|---|
| Qwen3.5 122B | ollama pull qwen3.5:122b | 48+ GB | 최고 품질, 가장 안정적 |
| Qwen3.5 35B | ollama pull qwen3.5:35b | 20 GB | 대부분의 사용자에게 권장 |
| Qwen3.5 35b | ollama pull qwen3.5:35b-a3b | 16 GB | MoE — 낮은 VRAM |
| Qwen3.5 9B | ollama pull qwen3.5:9b | 6 GB | 최소 실행 가능 — 오류 빈번 예상 |
모델 크기 가이드:
알려진 문제: DeepSeek R1은 불완전한 함수 호출을 생성합니다. 8B 미만 모델은 신뢰할 수 있는 도구 호출 지원이 부족합니다.
GPU가 없거나 로컬 VRAM이 최소 사양 미만인 경우 무료 Google Colab T4 GPU에서 Ollama를 실행하고 공용 터널을 통해 AIRecon을 연결할 수 있습니다.
작동 방식:
Google Colab GPU Your Local Machine
┌─────────────────────────┐ ┌──────────────────────────┐
│ Ollama (qwen3.5:9b) │◄────────►│ AIRecon TUI │
│ cloudflared tunnel │ HTTPS │ ollama_url: tunnel URL │
└─────────────────────────┘ └──────────────────────────┘
단계:
~/.airecon/config.yaml에 복사합니다:ollama_url: "https://xxxx.trycloudflare.com" # printed by Cell 6
ollama_model: "qwen3.5:9b"
ollama_timeout: 300.0
ollama_chunk_timeout: 300.0
ollama_num_ctx: 32768
ollama_num_ctx_small: 16384
airecon startColab GPU → 모델 가용성:
| Colab GPU | VRAM | 사용 가능한 모델 | 요금제 |
|---|---|---|---|
| T4 | 15 GB | qwen3.5:9b | 무료 |
| L4 | 22 GB | qwen3.5:35b-a3b (MoE) | Pro |
| A100 | 40 GB | qwen3.5:35b | Pro+ |
| H100 | 80 GB | qwen3.5:122b | Pro+ |
제한 사항:
qwen3.5:9b는 최소 실행 가능 구성입니다 — 로컬 35B+ 모델보다 느린 응답과 더 많은 도구 호출 오류가 예상됩니다.scripts/airecon_colab.ipynb에 있으며, 직접 호스팅하거나 수정하려면 해당 파일을 사용하세요.사전 요구 사항: Python 3.12+, Docker 20.10+, Ollama(실행 중), git, curl
curl -fsSL https://raw.githubusercontent.com/pikpikcu/airecon/refs/heads/main/scripts/install.sh | bash
이 스크립트는 원격/로컬 모드를 자동 감지하고, Poetry가 없으면 설치하며(공식 설치 프로그램 사용 — 시스템 패키지 충돌 없음), wheel을 빌드하여 ~/.local/bin에 설치합니다.
git clone https://github.com/pikpikcu/airecon.git
cd airecon
./install.sh
# Add to ~/.bashrc or ~/.zshrc if needed
export PATH="$HOME/.local/bin:$PATH"
airecon --version
구성 파일: ~/.airecon/config.yaml (최초 실행 시 자동 생성). AIRecon은 사용자 지정 ~ 경로를 사용하는 경우를 포함하여 ~/.airecon/ 디렉터리가 없으면 생성합니다.
# ======================================
# Ollama Connection
# ======================================
# Ollama API endpoint. REQUIRED — must be set. For local: http://127.0.0.1:11434. For remote: http://IP:11434
ollama_url: "http://127.0.0.1:11434"
# Model to use. 122B for best reasoning (requires 60GB+ VRAM). For 12GB VRAM: use qwen2.5:7b or smaller. For 8GB VRAM: use qwen2.5:1.8b.
ollama_model: "qwen3.5:122b"
# Total request timeout (seconds). 180s = 3 min. Stable for most models. Increase to 300s for slow remote servers or 122B models.
ollama_timeout: 180.0