StanleyNull/AutoHunter
自动化 SRC 漏洞挖掘系统:FOFA 资产测绘 + LLM 多 worker 自主挖掘/审核/情报沉淀。Powered By StanleyNull
AutoHunter – AI 기반 24/7 자동 취약점 탐색
소개 – AutoHunter는 AI 기반 에이전트들을 실행하여 웹 자산의 보안 결함을 발견하는 독립형 플랫폼입니다. 단일 서버로 지속적으로 운영되며, 대상을 수집하고 실제 도구(nmap, nuclei, sqlmap, httpx 등)로 탐색한 뒤, 대규모 언어 모델(LLM)을 사용하여 가치 있는 결과를 선별합니다. 사람은 최종 검토 단계에서 결과 승인, 거부 또는 편집만 수행하면 됩니다.
핵심 구성 요소
| 구성 요소 | 역할 |
|---|---|
| Collector | FOFA(또는 기타 검색 엔진)나 수동 목록에서 대상을 가져와 생존 여부를 확인하고 점수를 매겨 큐에 추가합니다. |
| Worker | 대상당 하나의 Worker가 할당됩니다. LLM이 정찰을 주도하고 번들된 도구를 실행하여 실제 취약점을 테스트합니다. |
| Reviewer | 결과가 사람에게 전달되기 전에 명백한 오탐을 필터링하는 "AI 우선" 검토자입니다. |
| Console | 각 Worker의 실시간 상태, 대상 우선순위, 빠른 인간 트리아지를 위한 결과 패널을 보여주는 Vue 기반 대시보드입니다. |
중요성 – 반복적인 스캔과 초기 분석을 LLM 가이드 에이전트에 위임함으로써, 보안 팀은 밤새 기계를 가동하고 매일 몇 분의 최종 결정만 내리면 됩니다. 또한 검증된 자격 증명, 핑거프린트, 개념 증명(PoC)을 기록하여 이후 실행 시 재사용합니다.
주요 기능
- 멀티 에이전트 워크플로우 – Collector → Worker → Reviewer → 사람 → 선택적 "대규모 익스플로잇" 분석.
- 24/7 무인 운영 – Docker-compose 배포; 컨테이너 자동 재시작.
- 실제 도구 실행 – nmap, nuclei, sqlmap, httpx, whatweb, curl 등이 Worker 컨테이너 내부에서 직접 실행됩니다.
- LLM 기반 의사결정 – OpenAI 호환 API(DeepSeek, Claude, OpenAI 등)를 지원하며 도구 호출을 수행합니다. 네이티브 함수 호출이 없는 모델은 프롬프트 기반 시뮬레이션으로 대체됩니다.
- 대상 속성 – IP/ASN 정보(ip138) 자동 조회 및 EduSRC 보고용 JSON 내보내기.
- 배치 "킬 체인" 분석 – 취약점이 확인되면 시스템이 유사한 호스트를 스캔하여 동일한 문제가 대규모로 악용 가능한지 확인합니다.
- 내장 WAF 및 역할 기반 토큰 – 웹 UI 접근 제어; HTTPS용 리버스 프록시 지원.
- SQLite 영속성 + 백업 – 일관된 스냅샷의 원클릭 내보내기/가져오기; Docker 볼륨을 통해 업그레이드 후에도 데이터 유지.
빠른 시작 (Docker-Compose)
# Docker 설치 (필요 시)
curl -fsSL https://get.docker.com | sh && sudo systemctl enable --now docker
# 클론 및 설치 프로그램 실행
git clone https://github.com/StanleyNull/AutoHunter.git autohunter && cd autohunter
bash scripts/install.sh # 대화형: LLM API 키 입력, 선택적으로 FOFA 키 입력
스크립트가 백엔드, Vue 프론트엔드, 취약점 도구 이미지를 빌드하고 18800 포트에서 스택을 시작합니다. http://<host>:18800/에 접속하여 설치 프로그램이 출력한 토큰으로 로그인하세요.
Windows (Docker Desktop + WSL2) 및 macOS 지침도 README에 제공됩니다.
핵심 설정 (환경 변수)
| 변수 | 필수 여부 | 목적 |
|---|---|---|
LLM_API_KEY |
✅ | 선택한 LLM 제공업체의 API 키 (DeepSeek, OpenAI, Claude 등). |
LLM_BASE_URL |
선택 | 사용자 지정 엔드포인트 (기본값은 DeepSeek). |
LLM_MODEL |
선택 | 도구 호출을 지원하는 모델 이름. |
FOFA_KEY |
권장 | 자동 대상 수집을 위한 FOFA 접근 권한. |
AUTOHUNTER_API_TOKEN |
강력 권장 | 웹 UI를 보호하는 Bearer 토큰; 없으면 콘솔이 누구에게나 공개됩니다. |
AUTOHUNTER_HOST_PORT |
선택 | 외부 노출 포트 (기본값 18800). |
AUTOHUNTER_TOOL_COMPAT |
선택 | 시스템의 도구 호출 처리 방식 (auto, prompt, native). |
기타 모든 설정(Worker 동시성, 예산 제한, WAF 토글 등)은 적절한 기본값이 설정되어 있으며 .env 또는 UI 설정 페이지에서 재정의할 수 있습니다.
기술 스택
- 백엔드 – Python 3.12, FastAPI, SQLAlchemy (SQLite with WAL), asyncio.
- 프론트엔드 – Vue 3 + Vite (동일한 Docker compose로 서비스).
- LLM 통합 – OpenAI 호환 채팅 완성 또는 Anthropic 메시지; 함수 호출 또는 프롬프트 기반 시뮬레이션 지원.
- 내장 도구 – nmap, nuclei, sqlmap, httpx, whatweb, curl, wget, jq (모두 Worker 이미지에 사전 설치).
- 오케스트레이션 – Docker Compose v2; 컨테이너는
unless-stopped로 재시작되며 필요 시 systemd로 관리 가능.
대상 사용자
- 레드팀 / 모의해킹 팀 – 특정 자산 풀(대학 네트워크, 기업 인트라넷 등)에 대해 지속적인 스캐너가 필요한 경우.
- 버그 바운티 플랫폼 – 대량의 보고서에 대한 1차 트리아지를 자동화하려는 경우.
- 보안 연구원 – LLM 가이드 도구 오케스트레이션 실험에 관심이 있는 경우.
라이선스 및 안전 주의사항
AutoHunter는 Apache 2.0 라이선스로 배포됩니다. 명시적인 서면 허가를 받은 자산에 대해서만 사용해야 합니다. 이 도구는 대상의 데이터를 삭제하거나 수정할 수 있으므로, 오용에 대한 책임은 사용자에게 있습니다.
결론 – AutoHunter는 최신 LLM 인터페이스와 검증된 네트워크 스캔 도구를 결합하여 멀티 에이전트 파이프라인으로 래핑하고, Docker-compose 스택으로 제공하여 무인 운영을 가능하게 합니다. 단일 서버를 "24시간 사냥 기계"로 바꾸고 인간의 작업량을 매일의 빠른 검토로 줄여줍니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트