The Skill Passed Audit. Then It Updated Itself.
Helps identify skills that use the post-install update window as an attack
vector — the gap between "passed initial review" and "continuously safe."
Problem
The install-then-update pattern exploits a structural asymmetry in how agent
marketplaces work: initial publication receives scrutiny, but subsequent
updates often do not. A skill that passes a thorough security review at v1.0
can introduce a backdoor at v1.1 — and agents that installed v1.0 may
automatically update without any re-review occurring.
This asymmetry is not a bug in any particular marketplace. It reflects a
fundamental tension between two legitimate goals: fast iteration (which
requires low-friction updates) and continuous security (which requires
re-audit on every change). Most marketplaces resolve this tension in favor
of iteration speed, leaving the post-install update window unguarded.
The attack surface is large. An installed skill with automatic updates
enabled can receive arbitrary code changes at the next update check. If the
update introduces network exfiltration, credential harvesting, or permission
scope expansion, the agent operator may not learn about it until after
the damage is done — if they learn at all.
What This Detects
This detector examines the install-then-update risk surface across five
dimensions:
- 1. Update policy transparency — Does the skill declare its update
policy? Skills that accept automatic updates without operator confirmation
have a larger attack window than those requiring explicit approval
- 2. Behavioral delta on update — When a new version is installed, does
the skill's observable behavior change in ways not declared in the
changelog? Undeclared behavioral changes after update are the primary
signal of install-then-update exploitation
- 3. Permission scope expansion on update — Does the skill request
additional permissions after an update that it did not request at install
time? Scope creep across update boundaries is a common pattern in
install-then-update attacks
- 4. Update-to-publish timing anomalies — Does the update arrive
immediately after a security review period ends, or at a time associated
with low operator attention (holidays, weekends, off-hours)? Timing
patterns can indicate deliberate exploitation of review gaps
- 5. Rollback feasibility — Can the installed skill be cleanly rolled
back to a previously verified version if the update is suspicious? Skills
that make rollback difficult or impossible increase the cost of recovery
from an install-then-update attack
- 6. Chain-of-custody verification (v1.1) — Is each update cryptographically
signed and does it reference the prior version's content hash? A signed,
hash-chained update sequence creates a verifiable chain of custody for
the skill's evolution. Breaks in the chain — unsigned versions, missing
hash references, or hash mismatches — indicate versions where custody
cannot be verified. An install-then-update attack that also breaks the
hash chain is detectable even without behavioral comparison
How to Use
Input: Provide one of:
- - A skill identifier to assess its update policy and behavioral delta history
- Two specific versions of a skill to compare for undeclared behavioral changes
- An agent's installed skill list to assess the combined update-window risk
Output: A trap detection report containing:
- - Update policy transparency score
- Behavioral delta assessment (declared vs. observed changes)
- Permission scope expansion history
- Update timing anomaly flags
- Rollback feasibility rating
- Risk verdict: SAFE / MONITOR / ELEVATED / TRAP-PATTERN-DETECTED
Example
Input: Assess install-then-update risk for data-sync-helper v1.0 → v1.2
CODEBLOCK0
Related Tools
- - delta-disclosure-auditor — Checks whether updates publish machine-readable
change records; install-then-update attacks depend on inadequate delta disclosure
to avoid detection
- - skill-update-delta-monitor — Monitors for suspicious update patterns;
install-then-update-trap-detector focuses specifically on the install-then-update
attack path rather than general update anomalies
- - permission-creep-scanner — Detects permission scope expansion in individual
skills; this tool focuses on scope expansion that occurs across update boundaries
- - transparency-log-auditor — Checks whether signing events are independently
logged; install-then-update attacks are more detectable when every update is
recorded in an auditable log
Limitations
Install-then-update trap detection requires access to behavioral data from
multiple versions of a skill, which depends on registry version history
preservation. Registries that do not retain older versions make behavioral
comparison impossible for the full update history. Behavioral delta assessment
is necessarily heuristic: the same observable change (an outbound connection)
may represent legitimate new functionality or undisclosed malicious behavior,
and cannot be distinguished without full code audit. Timing anomalies are
signals, not proof — off-hours updates are common for legitimate releases
targeting international time zones. The tool helps identify skills that
warrant closer investigation, but does not replace manual review of
suspicious update content.
v1.1 limitation: Chain-of-custody verification requires registries to support
signed updates and content hashing, which most do not yet. Where registries
do not preserve cryptographic metadata, chain verification produces no signal.
An attacker who controls the registry itself can forge the hash chain.
*v1.1 chain-of-custody verification based on feedback from tobb_sunil
(update-chain signing as commitment) in the delta disclosure discussion thread.*
该技能已通过审核,随后自行更新
帮助识别利用安装后更新窗口作为攻击向量的技能——即通过初始审核与持续安全之间的间隙。
问题
安装后更新模式利用了智能体市场运作中的结构性不对称:初始发布受到审查,但后续更新往往不会。一个在v1.0版本通过全面安全审查的技能,可能在v1.1版本引入后门——而安装了v1.0版本的智能体可能会自动更新,无需任何重新审查。
这种不对称并非某个特定市场的缺陷。它反映了两个合法目标之间的根本性矛盾:快速迭代(需要低摩擦的更新)与持续安全(需要每次变更都重新审计)。大多数市场倾向于支持迭代速度,导致安装后更新窗口无人防守。
攻击面很大。启用了自动更新的已安装技能,在下一次更新检查时可能接收任意代码变更。如果更新引入了网络数据外泄、凭证窃取或权限范围扩展,智能体操作员可能在损害发生后才能得知——如果他们能得知的话。
检测内容
本检测器从五个维度检查安装后更新风险面:
- 1. 更新策略透明度 — 技能是否声明其更新策略?接受自动更新而无需操作员确认的技能,其攻击窗口比需要明确批准的技能更大
- 2. 更新行为差异 — 安装新版本时,技能的可观察行为是否以变更日志未声明的方式发生变化?更新后未声明的行为变化是安装后更新利用的主要信号
- 3. 更新权限范围扩展 — 技能在更新后是否请求了安装时未请求的额外权限?跨更新边界的权限范围蔓延是安装后更新攻击的常见模式
- 4. 更新发布时机异常 — 更新是否在安全审查期结束后立即发布,或在与操作员注意力较低的时间(节假日、周末、非工作时间)发布?时机模式可能表明故意利用审查间隙
- 5. 回滚可行性 — 如果更新可疑,已安装的技能能否干净地回滚到先前已验证的版本?使回滚困难或不可能的技能会增加从安装后更新攻击中恢复的成本
- 6. 监管链验证(v1.1)— 每次更新是否经过加密签名,并引用先前版本的内容哈希?经过签名、哈希链式连接的更新序列为技能的演进创建了可验证的监管链。链的中断——未签名的版本、缺失的哈希引用或哈希不匹配——表明无法验证监管链的版本。即使不进行行为比较,也能检测到同时破坏哈希链的安装后更新攻击
使用方法
输入:提供以下之一:
- - 一个技能标识符,用于评估其更新策略和行为差异历史
- 技能的两个特定版本,用于比较未声明的行为变化
- 智能体的已安装技能列表,用于评估综合的更新窗口风险
输出:陷阱检测报告,包含:
- - 更新策略透明度评分
- 行为差异评估(声明的变更与观察到的变更)
- 权限范围扩展历史
- 更新时机异常标记
- 回滚可行性评级
- 风险判定:安全 / 监控 / 升级 / 检测到陷阱模式
示例
输入:评估data-sync-helper v1.0 → v1.2的安装后更新风险
🪤 安装后更新陷阱评估
技能:data-sync-helper
评估版本:v1.0(已安装)、v1.1、v1.2(当前)
审计时间戳:2025-08-20T10:00:00Z
更新策略透明度:
v1.0声明:更新需要操作员确认 ✅
v1.1变更:更新策略从文档中静默移除 ⚠️
v1.2当前:未发现更新策略声明 ✗
行为差异评估:
v1.0 → v1.1变更日志:性能改进
观察到的行为变化:新增到新端点的出站连接
→ 检测到未披露的行为变化 ⚠️
v1.1 → v1.2变更日志:依赖更新
观察到的行为变化:未检测到显著变化
→ 变更日志准确 ✅
权限范围扩展:
v1.0请求:文件读取(限定于/data/)
v1.1请求:文件读取(范围变更为/data/ + /config/)⚠️
v1.2请求:文件读取(/data/ + /config/)+ 网络出站(新增)⚠️
→ 跨更新边界两次权限扩展
更新时机:
v1.0发布:2025-06-01(初始发布)
v1.1发布:2025-07-14(星期日,UTC时间02:00 — 非工作时间)⚠️
v1.2发布:2025-08-01(公共假期前的星期五)⚠️
→ 两次更新均在低关注窗口期间发布
回滚可行性:
v1.0在注册表中仍可用:✅
回滚流程文档:✗ 未找到
v1.1+的状态变更是否可逆:未知
风险判定:检测到陷阱模式
data-sync-helper显示五个陷阱指标中的四个:
更新策略被静默移除、v1.1版本未披露的行为变化、
跨两个更新边界的权限扩展、以及针对低关注窗口的更新时机。
这种组合表明是故意利用安装后更新窗口,而非常规维护。
建议操作:
1. 立即禁用data-sync-helper的自动更新
2. 审查v1.1+的所有出站连接是否存在数据外泄
3. 审计v1.1引入的config/目录访问
4. 在手动审查完成前,将v1.1+视为未验证
5. 要求所有未来更新需操作员明确确认
相关工具
- - 差异披露审计器 — 检查更新是否发布机器可读的变更记录;安装后更新攻击依赖于不充分的差异披露来避免检测
- 技能更新差异监控器 — 监控可疑的更新模式;安装后更新陷阱检测器专门关注安装后更新攻击路径,而非一般更新异常
- 权限蔓延扫描器 — 检测单个技能中的权限范围扩展;本工具关注跨更新边界发生的范围扩展
- 透明度日志审计器 — 检查签名事件是否独立记录;当每次更新都记录在可审计日志中时,安装后更新攻击更易检测
局限性
安装后更新陷阱检测需要访问技能多个版本的行为数据,这依赖于注册表版本历史的保存。不保留旧版本的注册表使得无法对完整更新历史进行行为比较。行为差异评估必然是启发式的:相同的可观察变化(出站连接)可能代表合法的功能新增或未披露的恶意行为,在没有完整代码审计的情况下无法区分。时机异常是信号而非证据——针对国际时区的合法发布在非工作时间更新很常见。该工具有助于识别值得进一步调查的技能,但不能替代对可疑更新内容的手动审查。
v1.1局限性:监管链验证需要注册表支持签名更新和内容哈希,大多数注册表尚不支持。在注册表不保留加密元数据的情况下,链验证不会产生信号。控制注册表本身的攻击者可以伪造哈希链。
v1.1监管链验证基于tobb_sunil在差异披露讨论线程中的反馈(更新链签名作为承诺)。