repositório de código aberto para validar aplicações de IA agêntica: redteam, comportamento, cadeia de suprimentos, análise estática
NuGuard é um kit de ferramentas de código aberto para segurança de aplicações de IA. Seu objetivo é fornecer a mais extensa validação de redteaming e comportamental de aplicações de IA Agêntica.
Com o NuGuard, desenvolvedores de IA podem focar na construção de suas aplicações enquanto o NuGuard continuamente as testa e valida contra uma ampla gama de riscos de segurança, incluindo ataques à cadeia de suprimentos, injeção de prompt, uso indevido de ferramentas MCP, ataques a APIs, exfiltração de dados e muito mais. O NuGuard permite que os desenvolvedores acelerem seus fluxos de trabalho de segurança e cheguem à produção mais rapidamente com confiança.
Uma versão comercial do NuGuard está disponível como produto SaaS com recursos e suporte adicionais, confira em http://nuguard.ai.
Implementado e utilizável hoje:
nuguard sbomnuguard analyzenuguard scannuguard policynuguard behaviornuguard redteamuv para o fluxo de trabalho local recomendadoCLI Python:
pip install nuguard
As etapas abaixo descrevem como configurar um ambiente de desenvolvimento local. Isso é recomendado se você quiser executar o código mais recente, contribuir com o projeto ou executar a CLI com recursos assistidos por LLM que exigem configuração de variáveis de ambiente locais.
uv sync --dev
Execute a CLI com:
uv run nuguard --help
Ou, a partir do ambiente virtual:
. .venv/bin/activate
nuguard --help
Siga as instruções em docs/plugin-guide.md para configurar o plugin NuGuard para o Claude e usá-lo para executar comandos como /nuguard-sbom, /nuguard-analyze e /nuguard-redteam diretamente em suas conversas com o Claude.
nuguard sbom generate --source . --output app.sbom.json
Também é possível escanear um repositório remoto:
nuguard sbom generate \
--from-repo https://github.com/org/repo \
--ref main \
--output app.sbom.json
nuguard analyze --sbom app.sbom.json --format markdown
Saídas típicas:
markdown para revisão humanajson para automaçãosarif para pipelines de varredura de códigonuguard behavior \
--sbom app.sbom.json \
--target http://localhost:3000 \
--format markdown
nuguard redteam \
--config nuguard.yaml \
--output reports/redteam.md \
--format markdown
Para uma cobertura de red-team mais rica, você também pode fornecer:
--policy--canary--confignuguard scan \
--source . \
--output-dir nuguard-reports
Por padrão, isto executa a geração de SBOM mais a análise estática em uma única passagem. Para incluir validações de política e de red-team, opte por essas etapas e forneça as entradas necessárias:
nuguard scan \
--source . \
--steps sbom,analyze,policy,redteam \
--policy cognitive_policy.md \
--target http://localhost:3000 \
--output-dir nuguard-reports
O NuGuard oferece suporte à configuração de projeto por meio do nuguard.yaml. Um exemplo pronto para edição está disponível em nuguard.yaml.example.
Principais áreas na configuração de exemplo:
sbom: caminho do SBOM existentesource: diretório de origem para geraçãopolicy: caminho da política cognitivallm: configurações de modelo para recursos assistidos por LLMbehavior: configurações de URL de destino, endpoint e perfil de teste para testes comportamentaisredteam: configurações de URL de destino, endpoint, arquivo canário, perfis, filtros de cenário, configurações de conversa guiada e controles de acionamento de descobertas (finding_triggers.*)analyze: limite mínimo de severidadedatabase: configurações de armazenamento com suporte a SQLite ou Postgresoutput: formato de saída e limite de falhaAs flags da CLI têm precedência sobre o nuguard.yaml, que tem precedência sobre as variáveis de ambiente e os padrões internos.
O NuGuard pode monitorar valores canário pré-inseridos durante testes dinâmicos para produzir descobertas de exfiltração de alta confiança. Comece a partir de canary.example.json, crie seu canary.json local, insira esses valores no sistema de destino e então aponte o nuguard redteam para esse arquivo com --canary.
Mais detalhes estão disponíveis em docs/redteam-engine.md.
Instale as dependências de desenvolvimento:
make dev
Executar testes:
make test
Execute linting e verificação de tipos:
make lint
Formate a base de código:
make fmt
Este repositório inclui workflows do GitHub Actions para Trusted Publishing no TestPyPI e no PyPI:
Antes que os workflows possam publicar, configure os Trusted Publishers no TestPyPI e no PyPI para o projeto nuguard com:
NuGuardAInuguardpublish-testpypi.yml ou publish-pypi.ymltestpypi ou pypiFluxo de release recomendado:
Antes de publicar no TestPyPI ou no PyPI, execute a verificação rápida de sanidade multi-app.
Executor único:
bash tests/apps/prepublish-sanity.sh
Este runner executa:
nuguard --help mais testes locais críticos)intent_happy_pathprofile: ciArquivos de configuração de pré-publicação usados pelo runner:
tests/apps/openai-cs-agents-demo/nuguard.prepublish.yamltests/apps/Gemini-Auto-app/nuguard.prepublish.yamltests/apps/pinnacle-bank-app/nuguard-azure.prepublish.yaml