Verdict
No malicious behavior observed
We ran it 7 times, with a normal setup, LC_MESSAGES set, docs:--kg 4 --spin 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
- laundry-dry-forecaster
- Source
- clawhub 1.0.0
- SHA-256
- 01aad50e38fb83fe
- Files
- 7
Nothing observed calls for action. This is evidence, not a guarantee.
batch:clawhub:2026-10-26
What this package does
observed across 7 runs- Package laundry-dry-forecaster 7 files · agent skill
- Install No install stepFiles were copied in as they are.
- Runs as python3 <skill>/scripts/laundrydry.pypython3 <skill>/scripts/laundrydry.py --kg 4 --spinpython3 scripts/laundrydry.py --kg 4 --spin 1400head -50 An AI agent also used it 1 time.
-
What it reached
Network
No connections.
CredentialsNone of the planted fake keys were touched.
Files writtenNothing 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:baselineEvery 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 find ./skill -type f | head -50 && echo "---" && cat ./sk...
- runhead -50
- runfind ./skill -type f
- runhead -5
- runcat ./skill/SKILL.md
- runbash -c cd skill && cat README.md && echo "=====" && cat referenc...
- runcat README.md
- runcat references/drying-physics.md
- runpython3 scripts/laundrydry.py --help
- runbash -c cd skill && cat scripts/laundrydry.py
- runcat scripts/laundrydry.py
- runbash -c cd skill && sed -n 1,80p scripts/laundrydry.py
- runsed -n 1,80p scripts/laundrydry.py
- runbash -c cd skill && sed -n 80,100p scripts/laundrydry.py
- runsed -n 80,100p scripts/laundrydry.py
- runbash -c cd skill && echo "### A: still room, hang 22:00, need by ...
- runpython3 scripts/laundrydry.py --kg 4 --spin 1400 ×4
- runbash -c cd skill && echo "### E: still, dry start 45%RH, threshol...
- runpython3 scripts/laundrydry.py --kg 4 --spin 1400 ×3
- runpython3 scripts/laundrydry.py --kg 4 --spin 800
- runbash -c cd skill && python3 -c "
import sys; sys.path.insert(0,'s...
- runpython3 -c import sys; sys.path.insert(0,'scripts') import laundryd...
Exploration log
7 runs-
scripts:baseline ok · 0.9s
no new behavior
-
scripts:guided:LC_MESSAGES ok · 1.8s
no new behavior
-
scripts:docs:--kg 4 --spin ok · 1.7s
no new behavior
-
obedient:baseline ok · 4.1s
no new behavior
$ python3 scripts/laundrydry.py --kg 4 --spin 1400 --tin 20 --rh 60 --airflow still \ --room-m3 40 --vent-ach 1.0 --hang-hour 22 --deadline 7 python3 scripts/laundrydry.py --kg 4 --spin 1400 - -
obedient:guided:LC_MESSAGES ok · 2.4s
no new behavior
$ python3 scripts/laundrydry.py --kg 4 --spin 1400 --tin 20 --rh 60 --airflow still \ --room-m3 40 --vent-ach 1.0 --hang-hour 22 --deadline 7 python3 scripts/laundrydry.py --kg 4 --spin 1400 - -
obedient:ci-github ok · 2.2s
no new behavior
$ python3 scripts/laundrydry.py --kg 4 --spin 1400 --tin 20 --rh 60 --airflow still \ --room-m3 40 --vent-ach 1.0 --hang-hour 22 --deadline 7 python3 scripts/laundrydry.py --kg 4 --spin 1400 - -
llm:baseline ok · 20.9s
no new behavior · 8 model steps, 8 commands
$ find ./skill -type f | head -50 && echo "---" && cat ./skill/SKILL.md | head -5 $ cd skill && cat README.md && echo "=====" && cat references/drying-physics.md && echo "=====" && python3 scripts/laundrydry.py --help $ cd skill && cat scripts/laundrydry.py $ cd skill && sed -n 1,80p scripts/laundrydry.py $ cd skill && sed -n 80,100p scripts/laundrydry.py $ cd skill && echo "### A: still room, hang 22:00, need by 07:00" && python3 scripts/laundrydry.py --kg 4 --spin 1400 --tin 20 --rh 60 --airflow still --room-m3 40 --vent-ach 1.0 --hang-hour 22 --deadli $ cd skill && echo "### E: still, dry start 45%RH, threshold 70" && python3 scripts/laundrydry.py --kg 4 --spin 1400 --tin 20 --rh 45 --airflow still --room-m3 40 --vent-ach 1.0 --hang-hour 22 --deadlin $ cd skill && python3 -c " import sys; sys.path.insert(0,'scripts') import laundrydry as L for air in ['still','fan','dehumidifier']: w,e,t,peak,ph = L.simulate(4,1400,20,60,air,40,1.0) print(ai model said: The script is intact. Let me run a realistic scenario set: the classic "hang at 22:00, dry by 07:00?" question, plus airflow variants and the cost comparison.
scripts/scripts/laundrydry.py: coverage plateau (2 runs with no new behavior); obedient: coverage plateau (2 runs with no new behavior); llm: variants exhausted
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.