Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
crucible — pytest per agenti AI - Red-teaming autonomo, monitoraggio comportamentale e test di sicurezza per agenti LLM | Kitploit
Strumenti/GitHubGitHub/crucible-security/crucible
Scanner di VulnerabilitàPenetration TestingDevSecOpsApprendimento e FormazioneRed TeamingSicurezza dell'IA
GitHubcrucible-security/crucible

crucible

pytest per agenti AI - Red-teaming autonomo, monitoraggio comportamentale e test di sicurezza per agenti LLM

Vedi Repository
483525 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

root@kitploit:~
   ██████╗██████╗ ██╗   ██╗ ██████╗██╗██████╗ ██╗     ███████╗
  ██╔════╝██╔══██╗██║   ██║██╔════╝██║██╔══██╗██║     ██╔════╝
  ██║     ██████╔╝██║   ██║██║     ██║██████╔╝██║     █████╗
  ██║     ██╔══██╗██║   ██║██║     ██║██╔══██╗██║     ██╔══╝
  ╚██████╗██║  ██║╚██████╔╝╚██████╗██║██████╔╝███████╗███████╗
   ╚═════╝╚═╝  ╚═╝ ╚═════╝  ╚═════╝╚═╝╚═════╝ ╚══════╝╚══════╝
  
pytest per agenti AI -- testa, valuta e rafforza prima della produzione

CI PyPI Python Coverage License Discord OWASP


Installazione

root@kitploit:~
pip install crucible-security

Avvio Rapido

🆕 Nuovo alla sicurezza AI? Leggi la nostra Guida introduttiva per principianti o configura un target di test locale con la Guida al target demo n8n locale.

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 comando. 90 attacchi. Report stupendo.

Perché Crucible?

  • Test dell'integrità comportamentale -- l'unico strumento che testa il comportamento dell'agente attraverso conversazioni, non solo attacchi singoli
  • Red-teaming automatizzato -- oltre 90 payload di attacco reali eseguiti in meno di 60 secondi, non settimane di test manuali
  • Allineato a OWASP -- mappa ogni attacco all'OWASP Top 10 per le Applicazioni LLM e all'OWASP Agentic Top 10
  • Nativo per CI/CD -- crucible scan --output json si integra in qualsiasi pipeline; fallisci le build con voti bassi
  • Conformità normativa -- genera automaticamente report di conformità all'EU AI Act 2024 dai risultati delle scansioni
  • Sicurezza MCP -- l'unico strumento con un modulo di sicurezza nativo per il Model Context Protocol

Come si confronta Crucible con Garak e PyRIT? → Vedi docs/comparison.md per una matrice delle funzionalità dettagliata e obiettiva.

Cosa testa Crucible? → Vedi docs/owasp_mapping.md per la documentazione completa degli attacchi OWASP Agentic AI Top 10 (ASI01–ASI10).

☁️ Crucible Cloud (Lista d'attesa)

Hai bisogno di dashboard persistenti, report di conformità e collaborazione di team?
Unisciti alla lista d'attesa per la nostra prossima piattaforma cloud: crucible-cloud.vercel.app

Moduli

Copertura OWASP Agentic Top 10

Provider supportati

Esempi

Forniamo diversi script di esempio nella directory examples/ per aiutarti a iniziare:

Tutti gli esempi usano respx per simulare le chiamate HTTP in modo da superare il CI senza un server live.

Esecuzione dell'esempio LangChain:

root@kitploit:~
python examples/test_langchain_agent.py

Esecuzione dell'esempio OpenAI Assistant:

root@kitploit:~
python examples/test_openai_assistant.py

Sistema di punteggio

Il punteggio parte da 100 e viene decurtato per ogni vulnerabilità trovata:

GravitàDecurtazione
CRITICAL-20 punti
HIGH-10 punti
MEDIUM-5 punti
LOW-2 punti

Riferimento CLI

root@kitploit:~
# Genera configurazione
crucible init --target URL --provider openai --key sk-xxx

# Esegue una scansione standard
crucible scan \
  --target https://my-agent.com/api/chat \
  --name "My ChatBot" \
  --header "Authorization: Bearer sk-xxx" \
  --timeout 30 \
  --concurrency 5

# Esegue con mutazione dei payload (bypass WAF/guardrail)
crucible scan --target URL --mutate

# Strategia di attacco multi-turn
crucible scan --target URL --strategy multi-turn

# Usa profilo agente per indirizzare gli attacchi
crucible profile --target URL --output agent_profile.json
crucible scan --target URL --profile agent_profile.json

# Audit di integrità comportamentale (rilevamento deriva multi-turn)
crucible behavioral-audit \
  --target https://my-agent.com/api/chat \
  --baseline-turns 5 \
  --probe-turns 15

# Genera report di conformità EU AI Act dai risultati della scansione
crucible scan --target URL --output json > results.json
crucible compliance-report --results results.json --output compliance.md

# Output JSON per CI/CD
crucible scan --target URL --output json > report.json

# Scansione modello locale (Ollama, LM Studio, HuggingFace TGI)
crucible scan --target http://localhost:11434 --format-preset ollama --model llama3

# Limitazione globale della frequenza (2 richieste al secondo)
crucible scan --target URL --rate-limit 2

# Applicazione dello scopo tramite file YAML
crucible scan --target URL --scope-file scope.yaml

# Esegue audit di un server MCP per avvelenamento degli strumenti, iniezione di comandi e abuso ambito OAuth
crucible mcp-scan --server https://my-mcp.example.com

# Con header di autenticazione e output JSON
crucible mcp-scan --server http://localhost:3000 \
  --header "Authorization: Bearer sk-xxx" \
  --output mcp-report.json

# Rende nuovamente un report salvato
crucible report report.json

# Esegue scansione con intervalli di confidenza statistica bootstrap (calcola IC al 95% con 10 esecuzioni per attacco)
crucible scan --target URL --confidence --confidence-runs 10

# Valida un file YAML di policy di tracciamento
crucible trace validate-policy policy.yaml

# Avvia il proxy di tracciamento per intercettazione e audit MCP (HTTP semplice)
crucible trace start --listen 8080 --upstream http://localhost:8001 --policy policy.yaml --log audit.jsonl

# Avvia il proxy con terminazione TLS nativa (certificato di sviluppo self-signed generato automaticamente)
crucible trace start --listen 9443 --upstream http://localhost:8001 --policy policy.yaml --tls-self-signed

# Avvia il proxy con terminazione TLS nativa (usando file di certificato/chiave personalizzati)
crucible trace start --listen 9443 --upstream http://localhost:8001 --policy policy.yaml --tls --tls-cert cert.pem --tls-key key.pem

# Produce un report riassuntivo da un file di log di audit di tracciamento
crucible trace report audit.jsonl

# Pianta un documento avvelenato usando l'iniezione Semantic Anchor (Tecnica 1)
crucible poison-test plant --topic "company secrets" --technique 1 --output secret.txt

# Esegue il ciclo di vita end-to-end automatico pianta-e-query per avvelenamento RAG
crucible poison-test rag --ingest-url http://api/ingest --query-url http://api/query --topic "finances"

# Elenca le sessioni di valutazione di avvelenamento attive
crucible poison-test list

# Controlla lo stato di una specifica sessione di avvelenamento
crucible poison-test status <session-id>

# Elenca tutti i 12 target di riferimento (6 vulnerabili, 6 induriti)
crucible target list

# Avvia un target di riferimento specifico (es. sql_vulnerable) sulla porta 9000
crucible target start --name sql_vulnerable --port 9000

# Accende tutti i 12 target, esegue health e validazione ground-truth, scrive report JSON
crucible target validate --output ground_truth_report.json

Integrazione CI/CD

Aggiungi al tuo CI/CD in 3 righe:

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

Forniamo anche l'Azione GitHub ufficiale Crucible Security Agent Scan. Si integra direttamente nei tuoi workflow per eseguire audit di sicurezza automatizzati, mostrare report Markdown interattivi, caricare i risultati SARIF in GitHub Code Scanning e imporre il blocco dei merge basato sul voto.

Esempio di utilizzo

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 # Fa fallire il workflow se il voto è C, D o F

Architettura

root@kitploit:~
crucible/
  models.py                    # Modelli dati Pydantic
  cli.py                       # CLI Typer (scan, behavioral-audit, profile, compliance-report)
  attacks/
    base.py                    # Classe astratta BaseAttack
    prompt_injection.py        # 50 vettori di attacco
    goal_hijacking.py          # 20 vettori di attacco
    jailbreaks.py              # 20 vettori di attacco
    enterprise_graph.py        # Attacchi di fiducia cross-agente
    memory_poisoning.py        # Attacchi allo stato persistente
    behavioral_escalation.py   # Sequenze di escalation multi-turn (v0.3)
    multi_turn_strategies.py   # Crescendo & Confusione di contesto (v0.3)
    profile_templates/         # Template di rilevamento tipo agente (v0.3)
    multi_agent_contagion.py   # Attacchi di fiducia cross-agente (v0.4)
    dynamic_generator.py       # Generazione attacchi guidata da ricerca (v0.4)
    hallucination.py           # 15 attacchi di allucinazione/eccessiva dipendenza (v0.5)
    toxicity.py                # 20 attacchi di tossicità/sicurezza (v0.5)
  modules/
    base.py                    # Classe astratta BaseModule
    security.py                # Registro dei moduli
  core/
    runner.py                  # Motore di scansione parallela asincrona (anyio)
    scorer.py                  # Punteggio basato su decurtazione + valutazione
    mutation_engine.py         # Offuscamento payload (6 strategie)
    behavioral_engine.py       # Motore di deriva comportamentale multi-turn (v0.3)
    multi_turn_engine.py       # Esecuzione attacchi multi-turn (v0.3)
    profiler.py                # Profilatore di capacità agente (v0.3)
    compliance_engine.py       # Motore di mappatura EU AI Act (v0.3)
    reporter.py                # Generatore report bug bounty
    cache.py                   # Cache dei risultati di scansione con TTL
    research_engine.py         # Orchestratore di ricerca autonoma (v0.4)
    patcher.py                 # Motore di auto-riparazione (v0.4)
    canary.py                  # Canarini di inganno attivo (v0.4)
    statistics.py              # Motore di confidenza bootstrap senza dipendenze (v0.6.1)
  reporters/
    base.py                    # Classe astratta BaseReporter
    terminal.py                # Renderer terminale Rich
    json_reporter.py           # Esportatore file JSON
    html_reporter.py           # Report HTML interattivo
    slack.py                   # Reporter webhook Slack
    compliance_reporter.py     # Reporter conformità Markdown/JSON (v0.3)
    huntr_reporter.py          # Reporter invio bug bounty (v0.4)
    sarif_reporter.py          # Esportazione risultati in SARIF 2.1.0 (v0.5)
    atlas_reporter.py          # Mappatore conformità MITRE ATLAS (v0.6)
    nist_reporter.py           # Mappatore conformità NIST AI RMF (v0.6)
  poison/                      # Pacchetto avvelenamento memoria e RAG con stato (v0.8.0)
    session_store.py           # Archivio sessioni avvelenamento JSON atomico
    document_generator.py      # Implementa 4 tecniche di impianto avversario
  trace/                       # Proxy di policy e intercettazione chiamate strumento MCP (v0.7.0)
    models.py                  # Modelli di tracciamento Pydantic
    policy.py                  # Motore di valutazione basato su regole YAML
    audit_log.py               # Logger JSONL thread-safe append-only
    proxy.py                   # Proxy inverso TCP asincrono usando anyio e h11
  targets/                     # Suite di target di riferimento per valutazione ground-truth (v0.18.0)
    base_target.py             # Target HTTP base astratto usando libreria standard Python
    registry.py                # Registro centrale dei target che mappa nomi a classi
    runner.py                  # Gestore di contesto per avviare e fermare i target in modo pulito

Community

FAQ

Crucible invia i dati del mio agente ai vostri server?
No. Crucible è un CLI locale. I payload vanno direttamente dalla tua macchina al tuo agente. Niente passa attraverso l'infrastruttura di Crucible. Zero conservazione dei dati. Completamente air-gappabile.

Quali framework per agenti supporta Crucible?
Qualsiasi agente che accetti richieste HTTP — LangChain, AutoGen, CrewAI, OpenAI Assistants, Bedrock, agenti FastAPI personalizzati.

Quanto tempo richiede una scansione completa?
Meno di 60 secondi per 90 attacchi usando esecuzione parallela asincrona.

Posso aggiungere vettori di attacco personalizzati?
Sì. Vedi CONTRIBUTING.md per come inviare nuovi moduli di attacco tramite PR.

È sicuro eseguirlo in produzione?
Eseguilo su ambienti di staging, non in produzione. Crucible invia payload avversari che potrebbero causare comportamenti imprevisti.

Cosa significa Voto F?
Il tuo agente ha ceduto alla maggior parte degli attacchi. È vulnerabile a iniezione di prompt, jailbreak o dirottamento degli obiettivi. Rivedi prima i risultati CRITICAL.

Perché il modulo si chiama goal_hijacking se il dirottamento degli obiettivi è un impatto, non un attacco?
I moduli Crucible prendono il nome dall'impatto sulla sicurezza che evidenziano, non dal vettore di attacco. Il vettore di attacco sottostante per la maggior parte dei moduli è l'iniezione di prompt erogata in forme specializzate. Questa convenzione di denominazione aiuta gli ingegneri della sicurezza a identificare rapidamente quali rischi ciascun modulo affronta (ad esempio, cercando "goal hijacking" si trova immediatamente il modulo giusto). Vedi docs/owasp_mapping.md per la mappatura completa vettore di attacco → impatto.

Domande non trovate qui?
Unisciti al nostro Discord o scrivi a [email protected]

--method GET funziona per scansionare agenti AI?
A partire dalla v0.5.7, Crucible rileva automaticamente le discrepanze di metodo prima dell'inizio della scansione. Se specifichi --method GET contro un endpoint che accetta solo POST (come la maggior parte delle API LLM), il nuovo controllo preflight invia una singola richiesta di prova e si interrompe immediatamente con codice di uscita 2 e un chiaro messaggio di errore — prima che qualsiasi modulo di attacco venga eseguito:

root@kitploit:~
✗ Preflight fallito: Il target ha restituito 405 Method Not Allowed.
  Hai specificato --method GET ma questo endpoint richiede POST.
  Esegui di nuovo senza --method GET o usa --skip-preflight per bypassare questo controllo.

Questo sostituisce il vecchio comportamento (KL-1) in cui la scansione eseguiva silenziosamente oltre 300 attacchi che restituivano tutti 405, producendo infine un risultato fuorviante Grade.INCOMPLETE.

Per scansionare un target che accetta genuinamente richieste GET con un corpo, passa --method GET normalmente — il controllo preflight passerà se il server restituisce qualcosa di diverso da 405. Per bypassare completamente il controllo preflight (ad esempio per endpoint con limitazione di frequenza), usa --skip-preflight.

Cosa succede se il server target restituisce HTTP 503 durante una scansione?
A partire dalla v0.5.4, HTTP 503, 429 e altri errori transitori/del server (codici 5xx) vengono riconosciuti come fallimenti di esecuzione piuttosto che rifiuti del modello. Quando viene incontrato un 503 o 429, Crucible ritenterà la richiesta fino al retry_count configurato (con attesa delay_ms). Se tutti i tentativi sono esauriti, l'attacco viene contrassegnato come errore di esecuzione (passed=None, execution_error=True).

Se più del 20% delle richieste fallisce con errori di esecuzione, il verdetto complessivo della scansione viene contrassegnato come Grade.INCOMPLETE e la CLI uscirà con un codice diverso da zero (1) a meno che non sia specificato --allow-incomplete.

Contribuire

Vedi CONTRIBUTING.md per configurazione, aggiunta di attacchi e requisiti PR.

Cerchiamo contributori che vadano oltre il problema singolo. I migliori PR risolvono ciò che non è stato segnalato.

Licenza

Apache 2.0 -- vedi LICENSE.


Se Crucible ti è stato utile, per favore metti una stella a questo repository -- aiuta più sviluppatori a trovarlo.

Scarica lo strumento
ModuloAttacchiStatoCopertura OWASP
Iniezione di prompt50✅ AttivoLLM01, LLM07
Dirottamento degli obiettivi20✅ AttivoAgentic #1
Jailbreak20✅ AttivoLLM01, LLM06
Grafo aziendale10✅ AttivoAgentic #2, #4
Avvelenamento della memoria8✅ AttivoAgentic #5
Escalation dell'infrastruttura5✅ AttivoLLM06, SSRF
Orchestrazione avanzata4✅ AttivoAgentic #3
Sicurezza MCP5✅ AttivoAgentic #3
Scansione server MCP10✅ Attivo (v0.4)MCP-001 – MCP-005
Deriva comportamentalemulti-turn✅ Attivo (v0.3)Agentic #1, #2
Attacchi multi-turnstrategie✅ Attivo (v0.3)LLM01, Agentic #1
Motore di ricerca approfonditaautonomo✅ Attivo (v0.4)Ricerca AI
Contagio multi-agenteorchestrazione✅ Attivo (v0.4)Agentic #2, #3
Rilevamento allucinazioni15✅ Attivo (v0.5)LLM09 / Agentic #9
Tossicità e sicurezza contenuti20✅ Attivo (v0.5)LLM01, LLM06
Confidenza statistica--confidence✅ Attivo (v0.6)Bootstrap e bound binomiali
Proxy di tracciamento MCPproxy traffico✅ Attivo (v0.7)Agentic #3 / Uso improprio degli strumenti
Avvelenamento memoria e RAGpoison-test✅ Attivo (v0.8)Agentic #5 / Avvelenamento
Target di riferimento12 target✅ Attivo (v0.18)Target di validazione ground-truth
#CategoriaModulo CrucibleStato
1Dirottamento degli obiettivigoal_hijackingCoperto (20 attacchi)
2Iniezione di promptprompt_injectionCoperto (50 attacchi)
3Uso improprio degli strumentitool_injection / proxy traceCoperto (v0.7.0)
4Abuso di identitàproxy trace + layer identitàCoperto (v0.9.0)
5Avvelenamento della memoriamemory_poisoning / poison-testCoperto (8 attacchi, v0.8.0)
6Esfiltrazione datiprompt_injection / esfiltrazioneCoperto (v0.8.0)
7Violazione dello scopoproxy traceCoperto (v0.7.0)
8Fallimento a cascata--Pianificato
9Supply Chain / Eccessiva dipendenzahallucinationCoperto (15 attacchi)
10Agente rogue--Pianificato
FornitoreTestato
OpenAI (GPT-4, GPT-4o)Sì
Anthropic (Claude)Sì
Groq (Llama, Mixtral)Sì
Endpoint HTTP personalizzatoSì
LangChain (LangServe / wrapper FastAPI)Sì
OllamaSì (v0.5)
LM StudioSì (v0.5)
HuggingFace TGISì (v0.5)
ScriptFrameworkDescrizione
test_openai_agent.pyOpenAI Chat CompletionsScansiona un endpoint /chat/completions grezzo di OpenAI
test_langchain_agent.pyLangChain (LangServe)Scansiona un agente LangChain ReAct con mappatura OWASP LLM Top 10
test_openai_assistant.pyOpenAI Assistants APIScansiona un endpoint wrapper dell'API Assistants
VotoIntervallo punteggio
A90 -- 100
B75 -- 89
C60 -- 74
D40 -- 59
FSotto 40
PiattaformaCollegamentoScopo
💬 Discorddiscord.gg/m7wAxEv3Supporto, contributori, chat
🐦 Twitter/X@crucible_secAggiornamenti e rilasci
📦 PyPIcrucible-securityInstallazione
🌐 Sito webcrucible-security.github.io/crucible-website/Documentazione e info