Protect CI in 2 minutes

Your build fails the moment a hijacked npm version shows up in package-lock.json, and tells you which version to install instead.

  1. Create the file .github/workflows/mene.yml in your repository and paste the workflow.
  2. Commit it to your default branch.
  3. Done. Every push and pull request is checked. A hijacked version fails the job.

Options

Defaults are the witnesses shown on Witnesses, 2 must agree. The workflow updates as you change these.

.github/workflows/mene.yml

What a failing run looks like

This is a real run of the Action against the example project, a lockfile that installed the hijacked chalk and debug. The job fails and each hijacked package is annotated with its fix. See the run on GitHub →

✗ mene · chalk-attack · 2 errors
Error: debug@4.4.2 is flagged by MAL-2025-46974 (ACTIVE); use 4.4.1
Error: chalk@5.6.1 is flagged by MAL-2025-46969 (ACTIVE); use 5.6.0

The same run with a clean lockfile passes. The job summary lists the same packages as a table with their safe versions.