Skip to main content

Inspect and apply install-time cooldown (min-release-age / exclude-newer) for npm and uv.

Project description

pmsec (Python)

pmsec is a cross-platform CLI that inspects and applies install-time cooldown settings (e.g. npm min-release-age, uv exclude-newer) to mitigate supply-chain attacks where malicious packages are typically detected and removed within hours to days of publication.

Install

uvx pmsec check --min 7
uvx pmsec set 7
uvx pmsec unset
npx @hikae/pmsec check --min 7
npx @hikae/pmsec set 7
npx @hikae/pmsec unset

If your environment already enforces cooldown (or routes through a proxy index), bootstrap pmsec by overriding just for that call:

uvx --index https://pypi.org/simple --exclude-newer-package pmsec=2099-01-01 pmsec check
npx --registry=https://registry.npmjs.org/ --min-release-age=0 @hikae/pmsec check

Supported tools

npm, pnpm, yarn 4+, bun, cargo (RFC #3801), mise, uv

Commands

Command Description
pmsec check [--min N] Read each tool's config; exit 1 if any tool is below N days or unset
pmsec set <DAYS> [--force] Write DAYS-day cooldown to every selected tool
pmsec unset Remove only the cooldown key from each config (other keys preserved)

Options: --tool npm,pnpm,yarn,bun,cargo,mise,uv, --json.

See the project README for the full table of keys, units, paths, and overrides.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pmsec-0.2.2.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pmsec-0.2.2-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file pmsec-0.2.2.tar.gz.

File metadata

  • Download URL: pmsec-0.2.2.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pmsec-0.2.2.tar.gz
Algorithm Hash digest
SHA256 c5683f8566acc0e96284bc7877148bd7f0486cc49ebff86f365086456046db1c
MD5 b8a7c56973fa0d01f17e4743fa678bf6
BLAKE2b-256 ca8057723c3ecd5da91355170055560900fe3a44846130c831582be2266d52e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pmsec-0.2.2.tar.gz:

Publisher: pmsec-release-pypi.yml on HikaruEgashira/pmsec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pmsec-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: pmsec-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pmsec-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4890b11653a6fd78ab69171f16dbfa7c6079d647555d777402ecf0cd5bb48e2d
MD5 90dd81d6b2cb99459fd5fa4caea8282b
BLAKE2b-256 50bf5fd4ac43a0f16fbf0b143cf692df36cbf74f4da902ba2ee159ec8b410565

See more details on using hashes here.

Provenance

The following attestation bundles were made for pmsec-0.2.2-py3-none-any.whl:

Publisher: pmsec-release-pypi.yml on HikaruEgashira/pmsec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page