Nightcrawler v0.1.0: 스마트폰용 자율 로컬 AI 침투 테스트 에이전트
Nightcrawler v0.1.0은 스마트폰에서 완전히 실행되도록 설계된 자율 침투 테스트 에이전트입니다. 이를 통해 레드팀 운영자는 클라우드 연결이나 인터넷 접속 없이도 호스트를 발견하고, 서비스를 매핑하며, 취약점을 식별할 수 있는 "drop box" 장치를 배포할 수 있습니다. 로컬 LLM과 보안 도구 모음을 결합함으로써, 은밀한 프로필을 유지하면서 전문적인 침투 테스트의 정찰 및 공격 단계(exploitation)를 자동화합니다.
로컬 AI 아키텍처 및 성능
Nightcrawler는 장치의 GPU에서 실행되는 소형 파라미터 AI 모델을 사용하여 운영 결정을 내립니다. 현재 프로덕션 구성은 LFM2.5-1.2B-Instruct-Heretic 모델을 사용하며, Q8_0로 양자화되어 Adreno 650 GPU(OnePlus 8에서 테스트됨)에서 OpenCL을 통해 실행됩니다.
추론 벤치마크
| Model | Quantization | Prompt Speed | Generation Speed |
|---|---|---|---|
| LFM2.5-1.2B-Instruct-Heretic | Q8_0 | 115 tok/s | 13 tok/s |
| Qwen3.5-0.8B | Q8_0 | 30.5 tok/s | 6.3 tok/s |
| Qwen3.5-4B | Q4_0 | 10.1 tok/s | 2.0 tok/s |
Android의 배터리 전력 사용 시 발생하는 기본 GPU 스로틀링(throttling)에 대응하기 위해, Nightcrawler는 최대 성능을 강제하는 GPU governor daemon을 구현하여 배터리가 15% 이하로 떨어질 때만 자동으로 성능을 제한합니다.
자율 침투 테스트 워크플로우
에이전트는 대상 선정, 추론, 실행의 연속적인 루프를 통해 작동합니다. 침입 탐지 시스템(IDS)의 탐지를 피하기 위해 호스트를 순환하며 턴당 단일 작업을 수행하도록 설계되어, 인내심 있는 인간 침투 테스터를 모방합니다.
운영 파이프라인
- WiFi Breach (선택 사항): 네트워크 접속 권한 없이 배포된 경우, 에이전트는 외부 USB WiFi 어댑터를 사용하여 WPA2 네트워크를 자율적으로 크랙할 수 있습니다.
- Reconnaissance (정찰): 에이전트는 로컬 네트워크의 장치를 발견하기 위해 은밀한 스캔을 수행합니다.
- Enumeration (열거): SSH, DNS, 웹 서버와 같은 발견된 서비스를 조사합니다.
- Exploitation (공격): 에이전트는 24,956개의 CVE와 27개의 다단계 공격 플레이북을 포함하는 로컬 데이터베이스를 사용하여 알려진 취약점과 기본 자격 증명을 테스트합니다.
- Reporting (보고): 모든 발견 사항과 조치 권고 사항을 포함하는 구조화된 보고서가 생성됩니다.
에이전트 결정 로직
1.2B 모델은 약 50%의 명령 성공률을 가지므로, 시스템은 광범위한 복구 엔지니어링에 의존합니다:
- Garbage Detection: 5회 연속 실패 시 다양한 few-shot 예시와 함께 컨텍스트를 리셋합니다.
- Stuck Detection: 5분간 정체될 경우 무한 루프를 방지하기 위해 컨텍스트를 리셋합니다.
- Deterministic Playbooks: 복잡한 다단계 공격은 신뢰성을 보장하기 위해 LLM을 완전히 우회합니다.
- Duplicate Detection: 에이전트가 작업을 반복할 경우 도구와 대상을 다양화하도록 강제합니다.
시스템 설계 및 안전 계층
Nightcrawler는 안전과 안정성을 보장하기 위해 "뇌"(LLM)와 "손"(도구 실행)을 분리합니다.
Scope Enforcement Proxy
LLM이 생성한 모든 명령은 Scope Proxy를 통과해야 합니다. 이 안전 계층은 정의된 미션 범위(네트워크, 제외된 호스트 및 제외된 포트)에 대해 명령을 검증하고, Kali MCP 서버에 도달하기 전에 명령 필터를 통해 파괴적인 명령을 블록합니다.
기술 스택
- OS: Android와 Kali NetHunter (Magisk를 통한 Root 권한 필요).
- Hardware: OnePlus 8 (Snapdragon 865, 12GB+ RAM).
- Database: SQLite를 사용하여 호스트, 취약점 및 자격 증명을 지속적으로 저장합니다.
- C2 Interface: Flask 기반 웹 대시보드를 통해 라이브 피드, 네트워크 맵, C2 컨트롤을 제공하며, 이는 대상 네트워크로부터 은밀함을 유지하기 위해 nginx 헤더를 위조합니다.
커뮤니티 인사이트 및 고려 사항
프로젝트를 둘러싼 논의는 AI 기반 보안 도구의 유치성(utility)과 "이중 용도(dual-use)" 소프트웨어의 법적 복잡성 사이의 긴장을 강조합니다.
"I cant publish a attack surface mapping / pentesting tool i wrote which runs fully deterministic and really controlable due to 'dual use' legal problems - but llm driven tools hit public space."
사용자들이 제기한 다른 기술적 우려 사항으로는, "잘 구성된" 그러나 잘못된 명령(예: 잘못된 호스트를 대상으로 하는 경우)이 범위 체크를 우회할 수 있는 가능성이 있습니다. 이는 범위 프록시가 AI의 추론 의도가 아닌 대상의 법적성을 검증하기 때문입니다.
하드웨어 요구 사항
Nightcrawler를 배포하려면 다음 사양을 요구합니다:
- Rooted Android Phone: Kali NetHunter 설치가 필수적입니다.
- Memory: 12GB+ RAM (모델을 위해 약 1.3GB, Android를 위해 4GB).
- Optional Hardware: 모니터 모드 및 WPA2 크랙을 위한 Ralink RT3572 USB WiFi 어댑터.
Sources
관련
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트