paseo-spyware-check · git:20261020.1d9fdc5 · 2026-10-20 · sha256 b5f6218eca394f9c
paseo-spyware-check git:20261020.1d9fdc5A
Immutable. This exact content never changes and is served at /api/v1/blob/b5f6218eca394f9c.
--- name: paseo-spyware-check description: >- Inspect a GitHub repository or local checkout for spyware, malware, credential theft and supply-chain risks before running it. Use for explicit repository safety reviews; perform static inspection without executing target code. --- # Paseo Spyware Check Static review only: never run the target's install, build, test, lifecycle scripts, modules or binaries. That is the point of this skill. A static verdict is not a guarantee of safety. ## Scan Start with the stdlib helper (on Windows use `python` or `py -3`): ```text python3 <skill-dir>/scripts/spyware-check.py <github-url-or-local-path> --timeout 180 ``` It writes a redacted JSON receipt (schema v2): source commit or local snapshot, findings with severity, policy decision, truncation. Exit 0 means the receipt was written, not that the repo is safe. `--timeout` bounds each Git call. For deeper coverage, use the shell/PowerShell helpers and optional scanners in [references/review.md](references/review.md). Their heuristics differ from schema v2; report them separately rather than adding counts. If a scanner is missing and the extra coverage is worth it, install it with the bundled installer and say what you installed. For confidential or offline targets, skip tools that download rules or send package inventories. ## Review the evidence - Note the exact URL/path, commit and scope. A shallow clone lacks history; a local snapshot can include uncommitted files. Check skipped, binary, generated and truncated content before trusting zero findings. - Read the code paths that touch credentials, persistence, remote code or network sends. Docs and API-key variable names alone are not malicious; correlate with callers, triggers and destinations. - Target-controlled scanner exclusions or config can hide findings; inspect them. - Never verify found secrets against providers, print secret values, or upload raw matches, logs or report directories. Cite paths, line numbers and redacted evidence. Never run `osv-scanner fix`. ## Report Verdict with evidence, the checked revision, tools that ran/failed/were missing, coverage gaps, and the next sensible step. Separate real credential material, reachable high-risk behavior, suspicious patterns and items needing manual review. A clean complete pass is "no high-risk indicators found in this static pass"; missing or truncated coverage cannot support an unqualified clean verdict. Running the target, rotating credentials or remediation are the user's call after the report.