Behavioral crypto mining detector and killer for Linux servers. Zero dependencies. MIT licensed.
Find a file
Rav-n-Vic 9a558f2365 security: SHA256 verify --install-network, bump v2.1.1
- --install-network now fetches expected hash from /version endpoint
  and rejects downloads on SHA mismatch (temp file, never writes unverified)
- /version endpoint now includes plugin hashes in 'plugins' field
- ?adventure=true and ?mode=adventure URL params for direct Adventure Mode
- Version bump to 2.1.1
2026-06-05 07:12:17 +00:00
.gitignore Initial release: CryptoAnnihilator v2.1.0 2026-06-05 05:27:52 +00:00
crypto_annihilator.py security: SHA256 verify --install-network, bump v2.1.1 2026-06-05 07:12:17 +00:00
LICENSE fix: 4 MUST-FIX items before Reddit launch 2026-06-05 06:51:33 +00:00
README.md Add README 2026-06-05 05:28:44 +00:00
scannersend_network.py Initial release: CryptoAnnihilator v2.1.0 2026-06-05 05:27:52 +00:00
scannersend_update.py Initial release: CryptoAnnihilator v2.1.0 2026-06-05 05:27:52 +00:00
stratum_killer.py Initial release: CryptoAnnihilator v2.1.0 2026-06-05 05:27:52 +00:00
test_crypto_annihilator.py fix: 4 MUST-FIX items before Reddit launch 2026-06-05 06:51:33 +00:00

CryptoAnnihilator

Behavioral crypto mining detector and killer for Linux servers.

Zero pip dependencies. Single file. MIT licensed. Works against known, unknown, custom-compiled, and obfuscated miners.

sudo python3 crypto_annihilator.py --kill --daemon

Why this works when ClamAV doesn't

ClamAV recognizes virus DNA. Attackers just change the DNA.
CryptoAnnihilator recognizes sick behavior. You can't mine without it.

Detection Layers

Layer Method What it catches
1 Protocol Stratum TCP pattern matching (mining.subscribe, mining.submit, etc.)
2 Behavior Sustained high CPU + active outbound connections
3 Knowledge 47 known mining pool domains — DNS block + iptables rules
4 Fingerprint Connection behavioral fingerprinting — catches throttled/evasive miners
5 Artifacts Wallet address extraction from process cmdline, environ, and config files

Quick Start

# Scan once, report only (dry run):
sudo python3 crypto_annihilator.py

# Scan and kill detected miners:
sudo python3 crypto_annihilator.py --kill

# Run as persistent daemon:
sudo python3 crypto_annihilator.py --kill --daemon

# Install as systemd service (survives restarts):
sudo python3 crypto_annihilator.py --install

# Full hardening — install + 5-layer persistence + firewall + DNS block:
sudo python3 crypto_annihilator.py --install --fortify --install-firewall --install-dns-block

Optional Plugins

Both plugins are opt-in and independent of the base tool.

ScannerSend Network Plugin (scannersend_network.py)

Reports detected miner wallet addresses to the ScannerSend Network.

  • Reports: wallet address, pool host, process name, detection layer
  • Never reports: your IP, hostname, system info, usernames, file paths
  • Tier 2 (opt-in): contributor tracking via anonymous hash
sudo python3 crypto_annihilator.py --install-network

Auto-Update Plugin (scannersend_update.py)

Checks scannersend.org for new versions and applies updates. Verifies SHA256 before replacing anything.

sudo python3 crypto_annihilator.py --install-updater

Design Philosophy

Consent first. Scan-only by default. Nothing is killed without --kill. Nothing persists without --install. Every destructive action requires an explicit flag.

Leave no trace. Zero telemetry in the base tool. --uninstall removes everything cleanly.

Behavior over signatures. A miner renamed to kworker still pins CPU and connects to pools. That is what we watch.

The Origin

We built this after getting hit. Twice. The second time, we found the miner had installed itself as a systemd service with Restart=always — we killed the process but it came back automatically. We missed the persistence layer.

So we built a tool that fights the same way. Full story: scannersend.org/about

Resources

Requirements

  • Linux (tested Ubuntu 20.04+, Debian 11+)
  • Python 3.6+
  • Root (sudo) for kill, install, and firewall operations
  • Zero pip installs — stdlib only

License

MIT — scannersend.org/source

By Rav-n-Vicscannersend.org