Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
nelson — Encontrar vulnerabilidades mediante fuerza bruta básica | Kitploit
Herramientas/GitHubGitHub/swelljoe/nelson
Análisis EstáticoAnálisis de VulnerabilidadesAnálisis de CódigoPruebas de PenetraciónAprendizaje y EducaciónSeguridad de IA
GitHubswelljoe/nelson

nelson

Encontrar vulnerabilidades mediante fuerza bruta básica

Ver Repositorio
52215hace 2 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

Nelson

Nelson Muntz señalando y diciendo "¡Ja, ja!"

Encontrando vulnerabilidades mediante fuerza bruta tonta

Inspirado en una charla de Nicholas Carlini y el bucle Ralph, Nelson es una herramienta que recorre cada archivo de un proyecto, solicitando a un agente que busque vulnerabilidades. Tiene un modo de escaneo, similar al bucle bash de Carlini, donde le pide al modelo que encuentre cualquier vulnerabilidad en un archivo o directorio de archivos; un modo de revisión, donde un modelo (generalmente más inteligente) reexamina cada vulnerabilidad reportada y decide si vale la pena escalarla a un revisor humano; y un paso de desduplicación intermedio, para que el mismo error encontrado muchas veces solo se juzgue una vez.

La gran lección de las evaluaciones comparativas extensas es que la repetición es lo que saca a la luz los errores. Las versiones anteriores tenían un "modo enfocado" que le pedía al modelo que cazara una clase CWE específica a la vez, y parecía que ayudaba, pero era una ilusión: la expansión por CWE simplemente hacía que el modelo mirara cada archivo muchas veces, y era la repetición, no la orientación a CWE, la que hacía el trabajo. Nombrar la clase de error, las listas de verificación y otras modificaciones de indicaciones no dieron un aumento real en las pruebas A/B controladas. Así que el modo enfocado desapareció. En su lugar, --repeat N ejecuta toda la matriz archivo × modelo N veces (por defecto 3), lo cual es un uso mucho mejor de los mismos tokens. La detección es realmente inestable: un error detectable a menudo aparece solo en una de cada tres pasadas, por lo que repetir, incluso con el mismo modelo, ahora es una práctica estándar.

Más problemas reportados no es necesariamente algo bueno si hay más falsos positivos (y los hay, con modelos más pequeños). La repetición empeora esto por sí sola: el mismo error reaparece en cada pasada, por lo que Nelson desduplica los hallazgos en grupos (mismo archivo/CWE dentro de unas pocas líneas) antes de la revisión: cada error único se juzga una vez y el veredicto se aplica a cada copia. Eso evita que el modelo de revisión (a menudo caro) pague por reconfirmar el mismo hallazgo una y otra vez. Si es un error real una vez, es un error real la segunda vez. Usar un modelo más inteligente para revisar es una buena idea, pero incluso un modelo tonto puede detectar sus propios errores en la revisión.

Nelson funciona con una variedad de modelos a través de Claude Code, Gemini CLI y API compatibles con OpenAI. Dentro de un mismo modelo, los trabajos se ejecutan uno a la vez: los planes de suscripción tienen límites de tokens renovables y los modelos locales se ejecutan en hardware relativamente modesto, por lo que no hay ventaja en la concurrencia adicional en un solo proveedor. Sin embargo, entre diferentes modelos, los límites de velocidad son independientes, por lo que cuando pasas múltiples especificaciones -m, Nelson ejecuta un trabajador por modelo en paralelo por defecto (por ejemplo, Claude, Gemini y un Qwen local a través de LM Studio todos procesando la cola al mismo tiempo). Pasa --no-parallel para volver al modo un modelo a la vez.

A menos que tengas prisa por obtener los mejores resultados y tengas un presupuesto de tokens ilimitado, creo que un uso inteligente de tus tokens es ejecutar un informe con un modelo barato pero probadamente efectivo, como Gemma 4 31B o DeepSeek V4 Pro, repetido algunas veces, luego revisar el informe con un modelo más caro y finalmente tener una sesión interactiva más cuidadosa con tu modelo frontera favorito para corregir el problema o simplemente abrir tu editor y arreglar el error tú mismo. Cualquier cosa lo suficientemente simple como para ser corregida automáticamente por un modelo sin intervención adicional probablemente se puede descubrir mediante herramientas de análisis estático (por ejemplo, ruff para Python con las reglas S habilitadas o semgrep, etc.), y deberías ejecutar ese tipo de herramientas y corregir todos los problemas descubiertos antes de pasar el código a nelson.

Actualmente, Nelson no intenta corregir errores de seguridad. Es exclusivamente una herramienta de informes, aunque los modelos a menudo ofrecerán consejos sobre cómo solucionarlos sin que se les pida.

He realizado muchas pruebas y evaluaciones comparativas de varios modelos para determinar el uso más eficiente del tiempo y los tokens, ya que tengo cientos de miles de líneas de código para revisar en docenas de repositorios. Los hallazgos principales: la repetición supera a la modificación de indicaciones, los modelos baratos repetidos varias veces a menudo ofrecen la mejor relación calidad-precio, y un solo modelo fuerte utilizado como revisor vale más que trucos de escaneo sofisticados. Todavía puede resultar que, como con la codificación, sea mejor usar simplemente el modelo más inteligente al que tengas acceso, porque los modelos tontos desperdician mucho más tiempo humano del que ahorran en costo de uso, pero un modelo relativamente tonto, ejecutado unas cuantas veces y luego triado por un revisor inteligente, puede lograr una cantidad sorprendente.

Este proyecto puede estar sobrediseñado para tu caso de uso. Tal vez un script como el que mencionó Carlini sea adecuado para ti, algo como esto:

find . -name '*.py' | while read f; do
  content=$(cat "$f")
  claude -p "Are there any security vulnerabilities in this file? $f"
done

Iterate over all files in the source tree.

find . -type f -name *.py -print0 | while IFS= read -r -d '' file; do

Tell Claude Code to look for vulnerabilities in each file.

claude
--verbose
--dangerously-skip-permissions
--print "You are playing in a CTF.
Find a vulnerability.
hint: look at $file
Write the most serious
one to /out/report.txt." done

## Instalación

Requiere Python 3.12+.```bash
git clone https://github.com/swelljoe/nelson.git
cd nelson
python -m venv .venv
source .venv/bin/activate
pip install -e .

El entorno virtual mantiene las dependencias de Nelson aisladas de su Python del sistema. Necesitará activarlo (source .venv/bin/activate) cada vez que abra una nueva terminal, o simplemente ejecute Nelson directamente:```bash /path/to/nelson/.venv/bin/nelson --help

O ejecutar sin instalar:```bash
python -m venv .venv
source .venv/bin/activate
pip install click httpx
python -m nelson --help

Quickstart

El flujo de trabajo típico es: escanear, revisar, informar.```bash

1. Scan a project, repeating the pass a few times (default --repeat 3)

nelson scan -m claude:haiku /path/to/project

2. Review findings with a smarter model (de-dupes first, then judges each

unique bug once) to filter false positives

nelson review -m claude:sonnet

3. View confirmed findings

nelson report --verdict confirmed

O, ejecuta el pipeline completo en un solo comando:```bash
nelson haha --scan-model claude:haiku --scan-model claude:sonnet \
  --review-model claude:opus /path/to/project

haha lanza varios modelos de escaneo al código (cada uno repetido --repeat veces), desduplica y juzga cada hallazgo único con un modelo de revisión fuerte. Necesita al menos dos modelos de escaneo y un modelo de revisión; lo más fácil es ponerlos en un archivo de configuración para que solo tengas que escribir nelson haha /path/to/project. Consulta haha mode para más detalles.

Usage

Scanning

Descargar herramienta