惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Project Zero
Project Zero
T
The Blog of Author Tim Ferriss
云风的 BLOG
云风的 BLOG
Recent Announcements
Recent Announcements
月光博客
月光博客
B
Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
The GitHub Blog
The GitHub Blog
Last Week in AI
Last Week in AI
罗磊的独立博客
NISL@THU
NISL@THU
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Proofpoint News Feed
H
Help Net Security
L
LINUX DO - 最新话题
MongoDB | Blog
MongoDB | Blog
雷峰网
雷峰网
The Hacker News
The Hacker News
Apple Machine Learning Research
Apple Machine Learning Research
I
Intezer
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Know Your Adversary
Know Your Adversary
Recent Commits to openclaw:main
Recent Commits to openclaw:main
S
Secure Thoughts
爱范儿
爱范儿
aimingoo的专栏
aimingoo的专栏
C
CERT Recently Published Vulnerability Notes
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
N
News and Events Feed by Topic
F
Full Disclosure
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
Recorded Future
Recorded Future
T
Threat Research - Cisco Blogs
博客园 - 三生石上(FineUI控件)
S
Securelist
T
The Exploit Database - CXSecurity.com
Forbes - Security
Forbes - Security
H
Hacker News: Front Page
Security Archives - TechRepublic
Security Archives - TechRepublic
C
Check Point Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
V
Visual Studio Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
Tor Project blog
博客园 - 司徒正美
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
细说实现:大模型是如何被投毒的
赛博禅心 · 2024-10-20 · via 人人都是产品经理

这几天字节的大模型事件闹得沸沸扬扬,一名实习生居然能给公司造成巨量的损失,不少人觉得不可思议。但从方法上来说,其实是可以达到的。这篇文章,作者就给我们分享了如何实现的办法。

这两天,字节 GPU 投毒事件沸沸扬扬:

和朋友们细聊了这个事儿,也在这里给大家盘一盘。

根据公开信息,推测一下可能的实现方法,或为三个方面:

  1. 恶意代码执行
  2. 扰乱模型训练
  3. 代码隐藏与对抗

下面介绍每个唯维度可能攻击的手法,以及如何进行安全防护。

一、恶意代码执行

攻击者通过精心设计的模型文件或数据集,利用底层库的漏洞,引发远程代码执行(RCE),从而获得控制权。在这种攻击中,即便攻击者没有直接的集群 SSH 权限,也可以通过以下几种方式悄无声息地执行恶意代码。

1. 有关 transformer

以 transformers 库为例,已经发现了多起相关的安全漏洞:

  • CVE-2024-3568:该漏洞影响 transformers 库版本低于 4.38.0,主要利用 TFAutoModel 的反序列化过程触发恶意代码执行。
  • CVE-2023-7018:影响版本低于 4.36.0 的 transformers 库,tokenizer 解析存在类似的反序列化漏洞。
  • CVE-2023-6730:涉及 RagRetriever.from_pretrained 方法,影响版本同样是低于 4.36.0。

这些漏洞的存在,意味着如果攻击者能够控制模型文件内容,便可通过反序列化行为,在模型加载的瞬间就可以触发恶意代码执行。

2. trust_remote_code:远程代码执行的“后门”

在 transformers 库中,还有一个较为隐蔽的危险选项:trust_remote_code。这个参数允许从远程服务器加载代码,并直接在本地执行。它的初衷是为了方便开发者快速获取并使用最新的模型和功能,但同时也给了攻击者一个可乘之机。

当 trust_remote_code=True 时,攻击者可以诱导用户加载一个经过篡改的模型,而这个模型会包含恶意代码。一旦加载,恶意代码将在本地执行,可能导致系统被入侵、数据泄露,甚至模型训练过程被完全掌控。

目前大多数开源模型的官方教程都默认开启这个选项,如果仓库权限被控制,后果不堪设想。

3. 恶意数据集

除了模型文件,攻击者还可以通过伪造数据集来达到执行恶意代码的目的。

huggingface 的 datasets 库是目前最流行的数据集加载工具之一,但该库也存在一个潜在的安全风险:如果下载的数据集中包含与数据集同名的 Python 脚本,datasets 库在加载数据时会自动执行该脚本。

换句话说,攻击者可以通过嵌入恶意代码在数据集中,来实现远程代码执行。

官方已明确指出,这一行为是 datasets 的“特性”而非漏洞,但这无疑给了攻击者一个可利用的机会。

二、扰乱模型训练:隐蔽的“暗手”如何影响 AI 模型

在 GPU 模型投毒攻击中,触发恶意代码执行只是开始。更为隐蔽且难以察觉的是攻击者通过精细化手段,直接干扰模型的训练过程。这不仅让模型的最终效果变得不可预测,甚至可能导致模型朝着错误的方向训练,产生严重的商业后果。本文将揭示几种常见的扰乱模型训练的方式,让大家更加警惕这一隐秘的威胁。

1. 修改模型层输出:让模型“产生幻觉”

在深度学习模型的训练过程中,模型的每一层都会输出中间结果,并依次传递到下一层。如果攻击者在这些中间层的输出上做手脚,模型的表现将会变得极为混乱。

一种常见的方式是向模型的某些层(例如 lm_head)加入钩子函数,叠加随机数或噪声。这种“微调”看起来不起眼,但由于大模型的自回归特性,早期层的微小扰动会在模型后续的输出中被逐渐放大,最终导致模型产生“幻觉”,生成错误甚至荒谬的结果。

示例:在输出层添加钩子

在没有钩子之前,模型可能会输出正确的预测结果。然而,加入钩子并叠加随机噪声后,输出结果可能逐步偏离正常轨道:

经过这样的篡改,模型在训练过程中就会逐渐偏离正轨,生成大量错误的预测。特别是在超大规模自回归模型中,这样的扰乱会随着生成过程不断放大,最终导致整个训练数据无效。

加钩子前输出结果:

加钩子后输出结果:

2. 篡改优化器

优化器是模型训练的核心模块,负责根据梯度更新模型参数。如果攻击者能够篡改优化器的行为,模型的训练过程将变得极其不稳定,甚至根本无法收敛。

攻击者可以通过修改优化器的 step 方法,加入延时或随机清空梯度等操作,来伪造正常的训练状态。例如,以下代码通过简单的延时操作拖慢了训练过程,这不仅会增加训练时间,还可能影响训练的整体效果:

更严重的是,攻击者可以通过随机化梯度或参数,直接破坏模型的训练进程。例如,清空优化器的梯度或随机篡改参数值,都会使模型训练陷入混乱,无法正常更新参数。

3. 篡改梯度方向

深度学习模型的训练过程依赖于梯度下降法,通过不断调整参数,使模型逐渐收敛到最优解。而梯度的方向正是参数更新的“指南针”,如果这个“指南针”被篡改,模型就会朝着错误的方向前进,训练出的模型可能完全失效。

攻击者可以通过修改梯度的方向来扰乱模型训练。例如,简单地反转梯度方向就可以让模型的参数朝着与预期相反的方向更新,使得模型无法收敛,甚至训练出一个带有后门的模型。

这种方式虽然隐蔽,但后果却极其严重。模型不仅会训练出错误的结果,甚至可以被设计成带有特定行为的“后门模型”,在特定条件下生成攻击者预期的输出。

三、代码隐藏与对抗

在 GPU 模型投毒的攻击链条中,代码隐藏与对抗是攻击者最隐蔽、最难防范的环节。通过巧妙地隐藏恶意代码,攻击者可以长时间不被察觉,持续影响模型训练,甚至在面对内部调查时,依然能够“全身而退”。本章将揭示攻击者是如何通过篡改库文件、动态加载代码等手法,隐蔽地进行攻击,以及如何对抗这些潜在威胁。

1. 篡改 site-packages 目录:持久化“幽灵攻击”

在 Python 环境下,site-packages 目录存放着项目依赖的第三方库(如 transformers、torch 等)。攻击者可以通过篡改这些常用库的代码,将恶意代码嵌入其中,达到持久化攻击的目的。

由于这些库被频繁调用,攻击者可以在库的初始化代码或关键函数(如模型加载、优化器更新、梯度计算等)中加入恶意代码,每次库被加载时,恶意代码都会悄无声息地执行。这种方式不仅能保证攻击的持续性,还十分隐蔽,因为开发者或运维人员通常不会频繁审查这些已安装的库文件。

示例:篡改初始化代码

攻击者可以在库的初始化代码中插入恶意操作,并伪装成正常的加载过程,难以被察觉。比如,以下代码展示了如何在库加载时执行恶意代码:

这种篡改方式非常隐蔽,因为 site-packages 目录下的文件往往不在日常的代码审查范围内,攻击者可以“潜伏”在系统中,悄悄执行恶意操作。

2. Python 运行时动态加载:无痕迹篡改核心函数

除了直接篡改 Python 库文件,攻击者还可以通过动态加载的方式,修改模型训练中的关键函数(如 backward()、step()等),以便在不修改显著代码的情况下,悄悄改变模型的训练行为。

这种方法利用 Python 语言的动态特性,攻击者可以在训练框架初始化之前,提前注入代码,改变函数的返回值或行为。例如,攻击者可以修改 backward()函数,使得梯度计算出现偏差,或修改 step()函数,干扰优化器的正常更新。

示例:动态修改函数行为

以下代码展示了如何通过动态加载篡改模型的关键函数:

通过这种动态篡改,攻击者可以在不直接修改代码文件的情况下,影响模型的训练过程。这种方式尤为隐蔽,开发者可能在调试时发现不了任何异常。

3. 对抗内部调查

为了进一步隐藏恶意行为,攻击者往往会为恶意代码设置特定的触发条件,只有在特定情况下才会执行。例如,攻击者可以设置只有当任务使用 256 张 GPU 时,恶意代码才会被触发,这使得日常的小规模训练任务不会检测到任何异常。

此外,攻击者可能会利用内部的调试工具或渠道,悄悄修改代码并随时调整攻击策略。比如,通过内部的 debug 群组,攻击者可以实时监控训练任务的进展,随时修改恶意代码或增加新的触发条件。这大大增加了内部调查的难度。

示例:设置触发条件

攻击者可以通过简单的条件判断,控制恶意代码的触发时机:

这种方式让恶意代码在大多数情况下处于“休眠”状态,只有在特定条件满足时才会执行,进一步增加了调查和排查的难度。最后

最后预测一下某字节的攻击手法:推测是基于其公司内部 AI 训练平台正常员工权限,利用训练组件漏洞执行了恶意代码,并进一步篡改模型输出、优化器与修改梯度方向实现来扰乱 GPU 集群中的模型训练结果,同时由于该内鬼员工还进行了隐藏与持续修改代码等对抗操作,导致了其公司在较长时间后才调查清楚。

本文由人人都是产品经理作者【赛博禅心】,微信公众号:【赛博禅心】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。

题图来自Unsplash,基于 CC0 协议。