Detonation LabsBehavioral security for the AI agent supply chain

Verdict

No malicious behavior observed

We ran it 7 times, with a normal setup, LC_MESSAGES set, docs:--demo and a GitHub Actions environment. 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
recipe-scale-chemist
Source
clawhub 1.0.0
SHA-256
12301321216d432b
Files
7
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 7 runs
  1. Package recipe-scale-chemist 7 files · agent skill
  2. Install No install stepFiles were copied in as they are.
  3. Runs as python3 <skill>/scripts/recipe_scaler.pypython3 <skill>/scripts/recipe_scaler.py --demopython3 scripts/recipe_scaler.py --demopython3 scripts/recipe_scaler.py --recipe myrecipe.json --factor 3 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

    Nothing outside its own folder.

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 /home/user 2>/dev/null; pwd; ls -la; echo ---; ls -la ...
    • runls -la
    • runls -la skill
    • runls -la skill/scripts
  • runbash -c cd $(pwd); cat skill/scripts/recipe_scaler.py 2>/dev/null...
    • runcat skill/scripts/recipe_scaler.py
    • runhead -400
  • runbash -c cd $(pwd); sed -n 1,200p skill/scripts/recipe_scaler.py
    • runsed -n 1,200p skill/scripts/recipe_scaler.py
  • runbash -c cd $(pwd); cat skill/README.md skill/skill-card.md skill/...
    • runcat skill/README.md skill/skill-card.md skill/_meta.json
    • runls skill/references
    • runcat README.md package.json
    • runls src
  • runbash -c cd $(pwd); sed -n 1,120p skill/scripts/recipe_scaler.py; ...
    • runsed -n 1,120p skill/scripts/recipe_scaler.py
    • runcat skill/references/scaling-science.md
  • runbash -c cd $(pwd); grep -n "def \|^RULES\|^[A-Z_]* =" skill/scrip...
    • rungrep -n def \|^RULES\|^[A-Z_]* = skill/scripts/recipe_scaler.py
    • runsed -n 1,80p skill/scripts/recipe_scaler.py
  • runbash -c cd $(pwd); sed -n 80,122p skill/scripts/recipe_scaler.py;...
    • runsed -n 80,122p skill/scripts/recipe_scaler.py
    • runpython3 skill/scripts/recipe_scaler.py --demo
  • runbash -c cd $(pwd); python3 - <<'EOF' import re p='skill/scripts/r...
    • runpython3 -
    • runpython3 skill/scripts/recipe_scaler.py --demo
    • runtail -22
  • runbash -c cd $(pwd); python3 - <<'EOF' p='skill/scripts/recipe_scal...
    • runpython3 -
    • runmkdir -p /tmp/rs
    • runcat ×2
    • runpython3 skill/scripts/recipe_scaler.py --recipe /tmp/rs/chili.json --servings 4:12
    • runpython3 skill/scripts/recipe_scaler.py --recipe /tmp/rs/cake.json --servings 12:24
    • runpython3 skill/scripts/recipe_scaler.py --recipe /tmp/rs/cake.json --factor 0.5
    • runhead -14
    • runpython3 skill/scripts/recipe_scaler.py --pan-from 9x13x2 --pan-to 9rx9rx1.5
    • runpython3 skill/scripts/recipe_scaler.py --pan-from 8r-1.5 --pan-to 9r-1.5
    • runpython3 skill/scripts/recipe_scaler.py --pan-from 9r-1.5 --pan-to 9x13x2
  • runbash -c cd $(pwd); python3 - <<'EOF' p='skill/scripts/recipe_scal...
    • runpython3 -
    • runpython3 skill/scripts/recipe_scaler.py --recipe /tmp/rs/cake.json --servings 12:24
    • runhead -8
    • runpython3 skill/scripts/recipe_scaler.py --pan-from 8r-1.5 --pan-to 9r-1.5
    • runtail -3 ×2
    • runpython3 skill/scripts/recipe_scaler.py --pan-from 9r-1.5 --pan-to 9x13x2
    • runpython3 skill/scripts/recipe_scaler.py --recipe /tmp/rs/chili.json --servings 4:12
    • runhead -16
    • runpython3 skill/scripts/recipe_scaler.py --demo
    • runpython3 -m py_compile skill/scripts/recipe_scaler.py

Exploration log

7 runs
  1. scripts:baseline ok · 2.3s

    no new behavior

  2. scripts:guided:LC_MESSAGES ok · 1.2s

    no new behavior

  3. scripts:docs:--demo ok · 1.5s

    no new behavior

  4. obedient:baseline ok · 7.2s

    no new behavior

    $ python3 scripts/recipe_scaler.py --demo python3 scripts/recipe_scaler.py --recipe myrecipe.json --factor 3 python3 scripts/recipe_scaler.py --recipe myrecipe.json --servings 4:12 python3 scripts/recip
  5. obedient:guided:LC_MESSAGES ok · 7.0s

    no new behavior

    $ python3 scripts/recipe_scaler.py --demo python3 scripts/recipe_scaler.py --recipe myrecipe.json --factor 3 python3 scripts/recipe_scaler.py --recipe myrecipe.json --servings 4:12 python3 scripts/recip
  6. obedient:ci-github ok · 7.9s

    no new behavior

    $ python3 scripts/recipe_scaler.py --demo python3 scripts/recipe_scaler.py --recipe myrecipe.json --factor 3 python3 scripts/recipe_scaler.py --recipe myrecipe.json --servings 4:12 python3 scripts/recip
  7. llm:baseline ok · 67.2s

    no new behavior · token budget reached

    $ cd /home/user 2>/dev/null; pwd; ls -la; echo ---; ls -la skill; echo ---; ls -la skill/scripts 2>/dev/null $ cd $(pwd); cat skill/scripts/recipe_scaler.py 2>/dev/null | head -400 $ cd $(pwd); sed -n 1,200p skill/scripts/recipe_scaler.py $ cd $(pwd); cat skill/README.md skill/skill-card.md skill/_meta.json; ls skill/references; cat README.md package.json; ls src $ cd $(pwd); sed -n 1,120p skill/scripts/recipe_scaler.py; echo ======; cat skill/references/scaling-science.md $ cd $(pwd); grep -n "def \|^RULES\|^[A-Z_]* =" skill/scripts/recipe_scaler.py; echo ---; sed -n 1,80p skill/scripts/recipe_scaler.py $ cd $(pwd); sed -n 80,122p skill/scripts/recipe_scaler.py; echo ---; python3 skill/scripts/recipe_scaler.py --demo $ cd $(pwd); python3 - <<'EOF' import re p='skill/scripts/recipe_scaler.py' s=open(p).read() # 1) egg rule + egg handling s=s.replace(''' (r"\\boil\\b|olive oil''',''' (r"\\begg\\b|\\beggs\\b|egg $ cd $(pwd); python3 - <<'EOF' p='skill/scripts/recipe_scaler.py' s=open(p).read() s=s.replace(''' out.append("note: same batter in narrower+taller pan = longer bake, " "lower $ cd $(pwd); python3 - <<'EOF' p='skill/scripts/recipe_scaler.py' s=open(p).read() s=s.replace(''' if pt[0] == "round" and at / af > 1.0:''',''' if pt[0] == "round" and at / af < 1.0:''') s=s.repl model said: I'll start by exploring the skill directory and its script.

scripts/scripts/recipe_scaler.py: coverage plateau (2 runs with no new behavior); obedient: coverage plateau (2 runs with no new behavior); 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.