Releases: nisconder/npm-safe
Release list
v1.1.0 — bounded deep package scanning
Highlights
- Adds opt-in bounded tarball inspection with same-origin enforcement, integrity verification, safe in-memory TAR parsing, and strict size limits.
- Adds
--deepto package checks, batch checks, CI scans, and the install gate. - Detects remote shell pipelines, encoded dynamic execution, process/network combinations, sensitive environment access, and native executable content.
- Redacts credentials and arbitrary setting values from local command logs.
- Strengthens lifecycle-script reporting, release verification, documentation, and contributor workflows.
Install or upgrade
npm install -g @npm-safe/core@1.1.0CI passes on Node.js 20.12 and 24. The npm package is published with SLSA provenance. Desktop assets are attached below.
v1.0.5
@npm-safe v1.0.5
Patch release with LLM token-configuration improvements plus the P0 connection fix and the undici security upgrade.
LLM improvements
- Default max response tokens raised to 4096 (was 2000) — long JSON security reports are no longer truncated mid-stream for complex packages.
- Configurable token limits — new CLI commands:
npm-safe llm set-max-tokens <n>(default 4096)npm-safe llm set-max-input-chars <n>(default 12000)
- GUI settings — the desktop LLM tab now exposes Max response tokens and Max input characters fields (applied on Save and used by Test Connection).
- Bounded request input — the package manifest sent to the model is now capped, so large packages no longer blow past the input budget.
- Connection test fixed — the OpenAI test-connection request previously sent
max_tokens: 3, which truncated the probe response and made connection tests fail even with a valid key. It now uses the configured maximum.
Critical fix (P0)
- Desktop GUI "Test Connection" now applies your form config before testing — entering a key and clicking 测试连接 works without a prior Save click.
Security
- undici upgraded to 8.x — addresses known HTTP request/response smuggling and queue-poisoning CVEs in the 7.x line.
- Neutralinojs CLI pinned in the release workflow.
Install
npm install -g @npm-safe/core@1.0.5Desktop GUI: download the v1.0.5 ZIP from the Releases page, or auto-update from an earlier install.
Links
v1.0.4
@npm-safe v1.0.4
Patch release with a critical desktop GUI fix plus the 1.0.3 feature set.
Critical fix
- Desktop GUI: LLM "test connection" now applies your form config before
testing. Previously, entering an API key and clicking 测试连接 without
first clicking 保存 tested the stale engine config and failed. The test
button is now self-sufficient.
Features (from 1.0.3)
- Skill selection TUI (
skill-tui.ts) and agent installer (agent-installer.ts). - Neutralinojs CLI pinned to a fixed binary-download-safe version.
Install
npm install -g @npm-safe/core@1.0.4Desktop GUI: download the v1.0.4 ZIP from the Releases page, or auto-update
from an earlier install.
Links
v1.0.3
What's Changed
Features
- Add interactive skill selection TUI with 7 agent support
- Support multi-agent skill installation (Codex, Claude Code, OpenCode, Trae, Qoder, Zcode, Gemini CLI)
Dependencies
- Upgrade better-sqlite3 to ^12.11.1
- Add @clack/prompts ^1.7.0
Configuration
- Update neutralino.config.json with full settings
- Sync pnpm-lock.yaml
Documentation
- Update README with skill selection TUI and agent install support
- Fix README_zh AI Skill section terminology
Full Changelog: v1.0.2...v1.0.3
v1.0.2
What's Changed
- docs(pkg): 添加npm包的READ.md by @InfiniteScope in #8
- release: bump @npm-safe/core to 1.0.2 (npm package README) by @InfiniteScope in #9
Full Changelog: v1.0.1...v1.0.2
v1.0.1
@npm-safe v1.0.1 — Security Patch
Patch release. The npm package now ships with the undici 8.x security fix.
Security
- Upgrade undici to 8.x — addresses known HTTP/request-smuggling and response-queue CVEs in the 7.x line. The registry client's proxy support (ProxyAgent) now uses a patched runtime.
- Pin the Neutralinojs CLI (
@neutralinojs/neu@11.0.0) in the release workflow to eliminate the npx rug-pull risk from unpinned transitive updates.
Fixes
- CLI
--versiontest now accepts any semver (was hardcoded to0.x).
Install
npm install -g @npm-safe/core@1.0.1Or as a library:
npm install @npm-safe/core@1.0.1Links
v1.0.0
@npm-safe v1.0.0 — npm Package Supply-Chain Security Engine
The first stable release of @npm-safe, a local-first engine for analyzing npm packages against known supply-chain attack patterns.
Features
- Static analysis engine — 10 built-in rules detecting install-script abuse, code obfuscation, base64 shell payloads, typosquatting, exposed secrets, homograph attacks, and more.
- Multi-provider LLM scan — optional semantic analysis via OpenAI, Google Gemini, or Anthropic Claude, with strict response validation and score fusion (60% static / 40% semantic).
- CLI (
npm-safe) — 15 commands: check, search, watch, refresh, settings, lang, rules, llm, ci, report, telemetry, gate, install, doctor, skill. JSON output, proxy support, structured command log (JSONL). - Install-time security gate — opt-in, default-off. Intercepts npm/pnpm/yarn installs, checks every package, supports shell wrappers and Windows PATH shims.
- Desktop GUI — Neutralinojs app with a Material You dashboard (overview, check, search, watch, rules, LLM, settings), light/dark themes, persistent check history, and built-in auto-update.
- Agent skill —
npm-safe-scanskill for AI agents; offered on install and manageable vianpm-safe skill install|status|uninstall. - Plugin system — dynamic third-party scan rules from
~/.npm-safe/rules/. - CI/CD — dependency scan (
npm-safe ci), GitHub Actions CI + publish workflows with SLSA provenance. - Extras — batch operations, report export (JSON/CSV), opt-in local telemetry, shared CLI/GUI check history, structured command logs.
Security
- All desktop GUI output is HTML-escaped (previous XSS-to-RCE fixes verified).
- No shell injection in the install gate (argv-based child processes only).
- Telemetry is opt-in and local-only (no network).
Compatibility
- Node.js 18+ (global fetch required)
- Windows / macOS / Linux (desktop GUI requires a WebView2/WebKit runtime)
Install
npm install -g @npm-safe/coreOr use as a library:
npm install @npm-safe/coreLinks
v0.2.0
v0.1.0
@npm-safe/core v0.1.0
Local-first npm package security engine — static and LLM-based supply-chain analysis, SQLite cache, CLI and desktop GUI.
Highlights
- Engine core: registry client, package validators, 10 static analysis rules, token-bucket rate limiting, TTL cache, auto-refresh scheduler.
- Multi-provider LLM scan: optional semantic analysis via OpenAI, Google Gemini, or Anthropic Claude with strict response validation and score fusion (60/40 static/LLM).
- CLI (
npm-safe): check, search, watch, refresh, settings, lang, rules, llm, ci, report, telemetry, gate, install, doctor — 14 commands plus JSON output and proxy support. - Neutralinojs desktop GUI with a Material You (M3) dashboard: overview, check, search, watch, rules, LLM, settings; light/dark themes; persistent check history shared with the CLI.
- Install-time security gate (opt-in, default off): intercepts npm/pnpm/yarn installs and checks every package, with shell wrappers and Windows PATH shims.
- Structured command log: every CLI invocation appended as JSONL to
~/.npm-safe/commands.jsonl. - Agent skill:
npm-safe-scanauto-installed to~/.agents/skills/on package install. - Plugin system for custom scan rules; CI dependency scan; batch checks; report export (JSON/CSV); opt-in local telemetry.
- Apache-2.0 license, SLSA provenance attestation.
Security
- Bug screen (2026-08-02) fixed 12 issues including two critical XSS-to-RCE exposures in the desktop GUI; all rendered fields are escaped.
- No shell injection in the install gate (argv-based child processes only).
- Telemetry is opt-in and local-only (no network).
Tests
- 307 tests, all passing;
tsc --noEmitclean.
Desktop GUI
- Portable app: download
npm-safe-release.zipfrom the assets below, extract it, and run thenpm-safeexecutable (Windows) /npm-safebinary (macOS, Linux). - The app bundles the
@npm-safe/coreengine and stores data in~/.npm-safe/. - Built-in auto-updater: on startup the app checks
update_manifest.jsonand installs newerresources.neupayloads automatically.
Package
npm install @npm-safe/core- npm | repository