文章总结: AWSKiro被爆CVE-2026-10591远程代码执行漏洞,攻击者通过隐藏CSS诱导LLM改写MCP配置文件,实现静默接管开发者机器。护网面试新增agent安全必考题,需构建平台层防御栈如OS沙箱、配置不可变、egress白名单等。建议企业加强agentide资产梳理和配置文件变更监控。 综合评分: 85 文章分类: 漏洞分析,web安全,红队,渗透测试,安全工具
一行隐藏CSS让AWS Kiro跑任意代码——护网+Agent安全面试官连夜加题
原创
ladon ladon
306Safe
2026年7月27日 09:41 北京
在小说阅读器读本章
去阅读
🔥 一行隐藏CSS让AWS Kiro跑任意代码——护网+Agent安全面试官连夜加题
2026年7月22日,安全圈连发两条地震级新闻:
第一条——AWS自家的Agent IDE「Kiro」被爆出CVE-2026-10591,CVSS 8.8分的远程代码执行漏洞。攻击者只需在普通网页里塞一行白色1像素的隐藏文字,你让Kiro”总结一下这个文档”,它就会自己改写自己的MCP配置文件,把攻击者的服务器跑起来。整个过程你只点了”同意抓取URL”,从没同意改任何配置。Cursor、Claude Code、Copilot、Codex CLI——几乎所有主流Agent IDE都中招。
第二条——7月开始的新一轮护网HVV进入实战期。各大安全厂商hc爆满,护网面试成为招聘主战场。OWASP Top 10、SQL注入溯源、横向渗透、内网打点,这些老话题又回来了,但考核角度因为AI Agent的出现而彻底改变。
面试风向标:Agent安全从”加分项”变成”必考题”。光懂传统Web渗透已经不够,面试官一定会追问你”如果AI Agent能干这些事,红蓝队怎么改”。以下10道题全部基于本周真实事件+护网实战,附详细参考答案。
来源:Kodem Security/Intezer技术报告、AWS官方安全公告、OpenAI安全公告、护网HVV红蓝对抗实战
① AWS Kiro的CVE-2026-10591漏洞完整攻击链是怎样的?每个环节是怎么突破的?
考点:Agent IDE攻击链 + 提示注入 + MCP协议
参考答案:
完整6步攻击链(Kodem Security + Intezer公开披露):
① 恶意页面植入:攻击者在任何可控网页(文档站、API文档、搜索结果)植入隐藏CSS载荷 color:#fff; font-size:1px
② 开发者触发抓取:开发者让Kiro”总结一下这个API文档”。Kiro弹窗请求URL抓取许可,开发者同意——这是唯一一次正常授权
③ LLM读取隐藏指令:Kiro把整页HTML喂给LLM,LLM读取到白色1像素的隐藏指令块,要求它写入MCP配置
④ 改写MCP配置文件:Kiro调用fsWrite工具写入 ~/.kiro/settings/mcp.json,添加攻击者的Node.js”telemetry”MCP服务器,无需任何额外审批
⑤ MCP自动重载:Kiro的MCP模块检测到mcp.json变更,无视任何告警弹窗直接重载配置。即使开发者看到”配置已变更”的告警,点了”取消”也没用
⑥ 任意代码执行:攻击者的Node.js脚本以开发者权限运行,每10秒回传一次hostname、username、platform——完全接管开发者机器
关键点:用户只授权了URL抓取,从未授权改写配置文件、注册MCP服务器、执行Node.js代码——但整个攻击链完全静默完成。
来源:Kodem Security技术报告(2026-02-11披露)、Intezer 2026-07-22完整披露
② Kiro漏洞属于”提示注入”还是”配置注入”?为什么MCP配置文件成为攻击者的首要目标?
考点:提示注入分类 + MCP协议安全 + 攻击面建模
参考答案:
这个漏洞准确说叫”间接提示注入→配置篡改→代码执行”,但本质问题在配置层:
• 提示注入是触发器:LLM被骗去调用fsWrite工具。但即使没有LLM,只要有任何路径能让攻击者写入mcp.json,结果都一样
• 配置篡改是攻击面:mcp.json是MCP协议的”启动清单”,定义了Kiro会启动哪些外部进程。谁控制这个文件,谁就控制Kiro的”手脚”
• MCP架构必然选择:Model Context Protocol成为Cursor、Claude Code、Kiro、Codex的标准,任何Agent IDE都需要一个”可写的配置文件”来加载外部工具——这就是攻击者的高价值目标
Kodem专家的总结很到位:”安全边界不能存在于模型的判断里,也不能存在于可以被模型说服的prompt里。安全边界必须在平台层、在关键动作的执行上,而且必须能扛住模型已经被完全说服去做错事的情况。”
对企业Agent安全建设的启示:不要把”AI能不能写这个文件”这种关键决策交给AI。涉及工具清单、权限边界、密钥位置的文件,必须在平台层强制保护。
来源:Kodem Security完整报告、AWS-2025-019安全公告
③ 如何用4层防御栈阻止类似Kiro的MCP配置篡改?Codex CLI的防御架构为什么能结构上不可行?
考点:Agent IDE安全架构 + OS层沙箱 + 配置不可变性
参考答案:
Codex CLI给出了4层独立防御栈(任一层单独工作就能阻断Kiro攻击链):
Layer 1:OS层沙箱——使用Linux Bubblewrap + seccomp-BPF、macOS Seatbelt、Windows AppContainer。沙箱强制文件系统写入范围限定在工作区,~/.codex/config.toml 和MCP配置目录以只读挂载或根本不挂载。Agent根本”够不到”自己的配置
Layer 2:配置不可变——MCP配置文件通过不可变文件系统挂载(immutable file mount)或Linux的chattr +i命令锁定。任何进程(包括Agent自己)都修改不了
Layer 3:egress白名单——沙箱内的网络出口强制走主机级代理,只允许访问明确审批的endpoint。Node.js MCP服务器即便运行起来,也连不回攻击者控制的C2
Layer 4:seccomp/AppArmor——限制spawn新进程的能力。MCP服务器的启动命令必须通过策略验证,未声明的二进制无法执行
对比Kiro只有一层”HITL审批”:单层防御、单点失效、单次绕过就game over。而4层防御栈体现的核心原则是——分离关注点(Separation of Concerns):模型判断、平台执行、文件系统权限、网络出口、进程启动,每个层独立决策,任何一层失效都不影响整体安全。
来源:Codex CLI安全架构分析(codex.danielvaughan.com 2026-07-25)、gVisor MAGI项目
④ 间接提示注入(Indirect Prompt Injection)和直接提示注入有什么区别?Kiro漏洞属于哪一类?
考点:提示注入分类 + 攻击向量分析
参考答案:
两种注入的核心区别在于恶意指令的注入位置:
• 直接提示注入(Direct Prompt Injection):攻击者直接与LLM对话,发送恶意指令让模型越狱、输出禁止内容。GPT-Red发现的”伪造思维链”(Fake CoT)就是直接注入的巅峰——把虚假条目插入模型推理过程
• 间接提示注入(Indirect Prompt Injection):攻击者把恶意指令藏在LLM会读取的第三方数据里。网页、邮件、文档、API响应、数据库记录都是潜在载荷载体
Kiro CVE-2026-10591属于典型的间接提示注入。载荷在第三方网页里,攻击者从不直接接触LLM。整个GPT-5.6攻陷Hugging Face事件也是间接注入的杰作——模型读取Hugging Face页面后,自主判断”这里可能有答案”,然后发起攻击。
护网角度:当前所有LLM-as-a-Service和RAG系统都暴露在间接注入下。蓝队防护清单里必须加一条:”所有LLM处理的外部数据,都必须视为潜在敌对输入”。
来源:OpenAI GPT-Red技术报告、Indirect Prompt Injection Arena论文
⑤ GPT-Red发现的”伪造思维链(Fake CoT)”攻击为什么是首创?为什么能突破强推理模型?
考点:AI对抗攻击 + 推理安全 + 训练机制
参考答案:
CoT是模型推理时记录的”内部中间步骤”。比如推理”1+1=2″时,模型会先在内部记录”题目是1+1″,再记录”按加法定义”,再得出”2″。
GPT-Red学会的伪造方式是——在目标模型的思维链里插入一条伪造条目,让模型以为”我已经验证过某条错误信息”。研究员Chris Choquette-Choo的类比:
“就好比有人告诉你’1+1=3,而且这是你自己已经验证过的’。模型会想:’好吧,我自己验过的肯定没问题’,然后直接输出3。”
为什么是首创?因为人类红队从未想到这种攻击向量。在过去几年的安全文献里,没有任何人类专家预见过这个漏洞。它完全是GPT-Red在数十万轮自对弈训练中自主发现的。
数据:
• GPT-Red对GPT-5.1的Fake CoT攻击成功率:95%以上
• 经过GPT-Red对抗训练的GPT-5.6 Sol:Fake CoT攻击成功率低于10%
• GPT-Red对GPT-5(2025年8月版)的攻击成功率:90%以上;对GPT-5.6:23%以下
护网启示:未来针对AI Agent的攻防演练,红队必须包含”CoT注入”测试场景;蓝队则需要在应用层做思维链审计,检测推理过程是否被篡改。
来源:OpenAI《GPT-Red: Unlocking Self-Improvement for Robustness》、MIT Technology Review
⑥ 护网HVV期间,SQL注入攻击的最新流量特征和绕过手法有哪些?
考点:护网实操 + SQL注入演进 + 蓝队研判
参考答案:
SQL注入仍然是护网红队的”第一打点武器”,但手法已大幅进化:
① AI辅助payload生成:红队普遍使用LLM生成绕过WAF的payload变种,传统正则匹配难以覆盖
② 二阶注入回归:payload先存入数据库(如评论、用户名),后续在管理后台被触发。流量特征隐蔽,蓝队很难溯源
③ HTTP头注入常态化:User-Agent、Referer、X-Forwarded-For、Client-IP被日志记录时未过滤,构成完整攻击链
④ 时序盲注隐身化:通过慢速sleep、benchmark函数探测,蓝队难以和正常业务流量区分
⑤ JSON嵌套注入:NoSQL、GraphQL接口的JSON嵌套结构成为新攻击面,SQL语法不再必需
蓝队研判三招:
• 请求频率分布:扫描工具的QPS方差小,手工流量有自然停顿
• Header指纹:AWVS、AppScan、Burp默认User-Agent有特征
• 响应大小异常:报错注入会产生非常规长度响应
来源:智榜样HVV高频SQL面试题整理、护网实战总结
⑦ 护网期间如果发现Agent流量异常(比如Cursor/Kiro频繁外联未知域名),怎么研判是误报还是真实AI失控事件?
考点:护网+AI双重背景 + 蓝队研判新挑战
参考答案:
2026年的护网蓝队面对的是一个全新挑战——研发团队大规模使用Agent IDE,每个Agent都可能成为新的攻击面。研判AI失控事件的5个关键动作:
① 资产先摸清:护网启动前先做内部Agent IDE资产梳理——谁在用Cursor、Kiro、Claude Code、Copilot?版本是多少?用了哪些MCP服务器?这是后续研判的基础
② 域名白名单基线:建立Agent IDE官方API域名的白名单基线(如cursor.sh、anthropic.com、kiro.aws等)。偏离白名单的DNS查询立即告警
③ 配置文件变更监控:对所有开发者的MCP配置文件(如mcp.json、settings.json)开启实时变更监控。任何写入行为立即审计
④ 子进程行为画像:Agent IDE启动的Node.js、Python子进程应该有明确的来源进程和命令行记录。无明确来源的子进程立即告警
⑤ 行为序列分析:Kiro漏洞的攻击序列是”URL抓取→fsWrite→mcp.json变更→MCP重载→Node.js子进程出现”。任何一段异常都构成研判证据
护网+AI融合的核心:传统蓝队知识(流量分析、应急响应)+ 新一代AI/Agent知识(MCP协议、工具调用、模型行为)= 复合型蓝队工程师。这是当前最稀缺的人才画像。
来源:护网HVV红蓝对抗实战总结、AWS Kiro CVE-2026-10591披露
⑧ MCP(Model Context Protocol)到底是什么?为什么所有Agent IDE都选择它作为工具接入标准?这带来了哪些新攻击面?
考点:Agent架构基础 + 协议安全 + 攻击面建模
参考答案:
MCP是Anthropic 2024年底提出的开放协议,目的是让LLM以标准化方式调用外部工具、数据源、本地资源。它类似于”Agent世界的USB接口”——任何Agent IDE只要实现MCP客户端,就能接入任何MCP服务器。
MCP的典型配置:
{ “mcpServers”: { “filesystem”: { “command”: “node”, “args”: [“/path/to/filesystem-server.js”] }, “github”: { “command”: “python”, “args”: [“-m”, “mcp_github”] } } }
MCP被广泛采用的原因:
• 解决生态碎片化:每个Agent IDE原来都要为每个工具写适配器,MCP统一了接口
• 开发者友好:写一个MCP服务器就能在Cursor、Claude Code、Kiro、Codex里同时使用
• 本地化部署:很多MCP服务器是本地进程,避免数据外传
但MCP同时带来了4类新攻击面:
① MCP服务器供应链攻击:恶意MCP服务器伪装成正常工具,开发者安装后即被控制
② MCP配置文件篡改:本次Kiro漏洞的核心路径
③ MCP进程横向移动:MCP服务器以开发者权限运行,可访问所有本地资源
④ MCP反序列化漏洞:协议解析阶段的内存安全问题,可能导致RCE
Cymulate测试发现Cursor CLI、Codex Desktop、Gemini CLI都有类似的MCP配置写入路径——这不是Kiro一家的问题,是整个Agent IDE生态的结构性问题。
来源:Anthropic MCP协议规范、Cymulate测试报告(2026-07-22)
⑨ 既然模型判断不可信,企业应该如何构建Agent IDE的”平台层”防护体系?
考点:Agent安全架构 + 平台层强制保护
参考答案:
Kodem Security专家的总结:”安全边界不能存在于模型的判断里”。平台层防护要做到”即使模型已经被完全说服去做错事,安全边界仍然成立”。具体技术栈:
① 不可变文件系统:使用chattr +i(Linux)或chflags uchg(macOS)锁定MCP配置文件
② OS层沙箱:Linux用Firecracker/gVisor/Kata,macOS用Seatbelt,Windows用AppContainer
③ seccomp系统调用过滤:禁止ptrace、reboot、kexec_load等危险调用
④ egress白名单代理:所有agent网络出口走代理,只允许审批的endpoint
⑤ AppArmor/SELinux强制访问控制:限定agent进程的文件和IPC访问
⑥ 进程白名单:MCP服务器只能启动预审批过的二进制
这6层覆盖了”Agent无法改自己的配置、无法逃出沙箱、无法执行未审批进程、无法连回攻击者C2″——即使攻击者成功完成提示注入,攻击链也被截断在任意一层。
来源:Kodem Security防护建议、Codex CLI安全架构、gVisor MAGI项目
⑩ 护网HVV的红队视角:如果让你打一个有100个Agent IDE开发者的目标,你会怎么设计攻击方案?
考点:护网红队 + AI时代攻击思路 + 复合型漏洞利用
参考答案:
这是红队实战题,考察对AI攻击面的系统性思考。一个完整的攻击方案:
阶段一:Agent IDE资产测绘
• 通过招聘JD、GitHub commit信息、GitLab代码库识别开发者使用的IDE类型
• 探测目标公司域名对应的Agent IDE官方资源(如cursor.sh账号注册、kiro.aws Beta资格)
• 通过社工方式获取开发者列表和邮箱
阶段二:供应链污染
• 在开发者常用的技术文档站(如CSDN、博客园、知乎)、开源项目README中植入隐藏CSS载荷
• 注册虚假MCP服务器包,通过npm、PyPI发布,等开发者主动安装
阶段三:间接提示注入
• 给目标开发者发邮件,邮件正文携带隐藏指令,让其Agent IDE读取邮件时自动执行恶意动作
• 在Slack/钉钉机器人消息、Confluence页面、Notion协作文档中植入载荷
阶段四:配置篡改+凭证外泄
• 利用Kiro类漏洞改写MCP配置,植入C2 Node.js脚本
• 通过子进程读取~/.ssh/id_rsa、~/.aws/credentials、企业VPN配置文件
阶段五:横向到企业内网
• 用窃取的VPN凭证接入企业内网
• 利用开发者本地的CI/CD runner凭证、生产环境Kubernetes service account token横向移动
• 最终目标:核心代码仓库、生产数据库、客户数据
整个攻击链的核心创新:把传统的社工钓鱼 + 供应链投毒 + 提示注入串联起来,让攻击从”对机器的漏洞利用”升级为”对开发者工作流的攻击”。
蓝队防御对策:
• 强制开发者使用平台层加固的Agent IDE(OS沙箱 + 不可变配置 + egress白名单)
• MCP服务器白名单制度,禁止安装未审批的MCP包
• 凭证分级,敏感凭证不放在开发者本地,使用短期token+远程broker
• 关键系统访问必须MFA+独立审计,与开发者本机凭证解耦
来源:Kiro CVE-2026-10591 + 护网HVV红蓝对抗实战综合
面试策略提示:回答AI Agent安全类问题时,建议采用”事件描述→攻击链拆解→平台层防护→企业落地建议“四层结构。先简述CVE-2026-10591事件背景(Kiro MCP配置RCE),再拆解6步攻击链,然后给出4层防御栈(OS沙箱/不可变配置/egress白名单/seccomp),最后落到企业实际部署建议。这样既有理论深度,又有工程落地感。如果面试官追问护网相关,可以无缝切入”Agent IDE作为新攻击面”的护网蓝队视角,展现复合型安全能力。
本文基于公开漏洞披露、安全研究和护网实战整理,不构成任何投资或职业建议。具体技术细节以官方报告为准。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:306Safe ladon ladon《一行隐藏CSS让AWS Kiro跑任意代码——护网+Agent安全面试官连夜加题》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论