Findings
F01
Low
Network destinations contacted
- Confidence
- Info The package connected to these hosts.
- Observed in
- obedient:baseline
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.
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:baseline
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.
Remediation
No action needed.
F03
Low
Used the planted login with its own service (registry.npmjs.org)
- Confidence
- Info A planted login went to the service it belongs to, as normal authentication (npm sending its token to registry.npmjs.org while installing).
- Observed in
- obedient:guided:ANDROID_DATA,APPENGINE_RUNTIME,CURL_CA_BUNDLE,DEB_PYTHON_INSTALL_LAYOUT…
Description
A planted login was sent to the service it belongs to, only as the Authorization header of ordinary requests: for example npm sending the ~/.npmrc token to registry.npmjs.org while installing dependencies.
Impact
None in itself: this is how the package manager authenticates. Publishing, unpublishing or creating tokens with it would be reported as exfiltration.
Evidence
~/.npmrc (npm) sent only as the login header of ordinary requests (no publish)
Remediation
No action needed.
F04
Low
The fake credential we configured was sent to its API (expected)
- Confidence
- Info The fake API key we configured to start the server was sent to its own service.
- Observed in
- obedient:declared-env
Description
A fake credential Detonator configured to start the server was sent to its own API.
Impact
Expected for servers that wrap an online service.
Evidence
$SCAVIO_API_KEY: sent to api.scavio.dev
Remediation
Confirm the host is the service the key belongs to.
F05
Low
Loaded the project's .env file
- Confidence
- Info The package loaded the project's .env file.
- Observed in
- llm:baseline
Description
The process loaded the project's .env file. Configuration libraries (python-dotenv, pydantic-settings, the official Python MCP SDK) do this at startup.
Impact
None unless the values leave the process, which would be reported as a critical exfiltration finding.
Remediation
No action needed. Keep long-lived secrets out of project .env files where possible.
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 export SCAVIO_API_KEY=sk_live_your_key
- runbash -c Authorization: Bearer $SCAVIO_API_KEY
- runbash -c curl -X POST https://api.scavio.dev/api/v1/decathlon/sear...
- runcurl -X POST https://api.scavio.dev/api/v1/decathlon/search -H Authorization: Bearer
- netapi.scavio.dev:443 sent 220 B
- netDNS lookups for npmjs.org, scavio.dev 4 queries
- runbash -c pip install scavio==0.18.0
- runpip install scavio==0.18.0
- runbash -c npm install [email protected]