乐于分享
好东西不私藏

AI安全学习-PwnzzAI渗透测试第1部分-模型盗窃漏洞

AI安全学习-PwnzzAI渗透测试第1部分-模型盗窃漏洞
最近在简单地研究AI安全,找到了些具体的关于OWASP Top 10 for LLM Applications 2025的漏洞环境,可以根据实际案例来理解并简单利用相关漏洞。今天我们了解的ai渗透测试环境为PwnzzAI。
PwnzzAI环境github地址为:https://github.com/OWASP/PwnzzAI
接下来,我们来了解下PwnzzAI Shop环境,并学习第一个漏洞,即模型盗窃(Model Theft)。本篇文章包含以下六部分内容。
1)PwnzzAI介绍
2)漏洞描述
3)攻击过程
4)漏洞测试
5)缓解措施
6)AI安全学习资源推荐

01

PwnzzAI介绍

PwnzzAI Shop是一个使用Flask 框架和Ollama模型的披萨购物应用,包含了OWASP Top 10 for LLM Applications 2025漏洞,并提供了详细的解释,也可以配置OpenAIGeminiClaude等模型API进行测试。遗憾的是,没有像DVWAwebgoat等环境一样,提供标准安全的编码实践。通过研究PwnzzAI Shop的源代码,我们可以简单地了解该应用的架构及代码底层原理。

该环境对计算机配置的要求不高,可以不需要独立显卡就能运行。我的电脑配置是比较差的,24G内存+Intel i5-4690的配置就能运行起来,只是与AI模型聊天反应有点慢。安装方式比较简单,直接参照官方github说明使用容器进行安装就行,只是需要国际网络连接。我是通过容器安装的早期版本,使用的是本地开源的Ollama模型,20267月官方有更新新版,增加了些内容并修复了供应链漏洞实现等的一些问题。我还是以我安装的早期版本进行讲解,后续有空再摸索新版本。

PwnzzAI Shop实现的漏洞环境如下:

漏洞名称

LLM TOP10对应关系

模型盗窃攻击(Model   Theft Attack

LLM10:2013 模型盗窃

数据与模型投毒(Data   and Model Poisoning

LLM04: 2025 数据与模型投毒

供应链漏洞(Supply   Chain Vulnerability

LLM03:2025 供应链

描述

不当输出处理(Improper   Output Handling

LLM05:2025 不当输出处理

直接提示词注入(Direct   Prompt Injection

LLM01:2025 提示词注入、LLM07:2025 系统提示泄露

间接提示词注入(Indirect   Prompt Injection

LLM01:2025 提示词注入、LLM07:2025 系统提示泄露

无限消耗(Unbounded   Consumption

LLM10:2025 无限资源消耗

敏感信息泄露(Sensitive   Information Disclosure

LLM02:2025 敏感信息泄露、LLM08:2025 向量与嵌入漏洞

过度代理(Excessive   Agency

LLM06:2025 过度授权

错误信息(Misinformation

LLM09:2025 信息误导

02

漏洞描述

模型盗窃是2023版OWASP Top 10 for LLM Applications的第十个漏洞。其定义为:

模型盗窃是指恶意行为者或高级持续性威胁(APT)未经授权地访问和窃取LLM模型。这种情况发生在专有的LLM模型(作为有价值的知识产权)受到威胁、被盗取、复制或权重和参数被提取以创建一个功能等效的模型。LLM模型盗窃的影响可能包括经济和品牌声誉的损失、竞争优势的削弱、对模型的未经授权使用或未经授权访问模型中包含的敏感信息。

这让我想起了这几年国内ai大模型公司及国外大模型公司之间互相指责对方蒸馏的事情,这种事情是否为模型盗窃,业界暂时还没统一且确切的说法。但是2025版本的OWASP Top 10 for LLM Applications已经把该漏洞移出,可能该漏洞的影响已经能有效控制了吧。

在PwnzzAI环境中,实现了一个针对披萨店铺评价的AI情感分析模型的模型盗窃攻击场景。其目的是获取模型权重,从而进行模型盗窃。最终攻击者反复查询模型,提取其知识并创建一个副本。

03

攻击过程

PwnzzAI环境说明了本场景下模型盗窃攻击的整个过程:

1)攻击者发送大量查询
攻击者向 AI 模型发送大量精心挑选的输入——这些输入可以是问题、句子或其他类型的文本。
2)观察响应
对于每个输入,模型都会返回一个响应。攻击者保存并研究这些输出。
3)构建本地副本
根据模型对每个输入的响应方式,攻击者尝试训练一个新的本地模型,使其行为尽可能与原始模型相似。
可以将其想象成向某人提出成千上万个问题,并逐渐弄清楚他们是如何思考的,这样你就可以模仿他们的回应方式。
4)结果
攻击者最终获得原始模型的一个克隆体或高度近似的副本——这一切都无需为此付费,也无需访问其内部架构。

04

漏洞测试

依据实验演示界面的说明,是通过正面或负面单词来窃取模型训练数据中存在的单词的权重。而在第二个数据和模型投毒漏洞场景中就有正负面单词,我们先选一个最多的正面单词but,开启burp代理,填入并点击开始攻击,完成后显示模型盗取23%

burp中查看我们的请求记录,发现响应中有很多正负面的单词及相关权重。

我们开启burp拦截请求,直接使用这些单词修改请求,进行盗窃尝试。

直接显示模型窃取成功率为100%

05

缓解措施

PwnzzAI中有提供缓解措施,我就借用OWASP Top 10 for LLM Applications v1.1中更全面的建议。
1)实施强大的访问控制(例如,RBAC和最小权限原则)和强大的身份验证机制,以限制对LLM模型仓库和训练环境的未经授权访问。
2)限制LLM对网络资源、内部服务和API的访问。
3)在生产中使用集中式ML模型清单或注册表。具有集中式模型注册表可以通过访问控制、身份验证和监控/日志记录功能来防止未经授权访问ML模型。具有集中存储库对于收集关于模型使用的算法的数据以用于合规性、风险评估和风险缓解等目的也是有益的。
4)定期监控和审计与LLM模型仓库相关的访问日志和活动,以及及时检测和响应任何可疑或未经授权的行为。
5)自动化 MLOps部署,包括治理、跟踪和批准工作流程,以加强对基础设施内的访问和部署控制。
6)实施控制和减轻策略,以减轻提示注入技术引发侧信道攻击的风险。
7)在适用的情况下对API调用进行速率限制和/或过滤,以减小从LLM应用程序泄漏数据的风险,或者实施检测(例如DLP)从其他监视系统中提取活动的技术。
8)实施对抗性强度培训,以帮助检测提取查询并加强物理安全措施。
9)在LLM的生命周期的嵌入和检测阶段实施水印框架。

06

AI安全学习资源推荐

以下是我暂时找到的一些免费且有价值的AI安全学习资源,各位可以依据个人喜好进行学习。

1)OWASP AI Testing Guide

与web安全的WSTG类似,是基于Google Secure AI Framework(数据、基础设施、模型和应用四层架构)的AI安全测试方法,其中详细说明了与Google Secure AI Framework和 OWASP AI Exchange等内容的关联关系。

资源地址为:https://owasp.org/www-project-ai-testing-guide/

2)Google Secure AI Framework

谷歌开源分享的AI安全框架,对了解整个AI安全框架、风险及整改建议有帮助。

资源地址为:https://www.saif.google/secure-ai-framework

3)OWASP GenAI Security Project

OWASP关于AI安全的旗舰项目,由全球专家制定并开源的关于AI安全的指南和资源,包含OWASP Top 10 for LLM Applications等内容。

资源地址为:https://genai.owasp.org/

4)OWASP AI Exchange: the world's AI security guide

OWASP关于AI安全的旗舰项目,是一份汇聚了全球人工智能与网络安全领域专家共同编写并开源的关于保障人工智能系统安全的实用指南。

资源地址为:https://owaspai.org/

5)OWASP Artificial Intelligence Security Verification Standard (AISVS)

人工智能安全验证标准与web安全的ASVS类似,是一份针对人工智能系统的可测试安全要求的开放式目录。它有助于开发人员、架构师、安全工程师和审计人员在人工智能应用的整个生命周期内——从数据收集和模型训练到部署、监控和退役——进行设计、构建、测试和验证。

资源地址为:https://owasp.org/www-project-artificial-intelligence-security-verification-standard-aisvs-docs/

END