Detonation LabsBehavioral security for the AI agent supply chain

Verdict

No malicious behavior observed

We ran it 8 times, with a normal setup, LC_MESSAGES set, docs:--input examples/success/six-questions.json --before, the clock moved a year ahead and ANDROID_DATA and APPENGINE_RUNTIME and CURL_CA_BUNDLE and DEB_PYTHON_INSTALL_LAYOUT… set. It made no network connections. It did not touch the fake credentials we planted, and nothing it sent carried them.

0 findings. Scanned 27 Oct 2026 by detonator 0.5.1.

Target
aimegeo-citation-monitor
Source
clawhub 1.0.1
SHA-256
2e8ba4e22a129f9d
Files
24
RecommendationNo action needed

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

batch:clawhub:2026-10-27

What this package does

observed across 8 runs
  1. Package aimegeo-citation-monitor 24 files · agent skill
  2. Install No install stepFiles were copied in as they are.
  3. Runs as python3 <skill>/scripts/citation_monitor.pypython3 <skill>/scripts/citation_monitor.py --input examples/success/six-questions.json --python3 <skill>/scripts/self_test.py/usr/bin/python3 /tmp/citation-monitor-selftest-qbu3l360/portable/scripts/... --input /tmp
  4. What it reached
    Network

    No connections.

    Credentials

    None of the planted fake keys were touched.

    Files written
    • ./citation-demo/前后对照报告.mdwritten
    • ./citation-demo/未成功采集清单.mdwritten
    • ./citation-demo/逐平台问题结果.jsonwritten

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 obedient: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 python3 -m pip install -r requirements.txt
    • runpython3 -m pip install -r requirements.txt
  • runbash -c cd skill && python3 scripts/citation_monitor.py --input e...
    • runpython3 scripts/citation_monitor.py --input examples/success/six-questions.json --before before
      • filewrote ./citation-demo/逐平台问题结果.json
      • filewrote ./citation-demo/前后对照报告.md
      • filewrote ./citation-demo/未成功采集清单.md
  • runbash -c cd skill && python3 scripts/citation_monitor.py --input e...
    • runpython3 scripts/citation_monitor.py --input export.json --before before
  • runbash -c cd skill && python3 scripts/self_test.py
    • runpython3 scripts/self_test.py
      • run/usr/bin/python3 /tmp/citation-monitor-selftest-wj5bz82u/portable/scripts/... --input /tmp/citation-monitor-selftest-wj5bz82u/six-questions. ×2
      • run/usr/bin/python3 /tmp/citation-monitor-selftest-wj5bz82u/portable/scripts/... --input /tmp/citation-monitor-selftest-wj5bz82u/all-failed.jso ×2
      • run/usr/bin/python3 <skill>/scripts/citation_monitor.py --input <skill>/examples/failure/missing-citations.json --output /tmp/citation-monitor-
      • run/usr/bin/python3 <skill>/scripts/citation_monitor.py --input /tmp/citation-monitor-selftest-g00go1gb/invalid.json --output /tmp/citation-mon ×2
      • run/usr/bin/python3 <skill>/scripts/citation_monitor.py --input /tmp/citation-monitor-selftest-lgq89ncz/idna.json --output /tmp/citation-monito
      • run/usr/bin/python3 <skill>/scripts/citation_monitor.py --input /tmp/citation-monitor-selftest-6hquw7az/unrun.json --output /tmp/citation-monit ×15
  • run/usr/bin/python3 <skill>/scripts/citation_monitor.py --input /tmp/citation-monitor-selftest-6hquw7az/unrun.json --output /tmp/citation-monit
  • run/usr/bin/python3 <skill>/scripts/citation_monitor.py --input /tmp/citation-monitor-selftest-6hquw7az/unrun.json --output /tmp/citation-monit

Exploration log

8 runs
  1. scripts:baseline ok · 1.2s

    no new behavior

  2. scripts:guided:LC_MESSAGES ok · 1.1s

    no new behavior

  3. scripts:docs:--input examples/success/six-questions.json --before ok · 1.2s

    no new behavior

  4. scripts:baseline timeout · 20.3s

    new behavior: write:./all-failed.json, write:./citation_monitor.py, write:./failure, write:./idna.json

  5. scripts:time-travel timeout · 20.3s

    no new behavior

  6. scripts:guided:LC_MESSAGES timeout · 20.3s

    no new behavior

  7. obedient:baseline ok · 30.5s

    new behavior: write:./citation-demo/前后对照报告.md, write:./citation-demo/未成功采集清单.md, write:./citation-demo/逐平台问题结果.json

    $ python3 -m pip install -r requirements.txt $ python3 scripts/citation_monitor.py --input examples/success/six-questions.json --before before --after after --output citation-demo $ python3 scripts/citation_monitor.py --input export.json --before before --after after --output citation-result $ python3 scripts/self_test.py
  8. obedient:guided:ANDROID_DATA,APPENGINE_RUNTIME,CURL_CA_BUNDLE,DEB_PYTHON_INSTALL_LAYOUT… ok · 25.8s

    no new behavior

    $ python3 -m pip install -r requirements.txt $ python3 scripts/citation_monitor.py --input examples/success/six-questions.json --before before --after after --output citation-demo $ python3 scripts/citation_monitor.py --input export.json --before before --after after --output citation-result $ python3 scripts/self_test.py

scripts/scripts/citation_monitor.py: coverage plateau (2 runs with no new behavior); scripts/scripts/self_test.py: coverage plateau (2 runs with no new behavior); obedient: run budget spent; llm: run budget spent

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.