Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
nano-analyzer — Un escáner de vulnerabilidades zero-day minimalista impulsado por LLM de AISLE. | Kitploit
Herramientas/GitHubGitHub/weareaisle/nano-analyzer
Análisis EstáticoEscáneres de VulnerabilidadesAnálisis de VulnerabilidadesAnálisis de CódigoExplotaciónAnálisis de BinariosAprendizaje AutomáticoSeguridad de IA
GitHubweareaisle/nano-analyzer

nano-analyzer

Un escáner de vulnerabilidades zero-day minimalista impulsado por LLM de AISLE.

Ver Repositorio
30557hace 4 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

Nano-analyzer

Un escáner de vulnerabilidades de día cero mínimo basado en LLM por AISLE.

aisle-nano-analyzer-diagram

Prototipo de investigación con fines de demostración. Este es un harness simple de un solo archivo que puede detectar vulnerabilidades reales de día cero. Tenga en cuenta que es un prototipo, sesgado hacia errores de seguridad de memoria en C/C++, y producirá falsos positivos. Lo compartimos tal cual en el espíritu de la investigación abierta — espere esquinas afiladas.

Lo que hace

Nano-analyzer es un escáner Python simple de un solo archivo que envía código fuente a través de un pipeline LLM de tres etapas:

  1. Generación de contexto — un modelo escribe un informe de seguridad sobre el archivo: qué hace, por dónde fluyen los datos no confiables, qué búferes existen y su tamaño.
  2. Escaneo de vulnerabilidades — el mismo modelo, preparado con el contexto, busca errores de día cero función por función y genera hallazgos estructurados.
  3. Triaje escéptico — cada hallazgo es desafiado en múltiples rondas por un revisor escéptico que puede hacer grep del código base para verificar (o refutar) defensas. Un árbitro toma la decisión final.

Los resultados se guardan como archivos Markdown y JSON para revisión humana.

Limitaciones actuales

Esta es una versión v0.1 prototipo. Tenga en cuenta lo siguiente:

  • Sesgo hacia C/C++. Los prompts, ejemplos de pocos disparos y heurísticas están fuertemente ajustados para vulnerabilidades de seguridad de memoria en C/C++ (desbordamientos de búfer, desreferencias nulas, desbordamientos de enteros, confusión de tipos). Escaneará otros lenguajes pero es mucho menos efectivo allí.
  • Falsos positivos. Incluso con triaje de múltiples rondas, espere hallazgos que no se sostengan bajo inspección más detallada. Siempre verifique manualmente.
  • Falsos negativos. El escáner puede pasar por alto clases enteras de vulnerabilidades — errores de lógica, condiciones de carrera, problemas criptográficos, bypass de autenticación, etc. Un escaneo limpio no significa que el código sea seguro.
  • Análisis de archivo único. Cada archivo se escanea de forma independiente. Es probable que se pasen por alto vulnerabilidades entre archivos que dependen de interacciones entre unidades de compilación.
  • Dependiente del LLM. Los resultados varían según el modelo utilizado. Diferentes modelos encontrarán diferentes cosas y alucinarán diferentes falsos positivos.

Configuración

Requisitos

  • Python 3.8+
  • Una clave API de OpenAI (para modelos OpenAI) o una clave API de OpenRouter (para otros proveedores)
  • Opcional: ripgrep (rg) para búsquedas grep de triaje
  • Opcional: Google codesearch (csearch/cindex) para un grep más rápido en repositorios grandes

Instalar

root@kitploit:~
git clone https://github.com/weareaisle/nano-analyzer.git
cd nano-analyzer
# No es necesario instalar dependencias. Ejecute directamente:
python3 scan.py --help

Claves API

Establezca su clave API como variable de entorno:

root@kitploit:~
# Para modelos OpenAI (nombres de modelo sin barra, ej., "gpt-5.4-nano"):
export OPENAI_API_KEY=sk-...

# Para modelos OpenRouter (nombres de modelo con barra, ej., "qwen/qwen3-32b"):
export OPENROUTER_API_KEY=sk-or-...

El escáner determina qué clave usar según el nombre del modelo: si contiene una /, se enruta a través de OpenRouter; de lo contrario, utiliza la API de OpenAI directamente.

Uso

Escaneo básico

root@kitploit:~
# Escanear un solo archivo
python3 scan.py ./path/to/file.c

# Escanear un directorio recursivamente
python3 scan.py ./path/to/src/

Opciones comunes

root@kitploit:~
# Usar un modelo diferente
python3 scan.py ./src --model gpt-5.4

# Controlar paralelismo
python3 scan.py ./src --parallel 30

# Apuntar el grep de triaje a la raíz completa del repositorio (útil al escanear un subdirectorio)
python3 scan.py ./lib/crypto/ --repo-dir ./

# Solo mostrar hallazgos de alta confianza
python3 scan.py ./src --min-confidence 0.7

# Más rondas de triaje para mayor precisión (por defecto: 5)
python3 scan.py ./src --triage-rounds 7

Todas las banderas

Salida

Los resultados se guardan en ~/nano-analyzer-results/<timestamp>/ (o --output-dir):

root@kitploit:~
<timestamp>/
├── summary.json              # resumen del escaneo legible por máquina
├── summary.md                # resumen del escaneo legible por humanos
├── <filename>.md             # salida cruda del escáner por archivo
├── <filename>.context.md     # informe de contexto por archivo
├── <filename>.json           # datos completos del resultado por archivo
├── triages/                  # razonamiento detallado del triaje
│   └── T0001_<file>_<title>.md
├── findings/                 # hallazgos que sobrevivieron al triaje
│   └── VULN-001_<file>.md
├── triage.json               # todos los veredictos de triaje
└── triage_survivors.md       # resumen de hallazgos validados

Cómo funciona el triaje

Cuando un escaneo encuentra un problema de severidad media o superior, se activa el pipeline de triaje:

  1. Un revisor escéptico examina el hallazgo contra el código real y puede hacer grep del código base para verificar o refutar las defensas reclamadas.
  2. Esto se repite durante varias rondas (por defecto: 5), donde cada revisor ve los argumentos anteriores y se le anima a encontrar evidencia nueva en lugar de repetir puntos antiguos.
  3. Un árbitro final lee todas las rondas y emite un veredicto VÁLIDO/NO VÁLIDO.
  4. La puntuación de confianza (por ejemplo, 80% [VVIVV→V]) refleja la fracción de rondas que dijeron VÁLIDO.

Los hallazgos que sobreviven al triaje se escriben en el directorio findings/ con cadenas completas de razonamiento.

Descargo de responsabilidad

Esta herramienta es un prototipo de investigación. No reemplaza las auditorías de seguridad profesionales, la revisión manual de código ni las herramientas establecidas de análisis estático. No confíe en ella como su única evaluación de seguridad. Úsela bajo su propio riesgo.

Licencia

Apache License 2.0

Descargar herramienta
BanderaPredeterminadoDescripción
path(requerido)Archivo o directorio a escanear
--modelgpt-5.4-nanoModelo para todas las etapas (contexto, escaneo, triaje)
--parallel50Máximo de llamadas API de escaneo concurrentes
--triage-thresholdmediumTriaje de hallazgos con esta severidad o superior
--triage-rounds5Rondas de triaje por hallazgo
--triage-parallel50Máximo de llamadas API de triaje concurrentes
--max-connectionsparallel + triage-parallelLímite total de llamadas API
--min-confidence0.0Solo mostrar hallazgos por encima de esta confianza (0.0–1.0)
--projectnombre del directorioNombre del proyecto utilizado en los prompts de triaje
--repo-dirautoRaíz del repositorio para búsquedas grep (auto: directorio padre para archivos, directorio de escaneo para carpetas)
--output-dir~/nano-analyzer-results/<timestamp>/Dónde guardar los resultados
--max-chars200,000Omitir archivos más grandes que esto
--verbose-triageoffMostrar progreso del triaje por ronda