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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
stego_provenance_defense — Defesa contra injeção de prompt esteganográfica para IA agêntica usando vinculação de proveniência em tempo de decodificação, autenticação HMAC e aplicação de confiança MCP. | Kitploit
Ferramentas/GitHubGitHub/ericyoc/stego_provenance_defense
Ferramentas DefensivasEsteganografiaAutenticaçãoPapers e PesquisaAprendizado e EducaçãoSegurança de IA
GitHubericyoc/stego_provenance_defense

stego_provenance_defense

Defesa contra injeção de prompt esteganográfica para IA agêntica usando vinculação de proveniência em tempo de decodificação, autenticação HMAC e aplicação de confiança MCP.

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 →
Ver RepositórioSite
20há 2 diasAinda não revisado
Compartilhar

Eric Yocam on Lounge

Vinculação de proveniência em tempo de decodificação para agentes MCP

Uma prova de conceito reproduzível de um vetor de injeção de prompt esteganográfico que contorna scanners de conteúdo textual, e uma defesa que o contém na fronteira de decodificação — vinculação de proveniência em tempo de decodificação.

Apenas para pesquisa educacional / de segurança defensiva. Todos os segredos neste repositório são falsos. Use apenas em sistemas que você possui ou está autorizado a testar.


Resumo

Um atacante envia por e-mail à vítima uma mensagem de aparência comum. Um logotipo de marca na assinatura do e-mail oculta uma instrução via esteganografia (LSB, DCT ou metadados). A imagem é visualmente idêntica à original e não contém texto suspeito, então um scanner de conteúdo não vê nada e a vítima nunca clica em nada. Mas o agente de sumarização de caixa de entrada rotineiro da vítima processa a assinatura, uma ferramenta em seu pipeline decodifica a imagem, e a instrução oculta entra no contexto do agente — onde, em um pipeline MCP multiagente, ela é retransmitida entre agentes como saída de par confiável e impulsiona uma chamada de ferramenta crítica. Isso é lavagem de confiança entre modalidades. A defesa, vinculação de proveniência em tempo de decodificação, emite um rótulo UNTRUSTED assinado com HMAC no instante em que uma ferramenta de reversão de ocultação é executada e faz a camada MCP manter a linhagem de proveniência ela mesma, de modo que bloqueia qualquer chamada de ferramenta crítica cuja linhagem seja não confiável — mesmo quando um agente comprometido apresenta um rótulo válido para um valor confiável não relacionado. Ela contém em vez de detectar, portanto é independente da redação do payload e do veículo.


Resultados

Taxa de sucesso do ataque (ASR) — 24 payloads (três veículos × oito evasões: simples, com palavras benignas, Base64, divisão de tokens, homoglifo cirílico, largura zero, confusável Unicode, comentário HTML); menor é melhor. A linha de base de taint em processo é um controle de fluxo de informação que marca a saída de decodificação como não confiável, mas não carrega nenhuma vinculação criptográfica entre domínios:

DefesaVazamentosnASR
Sem defesa (sem verificações)2424100%
Scanner de conteúdo (palavra-chave/DLP)152462,5%
Analisador de intenção por regex152462,5%
Taint de fluxo de dados (linha de base IFC)0240%
Proveniência em tempo de decodificação (nossa)0240%

Taint e proveniência empatam na ASR de domínio único; elas divergem sob retransmissão adversarial (abaixo), que é o ponto da vinculação criptográfica.

Substituição de rótulo válido — um agente comprometido apresenta uma vinculação TRUSTED legitimamente assinada de uma ferramenta benigna, omitindo a origem de decodificação UNTRUSTED que de fato impulsiona a chamada. A correção é que a camada MCP mantém a linhagem ela mesma e decide com base em seu próprio registro, não na vinculação fornecida pelo agente:

AplicaçãoDecisão
Apenas vinculação fornecida pelo agente (ingênua)permitir (vaza)
Mantida pela camada, dependência omitidabloquear
Mantida pela camada, dependência nos argumentosbloquear
Mantida pela camada, contexto limpopermitir

Ablação de componentes — quatro componentes, cada um defendendo um ataque distinto. Desative um de cada vez; substitution é intra-domínio, forged relay é um rótulo TRUSTED forjado cruzando um relé não confiável até um verificador remoto que detém apenas a vinculação apresentada. Crucialmente, o HMAC sozinho não impede a substituição (o registro impede), e o registro sozinho não sobrevive a um relé entre domínios (o HMAC sobrevive):

ConfiguraçãoHonestoSubstituiçãoRelay forjado
Mecanismo completobloqueadobloqueadobloqueado
− marcação de decodificaçãovazavazavaza
− autenticação criptográfica (HMAC)bloqueadobloqueadovaza
− rastreamento de linhagem confiávelbloqueadovazabloqueado
− mediação de sinkvazavazavaza

Propagação entre contextos — a contaminação sobrevive a uma fronteira de mensagem entre agentes, não apenas a um handle de retorno de ferramenta. Uma decodificação não confiável no Agente A atinge uma chamada crítica no contexto separado do Agente B, e num canal mediado (que o modelo de ameaças já exige para comunicações entre agentes) a contaminação propaga-se e B é bloqueado. Um canal que a camada não medeia está fora do modelo por construção — não é um vazamento dentro do escopo:

Canal A → BChamada crítica de B
Mensagem entre agentes mediada (no escopo)bloqueio (contaminação propagada)
Canal lateral não mediado (fora do modelo)não coberto

Escalonamento de overhead — MintBinding é ~O(1) (~10–14 µs independentemente da profundidade); EnforceCritical é linear no fecho de dependências que percorre (≈10 µs na profundidade 1 → ≈0,66 ms na profundidade 100 → ≈6,7 ms na profundidade 1000) e constante (~6–7 µs) no número de contextos contaminados concorrentes. Fechos realistas (profundidade na casa das dezenas) mantêm-se abaixo de ~0,1 ms.

Utilidade para tarefas legítimas — um caminho auditado de promoção para confiável (re-rotulagem de um valor decodificado específico, por exemplo, um número de fatura obtido por OCR, sob autorização) elimina falsos bloqueios enquanto o ataque permanece bloqueado:

RegimeConclusãoFalsos bloqueiosAtaque bloqueado
Sem promoção2/3 (67%)1sim
Promoção confiável3/3 (100%)0sim

Completude do conjunto de decodificação — a suposição de registo, testada diretamente:

Conjunto de decodificaçãoAtaque esteganográficoChamada crítica legítima
Corretobloqueadopermitido
Decodificador em faltavazapermitido
Demasiado abrangentebloqueadofalso bloqueio

Integridade do rótulo entre transferências — a vinculação sobrevive a relay honesto e resiste a um worker comprometido:

Cenário de relayDecisão do verificador
Relay honesto, 1 / 3 / 5 / 10 saltosverifica; bloqueado
Comprometido: reescrever payload, manter HMACbloqueio (incompatibilidade de HMAC)
Comprometido: forjar TRUSTEDbloqueio (incompatibilidade de HMAC)
Comprometido: remover vinculaçãobloqueio (sem rótulo válido)

Overhead — efetivamente gratuito no ponto de decisão: criar e verificar uma vinculação custa ~8–9 µs cada (~17 µs combinados), versus uma chamada de ferramenta de decodificação de ~11 ms — abaixo de ~0,2% adicionado. A distorção do portador é baixa (LSB ≈ 76 dB PSNR, metadados sem perdas; DCT ≈ 18 dB — uma métrica de distorção, não uma afirmação de impercetibilidade perceptual).


O que está aqui

stego_provenance_defense_poc.ipynb   # the full PoC (run top-to-bottom)
requirements.txt                     # dependencies (mcp pinned <2)
Baixar ferramenta