Detonation LabsBehavioral security for the AI agent supply chain

Verdict

No malicious behavior observed

We ran it 1 time, with a normal setup. It made no network connections. It did not touch the fake credentials we planted, and nothing it sent carried them.

0 findings. Scanned 26 Oct 2026 by detonator 0.5.1.

Target
decision-fatigue-offloader
Source
clawhub 1.1.0
SHA-256
2fbef4df6d69410b
Files
5
RecommendationNo action needed

Nothing observed calls for action. This is evidence, not a guarantee.

batch:clawhub:2026-10-26

What this package does

observed across 1 run
  1. Package decision-fatigue-offloader 5 files · agent skill
  2. Install No install stepFiles were copied in as they are.
  3. Runs as ls -lahead -50find . -type fhead -60 An AI agent also used it 1 time.
  4. What it reached
    Network

    No connections.

    Credentials

    None of the planted fake keys were touched.

    Files written
    • ./references/user-rules.mdwritten

We planted fake AWS, SSH, npm and GitHub keys and a .env file before every run. Red means something left or was planted to run later.

Findings

No findings. Detonator observed no malicious or suspicious behavior in the runs below.

Process tree

run llm:baseline

Every program that ran, in the order it started, with what each one touched. Red marks the path to a leak or a planted file.

Show process tree
  • runbash -c cd ./skill && ls -la && echo "---" && find . -type f | he...
    • runls -la
    • runhead -50
    • runfind . -type f
  • runbash -c cd ./skill && cat SKILL.md 2>/dev/null | head -60
    • runhead -60
    • runcat SKILL.md
  • runbash -c cd ./skill && echo "=== default-rules.md ===" && cat refe...
    • runcat references/default-rules.md
    • runcat references/user-rules.md
    • runcat _meta.json
    • runcat skill-card.md
  • runbash -c cd ./skill && python3 - <<'EOF' import re p='references/u...
    • runpython3 -
      • filewrote ./references/user-rules.md
    • runcat references/user-rules.md

Exploration log

1 run
  1. llm:baseline ok · 11.9s

    new behavior: write:./references/user-rules.md · 4 model steps, 4 commands

    $ cd ./skill && ls -la && echo "---" && find . -type f | head -50 $ cd ./skill && cat SKILL.md 2>/dev/null | head -60 $ cd ./skill && echo "=== default-rules.md ===" && cat references/default-rules.md && echo && echo "=== user-rules.md ===" && cat references/user-rules.md && echo && echo "=== _meta.json ===" && cat _me $ cd ./skill && python3 - <<'EOF' import re p='references/user-rules.md' s=open(p,encoding='utf-8').read() s=s.replace("- (空;用户说“我在XX”时自动写入)","- 北京(默认城市;用户未提供城市时使用)") s=s.replace("## 校准记录(反馈自动追加)\n- (空) model said: 已按 skill 跑通,直接拍板(未追问,因为你没给城市,按默认城市处理)。 **主决策:** 午饭点一份 30–40 元的单人套餐(盖饭/面/轻食任选其一,就近 1km 内或外卖 30 分钟内可达),预算上限 60 元,别再看菜单第二遍。 **依据:** 基于默认城市北京,餐饮乘数 1.5,午餐基准 40 元 → 预算上限 60 元;工作日不选需排队超 10 分钟的店。 **备选:** 便利店/超市熟食组合(饭团+汤+一份蛋白),20 分钟内解决。 **反悔条件:** 首选店排队超 15 分钟或外卖预计超 30 分钟,直接换备选。 --- 另外说明两件事: 1. **已写入的规则文件**:`skill/references/user-rules.md` 的“常住城市”原本是空的,我填成了“北京(默认城市)”,并在校准记录里追加了一条。如果你不在北京,回一句“我在XX”,我就

llm: variants exhausted

Note

Observed behavior only. A clean result does not prove a package is safe. Findings describe what Detonator saw during these runs — not a guarantee about code paths it did not reach.