新闻详情

新闻详情

首页 / 资讯中心 / 详情

Guardrails 0.10.1 恶意 PyPI 包事件解读:安全公告全文分析、应急响应步骤与供应链防御复盘

发布时间:2026/9/28 3:27:07来源:尧图网络
Guardrails 0.10.1 恶意 PyPI 包事件解读:安全公告全文分析、应急响应步骤与供应链防御复盘
AI 安全治理模型安全AI 应用【免费下载链接】guardrailsAdding guardrails to large language models.项目地址https://gitcode.com/gh_mirrors/gu/guardrails点击查看免费下载2026 年 5 月guardrails-ai在 PyPI 上发布的 0.10.1 版本被发现携带恶意代码这是针对多个开源包的一起大规模供应链攻击的组成部分。本文以仓库内的 SECURITY_ADVISORY.md 为骨架逐条拆解事件的来龙去脉、受害用户必须执行的应急操作、官方已采取的加固措施并结合本仓库源码验证版本与配置事实帮助开发者建立一套可复用的 Python 供应链安全响应手册。读完本文你将掌握如何识别与规避被投毒的 PyPI 版本、如何对已中招主机做失陷处置、以及如何从 Git 标签、本地配置文件中核查与清理 Guardrails 相关的凭据。一、公告概览一次Critical级别的活跃安全事件公告标题为Security Advisory: Malicious code in guardrails-ai 0.10.1当前状态为Active活跃受影响包已在 PyPI 上被隔离quarantined。关键元信息如下项目内容状态ActivePyPI 已隔离该包跟踪 issue 编号 #1473受影响版本guardrails-ai0.10.1仅限 PyPI 上的该版本安全版本guardrails-ai0.10.0及更早版本严重级别Critical发布时间2026 年 5 月 12 日太平洋时间最后更新2026 年 5 月 12 日太平洋时间版本事实核查当前仓库根目录的 pyproject.toml 声明项目version 0.11.0即公告发布时仓库主线已前进到 0.11.0恶意版本 0.10.1 从未进入本仓库的版本历史远端仓库存在v0.10.0、v0.10.2、v0.11.0等 tag唯独不存在v0.10.1tag——这与公告0.10.1 是被攻击者直接投放到 PyPI 的恶意包的表述完全一致。事件时间线来自公告2026 年 5 月 11 日约下午 6:00太平洋时间攻击者在 PyPI 上发布了恶意版本的guardrails-ai0.10.1。这次投毒属于同一时间段内影响多个开源软件包的更大规模供应链攻击活动的一部分。约 2 小时内安全研究人员识别出恶意包PyPI 随即对仓库执行隔离。后续核查官方遥测显示未观察到任何来自恶意 0.10.1 版本的、指向 Guardrails AI 基础设施的请求系统与访问日志审计也未发现通过官方系统发生用户数据外泄的证据。如果读者曾在 2026 年 5 月 11 日从 PyPI 安装过guardrails-ai0.10.1那么本地环境可能已遭入侵请直接跳到第三节的应急操作。二、攻击链还原公告披露的入侵路径公告以编号列表的形式完整披露了攻击者得手的三个环节这一链条是典型的凭据泄露 → CI 供应链投毒模式凭据失窃一名员工的 GitHub Personal Access TokenPAT遭到入侵。CI 滥用攻击者利用该 PAT在guardrails-ai组织下的 30 个仓库中触发 GitHub Actions这些工作流产出的工件artifacts中包含了仓库机密repository secrets。包发布投毒攻击者从工件中提取部署令牌deploy tokens并据此将恶意guardrails-ai0.10.1发布到 PyPI。此外攻击者还有两次未遂尝试公告同样如实披露试图访问用于承载远程验证推理remote validator inferencing的 Ray 集群——未成功试图向其他公共包管理系统发布恶意版本——未成功。仓库侧的佐证为什么远程推理会被列为攻击目标公告中提到的Ray 集群在本仓库中有清晰的代码足迹。guardrails的远程推理能力由 guardrails/remote_inference/remote_inference.py 承载其中get_use_remote_inference(rc)从配置对象读取use_remote_inferencing开关支持字符串true与布尔值两种形态决定验证器是否走托管推理端点。而 guardrails/cli/hub/install.py 在安装带 Guardrails 端点的验证器时会根据该开关决定下载本地模型还是跳过本地模型安装、使用远程端点。也就是说该 Ray 集群是线上真实服务承载detect_pii、toxic_language等验证器的托管推理一旦被攻破将直接影响生产验证链路——这正是公告将其列为重点防御对象的原因。这与 HUB_UPDATE.md 中托管远程推理服务hub.api.guardrailsai.com将于 2026 年 8 月 6 日关停的迁移计划一脉相承托管推理是供应链中高风险、高成本的关键攻击面。三、应急响应手册不同场景下的具体操作公告的What you need to do部分是整篇文档的操作核心以下按场景完整展开并补充仓库证据。场景一不要安装guardrails-ai0.10.1恶意包虽已被 PyPI 隔离但为防止镜像站缓存、私有索引或其他分发渠道残留公告建议在依赖中显式固定版本guardrails-ai0.10.0在 pyproject.toml 中项目本身用pip26.1.2作为运行依赖用于验证器的子进程安装说明该框架对 pip 安装路径的依赖很深——这也意味着用户锁定版本时同样应通过pip/poetry/uv等标准工具完成避免任何脚本内联安装的非常规路径绕过锁定。场景二PyPI 隔离期间直接从 GitHub 安装安全版本当 PyPI 仍处于隔离状态时公告给出的替代安装来源是本仓库的 git tagpip install githttps://github.com/guardrails-ai/guardrails.gitv0.10.0公告明确声明本仓库中的v0.10.0tag 是干净的clean。这一点可以从仓库侧交叉验证——本地 git 历史与远端 tag 列表中均不存在v0.10.1标签详见第一节的版本核查恶意代码从未被合入官方源码。公告同时承诺一旦 PyPI 解除隔离并发布安全替代版本本公告将即时更新。场景三如果已经安装了 0.10.1请将主机视为潜在失陷这是公告中最关键、措辞最严厉的一节。已安装恶意包的机器应直接按失陷主机potentially compromised host处置步骤分四步卸载包pip uninstall guardrails-ai轮换该机器可访问的每一个凭据包括 GitHub PAT、云服务商密钥、包注册表令牌如 PyPI token以及任何曾在该机器登录过的服务的 API Key。审计 GitHub 账户检查本人账户以及拥有写权限的 GitHub 组织确认是否存在未授权的 workflow、新建的仓库或意外的提交。视情况整机重装reimage如果该主机曾处理敏感凭据建议直接做完整的系统重镜像。仓库佐证Guardrails 的凭据存在哪里需要轮换的Guardrails 相关密钥主要落在两处CLI 配置文件~/.guardrailsrcguardrails/cli/configure.py 的save_configuration_file会把idUUID、tokenHub API Key、enable_metrics、use_remote_inferencing四个键值写入该文件guardrails/classes/rc.py 的RC.load()负责在运行时读取并解析支持引号剥离与布尔值转换并对no_metrics旧键做兼容回填。验证器包安装时触发的远程推理注册通过 guardrails/hub/install.py 中的install()完成其内部会读取RC.load(...).use_remote_inferencing决定是否连接托管端点。因此在失陷处置时除了轮换密码类凭据还应检查~/.guardrailsrc中的token字段并调用guardrails configure --clear-token该参数在 configure.py 中有定义清除遗留密钥。场景四Snowglobe 与 Guardrails Hub 用户主动轮换 API Key公告宣布所有 Snowglobe API Key 将于 2026 年 5 月 13 日下午 2:00太平洋时间被强制作废用户须在此之前主动轮换以避免服务中断。需要特别说明的是官方声明没有任何证据表明 Snowglobe 或 Guardrails Hub 的密钥已经泄露——这是一次基于最小信任原则的预防性轮换proactively rotating而非确认泄露后的补救。四、官方已采取的处置与长期加固措施公告What we have done一节列出的措施可分为即时止损与长期加固两类逐条整理如下即时止损类轮换 GitHub 组织及各个仓库中的所有令牌重置失陷员工的账户并对其设备执行出厂重置factory-reset将承载远程验证推理的 Ray 集群与验证器 Hub 下线审计系统与访问日志未发现用户数据外泄证据通过遥测确认未观察到任何来自恶意 0.10.1 包的、指向 Guardrails AI 基础设施的请求。恢复与加固类使用轮换后的凭据恢复 Ray 集群与验证器 Hub 服务于 2026 年 5 月 13 日下午 2:00太平洋时间强制执行全部 Snowglobe 与 Guardrails Hub API Key 轮换组织级审查 GitHub Actions 配置、机密作用域secret scoping与 PAT 策略限制创建经典classicPAT——经典令牌不再拥有组织访问权限细粒度fine-grainedPAT 必须经审批且必须设置过期时间组织内任何仓库、任何分支的所有提交必须带有已验证签名verified signature与 PyPI 协作解除隔离并发布干净版本跟踪 issue #1473。后续计划官方将在未来数日发布更详细的事故复盘postmortem并会持续更新本文档。值得注意的是公告中的 PAT 三项限制禁经典令牌、细粒度令牌需审批过期、强制提交签名恰好对应第三节攻击链的第一环——若这些策略在事件前已生效攻击者窃取的单个员工 PAT 将极难触发 30 个仓库的 Actions。这正是纵深防御在供应链场景的直接落地。五、可复用的供应链防御清单从本次事件提炼的工程实践将公告的披露与仓库事实结合可以沉淀出适用于任何 Python 项目的供应链防御基线永远显式锁定版本拒绝无版本约束的pip install guardrails-ai裸安装在锁文件中固定guardrails-ai0.10.0这类精确版本并在升级前核对 pyproject.toml 的版本声明与官方发布渠道。对唯一下载渠道保持警惕恶意 0.10.1 只存在于 PyPI从未出现在官方 git tag 中仓库无v0.10.1tag。安装时优先选择发布渠道代码仓库 tag这一可交叉验证的路径例如pip install git...v0.10.0。凭据最小化与短期化CI 中使用的 PAT 应改为细粒度令牌并强制过期发布密钥deploy token与仓库机密必须独立于任何个人凭据且只授予发布这一最小权限。提交签名与 Actions 审计对关键组织开启强制签名验证定期审计 GitHub Actions 配置与 secrets 的 scope警惕一次触发、多仓生效的横向扩散面。失陷处置要有清单卸载 → 全量轮换凭据 → 审计 GitHub 账户与组织 → 敏感主机直接重镜像本仓库的~/.guardrailsrc由 configure.py 写入、rc.py 读取提醒我们本地配置文件中的 API Key 也是失陷处置时必须清理的对象。关注供应链的长尾演进本次事件后Guardrails 正在把验证器从私有 Hub 注册表迁移到公共 PyPIpip install guardrails-ai-name并计划在 2026 年 8 月 6 日关停托管远程推理详见 HUB_UPDATE.md。官方对高危托管服务的收缩本身就是对本次攻击面Ray 集群的回应——迁移期间请务必同步更新安装方式与use_localTrue/validation_endpoint的本地推理配置。六、联系渠道与参考标识官方公告明确表示将持续更新本文档并提供以下沟通渠道安全问题发送至 securityguardrailsai.com一般问题在本仓库提交 issue 或通过官方 Discord 沟通。公告引用的官方参考标识供在 CVE/GHSA 数据库中检索核实公告原文链接见 SECURITY_ADVISORY.md跟踪 issue#1473GitHub 安全公告GHSA-xmpw-2vmm-p4p6CVE 编号CVE-2026-45758同一时期的关联供应链攻击活动TanStack 项目CVE-2026-45321。总结guardrails-ai0.10.1事件是一场典型的PAT 泄露 → Actions 工件泄密 → 部署令牌投毒 PyPI的供应链攻击。对使用者而言最核心的三件事是锁死 0.10.0、不要触碰 0.10.1、已安装者立即按失陷主机处置并轮换全部凭据。对维护者而言公告披露的经典 PAT 禁令 细粒度令牌审批过期 强制签名提交 机密作用域审查组合值得任何开源组织直接照搬为组织级安全基线。官方承诺在隔离解除后发布干净版本并持续更新本公告使用方应留意跟踪 issue #1473 的进展。赞分享AI 安全治理模型安全AI 应用【免费下载链接】guardrailsAdding guardrails to large language models.项目地址https://gitcode.com/gh_mirrors/gu/guardrails点击查看免费下载相关推荐Yarn Berry供应链安全防范恶意依赖包Yarn Berry供应链安全防范恶意依赖包 你是否曾因项目依赖包被植入恶意代码而导致数据泄露是否在安装依赖时担心引入未知风险本文将带你了解如何利用Yar开发工具CLIBrowserslist 安全事件响应全解析从检测分级到供应链防护Browserslist 安全事件响应全解析从检测分级到供应链防护 导读 本文基于 Browserslist 官方安全文档 docs/INCIDENT_RE开发工具Bisheng应急响应安全事件处理与恢复Bisheng应急响应安全事件处理与恢复 引言 在企业级LLM应用开发平台Bisheng的部署和运维过程中安全事件应急响应是保障系统稳定运行的关键环节。本文人工智能大模型AI 应用LLMOpsRAGAI Agent工作流自动化后端前端上一篇解锁全球市场Unity游戏多语言适配的智能方案下一篇终极指南3分钟学会免费访问AO3镜像站创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

标称100W的PD快充芯片为何跑不满65W?——PD Sink协商机制与选型避坑 2026/9/28 4:29:15

标称100W的PD快充芯片为何跑不满65W?——PD Sink协商机制与选型避坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Camera HAL — Sensor GroupHold 总结 2026/9/28 4:29:15

Camera HAL — Sensor GroupHold 总结

Camera HAL — Sensor GroupHold 总结 总览对比表 维度 说明 机制本质 sensor 寄存器级「锁存 + 帧边界原子应用」:GroupHoldOn 之后写入的寄存器,sensor 硬件锁存,直到 GroupHoldOff(或帧边界)才一次性生效 归属层级 纯 CAMX swl/sensor + sensor 数据对象(camxsensor、…

阅读更多 →
Go time 包实战:Ticker、Timer、Date 加减与格式化 2026/9/28 4:29:15

Go time 包实战:Ticker、Timer、Date 加减与格式化

Go time 包实战:Ticker、Timer、Date 加减与格式化时间处理业务项目天天见,time 包 Go 标准库写得不错,但坑点也不少。一、时间类型 type Time struct { wall uint64; ext int64; loc *Location }time.Time 是值类型,但内含指针&a…

阅读更多 →
Go 数据库事务与隔离:从 MVCC 到死锁排查 2026/9/28 4:29:15

Go 数据库事务与隔离:从 MVCC 到死锁排查

Go 数据库事务与隔离:从 MVCC 到死锁排查数据库事务是后端常识,也是高频面试题。本文讲清 ACID、隔离级别、死锁排查与实战。一、ACID Atomic:要么全成功,要么全回滚Consistency:约束保持Isolation:并发互不…

阅读更多 →
Python深度学习期货程序化交易系统:CNN-LSTM模型实战与避坑指南 2026/9/28 4:29:09

Python深度学习期货程序化交易系统:CNN-LSTM模型实战与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
佛山网站建设工作全流程拆解,一文搞懂避坑指南 2026/9/28 4:29:09

佛山网站建设工作全流程拆解,一文搞懂避坑指南

佛山网站建设工作全流程拆解,一文搞懂避坑指南 做网站最怕什么?不是代码写不出来,而是域名和服务器那一堆名词听着就头大。很多佛山的朋友在筹备佛山网站建设工作初期,往往卡在“买什么服务器”“域名怎么绑”这些基础环节,导致项目拖期、成本超支。今天…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉