从角色扮演到思维链劫持:21关攻透OWASPLLMTop10"

admin 2026-10-21 19:25:12 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

从角色扮演到思维链劫持:21关攻透OWASP LLM Top10

RAT-C2
RAT-C2

船山信安

2026年7月7日 12:10
广东

在小说阅读器读本章

去阅读

OWASP LLM Top 10 安全靶场

基于 Qwen2.5-1.5B 本地大模型的实战演练平台

21 个子关卡 | Python + LLM 双重判定架构


一、项目概述

OWASP LLM Top 10 安全靶场是一个面向 AI 安全初学者和从业者的实战演练平台。项目完整覆盖 OWASP LLM Top 10 (2025 v2.0) 全部风险类别,包含 12 种提示词注入技术和 9 大 OWASP 风险类别,共计 21 个独立子关卡。

平台基于 Qwen2.5-1.5B 本地大模型,无需任何云端 API,完全离线运行。创新性地采用 \"Python 前置检测 + LLM 对话裁判 + Python 后置监督\" 三重判定架构,即使 1.5B 参数的小模型也能稳定可靠地判定通关。

每个关卡都有明确的通关条件和多种通关路径:用户既可以通过精准的攻击语句触发 Python 前置检测直接获取 Flag,也可以让 LLM 理解攻击意图后主动输出 Flag。后置检测系统实时监督 LLM 输出,自动拦截假 Flag、打码非预期方式获取的 Flag。


二、核心亮点

亮点 说明
纯本地运行 基于 Qwen2.5-1.5B,CPU 推理,无需 GPU,无需云端 API,完全离线可用
双重判定架构 Python 前置检测(3 条通道)+ LLM 对话裁判 + Python 后置监督,三者互补。1.5B 小模型也能稳定判定
21 个独立关卡 12 种提示词注入技术(从基础角色扮演到高级思维链劫持),覆盖 OWASP LLM01-10 全部类别
假 Flag 捕杀 + 非预期方式拦截 后置检测自动识别 LLM 编造的假 Flag、拦截用错误技术拿到的 Flag,打码替换并给出提示
零基础友好 + 对话检查器 每关有分层提示、判定关键词和完整通关语句。底部对话检查器展示实际发送给 LLM 的完整 prompt
Docker 一键部署 + 多模型支持 镜像打包即用,启动约 30 秒。可切换 Qwen 本地 / DeepSeek / OpenRouter / Ollama 等多种后端

三、项目架构

3.1 判定流程

用户输入
  │
  ├── Python 前置检测 (3通道)
  │     1. 通关语句精确匹配
  │     2. 语义相似度 >= 80%
  │     3. 关键词命中 + 相似度 >= 50%
  │     └── 命中 --> 直接返回 Flag
  │
  └── 未命中 --> LLM 对话 (LLM知道Flag和规则)
                    │
                    └── Python 后置检测
                         ├── True Flag + 技术正确 --> 通关
                         ├── Fake Flag --> 打码 + 提示
                         └── 非预期方式 --> 打码 + 换方式

3.2 技术栈

组件 技术 说明
后端 Flask 3.0 RESTful API
大模型 Qwen2.5-1.5B 阿里开源,CPU 推理 20-60 秒/轮
语义模型 MiniLM-L12-v2 多语言语义相似度,用于前置检测
前端 Bootstrap 5 + Jinja2 深色主题,对话检查器实时展示 prompt
判定引擎 10个 llmXX\_judge.py 每关独立前后置检测逻辑
部署 Docker + pip-cache 离线构建,无网络依赖

3.3 为什么用双重判定

Qwen2.5-1.5B 仅有 15 亿参数,理解复杂指令的能力有限。传统方案让 LLM 既当运动员又当裁判——读取 30 行安全规则后判定用户是否通关——1.5B 模型根本做不到。

本项目的方案:Python 做裁判,LLM 只负责对话。前置检测用语义匹配 + 关键词命中实现毫秒级精准判定;LLM 知道每关的 Flag 和规则,在满足条件时输出;后置检测作为安全网,捕杀假 Flag、拦截非预期方式。三者互补,即使小模型也能稳定运行。


四、靶场内容

4.1 LLM01:提示词注入(12 关)

提示词注入是 OWASP LLM Top 10 中最核心的风险。攻击者通过精心构造的自然语言输入,绕过模型的安全限制。本靶场拆分为 12 种独立攻击技术,从入门到精通层层递进。

# 关卡 攻击原理 难度 核心关键词
1 角色扮演注入 扮演奶奶/训练师绕过限制 1星 扮演, pretend, 奶奶, roleplay
2 安全限制覆盖 DAN/忽略指令覆盖安全规则 1星 DAN, ignore, 开发者模式, 覆盖
3 多语言绕过 用英/日/西语询问绕过中韩过滤 2星 password, secret, 用英语
4 变量拆分拼接 拆成变量让AI执行代码拼接 2星 a+b, print(, 拼接, concat
5 编码绕过 Base64/Hex 编码注入指令 3星 Base64, decode, 解码, Hex
6 文件上传注入 TXT 文件挟带注入指令 3星 上传, 文件, upload, txt
7 混淆指令注入 l33tspeak/同义词绕过过滤 4星 fl4g, 0utput, l33t, 混淆
8 多轮渐进注入 3轮友好对话后索要 4星 天气, 聊天, Python, 推荐
9 格式化输出绕过 JSON 格式掩盖数据泄露 3星 JSON, 格式, 配置, 导出
10 填空/续写诱导 AI 补全本能在空白处填入 Flag 2星 填空, 补全, 续写, \\\\
11 思维链劫持 推理过程中无意识泄露 5星 推理, 逐步, step by step, CoT
12 负面提示/反向心理 否定句激活被否认概念 3星 千万不要, 别告诉, 猜错了, 纠正

4.2 LLM02-10:九大 OWASP 风险类别

类别 名称 关卡机制 通关方式
LLM02 敏感信息泄露 AI 是客服模拟器,存储演示数据 直接索取凭据和 API 密钥
LLM03 供应链风险 构建恶意插件,注入到 system prompt 安装插件 + 输入触发词
LLM04 数据投毒 注入虚假知识覆盖 AI 知识库 投毒条目 + 询问对应问题
LLM05 不安全的输出处理 XSS 注入 + SSRF 内部访问 诱导生成 XSS 代码 / 访问内网端点
LLM06 过度代理 AI 拥有文件系统权限 LIST + READ 命令读取隐藏文件
LLM07 系统提示词泄露 两阶段:泄露激活码 + 管理员模式 Phase1 泄露 + Phase2 激活 + 输出 flag
LLM08 向量与嵌入弱点 RAG 文档注入 + 语义检索触发解锁 注入文档 + 语义查询 + 索取 flag
LLM09 虚假信息 双 LLM 对比:审查版 vs 自由版 问敏感问题 + 对比两个回答
LLM10 无限制资源消耗 长输出/MCP 滥用/DOS 洪水 触发关键词/多工具/批量请求

五、核心技术:语义相似度判定

前置检测的核心是语义相似度计算。使用 paraphrase-multilingual-MiniLM-L12-v2 多语言嵌入模型,将用户输入和已知通关语句编码为向量,计算余弦相似度。

3 条前置通道:

  • 通道 1 - 精确匹配:用户输入与通关语句逐字完全一致,直接通关
  • 通道 2 - 高相似度:语义相似度 >= 80%,说明用户理解了攻击原理
  • 通道 3 - 关键词+中等相似度:命中核心关键词 AND 相似度 >= 50%,防止误判

每关的 absolute\_keywords(15-20 个多语言关键词)和 complete\_pass\_phrases(5-9 条通关语句)是判定数据库的核心,覆盖中英日等多种语言。


六、后置监督机制

后置检测在每轮 LLM 回复后自动运行,承担三重监督职责:

6.1 假 Flag 捕杀

Qwen 1.5B 有时会编造一个看起来像 Flag 的字符串(如 flag{your\_secret\_message\_here}),而非真正的 Flag。后置检测用正则匹配所有 flag{...} 模式,与真 Flag 比对——不匹配的全部替换为 [假暗号已隐藏] 并给出提示。

6.2 非预期方式拦截

即使用户通过角色扮演在 LLM01-2(安全限制覆盖)关卡拿到了 Flag,后置检测发现用户输入不含该关的核心关键词(如 DAN/ignore/覆盖),会立即将 Flag 打码替换为 [暗号已隐藏],并提示用户换正确的攻击方式。

6.3 特定关卡状态校验

部分关卡需要特定状态才能通过。如 LLM03 需要插件已触发,LLM04 需要投毒成功,LLM07 需要进入管理员模式。后置检测会验证这些状态——LLM 在未满足条件时输出 Flag 一律拦截。


七、部署指南

7.1 环境要求

项目 最低 推荐
CPU 4核 4核
内存 8GB 10GB
磁盘 10GB 15GB
Docker 20.10+ 最新版
系统 Linux Linux/macOS

Qwen2.5-1.5B 在 CPU 上每轮对话约 20-60 秒。内存低于 8GB 会显著变慢。

7.2 Docker 一键启动

# 1. 拉取镜像(首次约 6.4GB,耐心等待)
docker pull siaadh1/llm-security-range:latest

# 2. 用下载的镜像启动一个名叫 ai-lab 的容器
docker run -d --name ai-lab -p 5000:5000 --restart unless-stopped siaadh1/llm-security-range:latest

# 3. 日志查看
docker logs -f ai-lab    # 等待出现 \"Running on http://0.0.0.0:5000\"

7.3 源码构建

git clone https://github.com/Jack-MRJ/owasp-llm-top10-2025-v2.0--lab.git
cd owasp-llm-top10-lab

大缓存说明:

  • qwen-model/ — Qwen2.5-1.5B(~2.9GB)
  • st-model/ — 语义模型(~500MB)
  • pip-cache/ — 离线依赖包(~1GB)
docker build --no-cache -t ai-security-range .
docker run -d --name ai-lab -p 5000:5000 --restart unless-stopped ai-security-range
docker logs -f ai-lab

OWASP LLM Top 10 v1.0 | 仅供安全研究和教育培训使用


    从角色扮演到思维链劫持:21关攻透OWASPLLMTop10" 网络安全文章

    从角色扮演到思维链劫持:21关攻透OWASPLLMTop10"

    OWASPLLMTop10安全靶场是一个基于Qwen2.5-1.5B本地大模型的AI安全实战演练平台,覆盖21个独立关卡,包括12种提示词注入技术和9大OWASP风险类别。它采用Python前置检测、LLM对话裁判和Python后置监督的三重判定架构,确保小模型也能稳定运行。平台支持Docker一键部署,纯本地离线运行,适合AI安全初学者和从业者进行安全研究与教育培训。
    喜报|中孚信息成功中标某特种工业单位终端保密检查采购项目" 网络安全文章

    喜报|中孚信息成功中标某特种工业单位终端保密检查采购项目"

    中孚信息成功中标某特种工业单位终端保密检查采购项目,将部署计算机保密安全检查系统及密保卫士系统,构建覆盖敏感数据识别、终端安全检查、风险监测处置的一体化保密管理体系。项目重点解决非密环境违规存储敏感数据及业务网络内敏感数据分布不清等风险问题,并实现产品在业务网场景的落地应用,为后续同类项目积累经验。
    评论:0   参与:  0