马上注册,让你轻松玩转程序园
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这问题搁以前没人搭理你——安全团队的工具链属于核心资产,藏着掖着是常态。但微软反手就把PyRIT开源了,20个版本迭代,1155次提交,207个下游项目在用。这不是demo,这是人家真刀真枪干活的工具。
这玩意儿什么来头PyRIT,全称Python Risk Identification Tool,专门给生成式AI做风险识别的。 光看名字容易把它当成又一个"大厂秀肌肉的开源玩具",但几个数据摆出来就不一样了: - 1155次提交,20个正式版本
- Python 91.3%,TypeScript 8.3%
- 207个下游项目依赖它
- 仓库从Azure/PyRIT搬到了microsoft/PyRIT
最后这条信息量很大。从Azure组织级仓库迁移到微软顶级组织,说明这个项目在微软内部的定位已经变了——不再是某个产品线的工具,而是公司层面的基础设施。 另外,PyRIT还发了一篇arXiv论文(编号2410.02828),有学术背书,不是临时起意写的内部脚本。
三种用法,三种人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支持的目标范围挺广: - 大模型API:OpenAI、Azure OpenAI、Anthropic Claude、Google Gemini
- 开源模型:HuggingFace、Ollama本地部署的都行
- 微软自家Copilot:WebSocket直连
- 任意Web应用:Playwright驱动浏览器自动化
后面两条值得多说一句。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__)"
能输出版本号就说明装好了。 几个值得琢磨的信号仓库迁移到microsoft组织——从产品线工具升级为公司级战略资产,这个动作本身就说明问题。 207个下游依赖——社区生态已经在形成了,有人在PyRIT上面搭自己的工具。 CoPyRIT GUI——微软认为AI红队不该只是安全团队的事,产品经理、合规人员都得参与进来。 ISO 42001对齐——合规这堵墙正在向AI领域推过来,国内企业迟早要面对。
|