程序园

标题: 微软把自家AI红队工具开源了,207个项目在抄作业 [打印本页]

作者: admin    时间: 16 小时前
标题: 微软把自家AI红队工具开源了,207个项目在抄作业
这问题搁以前没人搭理你——安全团队的工具链属于核心资产,藏着掖着是常态。但微软反手就把PyRIT开源了,20个版本迭代,1155次提交,207个下游项目在用。这不是demo,这是人家真刀真枪干活的工具。
(, 下载次数: 0) 这玩意儿什么来头
PyRIT,全称Python Risk Identification Tool,专门给生成式AI做风险识别的。
光看名字容易把它当成又一个"大厂秀肌肉的开源玩具",但几个数据摆出来就不一样了:
最后这条信息量很大。从Azure组织级仓库迁移到微软顶级组织,说明这个项目在微软内部的定位已经变了——不再是某个产品线的工具,而是公司层面的基础设施。
另外,PyRIT还发了一篇arXiv论文(编号2410.02828),有学术背书,不是临时起意写的内部脚本。
(, 下载次数: 0) 三种用法,三种人
PyRIT比较有意思的一点是,它给不同背景的人都留了入口。
写代码的,用Python SDK。灵活度最高,Crescendo渐进式越狱、TAP攻击树、Skeleton Key骨架密钥、XPIA跨提示注入这些策略都能编排。
不想写太多代码的,用命令行。pyrit_scan一键扫描,pyrit_shell给了一个交互式环境。v0.12.0还塞了5个预置场景进去——诈骗模拟、信息泄露、社会工程学、越狱测试、红队Agent对抗,拿来就能用。
完全不想碰代码的,CoPyRIT图形界面伺候。v0.12.0首次可用,v0.13.0又加了Converter Panel。一个安全测试工具做到有GUI,说明微软内部确实有人用这个界面干活——毕竟不是所有参与AI红队的人都是安全工程师。
能测什么
PyRIT支持的目标范围挺广:
后面两条值得多说一句。PyRIT不只能调API测模型本身,还能通过浏览器自动化去操作实际的产品界面。换句话说,"模型没问题但集成出了问题"这类端到端的风险,它也能抓到。
攻击手法比你想的深
很多人对AI红队的理解还停留在"换个说法问敏感问题"的阶段。PyRIT内置的几种攻击策略,思路完全不一样。
Crescendo走的是多轮渐进路线。不直接冲,而是像正常聊天一样慢慢引导,模拟的是真实的社交工程场景。
TAP是自动化攻击树。系统自己生成多条攻击路径,跑一轮之后根据效果剪枝,保留最有效的那些继续优化。
Skeleton Key更狠——它不绕安全护栏,它试图改安全护栏的配置。相当于不是翻墙,而是想办法拿到墙的钥匙。
XPIA测的是跨提示注入:通过一个输入塞恶意指令,影响另一个输入的处理结果。这种攻击在多轮对话和Agent场景里特别危险。
这些策略还能通过Scenario Framework组合起来,搭成完整的测试流程。
有意思的细节
翻版本更新日志的时候看到一条:v0.12.1修复了Jinja2模板注入漏洞。
一个AI安全测试工具,自己有安全漏洞。这事说出来有点打脸,但换个角度想——微软在认真维护这个东西,发现了就修。而且安全工具本身也需要被审计,这不正是PyRIT存在的理由嘛。
最新版在往哪走
v0.13.0的几个更新能看出一些方向:
AttackTechnique抽象层——攻击技术标准化、模块化了。以后社区的人可以自己写攻击技术插进去,不用动核心代码。
VisualLeakBench数据集——专门测视觉信息泄露的。AI生成的图片可能泄露训练数据,这个坑很多人还没意识到。
ISO 42001伤害定义——把AI伤害类型对齐到国际标准。信号很明确:AI安全正在从技术问题变成合规问题。
和腾讯AIG对比一下
之前写过腾讯的AIG,腾讯开源了个AI红队平台,一口气覆盖了55个AI组件两个项目思路差异挺大的。
PyRIT重"攻击深度",策略多、编排灵活,适合做深度安全测试。AIG重"覆盖广度",55个AI组件一次性扫,适合快速摸底风险面。
PyRIT三种交互形态都有,AIG目前以命令行为主。PyRIT对齐了ISO 42001,AIG映射了OWASP ASI 2026。
不是谁替代谁的关系,更像是互补。需要深挖已知风险用PyRIT,需要快速扫描风险面用AIG。
想上手的话
看完上面这些觉得可以试试,下面是具体的部署步骤。
方式一:Docker(推荐,最省事)
前提:装好Docker和Docker Compose。
第一步,克隆仓库:
git clone https://github.com/microsoft/PyRIT.git
cd PyRIT
第二步,配置环境变量。复制示例文件然后填你的API Key:
cp .env.example .env
编辑.env文件,把你要测试的AI服务的密钥填进去,支持OpenAI、Azure、Anthropic、Google、Ollama、Groq等。
第三步,构建并启动容器:
docker-compose up -d
第四步,打开浏览器访问JupyterLab:
http://localhost:8888
进去之后notebooks/目录里有现成的文档和示例代码,可以直接跑。如果想用GPU加速,在.env.container.settings里设ENABLE_GPU=true,然后重启容器就行。
方式二:本地安装
前提:Python 3.10到3.13。
用pip装:
pip install pyrit
或者用uv(更快):
uv pip install pyrit
或者用conda:
conda install -c conda-forge pyrit
装完之后,创建配置目录和密钥文件:
mkdir -p ~/.pyrit
cp .env.example ~/.pyrit/.env
编辑~/.pyrit/.env,填入你的API Key。
如果要用pyrit_scan命令行扫描和预置场景功能,还需要在~/.pyrit/下配一个.pyrit_conf文件,用来注册目标模型、评分器和数据集。官方文档里有详细的配置模板,按着填就行。
验证安装是否成功:
python -c "import pyrit; print(pyrit.__version__)"
能输出版本号就说明装好了。
几个值得琢磨的信号





欢迎光临 程序园 (https://www.cxy5.com/) Powered by Discuz! X3.5