depcurfew v1.6.1

Alongside other supply-chain tools

depcurfew configures and checks the protections that package managers and update bots already have, so it works without a service, an account or a proxy, and sends nothing unless asked. Tools that inspect the packages themselves cover what it cannot: they look at the code of new versions and block malware before anyone has reported it to OSV.dev. The two kinds work together, each on a different layer:

  • depcurfew holds new versions back until cooldown.minimum has passed, blocks install scripts, git and tarball dependencies the policy denies, look-alike names and versions with an OSV.dev malicious-packages record, and checks that the configuration really does this in every package manager, update bot, CI job and Dockerfile of the repository.
  • A malware-blocking proxy or wrapper, such as Aikido Safe Chain, Socket Firewall or StepSecurity Secure Registry, checks each package an install downloads against its vendor's malware analysis, also for versions older than the release-age delay and, depending on the product, for ecosystems depcurfew does not configure. Read each product's terms for its license, the data it sends and the ecosystems it covers.

Running both: apply depcurfew as described above, and install the other tool as its documentation says. depcurfew's configuration stays in the repository's own files, so a wrapper that calls the package manager, or a registry proxy that the package manager reaches through its registry setting, finds the release-age delay and script blocking already in place. When the proxy is a registry of its own, the project's registry setting names it; check and the hook then ask about installs from it, because they did not check that registry, until you pass it to them with --registry or --index (see Guarding installs).

agentcurfew, depcurfew's sibling, covers another layer: the files that steer AI coding agents, such as skills, MCP server configs, hooks, context files (CLAUDE.md, AGENTS.md) and permissions, which it lists, checks, locks with checksums and holds to a policy of its own, without running anything or using the network. The two work together: when depcurfew is installed and the repository has depcurfew.json, agentcurfew's rule mcp-package checks the packages that MCP servers start through npx, uvx and the like with depcurfew's library, offline; its doctor warns when the project has depcurfew.json but Claude Code has no depcurfew hook; and agentcurfew init --hook adds its own Claude Code hook next to depcurfew's without changing it.