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

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

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

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

工具目录

分类

查看所有分类
Loading categories
AgentWatcher | Kitploit
工具/GitHubGitHub/wang-yanting/agentwatcher
机器学习论文与研究学习与教育AI 安全对抗性攻击
GitHubwang-yanting/agentwatcher

AgentWatcher

查看仓库
924个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

AgentWatcher

AgentWatcher 是一种基于检测的防御方法,用于抵御 LLM 智能体中的间接提示注入。它首先对不受信任的上下文运行因果上下文归因,以找出最具影响力的上下文,然后应用监控 LLM,在显式、可定制的规则下对这些上下文进行分类。与完全黑盒检测器相比,该流程更易于解释:归因显示模型关注哪里,监控 LLM 的判断基于规则支撑的推理。监控 LLM 的示例输出如下所示:

AgentWatcher example output

这种基于规则的检测可以利用监控 LLM 的推理能力,在效用与稳健性之间实现更好的权衡。AgentWatcher 在 AgentDyn 等 LLM 智能体基准上取得了最先进的性能:

AgentWatcher example output

本仓库用于复现论文中的主要实验。

🔨 环境要求

  • Python 3.10+(已在 conda 环境中测试)。
  • 用于后端 LLM 的 CUDA GPU(可选用 vLLM)。
  • 对数据集和模型的 Hugging Face 访问权限。
root@kitploit:~
pip install -r requirements.txt
huggingface-cli login   # if needed for gated models

🤗 Hugging Face 上的监控 LLM

训练好的监控器是一个 LoRA 适配器(PEFT)。默认情况下,main.py 会自动加载 SecureLLMSys 上的 Hub 检查点 SecureLLMSys/AgentWatcher-Qwen3-4B-Instruct-2507(可通过 --monitor_llm 覆盖)。

🔬 运行实验

所有启动器都位于 scripts/ 目录下。它们假定你从 AgentWatcher 仓库根目录运行(或先 cd 到该目录)。请首先使用 export OPENAI_API_KEY=<YOUR_KEY> 设置 OpenAI 密钥。在运行前,请编辑 Python 启动器(all_datasets、all_defenses、gpus、name、模型等)以匹配你的扫描配置。

长上下文基准(main.py)

批量任务(本地 GPU 或 Slurm):

root@kitploit:~
python scripts/run_long_context.py

这会使用 vLLM(--use_vllm)驱动 main.py,并将日志写入 logs/main_logs/<name>/...。如果没有本地 GPU,它会通过 scripts/main.sh 提交 Slurm 任务。

不使用启动器的单次运行:

root@kitploit:~
python main.py \
  --dataset lcc_long \
  --attack combined \
  --defense agentwatcher \
  --backend_llm Qwen/Qwen3-4B-Instruct-2507 \
  --monitor_llm SecureLLMSys/AgentWatcher-Qwen3-4B-Instruct-2507 \
  --use_vllm \
  --name my_run

main.py 上的可选归因覆盖参数:--w_s、--w_l、--w_r、--K、--attribution_model。

AgentDojo

要运行 AgentDojo/AgentDyn,请先按照 PIArena(https://github.com/sleeepeer/PIArena)设置环境:

root@kitploit:~
cd agents/agentdojo && pip install -e . && cd ../..

然后运行:

root@kitploit:~
python scripts/run_agentdojo.py

这将调用 main_agentdojo.py,并将日志写入 logs/agentdojo_logs/...。如果没有本地 GPU,它会使用 scripts/main_agentdojo.sh 提交 Slurm 任务。对于单次手动运行,你可以从仓库根目录调用 python main_agentdojo.py --model ... --defense agentwatcher --monitor_llm ...;如果你的包装器需要,请设置 PIARENA_DEFENSE / PIARENA_MONITOR_LLM。防御方法 agentwatcher 使用 PIMonitorLLMDefenseAdapter。

AgentDyn

root@kitploit:~
./scripts/run_agentdyn.sh

可选:使用 ./scripts/run_agentdyn.sh --model gpt-4o-2024-08-06 以 gpt-4o 作为主干 LLM 运行 agentwatcher。该脚本会激活 agentdojo conda 环境,并从 agents/agentdyn/src 运行。我们建议使用 tmux 防止运行中断。

InjecAgent

root@kitploit:~
python scripts/run_injecagent.py

这将启动 main_injecagent.py,并将日志写入 logs/main_logs/...。Slurm 入口点:scripts/main_injecagent.sh。

不使用启动器的直接调用:

root@kitploit:~
python main_injecagent.py \
  --model meta-llama/Llama-3.1-8B-Instruct \
  --defense agentwatcher \
  --monitor_llm SecureLLMSys/AgentWatcher-Qwen3-4B-Instruct-2507 \
  --name my_injecagent_run

致谢

  • 本项目整合了以下项目的代码:PIArena、AgentDojo、AgentDyn、InjecAgent 和 AT2。

引用

如果你使用此代码,请引用 AgentWatcher 论文(如果可用)。

下载工具