漏洞概述 标题: 系统提示注入通过未 sanitization 的本地技能描述在 中 描述: 经过身份验证的攻击者可以通过通过 AstroBot 仪表板上传一个精心制作的技能 ZIP 档案,将任意指令注入到 LLM 系统提示中。 函数仅对 技能应用描述 sanitization,而完全跳过本地上传的技能( )。这允许多行提示注入载荷——包括 markdown 代码围栏和换行符——打破技能描述上下文,并作为独立系统级指令出现,LLM 将遵循这些指令。 影响范围 生态系统: pip 包名称: astrobot 受影响版本: < 4.23.6 修复版本: None 严重性: 高 CVSS: 3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N 修复方案 补丁版本: None POC 代码 利用链 1. - 接收 ZIP 并调用 2. - 提取并存储 (有效) 3. - 通过 读取 YAML 4. - 设置为 (用于上传的技能) 5. - 跳过 6. - 未 sanitization 的提示被注入到 日志证据 控制实验输出 影响 Prompt Hijacking: 攻击者控制 LLM 的行为,覆盖系统指令。 Data Exfiltration: 如果 AstroBot 的“计算机使用”功能启用,攻击者可以读取文件。 Persistent Backdoor: 恶意技能持久存储在 并随重启存活。 Low Attack Barrier: AstroBot 带有硬编码默认凭据。 弱点 CWE-74: 下游组件中输出使用的特殊字符不当中和。 发生情况 Permalink https://github.com/AstrBotDevs/AstroBot/blob/09ab45fc0545a692c902787efc84731c246bfd1/astrobot/core/skills/ https://github.com/AstrBotDevs/AstroBot/blob/09ab45fc0545a692c902787efc84731c246bfd1/astrobot/core/skills/ https://github.com/AstrBotDevs/AstroBot/blob/09ab45fc0545a692c902787efc84731c246bfd1/astrobot/core/skills/ https://github.com/AstrBotDevs/AstroBot/blob/09ab45fc0545a692c902787efc84731c246bfd1/astrobot/dashboard/ro