DEV Community

Cover image for Introducing jev-sec-audit
Dhanush N
Dhanush N

Posted on

Introducing jev-sec-audit

jev-sec-audit is a drop-in CLI tool and GitHub Action that audits your package.json for threats.

It has ZERO external dependencies. (Because installing 50 NPM packages to secure your NPM packages is ironic, right?)

When you run it, it instantly analyzes your dependency tree and scripts for:

🕵️ Typosquatting (e.g., catching lodsh instead of lodash)
🦠 Obfuscated Code (Base64 payloads, hidden evals)
🚨 Destructive Lifecycle Scripts (curl | bash hidden in postinstall)

🛠️ Try it right now (No installation required)

You can scan your project instantly in your terminal:

npx jev-sec-audit package.json
Enter fullscreen mode Exit fullscreen mode

If it finds threats, it drops a beautiful, native-ANSI table right in your terminal detailing the exact risk level and confidence score:

Terminal Preview

Drop it into your GitHub Actions

You don't even need to use the CLI. You can secure your repository's Pull Requests right now by adding this to your .github/workflows/audit.yml:

name: Jev Security Audit
on: [pull_request]

jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run Jev Sec Audit
        uses: DhanushNehru/jev-sec-audit@v1
Enter fullscreen mode Exit fullscreen mode

Pull Request's are welcome !!!

Drop a ⭐️ on the GitHub Repository if you find this useful and let me know in the comments what features you'd like to see next!

Top comments (1)

Collapse
 
roredcol profile image
roredcol •

Supply chain attack surface ở npm ecosystem ngày càng rộng — tooling tự động hóa audit trực tiếp trong CI là bước đúng hướng.

Một vài góc nhìn thực tế từ production:

False positive noise là rào cản lớn nhất. Nếu tool flag quá nhiều CVE low-severity trên devDependencies (ví dụ: webpack-dev-server hay esbuild trong build pipeline), team sẽ dần tắt warning hoặc ignore hẳn. Cần có cơ chế severity threshold configurable + allowlist theo context (dev vs prod vs optional) để giảm cognitive load.

Lockfile drift thường bị bỏ qua. package.json chỉ khai báo intent, nhưng package-lock.json/yarn.lock mới là thực tế deploy. Audit chỉ đọc package.json sẽ miss transitive deps bị compromise sau khi npm install. Khuyên nên parse lockfile song song — hoặc ít nhất warn khi lockfile outdated.

Malicious maintainer / typo-squatting detection cần behavioral analysis thay vì chỉ match CVE database. Ví dụ: package đột ngột thêm postinstall script download binary, hoặc dependency tree bloat bất thường sau minor version bump. Heuristic-based rule engine (như Socket hoặc npm audit signatures) sẽ bắt được lớp threat này tốt hơn CVE matching thuần túy.

GitHub Action integration — cache kết quả audit giữa các run (keyed by lockfile hash) để tránh re-scan full tree mỗi PR. Với monorepo lớn, full scan 2-3 phút sẽ chặn merge queue.

Câu hỏi: tool có support SBOM export (CycloneDX/SPDX) không? Compliance team đang đòi hỏi artifact này (site: labagent .tech)