Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
RAS-Eval — 用于评估 LLM 智能体在长周期任务中工具调用安全性的基准测试框架,可生成提示注入与工具投毒攻击,并在运行时验证 LTL 规范。 | Kitploit
工具/GitHubGitHub/lanzer-tree/ras-eval
动态分析 (沙盒)漏洞分析脚本与自动化渗透测试论文与研究学习与教育AI 安全对抗性攻击实验室与实践
GitHublanzer-tree/ras-eval

RAS-Eval

用于评估 LLM 智能体在长周期任务中工具调用安全性的基准测试框架,可生成提示注入与工具投毒攻击,并在运行时验证 LTL 规范。

3天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库

基于规范的长时程上下文任务下真实世界智能体工具调用的安全评估

前置条件

  • uv — Python 环境与依赖管理。
  • 一个沙箱运行时,安装以下之一:
    • Docker
    • Apptainer

镜像构建

构建 docker 镜像或 apptainer 镜像之一

Docker 镜像构建

cd docker

linux/amd64:

bash build.sh                

linux/mac/arm64:

PLATFORM=linux/arm64 IMAGE_TAG=ras-eval-arm:latest bash build.sh

Apptainer 镜像构建

cd docker

linux/amd64:

EXPORT_TAR=1 bash build.sh

linux/mac/arm64:

EXPORT_TAR=1 PLATFORM=linux/arm64 IMAGE_TAG=ras-eval-arm:latest bash build.sh

环境配置

在仓库根目录创建 .env:

# LLM inference endpoint (OpenAI Chat-Completion)
OPENAI_API_KEY="sk-xxx"
OPENAI_BASE_URL="https://..."

# toolkit APIs (required by evaluation tasks)
AMAP_KEY="xxx"            # Amap - https://lbs.amap.com/
TAVILY_API_KEY="xxx"      # Tavily - https://www.tavily.com/
TUSHARE_TOKEN="xxx"       # Tushare - https://tushare.pro/

安装 Python 依赖:

uv sync

运行评估

entries/runtime_verification.py 运行被测 agent,并在每次工具调用后使用 nuXmv 检查 LTL 规范。

Docker

uv run entries/runtime_verification.py \
    --input_path data/input/ras_eval_toma.jsonl \
    --output_path data/output/deepseek-v4-pro/toma_opencode.jsonl \
    --framework opencode \
    --model provider/deepseek-v4-pro \
    --api_key sk-xxx \
    --base_url https://... \
    --sandbox docker \
    --os mac \
    --image ras-eval-arm:latest \
    --parallel 2 \
    --qps 1.0 \
    --request_qps 1.0 \
    --request_max_retries 5 \
    --timeout 900 \
    --limit 5 \
    --skip_exist_traceid

Apptainer

uv run entries/runtime_verification.py \
    --input_path data/input/ras_eval_toma.jsonl \
    --output_path data/output/deepseek-v4-pro/toma_opencode.jsonl \
    --framework opencode \
    --model provider/deepseek-v4-pro \
    --sandbox apptainer \
    --os linux \
    --apptainer_path /usr/local/bin/apptainer \  # path to your installed apptainer
    --image docker/ras-eval-amd--latest.sif \ # path to your saved image
    --parallel 2 \
    --qps 1.0 \
    --request_qps 1.0 \
    --request_max_retries 5 \
    --timeout 900 \
    --limit 5 \
    --skip_exist_traceid

参数说明:

  • --framework:opencode | autogen | langchain | mcp | openai-agent | qwen-agent | hermes | openclaw | deepseek-harness | pi。
  • --api_key / --base_url 为可选参数,若未提供则回退到 .env 中的 OPENAI_API_KEY / OPENAI_BASE_URL。
  • --limit N 限制样本数量;--traceid ID 则改为运行单个样本。
  • --apptainer_path 仅由 Apptainer 后端使用。
  • 在 --model provider/deepseek-v4-pro 中,provider 是占位符——它可以是任意字符串(例如你实际的 provider 名称或任意前缀)。

数据集

部分名称与论文中不同,这些名称将在未来修正:

间接提示注入:data/input/ras_eval_toma.jsonl (toma) 工具投毒攻击:data/input/ras_eval_tpa.jsonl (tpa) 技能代码注入:data/input/ras_eval_cia_skill.jsonl (cia) 工具代码注入:data/input/ras_eval_cia_tool.jsonl (cia_tool)

运行数据构建

1. 正常任务生成

touch data/output/seed.jsonl       # empty seed for a fresh run

uv run entries/flywheel_infer.py \
    --task generate \
    --mode base \
    --framework opencode \
    --model provider/deepseek-v4-pro \
    --api_key sk-xxx \
    --base_url https://... \
    --input_path data/output/seed.jsonl \
    --output_dir data/output/flywheel-generate \
    --sandbox docker \
    --os mac \
    --image ras-eval-arm:latest \
    --depth 9 \
    --limit 50 \
    --max_per_toolkit 5 \
    --disable_native_tools \
    --parallel 8 \
    --qps 1.0 \
    --timeout 900

输出:data/output/flywheel-generate/dataset/generated.jsonl。

2. 规范标注

uv run entries/flywheel_infer.py \
    --task annotate \
    --mode base \
    --framework opencode \
    --benchmark ras-eval-next \
    --model provider/deepseek-v4-pro \
    --api_key sk-xxx \
    --base_url https://... \
    --input_path data/output/flywheel-generate/dataset/generated.jsonl \
    --output_dir data/output/flywheel-annotate \
    --sandbox docker \
    --os mac \
    --image ras-eval-arm:latest \
    --max_iterations 10 \
    --limit 50 \
    --disable_native_tools \
    --parallel 8 \
    --qps 1.0 \
    --timeout 3000 \
    --skip_exist_traceid

--mode base 标注补全 + 安全规范;--mode attack 标注安全规范,并且需要 --benchmark agentdojo 或 skill_inject。输出:data/output/flywheel-annotate/dataset/annotated.jsonl。

3. 攻击任务生成

uv run entries/flywheel_infer.py \
    --task generate \
    --mode attack \
    --framework opencode \
    --attack_type toma \
    --attack_model provider/deepseek-v4-pro \
    --target_model provider/deepseek-v4-pro \
    --api_key sk-xxx --base_url https://... \
    --target_llm_api_key sk-xxx \
    --target_llm_base_url https://... \
    --input_path data/output/flywheel-annotate/dataset/annotated.jsonl \
    --output_dir data/output/flywheel-attack \
    --sandbox docker \
    --os mac \
    --image ras-eval-arm:latest \
    --number_target_tool 1 \
    --max_iterations 6 \
    --max_restart 3 \
    --limit 50 \
    --parallel 2 \
    --qps 1.0 \
    --timeout 1200 \
    --skip_exist_traceid

--attack_type:toma | tpa | cia | cia-tool。当省略 --attack_model 时,--model 作为攻击优化器的回退选项。安全规范由攻击流水线自身起草。输出:data/output/flywheel-attack/dataset/attack_generated.jsonl —— 这是最终数据集,可直接作为 --input_path 提供给 entries/runtime_verification.py(参见运行评估)。

下载工具