Safety: Review signals: 1 connection review.
Review signals: 1 connection review.
Reviewed as expected for a test run: attempted writes that failed, so nothing was written.
Repository processes attempted these non-loopback connections; proxies can hide the final hostname. 12 distinct locations. 2 attributed processes.
OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.
A short run cannot establish that code is safe.
Connections show IP addresses; proxies can hide the final hostname.
Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing.
Full safety evidence →
What the agent did
Fetch and print xkcd comic 614 (plus its explanation and search) from the local xkcdkit CLI, with JSON output, backed by the local SQLite cache
cd <guest-path> && ls -la && cat README.md 2>/dev/null | head -c 6000; id -u; python3 --version
cd <guest-path> && tail -c 6200 README.md; echo ---; cat .python-version; grep -n requires-python pyproject.toml; ls .coldpass; git status 2>&1 | head -2
cd <guest-path> && cat pyproject.toml | head -60; which uv pipx pip3; ls docs src/*; cat tox.ini
cd <guest-path> && uv --version && timeout 900 uv sync --all-groups 2>&1 | tail -15
cd <guest-path> && timeout 900 uv run pytest 2>&1 | tail -15
cd <guest-path> && export XKCDKIT_DB=/tmp/xkcd-data/xkcd.sqlite3 && mkdir -p /tmp/xkcd-data && timeout 600 uv run xkcd show 614 --no-image --json 2>&1 | head -c 1500; echo; echo "rc=${PIPESTATUS[0]}"
cd <guest-path> && timeout 900 uv tool install --force <guest-path> 2>&1 | tail -5; ls -l ~/.local/bin/xkcd 2>/dev/null; uv tool dir --bin 2>/dev/null; grep -rniE "schedul|cron|while True|--once|--now|webhook|sleep\(" src | head
cd <guest-path> && export XKCDKIT_DB=/tmp/xkcd-data/xkcd.sqlite3 && X=<guest-path> && $X search "woodpecker" --json | head -c 400; echo; echo ---; timeout 600 $X explain 614 | head -c 400; echo; echo "rc=$?"
cd <guest-path> && cat > probe.json <<'EOF'
{"kind":"cli","argv":["<guest-path>","show","614","--json","--no-image"],"cwd":"<guest-path>","env":{"XKCDKIT_DB":"/tmp/xkcd-data/xkcd.sqlite3"},"expected_text":"\"title\": \"Woodpecker\""}
EOF
cat > claims.json <<'EOF'
[{"kind":"claim","claim":"--json gives machine-readable output for show","source":"Add `--json` to `show`, `latest`, `random`, `search` or `explain` for","input":"xkcd show 614 --json --no-image","expected":"JSON comic record with title Woodpecker","probe_kind":"cli","argv":["<guest-path>","show","614","--json","--no-image"],"stdin":"","expected_text":"\"title\": \"Woodpecker\"","cwd":"<guest-path>","env":{"XKCDKIT_DB":"/tmp/xkcd-data/xkcd.sqlite3"}},
{"kind":"claim","claim":"explain prints the explanation as plain text","source":"# just the explanation, as plain text","input":"xkcd explain 614","expected":"plain explanation text for comic 614","probe_kind":"cli","argv":["<guest-path>","explain","614"],"stdin":"","expected_text":"Beret Guy observes a woodpecker","cwd":"<guest-path>","env":{"XKCDKIT_DB":"/tmp/xkcd-data/xkcd.sqlite3"}}]
EOF
python3 -m json.tool probe.json >/dev/null && python3 -m json.tool claims.json >/dev/null && echo ok
cd <guest-path> && cat > examples.json <<'EOF'
[{"kind":"example","claim":"search over cached data with JSON output","source":"README.md Command line section","input":"search woodpecker --json","expected":"JSON list including comic 614","argv":["<guest-path>","search","woodpecker","--json"],"cwd":"<guest-path>","env":{"XKCDKIT_DB":"/tmp/xkcd-data/xkcd.sqlite3"},"expected_text":"\"num\": 614"}]
EOF
cat > cycles.json <<'EOF'
{"detected":false,"reason":"Entry points inspected: src/xkcdkit/cli.py and tui.py are one-shot Typer commands or an interactive Textual browser started by the user; README documents no cron, --once, --now or webhook scheduling. The only sleep in src is the rate limiter in client.py (asyncio.sleep before explainxkcd requests), which is not a product cycle.","checks":[]}
EOF
python3 -m json.tool examples.json >/dev/null && python3 -m json.tool cycles.json >/dev/null && echo ok && cd <guest-path> && <env-var>=<guest-path> timeout 900 python3 -I /inputs/coldpass-preflight.py --validate --replay 2>&1 | tail -40
ls <guest-path> 2>&1; cd <guest-path> && <env-var>=<guest-path> timeout 900 python3 -I <guest-path> --validate --replay 2>&1 | tail -60
cd <guest-path> && cat > report.json <<'EOF'
{"outcome":"working","fault_owner":null,"operation":"Fetch and print xkcd comic 614 (plus its explanation and search) from the local xkcdkit CLI, with JSON output, backed by the local SQLite cache","operation_scope":"Linux guest, Python 3.12.3 (README requires >=3.12), uv 0.13.5, outbound network to xkcd.com and explainxkcd.com; CLI and library from the pinned snapshot; TUI not exercised","steps":["uv sync --all-groups","uv run pytest (124 passed)","uv tool install --force <guest-path> (local-source equivalent of 'uv tool install xkcdkit')","XKCDKIT_DB=/tmp/xkcd-data/xkcd.sqlite3 xkcd show 614 --no-image --json","xkcd explain 614","xkcd search woodpecker --json","python3 -I <guest-path> --validate --replay"],"deviations":["Installed from the local snapshot with uv tool install <path> instead of PyPI xkcdkit, so the tested code is the pinned source.","Preflight path /inputs/coldpass-preflight.py does not exist in this guest; ran <guest-path> with the same flags instead.","Workspace is not a git repository; no git metadata was needed for uv sync or the build.","Used XKCDKIT_DB=/tmp/xkcd-data/xkcd.sqlite3 for all probes so replay reads the same cache.","Cycle detection: no product scheduler or loop found, so detected=false."],"stuck_step":null,"main_blocker":null,"plain_failure":null,"suggested_fix":null}
EOF
python3 -m json.tool report.json >/dev/null && echo ok; ls -la <guest-path> | grep -c report.json