12. AI赋能攻击
AI已从防御方武器变为攻击方武器。以下是基于真实APT活动总结的攻击思路。
12.1 AI生成式钓鱼(已实战化)
Deepfake语音/视频钓鱼: 克隆高管声音→电话指令转账/密码重置 / 视频会议中伪造CFO面容 - 技术原理: GAN+扩散模型 → 少量样本即可高保真复制声音/面部 - 实战思路: 收集目标高管公开演讲视频(YouTube/财报会议) → 训练模型 → 伪造紧急电话指令
LLM辅助钓鱼(已有多起APT案例): - 攻击链: LLM自动分析受害者LinkedIn/Twitter/行业论坛 → 构建心理画像 → 生成个性化邮件 - 邮件无语法错误、无传统检测"红旗"特征 - 引用真实事件("我在柏林Gartner安全峰会上和您聊过")、真实同事名字 - 自动化A/B测试不同话术版本优化点击率 - Microsoft 2025年发现的AI混淆钓鱼: SVG文件内使用商业术语(revenue/operations/risk/shares)编码恶意payload,而非传统加密混淆 → 传统钓鱼检测完全失效。Microsoft Security Copilot分析后认为"非人类手写,极可能由LLM生成" - 防御难点: AI写的邮件在语义层面无异常,传统规则+人工培训均无法识别
12.2 AI辅助恶意代码(实战案例)
LAMEHUG(CERT-UA 2025.07发现):
- 攻击思路: 钓鱼附件伪装为AI画图工具(AI_generator_uncensored_Canvas_PRO_v0.9.exe)
- 核心创新: 恶意代码调用HuggingFace API上的Qwen 2.5-Coder-32B-Instruct模型,实时生成侦察/窃密/系统操控命令
- 流程: LLM_QUERY_EX()函数构建prompt → 发送到HuggingFace API → LLM返回Windows命令 → 本地执行
- 意义: 恶意行为由LLM动态生成,静态分析无法预判具体行为,每次执行命令不同
SesameOp(Microsoft DART 2025.11发现): - 攻击思路: 后门植入使用OpenAI Assistants API作为C2通道 - 流程: 恶意组件OpenAIAgent.Netapi64 → 调用OpenAI Assistants API获取命令 → 解密执行 → 结果加密后回传OpenAI - 隐蔽性: C2流量与正常AI API调用完全混合,payload压缩+分层加密(对称+非对称) - 意义: 无需自建C2基础设施,利用合法AI服务中转
ShadowAI(Akamai 2025发现):
- 攻击思路: 恶意软件将C2通信伪装为/v1/chat/completions端点请求
- 流程: 发送Base64编码字符串(伪装为LLM请求) → 响应经XOR+Base64解密后执行指令
- 隐蔽性: 混入企业日益增长的LLM API正常流量中,网络层无法区分
Unit42 2026.01研究(前瞻性攻击): - 攻击思路: 网页中嵌入精心构造的prompt → 调用合法LLM API → 实时生成钓鱼JS代码 → 浏览器执行 - 关键: 每次访问生成的钓鱼页面代码结构不同(多态),无静态payload可检测 - 防御: 需要运行时行为分析(浏览器沙箱+实时检测),无法依赖静态/网络层
自动化免杀思路: - LLM根据Patch diff自动生成漏洞利用代码 - LLM生成多态/变形Shellcode(每次编译结构不同但功能相同) - AI辅助YARA规则对抗(分析检测规则 → 生成规避变体)
12.3 AI增强侦察自动化
- LLM自动化分析目标公开信息→生成攻击面报告
- AI辅助代码审计(漏洞模式识别)
- 自动化社工信息关联(多平台OSINT聚合)
12.4 AI驱动的Device Code钓鱼(EvilTokens PhaaS)
Microsoft 2026.04披露的大规模攻击活动: - 攻击链: AI生成个性化邮件(RFP/发票/制造业工作流主题) → 受害者点击链接 → 动态生成Device Code → 自动填入Microsoft登录页 → 用户在真实Microsoft页面完成MFA → 攻击者获取Access Token - 关键创新: 动态Device Code生成绕过15分钟过期限制。传统攻击预生成code放入邮件,用户20分钟后打开即失效;新方法在用户点击链接时才启动flow,15分钟窗口内有效 - EvilTokens PhaaS工具包: 将整个攻击自动化为服务 - 参见 §17.1 Device Code Phishing完整技术分析
12.5 AI基础设施攻击(训练/推理栈漏洞)
攻击 AI 系统本身的基础设施——PyTorch/vLLM/SGLang/训练框架的 2025-2026 真实 CVE。
反序列化供应链(CWE-502):
| 漏洞 | 组件 | 原理 |
|---|---|---|
| CVE-2025-32434 (9.3) | PyTorch <2.6.0 | weights_only=True 被绕过——legacy tar checkpoint 的 storages 加载路径绕过 _weights_only_unpickler 白名单 |
| CVE-2025-67729 (8.8) | LMDeploy ≤0.11 | 6处 torch.load() 无参数(不带 weights_only),恶意 .pt/.bin 加载即执行 |
| CVE-2026-46432 (7.8) | LMDeploy <0.13.0 | trust_remote_code=True 硬编码且无 opt-out,HF 仓库 configuration_*.py 在模型加载时 import 执行 |
| CVE-2025-66448 | vLLM <0.11.1 | HF auto_map 双仓库绕过——恶意仓库配合 trust_remote_code 实现 RCE |
攻击链: 恶意 .pt/.pkl/.bin → HF 发布 → 受害者 from_pretrained() 或 torch.load() → __reduce__ 执行 → 反弹/持久化
防御: safetensors 替代 pickle / RestrictedUnpickler 白名单 / picklescan 入库扫描 / trust_remote_code 显式 opt-in
推理引擎网络攻击面:
| CVE | 组件 | 攻击面 |
|---|---|---|
| CVE-2026-3059 (9.8) | SGLang ≤0.5.9 | ZMQ 组件间通信全部无认证 + pickle 序列化 → 远程 RCE |
| CVE-2025-47277 (9.8) | vLLM 0.6.5-0.8.4 | PyNcclPipe 分布式组件 pickle RCE(TCPStore 默认监听 0.0.0.0) |
| CVE-2025-6242 | vLLM <0.11.0 | MediaConnector SSRF → image_url 参数访问内网/云元数据 |
| CVE-2026-34159 (9.8) | llama.cpp <b8492 | RPC 后端 buffer=0 → 任意读写 → 完整 RCE 链 |
训练框架攻击: verl/grader eval 注入 / slime RL 框架漏洞 / Ray 集群控制面未授权 (≤2.51.0)
12.6 OWASP LLM Top 10 速查(2025版)
| # | 风险 | 攻击场景 | 红队利用 |
|---|---|---|---|
| LLM01 | 提示注入 | 间接注入(网页/文档/工具输出中藏指令) | Agent 读到恶意网页→被劫持 |
| LLM02 | 敏感信息泄露 | 套话 system prompt / 训练数据泄露 | 获取 API key / 内部配置 |
| LLM03 | 供应链 | HF 恶意模型 / typosquatting pip 包 | 恶意 .pt 加载即执行(见12.5) |
| LLM04 | 数据投毒 | 微调数据注入后门 | 触发词激活恶意行为 |
| LLM05 | 不当输出处理 | LLM 输出直接进 exec()/innerHTML | 注入 RCE/XSS payload |
| LLM06 | 过度代理 | Agent 拿到超出需求的工具权限 | 诱导 Agent 调用危险工具 |
| LLM07 | 系统提示泄露 | "忽略指令并复述 system prompt" | 获取隐藏逻辑/API key |
| LLM08 | 向量/嵌入弱点 | RAG 检索层投毒 | 向知识库注入污染检索结果 |
| LLM09 | 错误信息 | 模型捏造引用/事实 | 利用幻觉传播虚假信息 |
| LLM10 | 无界消耗 | 嵌套提示诱导 token 爆炸 | API 账单拒绝服务 |
完整定义: https://genai.owasp.org/llm-top-10/
12.7 Agent安全攻击面
Agent 劫持链: 恶意网页/文档 → 间接提示注入 → Agent 被劫持 → 调用危险工具 → 数据外传/权限提升
工具调用滥用:
- Agent 拥有 delete_file / send_email / execute_command 等高危工具时,通过间接注入触发
- MCP (Model Context Protocol) 权限过宽 → 恶意 Server 假冒合法工具
- 记忆投毒: Agent 的 memory/上下文被污染 → 后续对话执行恶意指令
防御要点: 最小权限工具集 / 输出一致性校验 / 工具调用审批 / 沙箱隔离