GhostAction escalates: phishing maintainers via my-github[.]com and planting a VS Code 'fake font' stealer in 94 repos (after ~1,900 accounts pushed secret-stealing workflows to 30,000+ repos)
Update Oct 19: OpenSourceMalware reports that GhostAction has moved past CI workflows. The lookalike domain my-github[.]com (registered Oct 9) resolves to the GhostAction collector 193.32.204[.]199. It was used in a personalised fake "[GitHub] New sign-in from Moscow, Russia" email to an open-source maintainer. The linked page reverse-proxied GitHub, captured the password and 2FA code, and silently approved a GitHub OAuth device flow with repo, workflow and read:org scopes, sending the token to my-github[.]com:8443. A related watchlist domain, my-gitlab[.]com (registered Sep 22), isn't proven to be the same operator. Separately, Jamf's Thijs Xhaflaire found a 'stage 2' in 94 repositories. It's a .vscode/tasks.json task labelled eslint-check set to runOn: folderOpen, which runs public/fonts/fa-solid-400.woff2 as plain Node.js. That script steals AWS, PyPI, npm, git, netrc, Claude, Gemini and kube credentials plus SSH keys, POSTs them to the same IP on port 8080, and installs a #ghc2 cron job that fetches and runs a script every 5 minutes. Stage 2 copies North Korea's PolinRider launcher, but OpenSourceMalware labels it a copycat, not DPRK. A second fallback workflow (lint.yml, ci-check.yml, build-check.yml, repo-health.yml, audit.yml, code-review.yml, test-suite.yml) can exfiltrate to a secret gist. If you opened an affected repo in VS Code: remove the cron entry, rotate everything listed, and revoke GitHub tokens and OAuth apps from a clean device.
Sources: OpenSourceMalware: fake-font stage 2 (Oct 19) · OpenSourceMalware: phishing campaign · OpenSourceMalware: infrastructure escalation · GitGuardian research · Socket analysis · StepSecurity