Findings
F01
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:baseline
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.
F02
Low
Network destinations contacted
- Confidence
- Info The package connected to these hosts.
- Observed in
- obedient:baseline, llm: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.
F03
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, llm: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.
F04
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 "---"; cat skill/skill-card.md...
- runsed s/=.*/=<redacted>/ .env
View full process tree
- runbash -c ls -la; echo "---"; ls -la skill; echo "---"; cat skill/S...
- runls -la
- runls -la skill
- runcat skill/SKILL.md
- runhead -50
- runbash -c cat skill/_meta.json; echo "---"; cat skill/skill-card.md...
- runsed s/=.*/=<redacted>/ .env
- runcat skill/_meta.json
- runcat skill/skill-card.md
- runcat README.md
- runcat package.json
- runls -la src
- runcat .gitignore
- runbash -c cd /tmp && curl -sS -m 30 -X POST https://app.feedbackpul...
- runhead -60
- runcurl -sS -m 30 -X POST
- netapp.feedbackpulse.com:443 sent 342 B
- runbash -c cd /tmp && curl -sS -m 30 -X POST https://app.feedbackpul...
- runcurl -sS -m 30 -X POST
- netapp.feedbackpulse.com:443 sent 247 B
- runhead -c 3000
- runbash -c cd /tmp && for p in /mcp /mcp/employee-surveys; do echo "...
- runcurl -sS -m 30 -o /dev/null
- netapp.feedbackpulse.com:443 sent 325 B
- runcurl -sS -m 30 -o /dev/null
- netapp.feedbackpulse.com:443 sent 342 B
- runcurl -sS -m 30 -o /dev/null
- netapp.feedbackpulse.com:443 sent 104 B
- runbash -c cd /tmp && curl -sS -m 30 -X POST https://app.feedbackpul...
- runcurl -sS -m 30 -X POST
- netapp.feedbackpulse.com:443 sent 342 B
- runpython3 -c import sys,json; d=json.load(sys.stdin); print(json.dumps...
- runbash -c cd /tmp && timeout 120 npx -y [email protected] https://a...
- runhead -80
- runtimeout 120 npx -y [email protected] https://app.feedbackpulse.com/mcp/employee-surveys
- runnpx -y [email protected] https://app.feedbackpulse.com/mcp/employee-surveys
- runnode /usr/bin/npx -y [email protected] https://app.feedbackpulse.com/mcp/employee-surveys
- secretread ~/.npmrc (its own config)
- netregistry.npmjs.org:443 sent 433 B
- netregistry.npmjs.org:443 sent 447 B
- runbash -c cd /tmp && timeout 60 npm view mcp-remote version 2>&1 | ...
- runtimeout 60 npm view mcp-remote version
- runnpm view mcp-remote version
- runnode /usr/bin/npm view mcp-remote version
- secretread ~/.npmrc (its own config)
- netregistry.npmjs.org:443 sent 391 B
- runtail -3
- runtimeout 60 npm view mcp-remote dist-tags
- runnpm view mcp-remote dist-tags
- runnode /usr/bin/npm view mcp-remote dist-tags
- secretread ~/.npmrc (its own config)
- netregistry.npmjs.org:443 sent 391 B
- netDNS lookups for feedbackpulse.com, npmjs.org 18 queries
- runtail -5