# Prompt-Siren：Meta开源的LLM提示注入攻防研究平台

> Meta推出的Prompt-Siren是一个专门用于开发和测试大语言模型提示注入攻击与防御策略的研究工作台，支持AgentDojo和SWE-bench基准测试，提供精细化的状态机控制和可扩展的插件架构。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-04-07T15:15:35.000Z
- 最近活动: 2026-04-07T15:22:38.476Z
- 热度: 163.9
- 关键词: Prompt-Siren, 提示注入, LLM安全, Meta, AgentDojo, SWE-bench, AI安全研究, Hydra, Docker沙箱, 攻防测试
- 页面链接: https://www.zingnex.cn/forum/thread/prompt-siren-metallm
- Canonical: https://www.zingnex.cn/forum/thread/prompt-siren-metallm
- Markdown 来源: ingested_event

---

# Prompt-Siren：Meta开源的LLM提示注入攻防研究平台

## 项目概述：为什么需要专门的提示注入研究平台

随着大语言模型越来越多地被集成到各类应用中，提示注入攻击已成为AI安全领域最紧迫的威胁之一。攻击者可以通过精心构造的输入劫持模型行为、窃取敏感信息或执行未授权操作。然而，系统性地研究和防御这类攻击一直缺乏标准化的工具支持。

Meta推出的Prompt-Siren正是为解决这一问题而设计的专业研究工作台。它提供了一个完整的实验环境，让研究人员能够安全、可复现地开发和测试针对大语言模型的攻击与防御策略。

## 核心设计理念：精细化控制与可扩展性

Prompt-Siren的设计体现了几个关键理念：

### 状态机驱动的执行控制

不同于简单的脚本式攻击测试，Prompt-Siren采用状态机设计，为智能体执行提供细粒度控制。这意味着研究人员可以精确地定义攻击的每个阶段、观察中间状态、并在关键点进行干预。这种设计特别适合复杂的攻击场景，如多轮对话中的渐进式注入。

### 多基准测试支持

平台原生支持两个重要的安全基准：

- **AgentDojo**：专注于智能体工作流中的安全评估
- **SWE-bench**：基于真实世界代码编辑任务的安全测试

这种多基准支持使研究人员能够在不同场景下验证攻击和防御的有效性。

### Hydra配置系统

Prompt-Siren采用Hydra进行实验编排，支持强大的参数扫描功能。研究人员可以轻松地进行大规模实验，比较不同配置下的表现。

## 技术架构与核心功能

### 插件化架构

平台采用可扩展的插件系统，支持自定义：

- **智能体（Agents）**：定义被测试的AI系统行为
- **攻击策略（Attacks）**：实现具体的提示注入技术
- **环境（Environments）**：模拟不同的应用上下文

这种模块化设计使社区能够贡献新的攻击向量和防御机制，持续丰富研究生态。

### 资源与成本控制

考虑到大语言模型API调用的成本，Prompt-Siren内置了使用限制机制：

- 成本上限控制
- 调用次数限制
- 自动缓存和结果组织

这些功能确保研究可以在预算可控的前提下进行。

### Docker沙箱支持

对于SWE-bench等需要代码执行的评估，Prompt-Siren提供Docker沙箱管理器，确保：

- 测试环境隔离
- 结果可复现
- 系统安全性

## 实战使用指南

### 环境安装

Prompt-Siren使用uv作为包管理器，支持模块化安装：

```bash
# 完整安装
uv sync --all-extras

# 按需安装
uv sync --extra agentdojo    # AgentDojo基准支持
uv sync --extra swebench     # SWE-bench支持
uv sync --extra docker       # Docker沙箱管理
uv sync --extra playwright   # Web自动化环境
```

### 运行实验

平台提供简洁的CLI接口：

```bash
# 仅运行良性评估
uv run prompt-siren run benign +dataset=agentdojo-workspace

# 运行带攻击的评估
uv run prompt-siren run attack +dataset=agentdojo-workspace +attack=template_string

# SWE-bench评估（需要Docker）
uv run prompt-siren run benign +dataset=swebench

# 参数覆盖
uv run prompt-siren run benign +dataset=agentdojo-workspace agent.config.model=azure:gpt-5

# 参数扫描（多运行）
uv run prompt-siren run benign --multirun +dataset=agentdojo-workspace agent.config.model=azure:gpt-5,azure:gpt-5-nano
```

### 结果分析

实验完成后，使用results命令进行聚合分析：

```bash
# 查看结果（默认pass@1）
uv run prompt-siren results

# 计算多个pass@k指标
uv run prompt-siren results --k=1 --k=5 --k=10

# 按不同维度分组
uv run prompt-siren results --group-by=model
uv run prompt-siren results --group-by=attack

# 不同输出格式
uv run prompt-siren results --format=json
uv run prompt-siren results --format=csv
```

## 评估指标详解

Prompt-Siren支持两种主要的评估指标：

### pass@1（默认）

对所有运行的任务分数取平均，提供一个连续的性能度量。这反映了模型的平均表现水平。

### pass@k（k>1）

二元成功指标。如果在k次运行中至少有一次获得完美分数（1.0），则任务被视为"通过"。当可用样本超过k时，使用统计估计方法。

结果表包含以下列：

- **配置列**：dataset、agent_type、agent_name、attack_type
- **指标列**：benign_pass@k、attack_pass@k
- **元数据列**：n_tasks（任务总数）、avg_n_samples（每任务平均运行次数）、k值

## 镜像构建工具

对于SWE-bench评估，Prompt-Siren提供了专门的镜像构建命令：

```bash
# 构建所有镜像
uv run prompt-siren-build-images

# 仅构建特定实例
uv run prompt-siren-build-images --instance-ids django__django-11179

# 限制构建数量（测试用）
uv run prompt-siren-build-images --max-instances 5

# 使用SWE-bench Lite
uv run prompt-siren-build-images --dataset "SWE-bench/SWE-bench_Lite"

# 跳过特定类型
uv run prompt-siren-build-images --skip-benign
uv run prompt-siren-build-images --skip-malicious

# 推送到镜像仓库
uv run prompt-siren-build-images --registry my-registry.com/myrepo
```

## 研究意义与社区价值

Prompt-Siren的发布标志着AI安全研究进入了一个新的阶段。它不仅是一个工具，更是一个标准化的研究平台，使得：

1. **结果可比较**：不同研究团队可以在相同基准上报告结果
2. **方法可复现**：完整的配置和日志确保实验可重复
3. **知识可积累**：插件系统促进社区贡献和协作

对于关注AI安全的研究人员、工程师和政策制定者，Prompt-Siren提供了一个宝贵的资源，帮助理解和应对提示注入这一关键挑战。
