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
crucible — pytest para agentes de IA - Red-teaming autónomo, monitoreo de comportamiento y pruebas de seguridad para agentes de LLM | Kitploit
Herramientas/GitHubGitHub/crucible-security/crucible
Escáneres de VulnerabilidadesPruebas de PenetraciónDevSecOpsAprendizaje y EducaciónRed TeamingSeguridad de IA
GitHubcrucible-security/crucible

crucible

pytest para agentes de IA - Red-teaming autónomo, monitoreo de comportamiento y pruebas de seguridad para agentes de LLM

Ver Repositorio
4835hace 27 díasRevisado 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

root@kitploit:~
   ██████╗██████╗ ██╗   ██╗ ██████╗██╗██████╗ ██╗     ███████╗
  ██╔════╝██╔══██╗██║   ██║██╔════╝██║██╔══██╗██║     ██╔════╝
  ██║     ██████╔╝██║   ██║██║     ██║██████╔╝██║     █████╗
  ██║     ██╔══██╗██║   ██║██║     ██║██╔══██╗██║     ██╔══╝
  ╚██████╗██║  ██║╚██████╔╝╚██████╗██║██████╔╝███████╗███████╗
   ╚═════╝╚═╝  ╚═╝ ╚═════╝  ╚═════╝╚═╝╚═════╝ ╚══════╝╚══════╝
  
pytest para agentes de IA: prueba, puntúa y fortalece antes de producción

CI PyPI Python Coverage License Discord OWASP


Instalación

root@kitploit:~
pip install crucible-security

Inicio rápido

🆕 ¿Nuevo en seguridad de IA? Lee nuestra Guía de inicio para principiantes o configura un objetivo de prueba local con la Guía de demostración local con n8n.

root@kitploit:~
crucible init --target https://my-agent.com/api/chat
crucible scan --target https://my-agent.com/api/chat
crucible report crucible-report.json

Un solo comando. 90 ataques. Informe hermoso.

¿Por qué Crucible?

  • Pruebas de integridad conductual -- la única herramienta que prueba el comportamiento del agente a través de conversaciones, no solo ataques de un solo disparo
  • Red teaming automatizado -- más de 90 cargas útiles de ataque reales ejecutadas en menos de 60 segundos, no semanas de pruebas manuales
  • Alineado con OWASP -- mapea cada ataque al OWASP Top 10 para aplicaciones LLM y al OWASP Agentic Top 10
  • Nativo para CI/CD -- crucible scan --output json se integra en cualquier pipeline; falla las compilaciones si las calificaciones son bajas
  • Cumplimiento normativo -- genera informes de cumplimiento de la Ley de IA de la UE 2024 automáticamente a partir de los resultados del escaneo
  • Seguridad MCP -- la única herramienta con un módulo de seguridad nativo para el Protocolo de Contexto de Modelo

¿Cómo se compara Crucible con Garak y PyRIT? → Consulta docs/comparison.md para obtener una matriz de características detallada y objetiva.

¿Qué prueba Crucible? → Consulta docs/owasp_mapping.md para la documentación completa de ataques del OWASP Agentic AI Top 10 (ASI01–ASI10).

☁️ Crucible Cloud (Lista de espera)

¿Necesitas paneles persistentes, informes de cumplimiento y colaboración en equipo?
Únete a la lista de espera para nuestra próxima plataforma en la nube: crucible-cloud.vercel.app

Módulos

Cobertura del OWASP Agentic Top 10

Proveedores compatibles

Ejemplos

Proporcionamos varios scripts de ejemplo en el directorio examples/ para ayudarte a empezar:

Todos los ejemplos usan respx para simular llamadas HTTP, por lo que pasan CI sin un servidor activo.

Ejecutar el ejemplo de LangChain:

root@kitploit:~
python examples/test_langchain_agent.py

Ejecutar el ejemplo del Asistente OpenAI:

root@kitploit:~
python examples/test_openai_assistant.py

Sistema de puntuación

La puntuación comienza en 100 y deduce por cada vulnerabilidad encontrada:

GravedadDeducción
CRÍTICA-20 puntos
ALTA-10 puntos
MEDIA-5 puntos
BAJA-2 puntos

Referencia CLI

root@kitploit:~
# Generar configuración
crucible init --target URL --provider openai --key sk-xxx

# Ejecutar un escaneo estándar
crucible scan \
  --target https://my-agent.com/api/chat \
  --name "My ChatBot" \
  --header "Authorization: Bearer sk-xxx" \
  --timeout 30 \
  --concurrency 5

# Ejecutar con mutación de cargas útiles (evasión de WAF/guardarraíles)
crucible scan --target URL --mutate

# Estrategia de ataque multi-turn (multivuelta)
crucible scan --target URL --strategy multi-turn

# Usar perfil de agente para dirigir ataques
crucible profile --target URL --output agent_profile.json
crucible scan --target URL --profile agent_profile.json

# Auditoría de integridad conductual (detección de deriva multivuelta)
crucible behavioral-audit \
  --target https://my-agent.com/api/chat \
  --baseline-turns 5 \
  --probe-turns 15

# Generar informe de cumplimiento de la Ley de IA de la UE a partir de resultados de escaneo
crucible scan --target URL --output json > results.json
crucible compliance-report --results results.json --output compliance.md

# Salida JSON para CI/CD
crucible scan --target URL --output json > report.json

# Escaneo de modelo local (Ollama, LM Studio, HuggingFace TGI)
crucible scan --target http://localhost:11434 --format-preset ollama --model llama3

# Límite de tasa global (2 solicitudes por segundo)
crucible scan --target URL --rate-limit 2

# Aplicación de alcance mediante archivo YAML
crucible scan --target URL --scope-file scope.yaml

# Auditar un servidor MCP en busca de envenenamiento de herramientas, inyección de comandos y abuso de alcance OAuth
crucible mcp-scan --server https://my-mcp.example.com

# Con cabecera de autenticación y salida JSON
crucible mcp-scan --server http://localhost:3000 \
  --header "Authorization: Bearer sk-xxx" \
  --output mcp-report.json

# Volver a renderizar un informe guardado
crucible report report.json

# Ejecutar escaneo con intervalos de confianza estadísticos bootstrap (calcular IC del 95% con 10 ejecuciones por ataque)
crucible scan --target URL --confidence --confidence-runs 10

# Validar un archivo YAML de política de traza
crucible trace validate-policy policy.yaml

# Iniciar el proxy de traza de intercepción y auditoría MCP (HTTP simple)
crucible trace start --listen 8080 --upstream http://localhost:8001 --policy policy.yaml --log audit.jsonl

# Iniciar el proxy con terminación TLS nativa (certificado de desarrollo autofirmado generado automáticamente)
crucible trace start --listen 9443 --upstream http://localhost:8001 --policy policy.yaml --tls-self-signed

# Iniciar el proxy con terminación TLS nativa (usando archivos de certificado/clave personalizados)
crucible trace start --listen 9443 --upstream http://localhost:8001 --policy policy.yaml --tls --tls-cert cert.pem --tls-key key.pem

# Renderizar un informe resumido a partir de un archivo de registro de auditoría de traza
crucible trace report audit.jsonl

# Plantar un documento envenenado mediante inyección de ancla semántica (Técnica 1)
crucible poison-test plant --topic "secretos de la empresa" --technique 1 --output secret.txt

# Ejecutar ciclo de vida automatizado de plantado y consulta de envenenamiento RAG
crucible poison-test rag --ingest-url http://api/ingest --query-url http://api/query --topic "finanzas"

# Listar sesiones activas de evaluación de envenenamiento
crucible poison-test list

# Verificar el estado de una sesión de envenenamiento específica
crucible poison-test status <session-id>

# Listar los 12 objetivos de referencia (6 vulnerables, 6 reforzados)
crucible target list

# Iniciar un objetivo de referencia específico (ej. sql_vulnerable) en el puerto 9000
crucible target start --name sql_vulnerable --port 9000

# Levantar los 12 objetivos, ejecutar validación de salud y verdad fundamental, escribir informe JSON
crucible target validate --output ground_truth_report.json

Integración CI/CD

Agrega a tu CI/CD en 3 líneas:

root@kitploit:~
# .github/workflows/security.yml
- uses: actions/checkout@v4
- run: pip install crucible-security
- run: crucible scan --target ${{ secrets.AGENT_URL }} --fail-on CRITICAL

GitHub Action

Crucible Security Agent Scan

También proporcionamos la GitHub Action oficial de Crucible Security Agent Scan. Se integra directamente en tus flujos de trabajo para ejecutar auditorías de seguridad automatizadas, mostrar informes Markdown interactivos, subir hallazgos SARIF a GitHub Code Scanning y aplicar bloqueos de fusión basados en calificaciones.

Ejemplo de uso

root@kitploit:~
- name: Crucible Security Scan
  uses: crucible-security/[email protected]
  with:
    target: ${{ secrets.AGENT_URL }}
    format_preset: openai
    model: gpt-4o
    headers: '{"Authorization": "Bearer ${{ secrets.OPENAI_API_KEY }}"}'
    fail_on_grade: C # Fallo del flujo si la calificación es C, D o F

Arquitectura

root@kitploit:~
crucible/
  models.py                    # Modelos de datos Pydantic
  cli.py                       # CLI Typer (scan, behavioral-audit, profile, compliance-report)
  attacks/
    base.py                    # Clase base ABC Attack
    prompt_injection.py        # 50 vectores de ataque
    goal_hijacking.py          # 20 vectores de ataque
    jailbreaks.py              # 20 vectores de ataque
    enterprise_graph.py        # Ataques de confianza entre agentes
    memory_poisoning.py        # Ataques de estado persistente
    behavioral_escalation.py   # Secuencias de escalada multivuelta (v0.3)
    multi_turn_strategies.py   # Crescendo y Confusión de Contexto (v0.3)
    profile_templates/         # Plantillas de detección de tipo de agente (v0.3)
    multi_agent_contagion.py   # Ataques de confianza entre agentes (v0.4)
    dynamic_generator.py       # Generación de ataques basada en investigación (v0.4)
    hallucination.py           # 15 ataques de alucinación/sobreconfianza (v0.5)
    toxicity.py                # 20 ataques de toxicidad/seguridad (v0.5)
  modules/
    base.py                    # Clase base ABC Module
    security.py                # Registro de módulos
  core/
    runner.py                  # Motor de escaneo paralelo asíncrono (anyio)
    scorer.py                  # Puntuación basada en deducciones + calificación
    mutation_engine.py         # Ofuscación de cargas útiles (6 estrategias)
    behavioral_engine.py       # Motor de deriva conductual multivuelta (v0.3)
    multi_turn_engine.py       # Ejecutor de ataques multivuelta (v0.3)
    profiler.py                # Perfilador de capacidades de agente (v0.3)
    compliance_engine.py       # Motor de mapeo de la Ley de IA de la UE (v0.3)
    reporter.py                # Generador de informes de bug bounty
    cache.py                   # Caché de resultados de escaneo basado en TTL
    research_engine.py         # Orquestador de investigación autónoma (v0.4)
    patcher.py                 # Motor de remediación automática (v0.4)
    canary.py                  # Canarios de engaño activo (v0.4)
    statistics.py              # Motor de confianza bootstrap sin dependencias (v0.6.1)
  reporters/
    base.py                    # Clase base ABC Reporter
    terminal.py                # Renderizador de terminal Rich
    json_reporter.py           # Exportador de archivos JSON
    html_reporter.py           # Informe HTML interactivo
    slack.py                   # Reportero de webhook Slack
    compliance_reporter.py     # Reportero de cumplimiento Markdown/JSON (v0.3)
    huntr_reporter.py          # Reportero de envío de bug bounty (v0.4)
    sarif_reporter.py          # Exportar resultados a SARIF 2.1.0 (v0.5)
    atlas_reporter.py          # Mapeador de cumplimiento MITRE ATLAS (v0.6)
    nist_reporter.py           # Mapeador de cumplimiento NIST AI RMF (v0.6)
  poison/                      # Paquete de envenenamiento de memoria y RAG con estado (v0.8.0)
    session_store.py           # Almacén de sesiones de envenenamiento JSON atómico
    document_generator.py      # Implementa 4 técnicas de plantado adversarial
  trace/                       # Paquete de intercepción de llamadas a herramientas MCP y proxy de políticas (v0.7.0)
    models.py                  # Modelos de traza Pydantic
    policy.py                  # Motor de evaluación basado en reglas YAML
    audit_log.py               # Registrador JSONL seguro para subprocesos y solo anexión
    proxy.py                   # Proxy inverso TCP asíncrono usando anyio y h11
  targets/                     # Suite de objetivos de referencia para validación de verdad fundamental (v0.18.0)
    base_target.py             # Objetivo HTTP base abstracto usando la biblioteca estándar de Python
    registry.py                # Registro central de objetivos que mapea nombres a clases
    runner.py                  # Gestor de contexto para iniciar y detener objetivos limpiamente

Comunidad

FAQ

¿Crucible envía los datos de mi agente a sus servidores?
No. Crucible es una CLI local. Las cargas útiles van directamente desde tu máquina a tu agente. Nada pasa por la infraestructura de Crucible. Cero retención de datos. Totalmente aislable.

¿Qué frameworks de agentes soporta Crucible?
Cualquier agente que acepte solicitudes HTTP: LangChain, AutoGen, CrewAI, OpenAI Assistants, Bedrock, agentes FastAPI personalizados.

¿Cuánto tiempo lleva un escaneo completo?
Menos de 60 segundos para 90 ataques usando ejecución paralela asíncrona.

¿Puedo agregar vectores de ataque personalizados?
Sí. Consulta CONTRIBUTING.md para saber cómo enviar nuevos módulos de ataque mediante PR.

¿Es seguro ejecutarlo en producción?
Ejecútalo en entornos de staging, no en producción. Crucible envía cargas útiles adversariales que pueden causar comportamientos inesperados.

¿Qué significa la calificación F?
Tu agente cumplió con la mayoría de los ataques. Es vulnerable a inyección de prompt, jailbreaks o secuestro de objetivos. Revisa primero los hallazgos críticos.

¿Por qué el módulo se llama goal_hijacking si el secuestro de objetivos es un impacto, no un ataque?
Los módulos de Crucible se nombran por el impacto de seguridad que revelan, no por el vector de ataque. El vector de ataque subyacente para la mayoría de los módulos es la inyección de prompt entregada en formas especializadas. Esta convención de nomenclatura ayuda a los ingenieros de seguridad a identificar rápidamente qué riesgos aborda cada módulo (por ejemplo, buscar "goal hijacking" encuentra el módulo correcto de inmediato). Consulta docs/owasp_mapping.md para el mapeo completo de vector de ataque → impacto.

¿Preguntas no respondidas aquí?
Únete a nuestro Discord o envía un correo a [email protected]

¿--method GET funciona para escanear agentes de IA?
A partir de v0.5.7, Crucible detecta automáticamente las discrepancias de método antes de que comience el escaneo. Si especificas --method GET contra un endpoint solo POST (como la mayoría de las API LLM), la nueva verificación previa envía una única solicitud de prueba y aborta inmediatamente con código de salida 2 y un mensaje de error claro, antes de que se ejecuten los módulos de ataque:

root@kitploit:~
✗ Preflight failed: Target returned 405 Method Not Allowed.
  You specified --method GET but this endpoint requires POST.
  Re-run without --method GET or use --skip-preflight to bypass this check.

Esto reemplaza el comportamiento anterior (KL-1) donde el escaneo ejecutaba silenciosamente más de 300 ataques que todos devolvían 405, produciendo finalmente un resultado engañoso Grade.INCOMPLETE.

Para escanear un objetivo que realmente acepta solicitudes GET con un cuerpo, pasa --method GET normalmente; la verificación previa pasará si el servidor devuelve algo que no sea 405. Para omitir la verificación previa por completo (por ejemplo, para endpoints con límite de tasa), usa --skip-preflight.

¿Qué sucede si el servidor objetivo devuelve HTTP 503 durante un escaneo?
A partir de v0.5.4, los códigos HTTP 503, 429 y otros errores transitorios/del servidor (códigos 5xx) se reconocen como fallos de ejecución en lugar de rechazos del modelo. Cuando se encuentra un 503 o 429, Crucible reintentará la solicitud hasta el retry_count configurado (con espera delay_ms). Si todos los reintentos se agotan, el ataque se marca como error de ejecución (passed=None, execution_error=True).

Si más del 20% de las solicitudes fallan con errores de ejecución, el veredicto general del escaneo se marca como Grade.INCOMPLETE, y la CLI saldrá con un código distinto de cero (1) a menos que se especifique --allow-incomplete.

Contribuciones

Consulta CONTRIBUTING.md para la configuración, agregar ataques y requisitos de PR.

Buscamos contribuyentes que vayan más allá del problema. Los mejores PRs corrigen lo que no se informó.

Licencia

Apache 2.0 -- consulta LICENSE.


Si Crucible te ayudó, por favor dale una estrella a este repositorio; ayuda a que más desarrolladores lo encuentren.

Descargar herramienta
MóduloAtaquesEstadoCobertura OWASP
Prompt Injection50✅ ActivoLLM01, LLM07
Goal Hijacking20✅ ActivoAgentic #1
Jailbreaks20✅ ActivoLLM01, LLM06
Enterprise Graph10✅ ActivoAgentic #2, #4
Memory Poisoning8✅ ActivoAgentic #5
Infrastructure Escalation5✅ ActivoLLM06, SSRF
Advanced Orchestration4✅ ActivoAgentic #3
MCP Security5✅ ActivoAgentic #3
MCP Server Scan10✅ Activo (v0.4)MCP-001 – MCP-005
Behavioral Driftmulti-turn✅ Activo (v0.3)Agentic #1, #2
Multi-turn Attacksestrategias✅ Activo (v0.3)LLM01, Agentic #1
Deep Research Engineautónomo✅ Activo (v0.4)Investigación IA
Multi-Agent Contagionorquestación✅ Activo (v0.4)Agentic #2, #3
Hallucination Detection15✅ Activo (v0.5)LLM09 / Agentic #9
Toxicity & Content Safety20✅ Activo (v0.5)LLM01, LLM06
Statistical Confidence--confidence✅ Activo (v0.6)Intervalos bootstrap y binomiales
MCP Trace Proxyproxy de tráfico✅ Activo (v0.7)Agentic #3 / Uso indebido de herramientas
Memory & RAG Poisoningpoison-test✅ Activo (v0.8)Agentic #5 / Envenenamiento
Reference Targets12 objetivos✅ Activo (v0.18)Objetivos de validación de verdad fundamental
#CategoríaMódulo de CrucibleEstado
1Goal Hijackinggoal_hijackingCubierto (20 ataques)
2Prompt Injectionprompt_injectionCubierto (50 ataques)
3Tool Misusetool_injection / proxy traceCubierto (v0.7.0)
4Identity Abuseproxy trace + capa de identidadCubierto (v0.9.0)
5Memory Poisoningmemory_poisoning / poison-testCubierto (8 ataques, v0.8.0)
6Data Exfiltrationprompt_injection / exfiltraciónCubierto (v0.8.0)
7Scope Violationproxy traceCubierto (v0.7.0)
8Cascading Failure--Planificado
9Supply Chain / OverreliancehallucinationCubierto (15 ataques)
10Rogue Agent--Planificado
ProveedorProbado
OpenAI (GPT-4, GPT-4o)Sí
Anthropic (Claude)Sí
Groq (Llama, Mixtral)Sí
Punto final HTTP personalizadoSí
LangChain (LangServe / wrapper FastAPI)Sí
OllamaSí (v0.5)
LM StudioSí (v0.5)
HuggingFace TGISí (v0.5)
ScriptFrameworkDescripción
test_openai_agent.pyOpenAI Chat CompletionsEscanea un endpoint /chat/completions de OpenAI estándar
test_langchain_agent.pyLangChain (LangServe)Escanea un agente LangChain ReAct con mapeo OWASP LLM Top 10
test_openai_assistant.pyOpenAI Assistants APIEscanea un endpoint wrapper de la API de Asistentes
CalificaciónRango de puntuación
A90 -- 100
B75 -- 89
C60 -- 74
D40 -- 59
FPor debajo de 40
PlataformaEnlacePropósito
💬 Discorddiscord.gg/m7wAxEv3Soporte, contribuyentes, chat
🐦 Twitter/X@crucible_secActualizaciones y lanzamientos
📦 PyPIcrucible-securityInstalación
🌐 Sitio webcrucible-security.github.io/crucible-website/Documentación e información