facts
스마트폰 내부 GPU에서 모든 추론을 처리하는 자율 모의해킹 에이전트 'Nightcrawler'가 공개됐다. 클라우드 연결 없이 네트워크에 기기를 배치하는 것만으로 호스트 탐색, 서비스 매핑, 취약점 식별, 리포트 생성까지의 과정을 자동화한다.
12억 개의 파라미터를 가진 `LFM2.5-1.2B-Instruct-Heretic` 모델이 핵심 엔진으로 사용된다. 하드웨어는 Adreno 650 GPU를 기반으로 하며, OpenCL을 통해 추론을 수행한다. 네트워크 진입 시 `wlan0` 인터페이스에서 현재 서브넷을 자동으로 읽어오는 동적 범위 탐지(Dynamic scope detection) 기능을 지원해 별도의 설정 변경 없이 서로 다른 네트워크 환경에 대응한다.
배포 전에는 `config.yaml` 파일을 통해 설정을 조정하며, 실제 네트워크 명령을 실행하기 전 에이전트 루프를 검증할 수 있는 모의(Mock) Kali 서버 환경을 제공한다. 상세 설계와 기능 명세는 각각 docs/ARCHITECTURE.md와 docs/FEATURES.md에서 확인할 수 있다.
how-it-works
작동 방식의 핵심은 '관찰(Observe) $\rightarrow$ 사고(Think) $\rightarrow$ 실행(Act) $\rightarrow$ 기록(Log)'으로 이어지는 단순 루프 구조다. 기존의 취약점 스캐너가 모든 호스트에 동시에 패킷을 보내는 방식과 달리, Nightcrawler는 호스트를 순환하며 턴당 하나의 작은 작업만 수행한다. 이러한 점진적 지식 구축 방식은 네트워크 보안 장비의 탐지 가능성을 낮춘다.
안드로이드 OS의 전력 관리 특성상 배터리 사용 시 GPU 성능이 약 6배까지 저하되는 스로틀링 현상이 발생한다. 이를 해결하기 위해 GPU 거버너 데몬(GPU governor daemon)을 포함했다. 이 데몬은 GPU를 최대 성능으로 강제 고정하며, 배터리 잔량이 15% 이하로 떨어질 때만 자동으로 성능을 제한한다.
명령어 실행 성공률은 모델 크기의 한계로 인해 약 50% 수준에 머문다. 에이전트는 이를 보완하기 위해 세 가지 전략을 사용한다. 첫째, 실패 시 재시도 루프를 가동한다. 둘째, 도구별 특성에 맞춘 전용 프롬프트를 제공한다. 셋째, 도구의 출력값을 파싱해 다음 행동에 반영하는 피드백 구조를 갖췄다.
실시간 모니터링을 위한 대시보드는 8888번 포트에서 제공된다. 타겟 네트워크로부터의 접근을 숨기기 위해 nginx 헤더를 스푸핑(Spoofing)하며, 타겟 네트워크에서 오는 연결 요청에는 빈 404 응답만을 반환하는 스텔스 필터링 기능을 적용했다.
implementation-impact
실제 배포 전에는 모의 Kali 서버를 통해 에이전트의 판단 루프가 의도한 시나리오대로 작동하는지 먼저 검증해야 한다. 특히 로컬 GPU 자원을 강제로 점유하는 거버너 데몬의 특성상, 장시간 운용 시 발열 제어와 배터리 소모 속도가 실제 작전 지속 시간에 직접적인 영향을 미친다.
로컬 LLM을 활용한 자율 에이전트 구현 시, 모델의 지능에만 의존하기보다 50% 수준의 낮은 명령어 성공률을 전제로 한 견고한 에러 핸들링 루프와 도구 전용 프롬프트 설계가 실질적인 작동 여부를 결정짓는 핵심 변수가 된다.


