Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
nano-analyzer — AISLE의 최소한의 LLM 기반 제로데이 취약점 스캐너. | Kitploit
도구/GitHubGitHub/weareaisle/nano-analyzer
Static AnalysisVulnerability ScannersVulnerability AnalysisCode AnalysisExploitationBinary AnalysisMachine LearningAI Security
GitHubweareaisle/nano-analyzer

nano-analyzer

AISLE의 최소한의 LLM 기반 제로데이 취약점 스캐너.

저장소 보기
305574개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

Nano-analyzer

AISLE의 간결한 LLM 기반 제로데이 취약점 스캐너입니다.

aisle-nano-analyzer-diagram

시연 목적의 연구 프로토타입입니다. 실제 제로데이 취약점을 탐지할 수 있는 단일 파일 기반의 간단한 도구입니다. C/C++ 메모리 안전 버그에 편향된 프로토타입이며, 오탐지를 발생시킬 수 있습니다. 공개 연구의 정신에 따라 있는 그대로 공유합니다 — 날카로운 모서리가 있을 수 있습니다.

기능

Nano-analyzer는 소스 코드를 세 단계 LLM 파이프라인에 전송하는 단일 파일 Python 스캐너입니다:

  1. Context generation — 모델이 파일에 대한 보안 브리핑을 작성합니다: 파일의 역할, 신뢰할 수 없는 데이터가 흐르는 위치, 존재하는 버퍼와 그 크기 등.
  2. Vulnerability scan — 동일한 모델이 컨텍스트를 바탕으로 함수별로 제로데이 버그를 찾고 구조화된 결과를 출력합니다.
  3. Skeptical triage — 각 발견 사항에 대해 회의적인 검토자가 여러 라운드에 걸쳐 이의를 제기하며, 코드베이스를 grep하여 방어 기능을 확인(또는 반박)합니다. 중재자가 최종 판단을 내립니다.

결과는 사람이 검토할 수 있도록 Markdown 및 JSON 파일로 저장됩니다.

현재 한계점

이것은 v0.1 프로토타입입니다. 다음 사항을 유념해 주세요:

  • C/C++ 편향. 프롬프트, 퓨샷 예제 및 휴리스틱이 C/C++ 메모리 안전 취약점(버퍼 오버플로우, NULL 역참조, 정수 오버플로우, 타입 혼동)에 크게 맞춰져 있습니다. 다른 언어도 스캔하지만, 효과는 훨씬 떨어집니다.
  • 오탐지. 여러 라운드의 트라이지가 있더라도, 면밀히 살펴보면 유효하지 않은 결과가 나올 수 있습니다. 항상 수동으로 확인하세요.
  • 미탐지. 논리 버그, 경쟁 상태, 암호화 문제, 인증 우회 등 전체 취약점 클래스를 놓칠 수 있습니다. 깨끗한 스캔 결과가 코드가 안전하다는 의미는 아닙니다.
  • 단일 파일 분석. 각 파일이 독립적으로 스캔됩니다. 컴파일 단위 간 상호 작용에 의존하는 파일 간 취약점은 놓칠 가능성이 높습니다.
  • LLM 의존성. 사용된 모델에 따라 결과가 달라집니다. 다른 모델은 다른 것을 찾고 다른 오탐지를 환각할 것입니다.

설정

요구 사항

  • Python 3.8+
  • OpenAI API 키(OpenAI 모델용) 또는 OpenRouter API 키(기타 제공자용)
  • 선택 사항: 트라이지 grep 조회용 ripgrep (rg)
  • 선택 사항: 대형 저장소에서 더 빠른 grep을 위한 Google codesearch (csearch/cindex)

설치

root@kitploit:~
git clone https://github.com/weareaisle/nano-analyzer.git
cd nano-analyzer
# 종속성 설치 불필요. 바로 실행:
python3 scan.py --help

API 키

API 키를 환경 변수로 설정하세요:

root@kitploit:~
# OpenAI 모델(슬래시 없는 모델 이름, 예: "gpt-5.4-nano"):
export OPENAI_API_KEY=sk-...

# OpenRouter 모델(슬래시 있는 모델 이름, 예: "qwen/qwen3-32b"):
export OPENROUTER_API_KEY=sk-or-...

스캐너는 모델 이름에 따라 사용할 키를 결정합니다: 슬래시가 포함되면 OpenRouter를 통해 라우팅하고, 그렇지 않으면 OpenAI API를 직접 사용합니다.

사용법

기본 스캔

root@kitploit:~
# 단일 파일 스캔
python3 scan.py ./path/to/file.c

# 디렉토리 재귀 스캔
python3 scan.py ./path/to/src/

일반 옵션

root@kitploit:~
# 다른 모델 사용
python3 scan.py ./src --model gpt-5.4

# 병렬 처리 수 제어
python3 scan.py ./src --parallel 30

# 트라이지 grep을 전체 저장소 루트로 지정 (하위 디렉토리 스캔 시 유용)
python3 scan.py ./lib/crypto/ --repo-dir ./

# 높은 신뢰도의 결과만 표시
python3 scan.py ./src --min-confidence 0.7

# 더 높은 정확도를 위해 트라이지 라운드 증가 (기본값: 5)
python3 scan.py ./src --triage-rounds 7

모든 플래그

출력

결과는 ~/nano-analyzer-results/<timestamp>/ (또는 --output-dir)에 저장됩니다:

root@kitploit:~
<timestamp>/
├── summary.json              # 기계 판독 가능 스캔 요약
├── summary.md                # 사람 판독 가능 스캔 요약
├── <filename>.md             # 파일별 원시 스캐너 출력
├── <filename>.context.md     # 파일별 컨텍스트 브리핑
├── <filename>.json           # 파일별 전체 결과 데이터
├── triages/                  # 상세 트라이지 추론
│   └── T0001_<file>_<title>.md
├── findings/                 # 트라이지를 통과한 결과
│   └── VULN-001_<file>.md
├── triage.json               # 모든 트라이지 판정
└── triage_survivors.md       # 검증된 결과 요약

트라이지 동작 방식

스캔 결과 중간 이상 심각도의 문제가 발견되면 트라이지 파이프라인이 작동합니다:

  1. 회의적인 검토자가 실제 코드에 대해 결과를 검토하고, 코드베이스를 grep하여 주장된 방어 기능을 확인하거나 반박할 수 있습니다.
  2. 이 과정이 여러 라운드(기본값: 5) 반복되며, 각 검토자는 이전 주장을 보고 기존 논점을 반복하는 대신 새로운 증거를 찾도록 권장됩니다.
  3. 최종 중재자가 모든 라운드를 읽고 VALID/INVALID를 결정합니다.
  4. 신뢰도 점수(예: 80% [VVIVV→V])는 VALID라고 응답한 라운드의 비율을 나타냅니다.

트라이지를 통과한 결과는 전체 추론 체인과 함께 findings/ 디렉토리에 기록됩니다.

면책 조항

이 도구는 연구 프로토타입입니다. 전문 보안 감사, 수동 코드 검토 또는 기존 정적 분석 도구를 대체하지 않습니다. 유일한 보안 평가 수단으로 의존하지 마십시오. 사용에 따른 책임은 본인에게 있습니다.

라이선스

Apache License 2.0

도구 다운로드
플래그기본값설명
path(필수)스캔할 파일 또는 디렉토리
--modelgpt-5.4-nano모든 단계(컨텍스트, 스캔, 트라이지)에 사용할 모델
--parallel50최대 동시 스캔 API 호출 수
--triage-thresholdmedium이 심각도 이상의 트라이지 결과 처리
--triage-rounds5결과당 트라이지 라운드 수
--triage-parallel50최대 동시 트라이지 API 호출 수
--max-connectionsparallel + triage-parallel총 API 호출 상한
--min-confidence0.0이 신뢰도(0.0–1.0) 이상의 결과만 표시
--project디렉토리 이름트라이지 프롬프트에 사용되는 프로젝트 이름
--repo-dir자동grep 조회를 위한 저장소 루트 (자동: 파일의 상위 디렉토리, 폴더의 스캔 디렉토리)
--output-dir~/nano-analyzer-results/<timestamp>/결과 저장 위치
--max-chars200,000이보다 큰 파일 건너뛰기
--verbose-triage꺼짐라운드별 트라이지 진행 상황 표시