Detonation LabsBehavioral security for the AI agent supply chain

Verdict

No malicious behavior observed

We ran it 8 times, with a normal setup, the environment variables it says it needs, a production environment, everything and a GitHub Actions environment. It contacted github.com and registry.npmjs.org. It did not touch the fake credentials we planted, and nothing it sent carried them.

2 findings. Scanned 27 Oct 2026 by detonator 0.5.1.

Target
sogni-worlds
Source
clawhub 0.3.1
SHA-256
5b19a0ef0e5a59bf
Files
4
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 sogni-worlds 4 files · agent skill
  2. Install No install scripts of its ownOnly the package manager ran.
  3. Runs as git clone https://github.com/Sogni-AI/sogni-worlds-kit/usr/lib/git-core/git remote-https origin https://github.com/Sogni-AI/sogni-worlds-kit/usr/lib/git-core/git-remote-https origin https://github.com/Sogni-AI/sogni-worlds-kitnode world doctor
  4. What it reached
    Network
    • github.com 11 connections, 3.0 KB sent
    • registry.npmjs.org name lookup only
    Credentials

    None of the planted fake keys were touched.

    ~/.npmrc read by its own tool (normal)

    Files written
    • ./sogni-worlds-kit/.git/HEAD.lockwritten
    • ./sogni-worlds-kit/.git/config.lockwritten
    • ./sogni-worlds-kit/.git/descriptionwritten
    • ./sogni-worlds-kit/.git/info/excludewritten
    • ./sogni-worlds-kit/.git/tC6Hmz5written
    • ./sogni-worlds-kit/.git/tEjWwECwritten
    • ./sogni-worlds-kit/.git/tJqlGwgwritten
    • ./sogni-worlds-kit/.git/tQDuTONwritten
    • ./sogni-worlds-kit/.git/tUoa6nOwritten
    • ./sogni-worlds-kit/.git/tezGXIKwritten
    • ./sogni-worlds-kit/.git/tfi3FLxwritten
    • ./sogni-worlds-kit/.git/ttReRkIwritten

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

F01 Low

Network destinations contacted

Confidence
Info The package connected to these hosts.
Observed in
obedient:baseline, obedient:production

Description

Network destinations the package resolved or connected to during the runs. All traffic was captured by the sandbox; nothing reached the internet.

Impact

Context only. Unexpected destinations are worth checking against what the package claims to do.

Evidence

github.com
registry.npmjs.org

Remediation

Confirm each host is expected (the package's API, its registry). Allowlist expected egress in production.

F02 Low

A tool read its own credentials (e.g. gh, aws, ssh)

Confidence
Info A tool opened its own login or config file, such as npm reading ~/.npmrc.
Observed in
obedient:production

Description

A tool opened its own configuration or login file, such as npm reading ~/.npmrc or gh reading its hosts file.

Impact

None in itself: this is how those tools work. Listed so the report shows every credential access.

Evidence

~/.npmrc (by npm)

Remediation

No action needed.

Process tree

run obedient:production

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 git clone https://github.com/Sogni-AI/sogni-worlds-kit ...
    • rungit clone https://github.com/Sogni-AI/sogni-worlds-kit
      • filewrote ./sogni-worlds-kit/.git/description
      • filewrote ./sogni-worlds-kit/.git/info/exclude
      • filewrote ./sogni-worlds-kit/.git/HEAD.lock
      • filewrote ./sogni-worlds-kit/.git/config.lock
      • filewrote ./sogni-worlds-kit/.git/tfi3FLx
      • run/usr/lib/git-core/git remote-https origin https://github.com/Sogni-AI/sogni-worlds-kit
        • run/usr/lib/git-core/git-remote-https origin https://github.com/Sogni-AI/sogni-worlds-kit
          • netgithub.com:443 sent 246 B
          • netgithub.com:443 sent 192 B
          • netDNS lookups for github.com, npmjs.org 4 queries
    • runnpm install
      • runnode /usr/bin/npm install
        • secretread ~/.npmrc (its own config)

Exploration log

8 runs
  1. obedient:baseline ok · 8.1s

    new behavior: dns:github.com, write:./sogni-worlds-kit/.git/HEAD, write:./sogni-worlds-kit/.git/HEAD.lock, write:./sogni-worlds-kit/.git/config

    $ git clone https://github.com/Sogni-AI/sogni-worlds-kit cd sogni-worlds-kit && npm install node world doctor
  2. obedient:declared-env ok · 7.2s

    new behavior: write:./sogni-worlds-kit/.git/tEjWwEC

    $ git clone https://github.com/Sogni-AI/sogni-worlds-kit cd sogni-worlds-kit && npm install node world doctor
  3. obedient:production ok · 20.3s

    new behavior: dns:registry.npmjs.org, ownread:~/.npmrc, write:./sogni-worlds-kit/.git/tfi3FLx, write:~/.npm/_logs/*-debug-0.log

    $ git clone https://github.com/Sogni-AI/sogni-worlds-kit cd sogni-worlds-kit && npm install node world doctor
  4. obedient:everything ok · 20.3s

    new behavior: write:./sogni-worlds-kit/.git/tC6Hmz5

    $ git clone https://github.com/Sogni-AI/sogni-worlds-kit cd sogni-worlds-kit && npm install node world doctor
  5. obedient:ci-github ok · 20.3s

    new behavior: write:./sogni-worlds-kit/.git/tJqlGwg

    $ git clone https://github.com/Sogni-AI/sogni-worlds-kit cd sogni-worlds-kit && npm install node world doctor
  6. obedient:cloud-creds ok · 7.1s

    new behavior: write:./sogni-worlds-kit/.git/tezGXIK

    $ git clone https://github.com/Sogni-AI/sogni-worlds-kit cd sogni-worlds-kit && npm install node world doctor
  7. obedient:ci-gitlab ok · 9.7s

    new behavior: write:./sogni-worlds-kit/.git/tQDuTON

    $ git clone https://github.com/Sogni-AI/sogni-worlds-kit cd sogni-worlds-kit && npm install node world doctor
  8. obedient:time-travel ok · 5.4s

    new behavior: write:./sogni-worlds-kit/.git/ttReRkI

    $ git clone https://github.com/Sogni-AI/sogni-worlds-kit cd sogni-worlds-kit && npm install node world doctor

obedient: variants exhausted; 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.