archcanary
Archcanary is a read-only, layered detection scanner for Arch Linux (and derivatives like EndeavourOS/Manjaro) that checks installed packages, pacman logs, systemd units, eBPF programs, ld.so.preload, DKMS kernel modules, and npm/bun/yarn/pnpm caches against curated and third-party (aur-audit.wtako.net) threat lists. It was built in direct response to a 2026 AUR supply-chain attack in which commit forgery was used to impersonate maintainers and inject npm/bun install hooks delivering an infostealer (Discord tokens, GitHub PATs, SSH keys, Vault tokens) and a CAP_BPF eBPF rootkit into 1600+ PKGBUILDs, plus a separate Russian-spam PKGBUILD injection campaign. It integrates with yay/paru pre-build hooks, systemd timers, auditd, and Lynis, and originated as a fork/expansion of lenucksi/aur-malware-check.
What it is
archcanary (v0.1.28 at time of writing — pre-1.0) is a read-only Arch Linux security scanner distributed via the AUR or source. The existing summary covers its detection scope; what follows is the operational detail needed to actually run and interpret it.
How it works
Detection is layered and off by default. Bare archcanary only matches installed packages against the known-bad threat-intel lists — nothing else runs unless you add flags or --full. Some checks require root. Threat-intel is fetched on --refresh, and the banner prints each list's entry count and how much it changed since last run (e.g. aur-audit red 269, aur-audit black 101, Russian spam 75), so a suddenly growing feed is visible.
Preconditions / Affected
Arch and derivatives — developed on Mabox, tested by the EndeavourOS community, said to run on Manjaro. Full scans need sudo. Bash tab-completion for all flags is installed automatically via the bash-completion package (both installer paths), no .bashrc edits.
What to do
# Check if you installed any compromised packages
archcanary
# Full scan — all checks (some require root)
sudo archcanary --full
# Check setup health
archcanary --doctor
# Refresh package lists online, then scan
archcanary --refresh --full
# Interactive menu — same checks, no flags to remember
archcanary-tuiThe only writes are its own logs and config lists; install.sh, --refresh, and the allowlist editors (DKMS, systemd, bpftool) are the sole explicit exceptions. Remediation is entirely manual — it never deletes, quarantines, or disables.
Caveats
- Treat detections as advisory, not authoritative. The developer states the code and docs are AI-assisted (Claude/Anthropic), reviewed before commit.
- Don't drive the Lynis suggestion count to zero. Lynis was built for server hardening, so many suggestions (mail-relay ACLs, multi-user auditing, firewall rules for exposed services) don't apply to a single-user desktop. The page flags the desktop-relevant overlaps it bundles Lynis for: sysctl hardening (ASLR,
kptr_restrict,ptrace_scope), file-permission audits (world-writable, SUID/SGID), a GRUB bootloader password (more relevant on a laptop than a rack server), outdated packages, and PAM/login policy.
Organisations named here
- custodiatovar
- ellenmyklebust
- franziskaweber
- krisztinavarga
- Nicolas Boichat
- Sid Karunaratne
- tobiaswesterburg
- veramagalhaes
Technologies named here
- archcanary
- Arch Linux
- AUR packages
- archcanary-tui
- lenucksi/aur-malware-check
- Mabox Linux
- Lynis
- EndeavourOS
- yay
- Manjaro
- npm cache
- paru
- bun cache
- aur-audit.wtako.net
- auditd
- yarn cache
- pkexec
- pnpm cache
- systemd
- polkit
- Gemma E2B
- eBPF
- DKMS kernel modules
- Node.js packages
- Plasma 6 applets
- Firefox packages
- Aura browser
- LibreWolf extensions
- NeoVim plug-ins
- AUR
- npm
- Bun
Techniques named here
- Commit forgery / maintainer impersonation
- Malicious npm/bun install hooks in PKGBUILDs
- Credential/token infostealing
- Exfiltration via temp.sh and Tor C2
- systemd persistence
- eBPF rootkit persistence
- PKGBUILD obfuscation
- Kernel module tampering
- Library injection via ld.so.preload
- npm/bun/yarn/pnpm cache poisoning
- XDG autostart and shell RC persistence
- Shell config injection for spam/propaganda
Threat actors named here
- June 2026 AUR supply-chain attack
- Wave 1
- Wave 2
- Wave 3
- Infostealer and eBPF rootkit malware
- Russian spam campaign
- CHAOS RAT
Related in Supply Chain


