Feintkit

The authoritative text is the English page: English version of this page

Uso responsável e autorização

Finalidade

A suíte Feintkit existe para testar defesas. Ela dá a produtos de segurança algo realista para detectar e bloquear, e permite verificar como os seus próprios agentes de IA se comportam ao encontrar padrões de ataque conhecidos. É uma ferramenta de teste defensivo apenas.

A suíte é distribuída sob a Apache License 2.0. As regras deste documento são um pedido e uma declaração de intenção, não condições dessa licença: a própria licença não impõe nenhuma restrição a quem pode usar o software nem para que finalidade. O uso responsável é decisão e responsabilidade sua.

Este documento é informativo e não constitui aconselhamento jurídico. O aviso legal completo é DISCLAIMER.md na raiz da suíte. O licenciante recomenda que quem republicar ou redistribuir a suíte obtenha a sua própria revisão jurídica.

Você precisa estar autorizado

Execute a suíte somente contra sistemas, contas, agentes e produtos que você possui ou que tenha permissão expressa, por escrito, para testar. Testar o agente, o serviço ou o produto de outra pessoa sem a permissão dela não é coberto por este projeto e pode ser ilegal. Você é o único responsável por decidir se um uso é legal e autorizado, e a lei difere entre jurisdições. Se você testa um produto em nome de uma organização, obtenha primeiro a aprovação da organização e avise as pessoas que o monitoram.

O que esta suíte faz e não faz

  • Todo cenário simula um padrão de ataque conhecido. Nenhum cenário executa código fornecido por um atacante, lê credenciais reais ou envia tráfego de rede a qualquer lugar que não seja a interface local de loopback (127.0.0.1 ou ::1). Um verificador estático (feintkit-guard) impõe isso no código-fonte, e toda exceção é declarada no código-fonte com uma justificativa escrita.
  • As instruções injetadas são benignas. A única instrução que um cenário coloca diante de um agente é emitir um token de confirmação inofensivo. Nada pede a um agente que cause dano.
  • Todo artefato que um cenário produz carrega uma string de marcador para que seja fácil de identificar e de pesquisar (veja MARKERS.md). Os artefatos são gravados no diretório temporário do sistema operacional, a menos que você escolha outro local com --out-dir.
  • Um cenário pode mostrar uma notificação local na sua área de trabalho. Isso é esperado e é prova visível de que o cenário foi executado.
  • A suíte é um software comum: executá-la executa código Node.js na sua máquina. Leia o que você executa.
  • A suíte não consegue observar o seu produto de segurança. Os resultados de detecção são apenas o que você mesmo registra.

Usos proibidos

  • Executar qualquer cenário contra um sistema, conta, agente ou serviço que você não está autorizado a testar.
  • Modificar um cenário para acrescentar payloads reais, acesso real a credenciais, execução real de comandos ou exfiltração real, ou redistribuir tal modificação como parte desta suíte.
  • Usar as strings de marcador ou os cenários para se passar por ferramentas legítimas, enganar pessoas ou coletar dados que não são seus.
  • Apontar um agente que tem acesso a ferramentas sensíveis reais para um cenário sem antes remover ou restringir essas ferramentas (veja Operação segura).

Sem garantia e limites de responsabilidade

  • A suíte é fornecida "AS IS", sem garantia de qualquer tipo. Isto reafirma a seção 7 da Apache License 2.0, que prevalece.
  • Detectar ou deixar de detectar um cenário não é garantia de que um produto seja seguro ou defeituoso. Os mapeamentos para frameworks são de melhor esforço e podem ser parciais ou estar desatualizados.
  • Na máxima extensão permitida pela lei aplicável, o autor e os colaboradores não são responsáveis por danos, perdas ou uso indevido decorrentes da suíte. Isto reafirma a seção 8 da Apache License 2.0, que prevalece.
  • A suíte é independente. Nenhum fornecedor, produto ou órgão de padronização que ela nomeia a endossa nem é afiliado a ela, e seus nomes pertencem aos seus donos.
  • Se parte desta seção for inválida onde você está, o restante continua a valer na medida do possível. Esta seção não faz nenhuma afirmação sobre exequibilidade.

Operação segura

  • Experimente os cenários primeiro em um ambiente descartável, como uma máquina virtual ou uma conta de usuário temporária.
  • Ao testar o seu próprio agente, desconecte as ferramentas que alcançam dados ou contas reais. Uma instrução injetada é benigna, mas um agente que segue instruções que não deveria seguir também pode usar outras ferramentas que lhe foram dadas; é exatamente isso que o teste pode revelar, portanto limite o que essas ferramentas podem alcançar.
  • Mantenha os artefatos em um local conhecido com --out-dir e remova-os com feintkit clean --all quando terminar.
  • Execute as verificações da própria suíte (npm test) depois de alterar qualquer coisa, inclusive npm run guard.

Relatar problemas

Se você encontrar um cenário que faz mais do que este documento diz, ou uma forma de usar a suíte para causar dano real, relate-o pelo rastreador de issues do projeto para que possa ser corrigido. Não publique detalhes funcionais de uso indevido antes que os mantenedores tenham tido a chance de responder.