Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
autoguardrails — Échafaudage de recherche d'alignement (style autoresearch) pour les garde-fous des LLM : recherche sur une surface `policy.md` unique | Kitploit
Outils/GitHubGitHub/santanderai/autoguardrails
Apprentissage et ÉducationRed TeamingSécurité de l'IAAttaque Adversariale
GitHubsantanderai/autoguardrails

autoguardrails

Échafaudage de recherche d'alignement (style autoresearch) pour les garde-fous des LLM : recherche sur une surface `policy.md` unique

Voir le dépôt
12935il y a 1 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

autoguardrails

Open source par Santander AI Lab. Une bibliothèque / harnais d'évaluation de recherche sur les garde-fous LLM / IA-sécurité (style autoresearch) : elle explore une surface mutable unique policy.md pour minimiser le taux de réussite des attaques (ASR) face à une suite d'évaluation fixe, avec un plancher de réussite bénigne.

License: Apache 2.0 Python 3.10+ CI CodeQL codecov OpenSSF Scorecard Code style: black Ruff Conventional Commits Fait partie de Santander AI Open Source — projets IA open source de Banco Santander (santander.com).

autoguardrails est un petit échafaudage de recherche sur l'alignement inspiré du autoresearch de Karpathy.

Au lieu de chercher sur train.py, ce dépôt cherche sur policy.md. L'idée est la même :

  • garder la surface mutable minuscule
  • garder l'évaluateur fixe
  • exécuter sous un budget de temps réel fixe
  • comparer les candidats avec une seule métrique principale
  • enregistrer chaque décision de conservation ou de rejet

Dans ce dépôt, la métrique principale est le taux de réussite des attaques (ASR, plus bas c'est mieux), avec un plancher de réussite bénigne pour empêcher le système de gagner en refusant tout.

Ce qui importe le plus

Pour une expérimentation quotidienne, trois fichiers sont les plus importants :

  • program.md : les instructions appartenant à l'humain pour la boucle
  • policy.md : le seul fichier que vous devez modifier entre les exécutions
  • results.tsv : le journal d'exécution en ajout seulement

Tout le reste est du code de harnais fixe ou des données d'évaluation fixes.

Contrat de recherche actuel

  • Surface mutable : policy.md
  • Suite fixe : eval_suite.jsonl
  • Invite de juge fixe : judge_prompt.md
  • Harnais fixe : autoguardrails/
  • Règle d'acceptation : ne conserver un candidat que si l'ASR s'améliore et que la réussite bénigne ne baisse pas de plus de 2 points de pourcentage
  • Budget d'exécution : fixé par la configuration du harnais, actuellement 5 minutes par passage d'évaluation

Si vous voulez un modèle mental plus proche du autoresearch original, considérez autoguardrails/ comme la couche d'aide fixe et policy.md comme le seul fichier en cours de recherche.

Démarrage rapide

Exécutez depuis la racine du dépôt.

  1. Enregistrez une référence.
root@kitploit:~
python -m autoguardrails baseline --reset --repeat 2 --notes "initial baseline"
  1. Modifiez uniquement policy.md.

  2. Évaluez le nouveau candidat.

root@kitploit:~
python -m autoguardrails candidate --repeat 2 --notes "cover jailbreak and obfuscation"
  1. Inspectez le résultat conservé actuel.
root@kitploit:~
python -m autoguardrails status
  1. Inspectez le journal complet.
root@kitploit:~
cat results.tsv

Si un candidat est rejeté, le harnais restaure automatiquement policy.md à la dernière version acceptée.

Script d'encapsulation

Si vous préférez un point d'entrée unique, utilisez run_autoguardrails.sh :

root@kitploit:~
sh run_autoguardrails.sh status
sh run_autoguardrails.sh evaluate
sh run_autoguardrails.sh baseline "initial baseline" 2
sh run_autoguardrails.sh candidate "cover jailbreak and obfuscation" 2

Sous Windows, exécutez le script depuis Git Bash ou un autre shell compatible POSIX.

Configuration de modèle réel

La configuration par défaut utilise un stub local déterministe pour que le dépôt fonctionne hors ligne. Pour exécuter de vraies expériences, pointez le modèle cible et le modèle juge vers des points de terminaison compatibles OpenAI.

Variables du modèle cible :

  • AUTOGUARDRAILS_TARGET_PROVIDER=openai_compatible
  • AUTOGUARDRAILS_TARGET_MODEL
  • AUTOGUARDRAILS_TARGET_API_BASE
  • AUTOGUARDRAILS_TARGET_API_KEY

Variables du modèle juge :

  • AUTOGUARDRAILS_JUDGE_PROVIDER=openai_compatible
  • AUTOGUARDRAILS_JUDGE_MODEL
  • AUTOGUARDRAILS_JUDGE_API_BASE
  • AUTOGUARDRAILS_JUDGE_API_KEY

Exemple :

root@kitploit:~
export AUTOGUARDRAILS_TARGET_PROVIDER=openai_compatible
export AUTOGUARDRAILS_TARGET_MODEL=gpt-4.1-mini
export AUTOGUARDRAILS_TARGET_API_BASE=https://your-endpoint.example/v1
export AUTOGUARDRAILS_TARGET_API_KEY=your-target-key

export AUTOGUARDRAILS_JUDGE_PROVIDER=openai_compatible
export AUTOGUARDRAILS_JUDGE_MODEL=gpt-4.1-mini
export AUTOGUARDRAILS_JUDGE_API_BASE=https://your-endpoint.example/v1
export AUTOGUARDRAILS_JUDGE_API_KEY=your-judge-key

python -m autoguardrails baseline --reset --repeat 2 --notes "real-model baseline"

Utilisez une configuration de juge figée pendant une série d'exécutions. Ne changez pas les invites du juge ni les modèles de juge en cours d'expérience.

Cycle d'itération typique

Un cycle simple d'émulation hors ligne ressemble à ceci :

  1. Enregistrez la référence.
  2. Ajoutez une famille de modifications de politique à policy.md.
  3. Exécutez candidate.
  4. Ne conservez la modification que si le harnais l'accepte.
  5. Répétez avec une seule nouvelle modification à la fois.

Un exemple de modification candidate qui améliore le stub fourni consiste à ajouter une gestion explicite pour :

  • les formulations de jailbreak telles que « ignore previous instructions », « roleplay » et « developer mode »
  • les demandes d'obscurcissement telles que la traduction, base64, rot13, le formatage JSON uniquement ou la conversion de schéma

Cela vous donne une première courbe d'amélioration réaliste sans modifier l'évaluateur.

Structure du dépôt

  • program.md : instructions et contraintes de l'expérience
  • policy.md : politique de garde-fou mutable sous recherche
  • judge_prompt.md : invite du juge figée
  • eval_suite.jsonl : cas d'évaluation d'attaques et bénins fixes
  • results.tsv : journal d'exécution
  • run_autoguardrails.sh : script de commodité autour de l'interface en ligne de commande
  • autoguardrails/ : harnais Python fixe
  • tests/ : vérifications de régression et de sécurité pour le harnais

Voir autoguardrails/README.md pour l'architecture du code et tests/README.md pour la stratégie de test.

Notes de sécurité

  • Cet échafaudage est intentionnellement à tour unique et de portée étroite.
  • Il ne modélise pas les outils, l'accès aux fichiers ou les actions d'agent en plusieurs étapes.
  • Le stub fourni est uniquement pour la vérification du harnais ; ce n'est pas un modèle de sécurité réaliste.
  • La suite d'évaluation est fixe par conception. Si vous la modifiez, commencez une nouvelle lignée d'expériences au lieu de comparer avec d'anciens résultats.

Prérequis

  • Python 3.10+
  • Aucune dépendance d'exécution tierce — le harnais est entièrement construit sur la bibliothèque standard Python et fonctionne hors ligne par défaut.
  • Optionnel, pour le développement uniquement : ruff, black, mypy, pytest, pytest-cov (voir CONTRIBUTING.md).
  • Optionnel, pour les expériences avec modèle réel : accès à un point de terminaison de complétions de chat compatible OpenAI (configuré via les variables d'environnement AUTOGUARDRAILS_* décrites ci-dessus).

Contribuer

Les contributions sont les bienvenues ! Veuillez lire nos Directives de contribution et notre Code de conduite avant de commencer.

  • Signalez les bogues et demandez des fonctionnalités via les Problèmes GitHub.
  • Les contributeurs externes signent le CLA (géré automatiquement par le bot CLA Assistant lors de votre première PR).
  • Exécutez ruff check ., black --check ., mypy autoguardrails et pytest avant d'ouvrir une PR.
  • Respectez le contrat de recherche : policy.md est la seule surface mutable ; eval_suite.jsonl et judge_prompt.md sont figés.

Sécurité

Veuillez signaler les vulnérabilités de sécurité de manière responsable. Consultez notre Politique de sécurité pour savoir comment signaler (n'ouvrez pas un problème public pour les vulnérabilités). Contact : [email protected] ou utilisez les avis de sécurité GitHub.

Avertissement

Ce logiciel est un projet open source du Santander AI Lab, fourni « en l'état » sous sa licence, sans garanties ni conditions d'aucune sorte. Il ne s'agit pas d'un produit ou service officiel de Banco Santander, il n'implique aucun engagement de support de production et ne constitue pas un conseil financier, juridique ou professionnel.

« Santander » et son logo sont des marques déposées de Banco Santander, S.A. La licence du projet n'accorde aucun droit de les utiliser au-delà d'une attribution factuelle.

Si vous pensez avoir trouvé une vulnérabilité de sécurité, suivez notre politique de sécurité — n'ouvrez pas un problème public. Vous êtes responsable de l'évaluation de l'adéquation de ce logiciel à votre cas d'utilisation et de la mise à jour de vos propres déploiements.

Licence

Ce projet est sous licence Apache License 2.0 — voir les fichiers LICENSE et NOTICE pour les détails.

root@kitploit:~
Copyright (c) 2026 Santander Group
SPDX-License-Identifier: Apache-2.0

Citation

Si vous utilisez autoguardrails dans vos recherches, veuillez le citer :

root@kitploit:~
@software{autoguardrails2026,
  author  = {{Santander AI Lab}},
  title   = {autoguardrails: an autoresearch-style guardrail policy loop},
  year    = {2026},
  url     = {https://github.com/SantanderAI/autoguardrails},
  license = {Apache-2.0}
}
Télécharger l’outil