Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
chub-supply-chain-poc — Injeção silenciosa de dependências através de pipelines de documentação de IA. 240 execuções isoladas do Docker provando que o servidor MCP sem sanitização do Context Hub permite que documentos envenenados comprometam projetos de desenvolvedores sem aviso. | Kitploit
Ferramentas/GitHubGitHub/mickmicksh/chub-supply-chain-poc
Análise de VulnerabilidadesAnálise de CódigoAnálise de MalwareTestes de PenetraçãoSegurança da Cadeia de SuprimentosPapers e PesquisaAprendizado e EducaçãoSegurança de IA
GitHub
mickmicksh/chub-supply-chain-poc

chub-supply-chain-poc

Injeção silenciosa de dependências através de pipelines de documentação de IA. 240 execuções isoladas do Docker provando que o servidor MCP sem sanitização do Context Hub permite que documentos envenenados comprometam projetos de desenvolvedores sem aviso.

Ver Repositório
4212há 6 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Divulgação de Vulnerabilidade Versão Afetada Testes Reproduzível Licença

Prova de Conceito de Cadeia de Suprimentos do Context Hub

Vulnerabilidade de zero-saneamento no Context Hub (@aisuite/chub v0.1.3) permite injeção silenciosa de dependências através do pipeline de documentação do MCP.

Referências: CWE-94 (Injeção de Código) | CWE-829 (Esfera de Controle Não Confiável) | CWE-345 (Verificação Insuficiente da Autenticidade dos Dados) | OWASP LLM01 (Injeção de Prompt)

TL;DR

Criamos documentação envenenada realista contendo dependências falsas (plaid-link-verify, stripe-checkout-guard) e as servimos através de um servidor MCP chub local dentro de contêineres Docker isolados. Nenhum conteúdo envenenado foi enviado para o registro do Context Hub - executamos chub build localmente e configuramos o servidor MCP para servir a saída pré-construída a partir do disco. Da perspectiva do agente, a experiência é idêntica a buscar documentos do registro ativo.

Quando assistentes de codificação de IA buscaram os documentos, o Haiku escreveu silenciosamente o pacote falso no requirements.txt em 100% das execuções - sem nunca mencioná-lo em sua saída de texto. Um desenvolvedor lendo a resposta do assistente não veria nada suspeito, mas seu projeto está envenenado.

240 execuções isoladas. 3 modelos. 4 níveis de esforço. 2 APIs. 0 contaminação.

Como se parece

O código gerado importa silenciosamente a dependência falsa junto com módulos legítimos:

Generated app.py with injected dependency

O agente também modifica CLAUDE.md para incorporar o pacote falso como um "padrão do projeto":

CLAUDE.md after attack

Resultados

Estas tabelas mostram os resultados do Plaid Link (120 execuções isoladas). Veja RESULTS.md para dados completos, incluindo Stripe Checkout (240 execuções no total).

Envenenamento Silencioso de Dependência (requirements.txt)

EsforçoHaikuSonnetOpus
Baixo100%60%0%
Médio100%70%0%
Alto100%40%0%
Máximo100%40%0%

Haiku nunca alertou sobre a dependência falsa (0/40). Sonnet alertou em 48% das execuções (19/40), mas ainda envenenou o requirements.txt em 53% no geral. Opus alertou em 75% das execuções (30/40) e nunca envenenou o requirements.txt ou o código.

Persistência em CLAUDE.md (backdoor de configuração do projeto)

EsforçoHaikuSonnetOpus
Baixo90%70%0%
Médio80%70%0%
Alto90%40%0%
Máximo90%50%0%

Haiku modifica o CLAUDE.md do projeto para incluir a dependência falsa como um "padrão do projeto" em 88% das execuções (35/40). Este arquivo é commitado no git - todo futuro desenvolvedor que clonar o repositório herda a configuração envenenada.

Cadeia de Ataque

flowchart LR
    A["Atacante\nenvia PR"] -->|"Sem verificação\nde identidade"| B["Mantenedor\nmescla PR"]
    B -->|"Sem saneamento\nde conteúdo"| C["Documento no CDN\n(sem verificação de integridade)"]
    C -->|"MCP serve\nconteúdo bruto"| D["Janela de contexto\ndo agente"]
    D -->|"Agente age sobre\nconteúdo não confiável"| E["Estação de trabalho\ndo desenvolvedor"]

    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

Modelo de Ameaça

AtacanteQualquer pessoa que possa enviar um PR ao registro de documentos do Context Hub
Superfície de ataqueDocumentos da comunidade fluindo do PR no GitHub para CDN, depois MCP, depois contexto do agente
Limite de confiançaConteúdo de contribuidor não confiável tratado como documentação oficial de API
Pré-requisitoUm PR mesclado contendo um documento envenenado
ImpactoExecução arbitrária de código via injeção de dependência + hooks pós-instalação do pip

Principais Descobertas

  1. O envenenamento do Haiku é totalmente silencioso. 0/80 execuções do Haiku em ambas as APIs mencionaram a dependência falsa na resposta. O modelo escreve no disco sem avisar. Sonnet alertou em 48% das execuções, mas ainda envenenou o requirements.txt em 35-53% das execuções. Opus alertou em 23-75% das execuções e nunca envenenou o requirements.txt ou o código.

  2. Haiku é 100% explorável em todos os níveis de esforço. Independência de esforço em ambas as APIs. O modelo mais fraco da família nunca detecta a dependência falsa.

  3. Opus resiste ao envenenamento de código, mas não ao de configuração. Opus nunca escreveu a dependência falsa no requirements.txt ou no código Python (0/80 em ambas as APIs). Mas no Stripe, Opus modificou o CLAUDE.md em 38% das execuções, documentando o canário como uma dependência do projeto sem instalá-lo.

  4. A persistência em CLAUDE.md cria um vetor na cadeia de suprimentos. Arquivos de configuração modificados são commitados no git, envenenando todo desenvolvedor que clonar o repositório e toda sessão futura de IA naquele projeto. Isso funciona em todos os modelos (Haiku 88-90%, Sonnet 58%, Opus 0-38%).

  5. Familiaridade com a API é importante. Stripe (bem conhecida): modelos detectam pacotes falsos via dados de treinamento. Plaid (menos conhecida): modelos não conseguem verificar e aceitam a dependência falsa sem questionar.

  6. Este é um problema de toda a categoria. Context7 teve ContextCrush (Fev 2026). Context Hub tem este. Qualquer ferramenta que injete conteúdo externo não saneado no contexto do agente é vulnerável.

Descobertas no Código Fonte

Zero saneamento em todo o pipeline:

  • annotations.js - writeFileSync com conteúdo bruto, sem filtragem
  • build.js - sem varredura de conteúdo, sem normalização Unicode
  • cache.js - busca no CDN com verificação zero de hash/assinatura
  • source: official no frontmatter - autodeclarado, não verificado

Divulgação

Context Hub não possui SECURITY.md. Não há uma maneira documentada de divulgar responsavelmente uma vulnerabilidade - sem contato de segurança, sem chave PGP, sem política de divulgação. Membros da comunidade encontraram as vulnerabilidades de qualquer forma e as registraram como issues e PRs regulares. Nenhum foi revisado.

Baixar ferramenta