Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
chub-supply-chain-poc — Iniezione silenziosa di dipendenze attraverso pipeline di documentazione AI. 240 esecuzioni Docker isolate dimostrano che il server MCP senza sanitizzazione di Context Hub consente a documenti avvelenati di compromettere i progetti degli sviluppatori senza preavviso. | Kitploit
Strumenti/GitHubGitHub/mickmicksh/chub-supply-chain-poc
Analisi delle VulnerabilitàAnalisi del CodiceAnalisi MalwarePenetration TestingSicurezza della Supply ChainPaper e RicercaApprendimento e FormazioneSicurezza dell'IA
GitHub
mickmicksh/chub-supply-chain-poc

chub-supply-chain-poc

Iniezione silenziosa di dipendenze attraverso pipeline di documentazione AI. 240 esecuzioni Docker isolate dimostrano che il server MCP senza sanitizzazione di Context Hub consente a documenti avvelenati di compromettere i progetti degli sviluppatori senza preavviso.

Vedi Repository
42116 mesi faNon ancora revisionato

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

Divulgazione di vulnerabilità Versione affetta Test Riproducibile Licenza

Proof of Concept di Supply Chain su Context Hub

Vulnerabilità con assenza totale di sanitizzazione in Context Hub (@aisuite/chub v0.1.3) che consente l'iniezione silenziosa di dipendenze attraverso il pipeline di documentazione MCP.

Riferimenti: CWE-94 (Code Injection) | CWE-829 (Untrusted Control Sphere) | CWE-345 (Insufficient Verification of Data Authenticity) | OWASP LLM01 (Prompt Injection)

In sintesi

Abbiamo creato documenti realistici avvelenati contenenti dipendenze fittizie (plaid-link-verify, stripe-checkout-guard) e li abbiamo serviti tramite un server MCP chub locale all'interno di container Docker isolati. Nessun contenuto avvelenato è stato caricato nel registry di Context Hub – abbiamo eseguito chub build localmente e configurato il server MCP per servire l'output precompilato dal disco. Dal punto di vista dell'agente, l'esperienza è identica al recupero dei documenti dal registry live.

Quando gli assistenti di codifica AI hanno recuperato i documenti, Haiku ha silenziosamente scritto il pacchetto fittizio in requirements.txt nel 100% delle esecuzioni – senza mai menzionarlo nell'output testuale. Uno sviluppatore che legge la risposta dell'assistente non noterebbe nulla di sospetto, ma il suo progetto è avvelenato.

240 esecuzioni isolate. 3 modelli. 4 livelli di sforzo. 2 API. 0 contaminazione.

Come appare

Il codice generato importa silenziosamente la dipendenza fittizia insieme ai moduli legittimi:

Generated app.py with injected dependency

L'agente modifica anche CLAUDE.md per incorporare il pacchetto fittizio come "standard di progetto":

CLAUDE.md after attack

Risultati

Queste tabelle mostrano i risultati di Plaid Link (120 esecuzioni isolate). Vedi RESULTS.md per i dati completi inclusi Stripe Checkout (240 esecuzioni totali).

Avvelenamento silenzioso delle dipendenze (requirements.txt)

SforzoHaikuSonnetOpus
Basso100%60%0%
Medio100%70%0%
Alto100%40%0%
Massimo100%40%0%

Haiku non ha mai avvertito riguardo la dipendenza fittizia (0/40). Sonnet ha avvertito nel 48% delle esecuzioni (19/40) ma ha comunque avvelenato requirements.txt nel 53% complessivo. Opus ha avvertito nel 75% delle esecuzioni (30/40) e non ha mai avvelenato requirements.txt o il codice.

Persistenza in CLAUDE.md (backdoor nella configurazione di progetto)

SforzoHaikuSonnetOpus
Basso90%70%0%
Medio80%70%0%
Alto90%40%0%
Massimo90%50%0%

Haiku modifica il CLAUDE.md del progetto per includere la dipendenza fittizia come "standard di progetto" nell'88% delle esecuzioni (35/40). Questo file viene commitato su git – ogni futuro sviluppatore che clona il repository eredita la configurazione avvelenata.

Catena d'attacco

flowchart LR
    A["Attaccante\ninvia PR"] -->|"Nessuna verifica\ndell'identità"| B["Mantainer\nunisce PR"]
    B -->|"Nessuna sanitizzazione\ndei contenuti"| C["Doc su CDN\n(nessun controllo d'integrità)"]
    C -->|"MCP serve\ncontenuti grezzi"| D["Finestra di contesto\ndell'agente"]
    D -->|"L'agente agisce su\ncontenuti non fidati"| E["Workstation\ndello sviluppatore"]

    style A fill:#111,stroke:#333,color:#f0f0f0
    style B fill:#161616,stroke:#333,color:#888
    style C fill:#161616,stroke:#333,color:#888
    style D fill:#161616,stroke:#333,color:#888
    style E fill:#111,stroke:#333,color:#f0f0f0

Modello di minaccia

AttaccanteChiunque possa inviare una PR al registry dei documenti di Context Hub
Superficie d'attaccoDocumenti della community che fluiscono dalla PR GitHub al CDN al MCP al contesto dell'agente
Confine di fiduciaContenuti di collaboratori non fidati trattati come documentazione API autorevole
PrerequisitoUna PR unita contenente un documento avvelenato
ImpattoEsecuzione di codice arbitrario tramite iniezione di dipendenze + hook post-installazione di pip

Risultati chiave

  1. L'avvelenamento di Haiku è completamente silenzioso. 0/80 esecuzioni di Haiku su entrambe le API hanno menzionato la dipendenza fittizia nella risposta. Il modello scrive su disco senza informare. Sonnet ha avvertito nel 48% delle esecuzioni ma ha comunque avvelenato requirements.txt in 35-53% delle esecuzioni. Opus ha avvertito in 23-75% delle esecuzioni e non ha mai avvelenato requirements.txt o il codice.

  2. Haiku è sfruttabile al 100% a ogni livello di sforzo. Indipendente dallo sforzo su entrambe le API. Il modello più debole della famiglia non rileva mai la dipendenza fittizia.

  3. Opus resiste all'avvelenamento del codice ma non a quello della configurazione. Opus non ha mai scritto la dipendenza fittizia in requirements.txt o in codice Python (0/80 su entrambe le API). Tuttavia, su Stripe, Opus ha modificato CLAUDE.md nel 38% delle esecuzioni, documentando il canarino come dipendenza di progetto senza installarlo.

  4. La persistenza in CLAUDE.md crea un vettore di supply chain. I file di configurazione modificati vengono commitati su git, avvelenando ogni sviluppatore che clona il repository e ogni futura sessione AI in quel progetto. Questo funziona su tutti i modelli (Haiku 88-90%, Sonnet 58%, Opus 0-38%).

  5. La familiarità con l'API è importante. Stripe (nota): i modelli rilevano pacchetti fittizi tramite dati di addestramento. Plaid (meno nota): i modelli non possono verificare e accettano la dipendenza fittizia senza discutere.

  6. Questo è un problema di categoria. Context7 aveva ContextCrush (Feb 2026). Context Hub ha questo. Qualsiasi strumento che inietti contenuti esterni non sanitizzati nel contesto dell'agente è vulnerabile.

Risultati dell'analisi del codice sorgente

Zero sanitizzazione lungo tutto il pipeline:

  • annotations.js – writeFileSync con contenuti grezzi, nessun filtro
  • build.js – nessuna scansione dei contenuti, nessuna normalizzazione Unicode
  • cache.js – fetch da CDN con zero verifica di hash/firma
  • source: official nel frontmatter – auto-dichiarato, non verificato

Divulgazione

Scarica lo strumento