node9-ai 1.20.0 โ†’ 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +40 -41
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <h1 align="center">๐Ÿ›ก๏ธ Node9</h1>
2
- <p align="center"><strong>What did your AI agent actually do? Find out, and stop the dangerous stuff.</strong></p>
2
+ <p align="center"><strong>What did your AI agent actually do? Find out.</strong></p>
3
3
  <p align="center">
4
4
  <a href="https://www.npmjs.com/package/node9-ai"><img src="https://img.shields.io/npm/v/node9-ai.svg" alt="npm version" /></a>
5
5
  <a href="https://www.npmjs.com/package/node9-ai"><img src="https://img.shields.io/npm/dm/node9-ai.svg" alt="monthly downloads" /></a>
@@ -8,21 +8,33 @@
8
8
  <a href="https://huggingface.co/spaces/Node9ai/node9-security-demo"><img src="https://huggingface.co/datasets/huggingface/badges/resolve/main/open-in-hf-spaces-sm.svg" alt="Try on HF Spaces" /></a>
9
9
  </p>
10
10
 
11
- Node9 sits between your AI agent and the tools it can use โ€” recording every action, blocking the dangerous ones, and showing you what happened both live and in retrospect.
11
+ Node9 sits between your AI agent and the tools it can use โ€” **discover** what it's already been doing, **protect** against risky actions in real time, and **review** what happened over any time window.
12
12
 
13
13
  Works with **Claude Code ยท Codex CLI ยท Gemini CLI ยท Cursor ยท Windsurf ยท any MCP server**.
14
14
 
15
15
  ## What Node9 does
16
16
 
17
- - ๐Ÿ›‘ **Block** dangerous AI actions before they run โ€” `rm -rf`, `git push --force`, `DROP TABLE`, credential reads, `curl | bash`
18
- - ๐Ÿ” **Scan** what your AI has already been doing โ€” loops, leaked secrets, blocked operations across every session
19
- - ๐Ÿ”‘ **Catch credential leaks** โ€” AWS keys, GitHub tokens, JWTs, GCP API keys, PEM private keys flagged in tool args, file contents, and shell config
20
- - ๐Ÿ”ญ **Map your blast radius** โ€” every SSH key, AWS credential, and `.env` file an AI agent on this machine could reach right now
17
+ - ๐Ÿ” **Discover** โ€” scan every past AI session for credential leaks, agent loops, blocked operations, and every secret on disk an agent could reach right now
18
+ - ๐Ÿ›ก **Protect** โ€” review or block risky commands before they run โ€” `rm -rf`, `git push --force`, `DROP TABLE`, credential reads, `curl | bash`, AWS/GitHub/Stripe key leaks
19
+ - ๐Ÿ“Š **Review** โ€” period-windowed report (today / week / month / 90 days) โ€” cost per agent, top tools, shields fired, blast radius
20
+
21
+ ## Retrospective scan
22
+
23
+ This is my own machine โ€” 90 days while building Node9. Score 25/100, 5 credential files an AI agent could reach right now.
24
+
25
+ ```bash
26
+ npx node9-ai scan # before installation, runs in ~10s, nothing uploads
27
+ node9 scan # after installation, same output
28
+ ```
29
+
30
+ <p align="center">
31
+ <img src="https://github.com/user-attachments/assets/7c5b30f1-1ca1-40b4-bfd5-d6671002e98e" width="720" alt="Node9 scan scorecard" />
32
+ </p>
21
33
 
22
34
  ## Live monitoring
23
35
 
24
36
  <p align="center">
25
- <img src="https://github.com/user-attachments/assets/25c601db-221d-4553-8b8c-34af85ab30c8" width="720" alt="Node9 monitor dashboard" />
37
+ <img src="https://github.com/user-attachments/assets/4661da97-c174-4bae-ae54-4c52a1d69213" width="720" alt="Node9 monitor dashboard" />
26
38
  </p>
27
39
 
28
40
  `node9 monitor` opens an interactive terminal dashboard with two views:
@@ -30,32 +42,19 @@ Works with **Claude Code ยท Codex CLI ยท Gemini CLI ยท Cursor ยท Windsurf ยท any
30
42
  - **`[1]` Realtime** โ€” live activity, approvals, security alerts, current risk score
31
43
  - **`[2]` Report** โ€” period-windowed summary: cost, top tools, shields fired, blast radius
32
44
 
33
- ## Retrospective scan
45
+ ## Report
34
46
 
35
- This is my own machine โ€” 30 days while building Node9. Score 25/100, 5 credential files an AI agent could reach right now.
47
+ Press `[2]` in monitor for a period-windowed summary. Toggle the window with `[T]oday` ยท `[W]eek` ยท `[M]onth` ยท `[N]inety` โ€” same panels as the scan above, driven by your post-install audit log.
36
48
 
37
49
  <p align="center">
38
- <img src="https://github.com/user-attachments/assets/bc165779-4200-438d-967a-20d42bbfe69e" width="720" alt="Node9 scan scorecard" />
50
+ <img src="https://github.com/user-attachments/assets/66c02a72-e477-443d-807f-d65a21d096cd" width="720" alt="Node9 monitor [2] Report" />
39
51
  </p>
40
52
 
41
- ```
42
- ๐Ÿ›ก Node9 Scan ยท 21 sessions ยท 8,114 tool calls ยท Apr 6 โ€“ May 1, 2026
43
-
44
- Security Score: 25/100 ยท Critical
45
- $3,789 AI spend ยท 62 risky operations
46
-
47
- ๐Ÿ”‘ 14 credential leak (Bearer Token ร—4, GCP API Key ร—4, JWT ร—2)
48
- ๐Ÿ›‘ 15 would have blocked (force-push ร—5, read-ssh ร—4, read-aws ร—4)
49
- ๐Ÿ” 193 agent loops (18% wasted ยท ~$6.51)
50
- ๐Ÿ‘ 33 flagged for review (git-destructive ร—19, rm ร—9, sudo ร—2)
51
-
52
- ๐Ÿ”ญ Blast radius ssh ร— gcp ร— npm ร— other (5 exposures)
53
-
54
- โ†’ npx node9-ai scan run this on your machine
53
+ ```bash
54
+ node9 monitor # press [2] for Report view
55
+ node9 report --period 7d # CLI form, no TUI
55
56
  ```
56
57
 
57
- Run it on yours โ€” `npx node9-ai scan` finishes in ~10 seconds and runs entirely local. Nothing uploads.
58
-
59
58
  ## Install
60
59
 
61
60
  ```bash
@@ -97,10 +96,10 @@ node9 shield list # show all shields + status
97
96
 
98
97
  ## Always on โ€” no config needed
99
98
 
100
- - **Git** โ€” blocks `git push --force`, `git reset --hard`, `git clean -fd`
101
- - **SQL** โ€” blocks `DELETE` / `UPDATE` without `WHERE`, `DROP TABLE`, `TRUNCATE`
102
- - **Shell** โ€” blocks `curl | bash`, unauthorized `sudo`
103
- - **DLP** โ€” blocks AWS keys, GitHub tokens, Stripe keys, PEM private keys in any tool argument, file contents, or shell config (`~/.zshrc`, `~/.bashrc`)
99
+ - **Git** โ€” catches `git push --force`, `git reset --hard`, `git clean -fd`
100
+ - **SQL** โ€” catches `DELETE` / `UPDATE` without `WHERE`, `DROP TABLE`, `TRUNCATE`
101
+ - **Shell** โ€” catches `curl | bash`, unauthorized `sudo`
102
+ - **DLP** โ€” flags AWS keys, GitHub tokens, Stripe keys, PEM private keys in any tool argument, file contents, or shell config (`~/.zshrc`, `~/.bashrc`)
104
103
  - **Response DLP** โ€” background scanner reads Claude's conversation history and alerts you if Claude _wrote_ a secret in its response text
105
104
  - **Auto-undo** โ€” git snapshot before every AI file edit โ†’ `node9 undo` to revert
106
105
  - **Skills pinning** โ€” SHA-256 verification of installed Claude skills / plugins between sessions
@@ -141,17 +140,17 @@ node9 mcp pin reset # clear all pins
141
140
 
142
141
  </details>
143
142
 
144
- ## Observability โ€” five views
143
+ ## Other commands
144
+
145
+ Beyond the three flow commands above (`scan` / `monitor` / `report`):
145
146
 
146
- | Command | What it shows | When to use |
147
- | ---------------- | --------------------------------------------------------- | ----------------------------------------- |
148
- | `node9 blast` | What an AI agent can reach right now โ€” files, creds, env | First thing to run on any machine |
149
- | `node9 scan` | Retrospective audit of existing agent history | Before installing, or to review past risk |
150
- | `node9 tail` | Live stream of every tool call | Watching an agent work in real time |
151
- | `node9 report` | Per-period summary: allowed/blocked/DLP/cost + top tools | Reviewing what happened after a session |
152
- | `node9 sessions` | Session history with prompt, tool trace, cost, snapshot | Reviewing a handoff or past work |
153
- | `node9 dlp` | Credential-leak findings in Claude response text | Any time a DLP desktop alert fires |
154
- | `node9 mask` | Redact plaintext secrets from local session history files | After a DLP finding โ€” cleans local disk |
147
+ | Command | What it shows | When to use |
148
+ | ---------------- | --------------------------------------------------------- | --------------------------------------- |
149
+ | `node9 blast` | What an AI agent can reach right now โ€” files, creds, env | First thing to run on any machine |
150
+ | `node9 tail` | Live stream of every tool call (text-only, no TUI) | Piping into other tools, CI, logs |
151
+ | `node9 sessions` | Session history with prompt, tool trace, cost, snapshot | Reviewing a handoff or past work |
152
+ | `node9 dlp` | Credential-leak findings in Claude response text | Any time a DLP desktop alert fires |
153
+ | `node9 mask` | Redact plaintext secrets from local session history files | After a DLP finding โ€” cleans local disk |
155
154
 
156
155
  Plus a **live HUD** in your Claude Code statusline:
157
156
 
@@ -167,7 +166,7 @@ Node9 surfaces the signal. Here are the patterns worth knowing:
167
166
 
168
167
  | Signal | Likely meaning |
169
168
  | ---------------------------------------------- | -------------------------------------------------------------------------------------------------- |
170
- | `Would have blocked` โ‰ฅ 5 in a week | Agent is attempting destructive ops; shields need review |
169
+ | `Would have blocked` โ‰ฅ 5 in a week | Agent is attempting high-impact ops; shields are worth reviewing |
171
170
  | Single `review-git-push` rule >50% of findings | Your own rule is firing as intended โ€” not a risk, just supervision |
172
171
  | DLP finding in `user-prompt` tool | You pasted a secret into your own prompt โ€” rotate the key |
173
172
  | Agent Loop ร—50+ on same file | Agent stuck in edit/test/fix cycle โ€” check context or slow down |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node9-ai",
3
- "version": "1.20.0",
3
+ "version": "1.21.0",
4
4
  "description": "Security layer for AI coding agents โ€” intercepts dangerous tool calls before they execute",
5
5
  "keywords": [
6
6
  "ai",
@@ -25,7 +25,7 @@
25
25
  "node9-ai": "bin/node9.js"
26
26
  },
27
27
  "dependencies": {
28
- "@node9/proxy": "1.20.0"
28
+ "@node9/proxy": "1.21.0"
29
29
  },
30
30
  "type": "module",
31
31
  "engines": {