Install firewall: penthera install
Starter. For “is this package safe to add?”
Install firewall: penthera install
penthera deps tells you what changed after the fact. penthera install asks
before anything runs:
- npm resolves the new tree in a temporary copy of
package.jsonand the lockfile, with scripts off (npm install --package-lock-only --ignore-scripts). - New tarballs are fetched with
npm cache add. Nothing is unpacked intonode_modulesand no package code runs; each tarball is checked against the proposed lockfile’s integrity before it is read. - The
depsengine diffs capabilities against your current lockfile, lists new install scripts with their commands, and checks new names for typosquats. penthera.policy.jsondecides. On approval, the reviewed lockfile is installed as is, with--ignore-scriptsunless you approved the scripts (on npm 12+, approved scripts are pinned inpackage.jsonallowScripts). On abort, exit code 1, and the project is byte for byte unchanged.
deny and requireApproval take capability ids from the capability table
(install-scripts, shell, network, env-bulk, obfuscated, …) plus
typosquat and unscanned. The requireApproval list shown is the default.
allow takes names or globs, optionally pinned to a version, and overrides
both. The one network use is npm talking to your configured registry, and
Penthera prints which one; Penthera itself sends nothing. Workspaces and
file: dependencies are not supported yet.
Back to the README · All commands