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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/xhowenma/rope
防御工具漏洞分析论文与研究学习与教育AI 安全
GitHubxhowenma/rope

ROPE

防御框架,通过强制执行路由来源策略来防止使用工具的LLM代理遭受间接提示注入,具备确定性来源检查以及用于评估攻击成功率和效用保留的基准测试工具。

查看仓库
73天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

ROPE:路由来源策略执行(Routed Origin Policy Enforcement)

我们论文的源代码:

ROPE:针对间接提示注入的路由来源策略执行 作者:Xinhang Ma、Chaowei Xiao、William Yeoh、Ning Zhang、Yevgeniy Vorobeychik

摘要

间接提示注入(IPI)在使用工具的 LLM 智能体所读取的内容中植入指令,从而引导智能体执行有害的工具调用。最强的防御措施位于系统层面,利用诸如任务条件化工具筛选等技术来阻止恶意工具的执行,以及利用信息流控制来避免使用不可信参数执行工具。然而,随着智能体能力不断增强,用户将更多任务委托给自动化系统。因此,工具执行序列和参数值越来越多地在运行时确定,无法仅依靠用户查询中包含的信息进行可靠筛选,否则将造成显著的效用损失。我们提出了 ROPE(路由来源策略执行),它基于一种结构化的信任概念:一个值只有在不可伪造地追溯到用户、用户明确指定的来源或用户自身的权威记录时,才能到达改变状态的工具。执行过程随后是对一组经审计的敏感工具参数进行确定性来源检查,而对语言模型的唯一依赖仅限于受信任的用户请求,该请求不在攻击者的触及范围内。我们的方法提供了两个可证明的保证:1)在轨迹的每一步,任何唯一来源为攻击者可写内容的值都不会到达受来源保护的参数;2)对注入的任何改写都不会改变准入决策。通过广泛的实验评估,我们表明在开放式的智能体套件上,跨四种智能体模型,ROPE 将攻击成功率控制在 1.6–2.6%,同时保留了无防御干净效用的 82–100%,在效用上显著超越最先进的系统级防御,并在复杂的动态工作流上达到相当或更好的安全性。此外,我们表明针对 ROPE 优化注入在很大程度上是无效的,而能够击败先前系统级防御的长时域攻击在我们的方案中实现了零成功率。

仓库结构

路径内容
src/rope/防御机制:路由器、每任务作用域、策略编译器、来源追踪器、运行时守卫。
src/rope/scopes/_floor/<suite>.json每个套件经审计的敏感工具/参数表(所有路由器共享)。
src/rope/scopes/<router>/<suite>.json三个被评估路由器(opus、gemini-3-flash、gpt-oss-20b)的缓存每任务作用域——论文路由器输出的离线重放。
src/common/路由器使用的 LLM 补全缓存(仅限受信任输入调用)。
autodojo/主要基准测试框架和自适应攻击:直接支持全部六个被评估套件:banking、slack、travel(AgentDojo 四个中的三个)以及 github、shopping、dailylife(来自 AgentDyn)。
agentlab/长时域基准测试:AgentLAB 的 Task-Injection 攻击及其已发布的攻击轨迹,外加重放驱动程序。参见 agentlab/README.md。
runs/所有四种智能体模型的 ROPE 运行日志(JSON),外加 runs/ablation/(两个固定策略分支)和 runs/router/(更便宜的路由器,带钳制和不带钳制),以及从中重新计算所报告的 ROPE 数据的脚本。

环境设置

Python 3.12,需要 openai、pydantic、jsonschema、pyyaml(原生 Gemini 路径还需要 google-genai)。从仓库根目录执行:

root@kitploit:~
export PYTHONPATH=$PWD/autodojo/src:$PWD/src

从随附日志复现报告数据(无需 API 访问)

root@kitploit:~
cd runs
python aggregate.py         # 每个套件的 CU / UA / ASR + 总体数据(两个基准测试)
python adaptive_rope.py     # 静态 vs 自适应,CU/UA/ASR(AutoDojo 攻击,两个基准测试)
python longhorizon_rope.py  # 长时域(AgentLAB Task-Injection)
python ablation.py          # 策略消融:始终完全指定 / 始终操作开放
python router.py            # 更便宜的路由器,带和不带执行钳制
python failures.py          # 失败普查:每个残余攻击成功 + 干净任务失败
python buckets.py           # 按类别(欠指定桶)表格
python router_deviation.py  # 每个路由器相对审计底线的放宽/收紧计数

每个脚本都会从日志中重新计算其表格并打印;均不携带预期值。 buckets.py 和 router_deviation.py 需要按上述方式设置 PYTHONPATH(它们读取套件 定义和缓存的作用域);其余脚本仅读取随附的 JSON 日志。

runs/<model>/<suite>/user_task_*/、runs/ablation/<policy>/<suite>/user_task_*/ 和 runs/router/<router>[-clamp]/<suite>/user_task_*/ 每个被评估单元各持有一个 JSON:none/(干净)、 important_instructions/(静态攻击)、autodojo/(自适应攻击)和 agentlab_longhorizon/(长时域分阶段攻击)。

评分修正。 三个基准测试预言机对于阻止执行的防御机制而言是不健全的。 runs/corrections.py 分派三种基于效果的重新评分——slack IT5、 dailylife IT7、github IT1——聚合器会应用这些修正;每个模块的文档字符串记录了 相关工件和修复方法。CU 和 UA 永远不会被修改。

运行防御机制

root@kitploit:~
# 主要结果配置(缓存的 opus 路由器、严格匹配、不带钳制):
python -m rope.run_eval --suite github --attack important_instructions
python -m rope.run_eval --suite github --attack none            # 干净效用
python -m rope.run_eval --suite github --defense passthrough    # 无防御基线

# 路由器研究中的更便宜路由器,可选钳制到审计底线:
python -m rope.run_eval --suite github --router gemini-3-flash --clamp

# 实时路由器(在运行时使用任何兼容 OpenAI 的模型重新计算作用域):
python -m rope.run_eval --suite github --router live --router-model openai/gpt-4o-mini --clamp

# 自适应攻击:重放缓存的 AutoDojo 优化注入
AUTODOJO_CACHE=$PWD/autodojo/variant_generation/variants/github/openai/gpt-4o-mini/routed/injections.json \
  python -m rope.run_eval --suite github --attack autodojo

# 长时域攻击:重放 AgentLAB 的缓存轨迹(参见 agentlab/README.md)
python agentlab/run_eval.py --suite banking --user-task user_task_0 --injection-task injection_task_0

环境变量:OPENROUTER_API_KEY(智能体模型和实时路由器;所有报告的运行均通过 OpenRouter 调用智能体模型)、 ROPE_AGENT_MODEL(默认 openai/gpt-4o-mini)、 ROPE_PIPELINE_TAG 用于标记运行日志(必须包含 AgentDojo 模型名称,以便攻击模板能够解析)。

缓存的路由器使防御机制在路由侧完全确定且无需 API:opus 覆盖全部六个套件;gemini-3-flash 和 gpt-oss-20b 覆盖 AgentDyn 套件(路由器 研究的范围)。要评估您自己的路由器,请缓存一次,然后像内置路由器一样复用它:

root@kitploit:~
python -m rope.cache_router --router my-router --router-model <llm-id> --suite github
python -m rope.run_eval     --router my-router --suite github --attack important_instructions

致谢

本仓库引入或构建于:AgentDojo 和 AgentDyn(基准测试套件)、AutoDojo(自适应攻击)以及 AgentLAB(长时域基准测试和 Task-Injection 攻击轨迹)。详情请参见相应论文。

参考文献

如果您觉得这项工作有用,我们将不胜感激您能引用:

root@kitploit:~
@article{rope,
  title={ROPE: Routed Origin Policy Enforcement against Indirect Prompt Injection},
  author={Ma, Xinhang and Xiao, Chaowei and Yeoh, William and Zhang, Ning and Vorobeychik, Yevgeniy},
  journal={arXiv preprint arXiv:2608.27496},
  year={2026}
}
下载工具