Criticalcrates.io1 affected version

proc-macro1

proc-macro1 has 1 version on crates.io flagged in 1 incident we track. Other versions of this package are not implicated - only the exact versions listed below were named by the source advisories.

Affected versions

Check what you actually have installed with cargo tree -i proc-macro1.

  • proc-macro1@1.0.107

The incident that flagged it

Critical

Rust crates `arrayref` 0.3.10 + `internment` 0.8.7 + `append-only-vec` 0.1.9 poisoned with a build-time dropper via typosquat dependency `proc-macro1` (crates.io, 2026-08-20, 245M+ combined downloads, DPRK-overlap attribution)

Compromised maintainer accounts published arrayref@0.3.10 (244M downloads), internment@0.8.7, and append-only-vec@0.1.9 to crates.io. Each release added a single dependency line on typosquat crate proc-macro1, whose build.rs downloads and executes a platform-specific payload from 23.254.165.112:9089 during cargo build. Wiz attributes overlap to DPRK campaigns.

Versions named here: 1.0.107

What to do if you installed one of these

Treat the machine as compromised rather than simply upgrading. Packages in these incidents typically execute at install time, so the payload has already run with whatever credentials were in the environment.

  1. 1.Rotate every credential that machine or CI job could reach - registry tokens, cloud keys, SSH keys, CI secrets - from a different machine.
  2. 2.Pin to a version not listed above, then reinstall from a clean lockfile.
  3. 3.Clear caches and private mirrors. Artifactory, Nexus, Verdaccio, and devpi routinely keep serving a tarball after the public registry has pulled it.
  4. 4.Read the incident write-up above - recommended actions differ per incident, and some have specific indicators of compromise worth grepping your logs for.

Check your whole project

proc-macro1 is one of many packages in these incidents, and it is usually pulled in as a transitive dependency rather than one you installed directly. We don't parse crates.io manifests yet, but the incident write-ups list every affected package.

Other packages in the same incident

If proc-macro1 is in your tree, these are worth checking too - they were published by the same campaign.

See the full incident

Version data comes from the public advisories cited on each incident page. We list only versions those advisories name - we don't infer additional ones. Think this is wrong or incomplete? Tell us.