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
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
$PIXELVAULT_API_KEY: sent to api.pixelvault.dev
Remediation
Confirm the host is the service the key belongs to.
F03
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 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.
- runbash -c cat skill/_meta.json; echo "--- card"; cat skill/skill-ca...
- runsed -E s/=.*/=<redacted>/ .env
View full process tree
- runbash -c ls -la; echo "---"; find . -maxdepth 3 -type f \( -iname ...
- runls -la
- runhead -50
- runfind . -maxdepth 3 -type f
- runbash -c cat README.md; echo "--- package.json"; cat package.json;...
- runcat README.md
- runcat package.json
- runls -la src
- runls -la skill
- runcat .gitignore
- runbash -c cat skill/_meta.json; echo "--- card"; cat skill/skill-ca...
- runsed -E s/=.*/=<redacted>/ .env
- runcat skill/_meta.json
- runcat skill/skill-card.md
- runbash -c cd /tmp && printf '\x89PNG\r\n\x1a\n' > /dev/null; python...
- runpython3 -
- runls -l /tmp/pv-test.png
- runfile /tmp/pv-test.png
- runbash -c curl -sS -m 30 -w '\nHTTP %{http_code}\n' -F "file=@/tmp/...
- runcurl -sS -m 30 -w \nHTTP %{http_code}\n
- netapi.pixelvault.dev:443 sent 478 B
- runbash -c curl -sS -m 30 -D /tmp/hdr.txt -o /tmp/body.json -F "file...
- runcurl -sS -m 30 -D /tmp/hdr.txt
- netapi.pixelvault.dev:443 sent 478 B
- runcat /tmp/hdr.txt
- runcat /tmp/body.json
- runjq -r .data.url /tmp/body.json
- runbash -c echo "--- DNS"; getent hosts api.pixelvault.dev || echo "...
- rungetent hosts api.pixelvault.dev
- runcurl -sS -m 15 -o /dev/null
- netapi.pixelvault.dev:443 sent 90 B
- runtimeout 15 openssl s_client -connect api.pixelvault.dev:443
- runopenssl s_client -connect api.pixelvault.dev:443 -servername api.pixelvault.dev
- netapi.pixelvault.dev:443 sent 1 B
- netDNS lookups for pixelvault.dev 10 queries
- runopenssl x509 -noout -subject -issuer -dates
- runenv
- rungrep -iE proxy|pixelvault
- runsed -E s/(KEY|TOKEN)=.*/\1=<redacted>/
- runbash -c rm -f /tmp/pv-test.png /tmp/body.json /tmp/hdr.txt; echo ...
- runrm -f /tmp/pv-test.png /tmp/body.json /tmp/hdr.txt