Tailored news hub
homeSistemas Agénticos

PentesterFlow: Guía Práctica para Pruebas de Penetración Asistidas por IA

Descubre cómo PentesterFlow combina LLMs con herramientas de seguridad reales para automatizar y mejorar tus flujos de trabajo de pentesting y bug hunting.

PentesterFlow: Guía Práctica para Pruebas de Penetración Asistidas por IA
#Agentes#Automatización#Herramientas Dev#LLM#Seguridad

PentesterFlow es un asistente de terminal de código abierto que integra LLMs con herramientas de seguridad reales para pentesting y bug hunting. Resuelve problemas comunes de IA en seguridad, ofreciendo flujos de trabajo específicos, integración de herramientas, supervisión humana y auditabilidad, con soporte para sesiones y aprendizaje continuo.

Introducción y características principales

PentesterFlow es un asistente de terminal de código abierto para pruebas de penetración autorizadas y bug hunting. Combina LLMs locales o remotos con herramientas de seguridad reales, manteniendo al analista humano en control. El agente planifica, ejecuta, verifica, reporta y aprende, solicitando siempre aprobación antes de realizar acciones sensibles.

Resuelve problemas concretos: flujos de trabajo específicos para reconocimiento, vulnerabilidades web, SSRF, SSTI, JWT, GraphQL y más; previene hallazgos alucinados exigiendo evidencia de solicitud/respuesta; soporta trabajos prolongados con guardado de sesión, compactación de contexto e instantáneas; se integra con shell, HTTP, Burp, captura de navegador y herramientas MCP; y refuerza la supervisión humana con avisos de permiso y un modo YOLO explícito para laboratorios.

Cada comando se puede copiar y pegar, los hallazgos se redactan en Markdown con pruebas curl y los registros son archivos locales deterministas, lo que garantiza reproducibilidad y auditabilidad.

Instalación y configuración

La instalación se realiza con un solo comando. El instalador verifica la suma de comprobación SHA-256 publicada. Necesitas un backend LLM compatible; la forma más rápida de empezar es con un modelo local a través de Ollama. Descarga un modelo potente como qwen2.5-coder:32b y luego ejecuta pentesterflow. Dentro de la CLI, usa /provider para configurar el backend y /target https://app.example.com para establecer la URL del trabajo. A partir de ahí, asigna tareas de alto nivel.

Para reanudar una sesión anterior, ejecuta pentesterflow --resume <session-id>; la herramienta muestra un resumen de la memoria persistente para que puedas continuar sin reconstruir el contexto.

# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/PentesterFlow/agent/main/install.sh | sh

# Windows PowerShell
irm https://raw.githubusercontent.com/PentesterFlow/agent/main/install.ps1 | iex

# Pin a specific version and install directory
PENTESTERFLOW_VERSION=v0.1.6 PENTESTERFLOW_INSTALL_DIR="$HOME/.local/bin" \
  sh -c "$(curl -fsSL https://raw.githubusercontent.com/PentesterFlow/agent/main/install.sh)"

Uso práctico

Un trabajo típico comienza estableciendo un objetivo y asignando una tarea. Por ejemplo, para probar una API de pedidos en busca de fallos de control de acceso: el agente carga la skill webvuln, envía una solicitud HTTP GET al endpoint, verifica el acceso entre cuentas con un comando BashTool y guarda un hallazgo confirmado con evidencia. El archivo del hallazgo incluye un comando curl listo para copiar y pegar y el material de la solicitud sin procesar.

Puedes elegir el backend LLM y el modelo de forma interactiva con /provider y /model list, o mediante flags de línea de comandos. Los backends soportados incluyen Ollama, LM Studio, endpoints compatibles con OpenAI, Kimi, Groq y Gemini. Las claves API se configuran mediante variables de entorno como MOONSHOT_API_KEY, GROQ_API_KEY o GEMINI_API_KEY.

# Ollama
pentesterflow --backend ollama --model qwen2.5-coder:32b

# LM Studio
pentesterflow --backend lmstudio --model zai-org/glm-4.7-flash

# OpenAI-compatible endpoint
pentesterflow --backend openai-compat \
  --base-url https://api.example.com/v1 \
  --api-key sk-...

# Kimi (requires API key)
MOONSHOT_API_KEY=sk-... pentesterflow --backend kimi --model kimi-k2.6

# Groq
GROQ_API_KEY=gsk_... pentesterflow --backend groq --model openai/gpt-oss-20b

# Gemini
GEMINI_API_KEY=AIza... pentesterflow --backend gemini --model models/gemini-3.5-flash

Comandos slash e integración con Burp

Los comandos slash clave controlan la sesión: /provider y /model gestionan el LLM; /target establece la URL del trabajo; /plan ejecuta un turno solo de planificación; /next sugiere áreas no probadas; /compact resume el contexto en memoria persistente; /snapshot escribe una instantánea del contexto censurada; /skills gestiona los playbooks de skills; /yolo activa la autoaprobación para laboratorios; /update obtiene la última versión; /reset limpia la sesión; /<skill-name> carga una skill.

Para la colaboración con Burp Suite, inicia el puente con pentesterflow --burp [port]. Puedes enviar solicitudes seleccionadas de Burp a PentesterFlow para su análisis, poner en cola solicitudes como tareas de escaneo e importar hallazgos confirmados de vuelta a los problemas de Burp. El puente conserva las solicitudes sin procesar para evidencia y repetición.

Configuración y almacenamiento de datos

La configuración principal se encuentra en ~/.pentesterflow/config.json y almacena los ajustes de backend, modelo, endpoint y skills deshabilitadas. Las variables de entorno establecen las claves API para Kimi (MOONSHOT_API_KEY), Groq (GROQ_API_KEY) y Gemini (GEMINI_API_KEY). El registro de depuración se habilita con PENTESTERFLOW_DEBUG_SESSION=1.

Flags de línea de comandos importantes: --backend, --model, --base-url, --api-key, --resume <id>, --burp [port], --debug-session, --list-tools, --list-skills, --no-stream, --dangerously-skip-permissions.

Los datos se almacenan en varias ubicaciones:

  • ~/.pentesterflow/sessions/*.json – sesiones guardadas
  • ~/.pentesterflow/context/*.md – instantáneas censuradas
  • ./.pentesterflow/intelligence/scenarios.jsonl – inteligencia del proyecto
  • ~/.pentesterflow/builtin-skills/ – skills incluidas
  • ./findings/<slug>.md – hallazgos confirmados
  • ~/.pentesterflow/logs/pentesterflow.log – registros estructurados
  • ~/.pentesterflow/debug/session-*.jsonl – registros de depuración completos (confidenciales)

Restricciones, Best Practices y Procedimientos

Restricciones: PentesterFlow solo debe usarse en sistemas con autorización explícita. Por defecto, las acciones sensibles requieren aprobación; el modo YOLO (/yolo on) auto-aprueba todo y está pensado únicamente para laboratorios. Existen ajustes específicos según el proveedor: Groq emplea un prompt compacto, LM Studio recorta los marcadores de plantilla. Los comandos de shell catastróficos están bloqueados. No hay interfaz gráfica. Los registros de depuración contienen datos brutos del objetivo y deben manejarse como confidenciales.

Best practices: Confirma siempre que existe autorización. Utiliza confirm_finding solo después de reproducir el problema con una solicitud determinista y haber observado la respuesta. Aprovecha el seguimiento de cobertura y pregunta /next para identificar áreas no analizadas. Coloca las habilidades específicas de proyecto en ./.pentesterflow/skills/ y las personales reutilizables en ~/.pentesterflow/skills/. Compacta sesiones largas con /compact. Habilita el registro de depuración para solucionar problemas, pero trata la salida como información sensible. Actualiza desde dentro de la herramienta con /update.

Procedimientos notables: Para instalar una versión concreta, establece las variables de entorno PENTESTERFLOW_VERSION y PENTESTERFLOW_INSTALL_DIR antes de ejecutar el instalador. Para actualizar desde la CLI, ejecuta /update o /update v0.1.6. Para la colaboración con Burp, inicia PentesterFlow con --burp 9999 y envía las solicitudes desde Burp.

Artículos Relacionados