dépôt open source pour valider les applications d'IA agentique : redteam, comportement, chaîne d'approvisionnement, analyse statique
NuGuard est une boîte à outils open source de sécurité des applications d'IA. Son objectif est de fournir la validation comportementale et le redteaming les plus étendus des applications d'IA agentiques.
Avec NuGuard, les développeurs d'IA peuvent se concentrer sur la création de leurs applications pendant que NuGuard les teste et les valide en continu face à un large éventail de risques de sécurité, notamment les attaques de la chaîne d'approvisionnement, l'injection de prompts, le mésusage des outils MCP, les attaques d'API, l'exfiltration de données, et plus encore. NuGuard permet aux développeurs d'accélérer leurs workflows de sécurité et d'atteindre la production plus rapidement en toute confiance.
Une version commerciale de NuGuard est disponible en tant que produit SaaS avec des fonctionnalités et un support supplémentaires ; consultez-la sur http://nuguard.ai.
Implémenté et utilisable aujourd'hui :
nuguard sbomnuguard analyzenuguard scannuguard policynuguard behaviornuguard redteamuv pour le workflow local recommandéCLI Python :
pip install nuguard
Les étapes ci-dessous décrivent comment configurer un environnement de développement local. Cela est recommandé si vous souhaitez exécuter le code le plus récent, contribuer au projet ou exécuter la CLI avec des fonctionnalités assistées par LLM qui nécessitent une configuration locale des variables d'environnement.
uv sync --dev
Exécutez la CLI avec :
uv run nuguard --help
Ou, depuis l'environnement virtuel :
. .venv/bin/activate
nuguard --help
Suivez les instructions dans docs/plugin-guide.md pour configurer le plugin NuGuard pour Claude et l'utiliser pour exécuter des commandes telles que /nuguard-sbom, /nuguard-analyze et /nuguard-redteam directement depuis vos conversations avec Claude.
nuguard sbom generate --source . --output app.sbom.json
Vous pouvez également analyser un dépôt distant :
nuguard sbom generate \
--from-repo https://github.com/org/repo \
--ref main \
--output app.sbom.json
nuguard analyze --sbom app.sbom.json --format markdown
Sorties typiques :
markdown pour la revue humainejson pour l'automatisationsarif pour les pipelines d'analyse de codenuguard behavior \
--sbom app.sbom.json \
--target http://localhost:3000 \
--format markdown
nuguard redteam \
--config nuguard.yaml \
--output reports/redteam.md \
--format markdown
Pour une couverture red-team plus riche, vous pouvez également fournir :
--policy--canary--confignuguard scan \
--source . \
--output-dir nuguard-reports
Par défaut, cela exécute la génération de SBOM ainsi que l'analyse statique en une seule passe. Pour inclure les validations de politique et de red-team, activez ces étapes et fournissez les entrées requises :
nuguard scan \
--source . \
--steps sbom,analyze,policy,redteam \
--policy cognitive_policy.md \
--target http://localhost:3000 \
--output-dir nuguard-reports
NuGuard prend en charge la configuration du projet via nuguard.yaml. Un exemple prêt à être modifié se trouve dans nuguard.yaml.example.
Principaux domaines dans l'exemple de configuration :
sbom : chemin du SBOM existantsource : répertoire source pour la générationpolicy : chemin de la politique cognitivellm : paramètres du modèle pour les fonctionnalités assistées par LLMbehavior : URL cible, endpoint et paramètres de profil de test pour les tests comportementauxredteam : URL cible, endpoint, fichier canary, profils, filtres de scénarios, paramètres de conversation guidée et contrôles de déclenchement de détection (finding_triggers.*)analyze : seuil de gravité minimaldatabase : paramètres de stockage basé sur SQLite ou Postgresoutput : format de sortie et seuil d'échecLes options CLI ont priorité sur nuguard.yaml, qui a priorité sur les variables d'environnement et les valeurs par défaut intégrées.
NuGuard peut surveiller les valeurs canary pré-injectées pendant les tests dynamiques afin de produire des détections d'exfiltration à haute confiance. Partez de canary.example.json, créez votre canary.json local, injectez ces valeurs dans le système cible, puis pointez nuguard redteam vers ce fichier avec --canary.
Plus de détails sont disponibles dans docs/redteam-engine.md.
Installez les dépendances de développement :
make dev
Exécuter les tests :
make test
Exécuter le linting et les vérifications de types :
make lint
Formatez la base de code :
make fmt
Ce dépôt inclut des workflows GitHub Actions pour la publication de confiance (Trusted Publishing) vers TestPyPI et PyPI :
Avant que les workflows puissent publier, configurez les Trusted Publishers dans TestPyPI et PyPI pour le projet nuguard avec :
NuGuardAInuguardpublish-testpypi.yml ou publish-pypi.ymltestpypi ou pypiFlux de publication recommandé :
Avant de publier vers TestPyPI ou PyPI, exécutez la vérification rapide de cohérence multi-applications.
Exécuteur en une seule commande :
bash tests/apps/prepublish-sanity.sh
Ce runner effectue :