Skip to content

ci: add supply-chain malware scan - #1

Merged
mallison031 merged 1 commit into
mainfrom
ci/malware-scan
Oct 20, 2026
Merged

mallison031 merged 1 commit into
mainfrom
ci/malware-scan

Conversation

@mallison031

Copy link
Copy Markdown
Contributor

What

Adds .github/workflows/malware-scan.yml and .github/scripts/malware_scan.py.

  • indicators job — scans every tracked file. HIGH findings fail the job:
    invisible/bidi Unicode (GlassWorm, Trojan Source), eval/Function over decoded data,
    _0x obfuscator output, install hooks that download or decode, credential-store paths,
    hard-coded Discord/Telegram/webhook.site exfil endpoints, blockchain C2 lookups,
    .vscode/tasks.json auto-run tasks, pull_request_target workflows that check out PR code,
    build.rs network/shell use, and committed native executables. Softer signals
    (child_process, plain eval, pipe-to-shell, long encoded blobs) are annotations only, and on PRs
    only for files the PR touches.
  • dependencies job — OSV-Scanner over every lockfile; fails on MAL- (known-malicious package)
    advisories, warns on other vulnerabilities.

Triggers: pull_request (never pull_request_target), pushes to main, weekly, and manual, with
contents: read only. Actions are pinned by SHA.

A reviewed false positive can be silenced with malware-scan: allow <reason> on the line, or a path
glob in .github/malware-scan-allow.txt.

Current main scans clean (0 HIGH findings).

🤖 Generated with Claude Code

Scan every tracked file for supply-chain malware indicators (invisible-Unicode
payloads, decode-and-eval loaders, install-hook droppers, credential harvesting,
exfiltration endpoints, VS Code auto-run tasks, pull_request_target checkouts,
committed native binaries) and check lockfiles with OSV-Scanner, failing on
known-malicious (MAL-) packages. Runs on pull_request, pushes to main, weekly,
and on demand, with a read-only token.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mallison031
mallison031 merged commit b2d8107 into main Oct 20, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant