diff --git a/docs/_source.html b/docs/_source.html index 2e90ea1..7c6f168 100644 --- a/docs/_source.html +++ b/docs/_source.html @@ -319,6 +319,7 @@ Reports Check your machine Install + If you're infected Commands Report a bug Install snare @@ -736,6 +737,94 @@
The instinct is to clean the repositories first. That is the wrong + order, and on an infected machine it is wasted work — this family injects into + commits on their way out, so it re-infects whatever you just cleaned.
+ +snare fix is a dry
+ run by default and always backs up first. Only add --push once you
+ have read what it would change.snare rotate # the ordered checklist, plus a GitHub audit
In order: npm tokens
+ (npmjs.com/settings/~/tokens — write and "bypass 2FA" first), then
+ GitHub PATs, OAuth apps and SSH keys, then cloud keys
+ (AWS — including Secrets Manager in every region you use — GCP, Azure), then
+ everything else the process could read: .env files in any project you
+ had open, kubeconfig, Vault tokens, database URLs, VPN, AI-service keys, wallet
+ keys and seed phrases. Finally your clipboard — this family has a
+ documented clipboard stealer, so a password pasted out of a manager while infected
+ should be treated as seen.
snare doctor # machine, persistence spots, your GitHub account +snare guard scan # one-shot process check +snare guard install # kill the loader on sight, from login onwards
guard scan saying "clean" does not mean you
+ were never infected. It reports what is running right now. The
+ loader fires when a build runs or an editor opens the folder, does its work, and
+ exits. A clean process check alongside infected repositories is the expected
+ result, not a contradiction.
snare fix owner/repo # dry run, changes nothing +snare fix --all # dry run over everything flagged + +snare fix owner/repo --push # clean the branch tips +snare fix owner/repo --purge-history --push # erase it from all history
--purge-history rewrites every commit, so every
+ SHA changes. Collaborators must delete their clone and re-clone; a
+ git pull will conflict or silently reintroduce old objects. Forks and
+ pull-request refs keep the old objects regardless — ask GitHub Support to
+ garbage-collect them if that matters to you.
Afterwards, verify rather than assume. snare scan github
+ only reads branch tips; run snare scan repo against a fresh clone to
+ walk full history.
snare notify owner/repo # list collaborators, preview the notice +snare notify owner/repo --issue # file a GitHub issue @-mentioning them +snare notify owner/repo --mail # open a pre-filled mail draft per person
Both templates lead with credential rotation and say plainly that + this is not an accusation: the malware injects from an already-infected machine, so + a collaborator whose commit carried it was almost certainly a victim rather than a + cause. Say that early, or you will not get the reply you need.
+ +Fifteen infected repositories is not fifteen accidents. It points at one machine + that pushed to all of them. Work out which machine that is before cleaning anything, + or you will clean the same repositories twice.
+Worth knowing what you scaffold new projects with — a starter
+ template, a create-* command, a downloaded theme, an editor extension.
+ The delivery mechanism for this family is still unidentified, and
+ that is the single most useful thing anyone can contribute. If you find yours,
+ say so in the
+ discussion.
The instinct is to clean the repositories first. That is the wrong + order, and on an infected machine it is wasted work — this family injects into + commits on their way out, so it re-infects whatever you just cleaned.
+ +snare fix is a dry
+ run by default and always backs up first. Only add --push once you
+ have read what it would change.snare rotate # the ordered checklist, plus a GitHub audit
In order: npm tokens
+ (npmjs.com/settings/~/tokens — write and "bypass 2FA" first), then
+ GitHub PATs, OAuth apps and SSH keys, then cloud keys
+ (AWS — including Secrets Manager in every region you use — GCP, Azure), then
+ everything else the process could read: .env files in any project you
+ had open, kubeconfig, Vault tokens, database URLs, VPN, AI-service keys, wallet
+ keys and seed phrases. Finally your clipboard — this family has a
+ documented clipboard stealer, so a password pasted out of a manager while infected
+ should be treated as seen.
snare doctor # machine, persistence spots, your GitHub account +snare guard scan # one-shot process check +snare guard install # kill the loader on sight, from login onwards
guard scan saying "clean" does not mean you
+ were never infected. It reports what is running right now. The
+ loader fires when a build runs or an editor opens the folder, does its work, and
+ exits. A clean process check alongside infected repositories is the expected
+ result, not a contradiction.
snare fix owner/repo # dry run, changes nothing +snare fix --all # dry run over everything flagged + +snare fix owner/repo --push # clean the branch tips +snare fix owner/repo --purge-history --push # erase it from all history
--purge-history rewrites every commit, so every
+ SHA changes. Collaborators must delete their clone and re-clone; a
+ git pull will conflict or silently reintroduce old objects. Forks and
+ pull-request refs keep the old objects regardless — ask GitHub Support to
+ garbage-collect them if that matters to you.
Afterwards, verify rather than assume. snare scan github
+ only reads branch tips; run snare scan repo against a fresh clone to
+ walk full history.
snare notify owner/repo # list collaborators, preview the notice +snare notify owner/repo --issue # file a GitHub issue @-mentioning them +snare notify owner/repo --mail # open a pre-filled mail draft per person
Both templates lead with credential rotation and say plainly that + this is not an accusation: the malware injects from an already-infected machine, so + a collaborator whose commit carried it was almost certainly a victim rather than a + cause. Say that early, or you will not get the reply you need.
+ +Fifteen infected repositories is not fifteen accidents. It points at one machine + that pushed to all of them. Work out which machine that is before cleaning anything, + or you will clean the same repositories twice.
+Worth knowing what you scaffold new projects with — a starter
+ template, a create-* command, a downloaded theme, an editor extension.
+ The delivery mechanism for this family is still unidentified, and
+ that is the single most useful thing anyone can contribute. If you find yours,
+ say so in the
+ discussion.