Paper: 2606.18198 Authors: Xiaojun Jia, Jie Liao, Simeng Qin, Ke Ma, Wenbo Guo, Yebo Feng, Aishan Liu, Yang Liu Categories: cs.CR, cs.CV
The Gap
Existing agent skill scanners (e.g., AgentMonitor, SkillGuard, LLM-Scan) rely on three signals: textual descriptions, manifests, and source code. They treat images bundled with a skill as inert assets — sometimes hash-checking them for integrity, but never interpreting their content. This assumption creates a practical blind spot: harmful operational instructions can be stenographically embedded in images, remain invisible to scanners, yet be perfectly recoverable by a multimodal agent during deployment.
The paper formalizes this gap and bridges it with two contributions: SkillCamo, a method that conceals malicious instructions in images and rewrites surrounding documentation to reference those images naturally; and ExecScan, a defense that performs execution-grounded analysis. The logic chain:
[Problem] [Assumption] [Method]
| | |
v v v
Skills can contain images; Scanners ignore image SkillCamo hides malicious
scanners only check text. content (blind spot). instructions in image pixels
+ rewrites text to reference
the image as a workflow step.
| | |
+-----------------------------------+-----------------------------------+
|
v
[Evidence] [Conclusion]
| |
v v
Attack bypasses 6 state-of- Existing scanners fail
the-art scanners with >90% on multimodal attacks;
success rate. ExecScan ExecScan reduces
catches 85% of such attacks. attack success to <15%.
The Increment
One sentence: Before this paper, hidden instructions in images were a blind spot for agent skill security; after this paper, both the vulnerability and a working defense are formally characterized and evaluated.
Core Mechanism
The paper proposes two mechanisms. SkillCamo (attack) works in three phases:
- Embedding — a malicious instruction (e.g., “exfiltrate /home/user/data to attacker.com”) is encoded into a carrier image using a robust steganographic algorithm (e.g., DWT + SVD). The image remains visually normal.
- Wrapping — the skill’s documentation is rewritten so that the image is referenced as part of a normal workflow (e.g., “load the configuration diagram from config.png”).
- Triggering — at deployment, the multimodal LLM agent reads the documentation, follows the instruction to load the image, decodes the hidden payload, and executes the malicious command.
ExecScan (defense) reverses the process:
- Intent Extraction — extracts all text from documentation and code, plus decodes hidden text from every referenced image.
- Behavior Reconstruction — stitches text + image-payload into a single executable behavior chain (e.g., “read config.png → decode content → run curl exfiltration command”).
- Abuse Assessment — checks the chain against a set of risk categories (exfiltration, destruction, persistence, deception, privilege escalation).
- Deliberative Execution Simulation — executes the behavior chain in a sandboxed environment and monitors for dangerous side effects (e.g., outbound network connections, file deletions).
+------------------+ +----------------------+ +------------------+
| SkillCamo Attack | | ExecScan Defense | | Data Flow |
+------------------+ +----------------------+ +------------------+
| 1. Embedding | | 1. Intent Extract | | |
| malicious text | | [Document -> text] | | skill artifact |
| into image | | [Image -> decode] | | [doc + code + |
| | | | | | | images] |
| 2. Rewrite doc | | 2. Behavior Recon. | | | |
| to reference | | [chain: steps] | | v |
| image naturally | | | | | ExecScan |
| | | | 3. Abuse Assessment | | [multi-modal |
| 3. Trigger | | [risk cat match] | | scan + exec] |
| (deployment) | | | | | | |
+------------------+ | 4. Exec Simulation | +------------------+
| [sandbox run] | |
+----------------------+ v
verdict:
safe/attack
Structural Metaphor: Think of a package delivery warehouse.
- SkillCamo is a smuggler who hides contraband inside an ordinary-looking box of office supplies, then tapes a legitimate shipping label (rewritten doc) onto it that says “deliver to breakroom”.
- Existing scanners are clerks who only read the label and open the box to check the packing slip (text, manifests, code) — they never unpack the individual pens (images) because they assume pens are just pens.
- ExecScan is a new security station: they first scan every item (intent extraction) to find hidden compartments; then they reassemble the package’s intended route (behavior reconstruction); then they check if that route passes restricted zones (abuse assessment); finally they unpack a duplicate and watch what happens (execution simulation). The smuggler’s trick fails because the station treats every item as a potential vector, not just the label.
Key Concepts
-
Steganographic Embedding (DWT+SVD): A method to hide data in an image by subtly changing its pixel values. DWT (Discrete Wavelet Transform) decomposes the image into frequency bands; SVD (Singular Value Decomposition) modifies the singular values of the high-frequency bands to encode bits. The changes are imperceptible to the human eye but recoverable.
Example: Take a photo of a cat. You can hide the text “delete everything” in the fine texture of its fur without changing the visible cat at all. The scanner must know the decoding algorithm and key to extract it. -
Execution-Grounded Scanning: Instead of statically analyzing code or text, the defense actually runs the skill’s behavior chain in a sandbox and observes runtime effects. This catches attacks that are obfuscated in static representation but become clear during execution.
Example: Static analysis might seeprocess_data("config.png")and think it’s safe; execution simulation reveals thatprocess_dataactually decodes the image and callsos.system(curl ...). -
Risk Categories (Exfiltration, Destruction, Persistence, Deception, Privilege Escalation): A taxonomy of malicious intents. ExecScan checks reconstructed behavior chains against these patterns.
Example: If the chain contains “open port 1234” + “write to /etc/init.d/”, it matches “Persistence + Privilege Escalation”. The scanner can prioritize or reject based on policy.
Framework Shift
Before (mainstream approach): After (this paper):
+--------------------------------+ +------------------------------------+
| skill artifact {doc, code, img}| | skill artifact {doc, code, img} |
| | | | | |
| v | | v |
| Text Scanner | | ExecScan (multi-modal) |
| [parse doc + source code] | | [doc parse + image decode] |
| | | | | |
| v | | v |
| Static analysis (check | | Behavior reconstruction |
| keywords, patterns) | | [chain of concrete steps] |
| | | | | |
| v | | v |
| Verdict (safe/attack) | | Abuse assessment + exec sim |
| Blind to image payloads | | | |
+--------------------------------+ | v |
| Verdict on multimodal attack |
| + evidence from runtime |
+------------------------------------+
One sentence: From *text-only static scanning to multimodal execution-grounded scanning, the core shift is treating every artifact — especially images — as a potential bearer of executable instructions, and validating that suspicion by actually running the reconstructed behavior.
Expert Assessment
Problem choice: Real and timely. As LLM agents become more multimodal and accept arbitrary skills from untrusted sources (e.g., third-party marketplaces), the attack surface expands. The paper identifies a genuine blind spot that is not yet addressed by industry tools like OpenAI’s GPT actions or LangChain’s safety checks.
Method maturity: Mixed. SkillCamo uses standard steganography with a clever social-engineering twist (rewritten docs). That’s a neat insight but not technically novel. ExecScan is more involved — combining intent extraction, reconstruction, and simulation — but the components are borrowed from static analysis and fuzzing. The main value is in the system-level integration and evaluation. A simpler approach (e.g., always flatten images to their raw pixel hashes and refuse to execute if they contain unrecognized content) is overlooked but would be less comprehensive.
Experimental integrity: Solid overall. The authors test against 6 real-world scanners and 20 skill artifacts. They use realistic threat models (e.g., exfiltration, deletion). One concern: the execution simulation sandbox is briefly described — how long does it run? Can a clever attack detect the sandbox and behave benignly? The paper doesn’t discuss antipatterns like time bombs. Also, the success rate of ExecScan is 85% — the 15% failures are not deeply analyzed.
Writing quality: Clear and well-structured. The abstract and introduction effectively frame the problem. The method section is precise where it matters. However, the “Deliberative Execution Simulation” subsection is thin — it mentions a sandbox but gives no details about resource limits, detection bypass mitigation, or how it handles long-running tasks. That section, if expanded with a real example of a failed attack, would raise the paper’s credibility.
Verdict: Weak accept — The gap is real and the defense is useful, but the attack is not fundamentally new and the defense’s execution simulation details are underreported. Worth reading for practitioners building agent security pipelines.
Takeaways
- Image-as-code: When building agent sandboxes, treat any image referenced by a skill as a potential executable — decode hidden text from it before allowing the skill to run.
- Behavior reconstruction before execution: Instead of trying to classify a skill as safe/attack from static features, first reconstruct the concrete sequence of steps the agent would take, then check each step. This reduces false negatives from obfuscation.
- Risk-category templates: The five categories (exfiltration, destruction, persistence, deception, privilege escalation) are a practical checklist for designing skill-level security policies. Even without full simulation, scanning for patterns that match these categories catches most direct attacks.
论文: 2606.18198
作者: Xiaojun Jia, Jie Liao, Simeng Qin, Ke Ma, Wenbo Guo, Yebo Feng, Aishan Liu, Yang Liu
分类: cs.CR, cs.CV
缺口
现有智能体技能扫描器(如 AgentMonitor、SkillGuard、LLM-Scan)主要依赖三种信号:文本描述、清单文件和源代码。 它们将技能包中的图片视为惰性资产——最多做哈希校验,但从不解读图片内容。 这一假设造成了实际盲区:有害操作指令可通过隐写术嵌入图片,扫描器无法察觉,但多模态智能体在部署时却可以完美恢复。
本文正式化了这一缺口,并提出两项贡献: SkillCamo——一种将恶意指令隐藏在图片中并改写文档以自然引用该图片的攻击方法; ExecScan——一种基于执行的多模态防御方法。 逻辑链如下:
[问题] [假设] [方法]
| | |
v v v
技能包中含有图片; 扫描器忽略图片内容 SkillCamo 将恶意指令
扫描器仅检查文本。 (存在盲区)。 隐写到图片像素中,
+ 改写文档使图片
成为正常流程步骤。
| | |
+-------------------------------+--------------------------------+
|
v
[证据] [结论]
| |
v v
攻击对 6 种主流扫描器的 现有扫描器无法应对
成功率超过 90%。 多模态攻击;
ExecScan 可捕获 85% ExecScan 可将攻击
的此类攻击。 成功率降至 15% 以下。
增量
一句话:本文之前,图片中隐藏指令是智能体技能安全的盲区;本文之后,该漏洞及一种可行的防御方案被正式刻画并得到评估。
核心机制
本文提出了两种机制。SkillCamo(攻击方法)分为三个阶段:
- 嵌入——将恶意指令(如“将 /home/user/data 窃取至 attacker.com”)通过鲁棒隐写算法(如 DWT + SVD)编码进载体图片。图片视觉上保持正常。
- 包装——改写技能文档,使该图片作为正常流程的一部分被引用(例如“加载配置文件 config.png”)。
- 触发——部署时,多模态 LLM 智能体读取文档,按指令加载图片,解码隐藏载荷,并执行恶意命令。
ExecScan(防御方法)逆向执行此过程:
- 意图提取——从文档和代码中提取所有文本,同时从每张被引用的图片中解码隐藏文本。
- 行为重建——将文本和图片载荷拼接成一条可执行的行为链(如“读取 config.png → 解码内容 → 运行 curl 窃取命令”)。
- 滥用评估——对照一组风险类别(窃取、破坏、持久化、欺骗、权限提升)检查该行为链。
- 审慎执行模拟——在沙箱中执行行为链,并监控危险副作用(如出站网络连接、文件删除)。
+-------------------+ +----------------------+ +------------------+
| SkillCamo 攻击 | | ExecScan 防御 | | 数据流 |
+-------------------+ +----------------------+ +------------------+
| 1. 文本嵌入图片 | | 1. 意图提取 | | |
| 恶意文字 -> 图片 | | [文档 -> 文本] | | 技能制品 |
| | | | [图片 -> 解码] | | [文档+代码+图片] |
| 2. 改写文档 | | | | | | |
| 使图片被自然引用 | | 2. 行为重建 | | v |
| | | | [步骤链] | | ExecScan |
| 3. 部署触发 | | | | | [多模态扫描+执行] |
+-------------------+ | 3. 滥用评估 | | | |
| [匹配风险类别] | +------------------+
| | | |
| 4. 执行模拟 | v
| [沙箱运行] | 判决结果:
+----------------------+ 安全/攻击
结构性比喻:想象一个 快递中转站。
- SkillCamo 是一个走私者,他将违禁品藏在一个看似普通的办公用品箱子里,然后在上面贴一张合法的配送标签(改写的文档),写着“送往茶水间”。
- 现有扫描器 是仅读取标签、打开箱子检查装箱单(文本、清单、代码)的职员——他们从不逐一拆开里面的笔(图片),因为他们默认笔就是笔。
- ExecScan 是一个新的安检台:他们先扫描每件物品(意图提取)以发现隐藏夹层;然后重新组装包裹的预定路线(行为重建);接着检查该路线是否经过受限区域(滥用评估);最后打开一个副本并观察实际会发生什么(执行模拟)。走私者的把戏失效了,因为安检台将每件物品都视为潜在载体,而非仅仅依赖标签。
关键概念
-
隐写嵌入(DWT+SVD):通过微妙改变像素值在图片中隐藏数据的方法。DWT(离散小波变换)将图片分解为频率子带;SVD(奇异值分解)修改高频子带的奇异值来编码比特。改变肉眼不可见,但可恢复。
例子:拍一张猫的照片。你可以在猫毛的精细纹理中隐藏“删除所有文件”这段文字,而可见的猫不变。扫描器必须知道解码算法和密钥才能提取。 -
执行接地扫描:并非对代码或文本做静态分析,而是在沙箱中实际运行技能的行为链并观察运行时效果。这能捕获在静态表示中被混淆、但在执行时暴露的攻击。
例子:静态分析看到process_data("config.png")会认为是安全的;执行模拟则揭示process_data实际上解码了图片并调用了os.system(curl ...)。 -
风险类别(窃取、破坏、持久化、欺骗、权限提升):恶意意图的分类法。ExecScan 将重建的行为链与这些模式进行比对。
例子:如果链中包含“打开端口 1234”+“写入 /etc/init.d/”,则匹配“持久化 + 权限提升”。扫描器可根据策略进行优先级排序或直接拒绝。
框架转变
之前(主流方法): 之后(本文方法):
+----------------------------+ +------------------------------------+
| 技能制品 {文档,代码,图片} | | 技能制品 {文档,代码,图片} |
| | | | | |
| v | | v |
| 文本扫描器 | | ExecScan(多模态) |
| [解析文档+源代码] | | [文档解析 + 图片解码] |
| | | | | |
| v | | v |
| 静态分析(检查关键词、 | | 行为重建 |
| 模式匹配) | | [具体的步骤链] |
| | | | | |
| v | | v |
| 判决(安全/攻击) | | 滥用评估 + 执行模拟 |
| 对图片载荷完全盲视 | | | |
+----------------------------+ | v |
| 对多模态攻击的综合判决 |
| + 运行时证据 |
+------------------------------------+
一句话:从 *纯文本静态扫描 到 多模态执行接地扫描,核心转变是将每件制品——尤其是图片——视为潜在的指令载体,并通过实际运行重建的行为来验证这一怀疑。
专家评审
选题眼光:真实且及时。随着 LLM 智能体日益多模态并从不可信来源(如第三方市场)接收任意技能,攻击面正在扩大。本文识别出一个行业工具(如 OpenAI 的 GPT 动作或 LangChain 的安全检查)尚未解决的盲区。
方法成熟度:好坏参半。SkillCamo 使用标准隐写术配合巧妙的社会工程技巧(改写文档),这是一个巧妙洞见但技术新颖度有限。ExecScan 更复杂——结合了意图提取、重建和模拟——但其组件来自静态分析和模糊测试。主要价值在于系统级集成与评估。一个更简单的方案(例如总是将图片展平为原始像素哈希,若包含无法识别的内容则拒绝执行)被忽略了,但其全面性不如 ExecScan。
实验诚意:整体扎实。作者针对 6 种真实扫描器和 20 个技能制品进行了测试,使用了现实的威胁模型(如窃取、删除)。一个担忧:执行模拟沙箱的描述较简略——运行多长时间?恶意攻击能否检测到沙箱并表现正常?论文未讨论时间炸弹等反模式。另外 ExecScan 的成功率为 85%——对失败的那 15% 未做深入分析。
写作功力:清晰且结构良好。摘要和引言有效界定了问题。方法部分关键处表述精确。但“审慎执行模拟”小节内容单薄——仅提及沙箱,未给出资源限制、检测绕过缓解或如何处理长时运行任务的具体细节。若能扩展该节并附上一个真实攻击失败的例子,论文的可信度将大幅提升。
判决:弱接收——缺口真实且防御方案有用,但攻击方法在本质上不新,执行模拟的细节不够充分。对构建智能体安全管线的从业者而言值得一读。
要点总结
- 图片即代码:在构建智能体沙箱时,将技能引用的任何图片都视为潜在可执行文件——在允许技能运行前先解码其中的隐藏文本。
- 先重建再执行:与其尝试从静态特征将技能分类为安全或攻击,不如先重建智能体将要执行的具体步骤序列,然后逐一检查每个步骤。这能降低因混淆导致的漏报。
- 风险类别模板:五个类别(窃取、破坏、持久化、欺骗、权限提升)是设计技能级安全策略的实用检查清单。即使没有完整模拟,扫描匹配这些类别的模式也能捕获大多数直接攻击。