[Hacker News 요약] 스마트폰에서 실행되는 로컬 AI 기반 침투 테스팅 에이전트 Nightcrawler
0
설명
Nightcrawler는 스마트폰에서 로컬 AI 모델을 사용하여 자율적으로 네트워크 침투 테스팅을 수행하는 혁신적인 도구입니다. 이 에이전트는 클라우드 연결 없이도 호스트를 탐색하고, 취약점을 발견하며, 보고서를 생성합니다. 2024년 5월 15일 공개된 이 프로젝트는 보안 전문가와 개발자에게 새로운 가능성을 제시합니다.
### 배경 설명
침투 테스팅(Pentesting)은 사이버 보안의 핵심 요소로, 실제 공격 전에 시스템의 취약점을 식별하고 평가하는 과정입니다. 전통적으로 전문 테스터들이 수동으로 수행하거나, 클라우드 기반의 스캐너를 활용해왔습니다. 그러나 이러한 방식은 데이터 프라이버시 문제, 비용, 그리고 탐지를 피하기 어려운 단점을 가집니다. Nightcrawler는 이러한 한계를 극복하기 위해 등장했습니다. 스마트폰이라는 휴대 가능한 기기에서, 100% 로컬에서 AI 모델을 실행함으로써 데이터 유출 위험을 최소화하고, 클라우드 의존성을 제거했습니다. 특히, LFM2.5-1.2B-Instruct-Heretic (12억 파라미터)과 같은 소형 AI 모델을 스마트폰의 GPU(Adreno 650)에서 직접 구동하는 기술은 모바일 환경에서의 AI 활용 가능성을 보여줍니다. 이는 기존의 대규모 클라우드 인프라에 의존하는 보안 솔루션과는 차별화되는 지점입니다.
### Nightcrawler의 작동 방식 및 기능
Nightcrawler는 마치 숙련된 인간 테스터처럼 단계적으로 작동합니다. 먼저, 네트워크에 연결된 후에는 WPA2 네트워크를 자동으로 크랙(USB WiFi 어댑터 사용 시)하거나, 은밀한 스캔을 통해 네트워크 내의 장치들을 탐색합니다. 발견된 서비스(웹 서버, SSH 등)를 열거하고, 알려진 취약점이나 기본 자격 증명을 테스트합니다. 이 모든 과정은 27개의 공격 플레이북과 24,956개의 CVE 데이터베이스를 활용하여 수행됩니다. 가장 큰 특징은 100% 로컬 추론으로, 모든 AI 연산이 스마트폰 자체에서 이루어지며 클라우드 API를 전혀 사용하지 않는다는 점입니다. 또한, '스텔스' 기술을 적용하여 전통적인 스캐너보다 탐지될 확률이 낮습니다. 이는 느린 스캔 속도, 호스트 로테이션, 그리고 트래픽을 위장하는 기법을 통해 달성됩니다. 보고서 생성 기능은 발견된 취약점과 개선 방안을 포함한 구조화된 결과물을 제공합니다.
### 기술 아키텍처 및 하드웨어 요구사항
Nightcrawler의 아키텍처는 스마트폰(OnePlus 8, Snapdragon 865 테스트 완료)을 중심으로 구성됩니다. 로컬 AI 모델(LFM2.5-1.2B-Instruct-Heretic)은 GPU에서 실행되며, 에이전트 루프(main.py)가 이를 제어합니다. 'Scope Proxy'는 모든 명령이 허가된 범위를 벗어나지 않도록 안전 장치 역할을 하며, Kali NetHunter 환경에서 nmap, curl 등 실제 명령을 실행하는 Kali MCP 서버와 연동됩니다. 웹 대시보드(포트 8888)는 실시간 모니터링 및 제어를 위한 C2(Command and Control) 인터페이스를 제공하며, SQLite 데이터베이스에 호스트, 취약점 등의 정보가 저장됩니다. 하드웨어 요구사항으로는 12GB 이상의 RAM, Magisk를 통한 루트 액세스가 필요하며, 오프라인 WiFi 크랙을 위해서는 USB WiFi 어댑터가 권장됩니다. GPU 성능은 Adreno 650에서 OpenCL을 통해 처리되며, 모델 양자화(Q8_0) 시 초당 115 토큰의 프롬프트 처리 속도를 보입니다. 배터리 사용 시 GPU 성능 저하를 방지하기 위해 최대 성능을 강제하는 GPU 거버너 데몬이 포함되어 있습니다.
### 실행 및 구성, 그리고 테스트 결과
Nightcrawler 설치는 Kali NetHunter 환경 내에서 `INSTALL.sh` 스크립트를 실행하는 것으로 시작됩니다. 이후 `scripts/run-36h.sh`와 같은 스크립트를 통해 서비스를 시작하고, Tailscale 네트워크를 통해 웹 대시보드에 접속할 수 있습니다. `config.yaml` 파일을 통해 미션 ID, 스코프(네트워크 범위), 제외 호스트 및 포트, 최대 실행 시간 등을 설정할 수 있습니다. 'auto' 옵션을 사용하면 네트워크 변경 시 별도의 설정 변경 없이 자동으로 스코프를 감지합니다. 개발자는 `NC_DRY_RUN=1 python3 main.py` 명령으로 실제 명령 실행 없이 에이전트 루프를 테스트할 수 있습니다. 72시간 이상의 자율 운영 테스트 결과, 네트워크당 30개 이상의 호스트를 발견하고 2,000개 이상의 명령을 자동으로 실행했으며, 여러 서비스에서 10개 이상의 취약점을 식별하고 6개 이상의 플레이북을 성공적으로 실행했습니다. 에이전트 메모리는 35-50MB 수준으로 안정적으로 유지되어 메모리 누수가 없음을 확인했습니다.
### 가치와 인사이트
Nightcrawler는 모바일 기기에서 로컬 AI를 활용한 자율 침투 테스팅이라는 새로운 패러다임을 제시합니다. 이는 기존의 클라우드 기반 솔루션이 가진 데이터 프라이버시, 비용, 그리고 탐지 가능성 문제를 해결하며, 특히 예산이 제한적이거나 민감한 데이터를 다루는 환경에서 유용할 수 있습니다. 개발자들은 이 프로젝트를 통해 모바일 환경에서의 LLM 활용, 보안 자동화, 그리고 에지 컴퓨팅의 가능성을 탐색할 수 있습니다. 또한, AI 에이전트의 의사 결정 과정, 스텔스 기법, 그리고 복잡한 작업을 자동화하는 플레이북 설계 등은 실무적인 보안 및 AI 개발에 대한 깊은 통찰을 제공합니다.
### 기술·메타
- Python
- Kali NetHunter
- LFM2.5-1.2B-Instruct-Heretic (LLM)
- OpenCL (GPU acceleration)
- Adreno 650 (GPU)
- nmap, curl, smbclient (Kali tools)
- SQLite (Database)
- Flask (Web UI)
- Tailscale (Networking)
- Magisk (Root)
### 향후 전망
Nightcrawler의 향후 발전은 AI 모델의 성능 향상, 더 넓은 범위의 취약점 및 공격 플레이북 추가, 그리고 다양한 하드웨어 및 운영체제 지원 확장에 달려있습니다. 현재 50% 수준인 AI 모델의 명령 성공률을 85% 이상으로 높이기 위한 모델 파인튜닝이 중요한 과제입니다. 또한, 다양한 USB WiFi 칩셋 지원, 그리고 iOS와 같은 다른 모바일 플랫폼으로의 확장 가능성도 주목할 만합니다. 커뮤니티의 기여를 통해 CVE 데이터베이스를 확장하고 새로운 공격 시나리오를 개발하는 작업도 활발히 이루어질 것으로 예상됩니다. 이러한 발전은 Nightcrawler를 더욱 강력하고 범용적인 모바일 보안 솔루션으로 발전시킬 것입니다.
📝 원문 및 참고
- Source: Hacker News
- 토론(HN): [news.ycombinator.com](https://news.ycombinator.com/item?id=49154127)
- 원문: [링크 열기](https://github.com/garagehq/nightcrawler/)
---
출처: Hacker News · [원문 링크](https://github.com/garagehq/nightcrawler/)
신고 · 불법·유해·아동 안전(CSAE) 관련 콘텐츠
댓글 0
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.