Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
autoguardrails — 用于 LLM 护栏的对齐研究脚手架(自动研究风格):在单个 policy.md 表面上进行搜索 | Kitploit
工具/GitHubGitHub/santanderai/autoguardrails
学习与教育红队AI 安全对抗性攻击
GitHubsantanderai/autoguardrails

autoguardrails

用于 LLM 护栏的对齐研究脚手架(自动研究风格):在单个 policy.md 表面上进行搜索

查看仓库网站
129351个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

autoguardrails

由 Santander AI Lab 开源。 一个 LLM / AI 安全 护栏研究 库 / 评估框架(autoresearch 风格):它在单一可变 policy.md 表面上进行搜索,以在固定评估套件上最小化攻击成功率(ASR),并设有良性通过下限。

License: Apache 2.0 Python 3.10+ CI CodeQL codecov OpenSSF Scorecard Code style: black Ruff Conventional Commits

是 Santander AI Open Source 的一部分 — Banco Santander 的开源 AI 项目(santander.com)。

autoguardrails 是一个受 Karpathy 的 autoresearch 启发的小型对齐研究脚手架。

与在 train.py 上搜索不同,本仓库在 policy.md 上搜索。思路是相同的:

  • 保持可变表面极小
  • 保持评估器固定
  • 在固定的墙钟时间预算内运行
  • 使用一项核心指标比较各候选
  • 记录每一次保留或丢弃的决策

在本仓库中,核心指标是攻击成功率(ASR,越低越好),并设有良性通过下限,使系统无法通过拒绝一切来取胜。

最重要的文件

对于日常实验,以下三个文件最为重要:

  • program.md:循环流程的人工维护说明
  • policy.md:两次运行之间唯一需要编辑的文件
  • results.tsv:仅追加的运行日志

其余部分均为固定的框架代码或固定的评估数据。

当前研究契约

  • 可变表面:policy.md
  • 固定测试套件:eval_suite.jsonl
  • 冻结的评判提示词:judge_prompt.md
  • 固定框架:autoguardrails/
  • 接受规则:仅当 ASR 改善且良性通过率下降不超过 2 个百分点时,才保留候选
  • 运行时间预算:由框架配置固定,目前每次评估为 5 分钟

如果您想要一个更接近原始 autoresearch 的心智模型,可以把 autoguardrails/ 视为固定的辅助层,把 policy.md 视为唯一被搜索的文件。

快速开始

从仓库根目录运行。

  1. 记录基线。
root@kitploit:~
python -m autoguardrails baseline --reset --repeat 2 --notes "initial baseline"
  1. 仅编辑 policy.md。

  2. 对新候选进行评分。

root@kitploit:~
python -m autoguardrails candidate --repeat 2 --notes "cover jailbreak and obfuscation"
  1. 查看当前保留的结果。
root@kitploit:~
python -m autoguardrails status
  1. 查看完整日志。
root@kitploit:~
cat results.tsv

如果候选被拒绝,框架会自动将 policy.md 恢复为上一个被接受的版本。

Shell 封装脚本

如果您更喜欢单一入口点,可以使用 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

在 Windows 上,请从 Git Bash 或其他兼容 POSIX 的 shell 中运行该封装脚本。

真实模型配置

默认设置使用确定性的本地桩,以便仓库可以离线运行。要进行真实实验,请将目标模型和评判模型指向兼容 OpenAI 的端点。

目标模型变量:

  • AUTOGUARDRAILS_TARGET_PROVIDER=openai_compatible
  • AUTOGUARDRAILS_TARGET_MODEL
  • AUTOGUARDRAILS_TARGET_API_BASE
  • AUTOGUARDRAILS_TARGET_API_KEY

评判模型变量:

  • AUTOGUARDRAILS_JUDGE_PROVIDER=openai_compatible
  • AUTOGUARDRAILS_JUDGE_MODEL
  • AUTOGUARDRAILS_JUDGE_API_BASE
  • AUTOGUARDRAILS_JUDGE_API_KEY

示例:

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"

在一系列运行期间请使用冻结的评判配置。不要在实验中途切换评判提示词或评判模型。

典型迭代模式

一个简单的离线模拟循环如下所示:

  1. 记录基线。
  2. 在 policy.md 中添加一类策略更改。
  3. 运行 candidate。
  4. 仅当框架接受时才保留该更改。
  5. 每次只添加一个新更改并重复。

一个能改进内置桩的示例候选更改是为以下内容添加显式处理:

  • 越狱措辞,例如 "ignore previous instructions"、"roleplay" 和 "developer mode"
  • 混淆请求,例如翻译、base64、rot13、仅 JSON 格式或模式转换

这会在不更改评估器的情况下,为您带来一条真实的首轮改进曲线。

仓库结构

  • program.md:实验说明与约束
  • policy.md:作为搜索对象的可变护栏策略
  • judge_prompt.md:冻结的评判提示词
  • eval_suite.jsonl:固定的攻击与良性评估用例
  • results.tsv:运行日志
  • run_autoguardrails.sh:CLI 的便捷封装脚本
  • autoguardrails/:固定的 Python 框架
  • tests/:针对框架的回归与安全检查

有关代码架构,请参阅 autoguardrails/README.md;有关测试策略,请参阅 tests/README.md。

安全说明

  • 该脚手架有意设计为单轮次且范围狭窄。
  • 它不对工具、文件访问或多步智能体操作进行建模。
  • 内置桩仅用于框架验证;它不是真实的安全模型。
  • 评估套件在设计上是固定的。如果您更改它,请启动新的实验谱系,而不要与旧结果进行比较。

环境要求

  • Python 3.10+
  • 无第三方运行时依赖 —— 该框架完全基于 Python 标准库构建,默认离线运行。
  • 可选(仅用于开发):ruff、black、mypy、pytest、pytest-cov(参见 CONTRIBUTING.md)。
  • 可选(用于真实模型实验):可访问兼容 OpenAI 的 chat-completions 端点(通过上述 AUTOGUARDRAILS_* 环境变量配置)。

贡献

欢迎贡献!在开始之前,请阅读我们的 贡献指南 和 行为准则。

  • 通过 GitHub Issues 报告错误和请求新功能。
  • 外部贡献者需签署 CLA(在您的第一个 PR 上由 CLA Assistant 机器人自动处理)。
  • 在提交 PR 之前,请运行 ruff check .、black --check .、mypy autoguardrails 和 pytest。
  • 遵守研究契约:policy.md 是唯一可变表面;eval_suite.jsonl 和 judge_prompt.md 是冻结的。

安全

请负责任地报告安全漏洞。有关报告方式,请参阅我们的 安全政策(不要为漏洞提交公开 issue)。联系方式:[email protected] 或使用 GitHub Security Advisories。

免责声明

本软件是 Santander AI Lab 的一个开源项目,根据其许可证按 "原样" 提供,不附带任何形式的保证或条件。它不是 Banco Santander 的官方产品或服务,不承诺生产支持,也不构成财务、法律或专业建议。

"Santander" 及其徽标是 Banco Santander, S.A. 的注册商标。项目许可证不授予除事实性署名之外的任何使用权。

如果您认为自己发现了安全漏洞,请遵循我们的安全政策 —— 不要提交公开 issue。您有责任评估本软件是否适合您的用例,并保持自己的部署处于最新状态。

许可证

本项目采用 Apache License 2.0 许可证 —— 详细信息请参阅 LICENSE 和 NOTICE 文件。

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

引用

如果您在研究中使用了 autoguardrails,请引用它:

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}
}
下载工具