nsauditor-ai-agent-skill 0.2.53 → 0.2.54
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.
- package/README.md +24 -16
- package/SKILL.md +165 -91
- package/examples/agent-interactions.md +96 -68
- package/package.json +2 -2
- package/references/plugins.md +136 -100
- package/references/schemas.md +94 -60
- package/references/workflows.md +126 -67
- package/scripts/frontmatter_contract.mjs +2 -1
package/README.md
CHANGED
|
@@ -13,7 +13,9 @@ Works with **Claude Code**, **Claude Desktop**, **Cursor**, **Windsurf**, **VS C
|
|
|
13
13
|
|
|
14
14
|
## Current release
|
|
15
15
|
|
|
16
|
-
**0.2.
|
|
16
|
+
**0.2.54** (2026-10-04) — paired with **Enterprise 1.2.0 / Community 0.2.56**. ⚠️ **A floor bump: requires Community >= 0.2.56** (it was >= 0.2.55 — Enterprise 1.2.0 imports names that first ship in Community 0.2.56; below it Enterprise's plugins load, but the scan skips its intelligence, analysis-agent and compliance stages without a word). New in this release's teaching: the not-comparable bucket also catches a UDP port that did not answer, a CVE lookup that failed, an analysis agent that did not run, and a CVE the vulnerability data stopped attributing while the same program and version still answered; a compliance control can FAIL on a finding the prior scan recorded when this scan did not measure the port or probe it was on, cover its region, or run what produced it — a `<prior title> — [COVERAGE GAP] …` record, never a current finding; how a failed Enterprise load surfaces from Community 0.2.56; and two measured limits — after a CVE lookup that failed, the control its CVE rows failed can still read PASS; and when a later scan left out a plugin the earlier one requested, a row an analysis agent or the CVE mapper derived from it can read fixed, and its control PASS; when the earlier scan left the plugin out instead, such a row can read NEW. Keep `--plugins` identical between compared scans. Plugin counts and all eight coverage matrices are unchanged since Enterprise 1.1.0. The 0.2.53 teaching is carried forward.
|
|
17
|
+
|
|
18
|
+
**Prior: 0.2.53** — paired with **Enterprise 1.1.0 / Community 0.2.55**. ⚠️ **A floor bump: requires Community >= 0.2.55** (it was >= 0.2.49 — Enterprise 1.1.0 calls code that first ships in Community 0.2.55). The skill now INSTALLS itself: `npx nsauditor-ai-agent-skill install` copies it into `~/.claude/skills/` for Claude Code, and `npx nsauditor-ai-agent-skill build-zip --out ~/Desktop` builds the Claude Desktop upload zip. Claude Code users can instead add it as a plugin marketplace — `/plugin marketplace add nsasoft/nsauditor-ai-agent-skill`. ⚠️ A marketplace reaches **Claude Code only**; Claude Desktop accepts skills only as an uploaded zip, and skills do not sync between surfaces. Knowledge updated for the Pro cross-run delta (`report --since`) that ships in Community 0.2.55.
|
|
17
19
|
|
|
18
20
|
**Prior: 0.2.52** — paired with **Enterprise 1.0.0 / Community 0.2.54** (Community is a README-only release). ⚠️ **NOT a floor bump: Community stays >= 0.2.49.** Plugin enumeration unchanged at 29 Enterprise plugins; all eight coverage matrices unchanged. New in this release's teaching: `Findings analyzed` counts findings rather than issues, so a 1.0.0 pack reads a SMALLER number than a 0.46.0 pack over the same estate and that is the correction — the new `report.summary.findingsReceived` / `findingsRouted` fields let an agent check `findingsRouted ≤ findingCount ≤ findingsReceived` from the pack alone; an Azure RBAC assignment at the root scope (`/`) is named as such; PCI DSS `11.5.2` is critical-file change detection (the payment-page controls are `11.6.1` and `6.4.3`). No tool surface changed. The evidence contract in Enterprise's `docs/contract-v1.md` is binding from EE 1.0.0. See [CHANGELOG.md](https://github.com/nsasoft/nsauditor-ai-agent-skill/blob/main/CHANGELOG.md).
|
|
19
21
|
|
|
@@ -109,6 +111,10 @@ nsauditor-ai-agent-skill/
|
|
|
109
111
|
│ └── plugins.md # Full plugin catalog (56 scanners with ports & protocols — 27 Community + 29 Enterprise)
|
|
110
112
|
├── examples/
|
|
111
113
|
│ └── agent-interactions.md # Example agent reasoning chains (9 scenarios)
|
|
114
|
+
├── bin/
|
|
115
|
+
│ └── nsauditor-ai-agent-skill.mjs # `install` (Claude Code) and `build-zip` (Claude Desktop)
|
|
116
|
+
├── scripts/ # the Desktop zip builder and its frontmatter check
|
|
117
|
+
├── .claude-plugin/ # plugin-marketplace manifests (Claude Code only)
|
|
112
118
|
├── package.json
|
|
113
119
|
├── README.md
|
|
114
120
|
└── LICENSE
|
|
@@ -119,19 +125,18 @@ nsauditor-ai-agent-skill/
|
|
|
119
125
|
### Claude Code
|
|
120
126
|
|
|
121
127
|
```bash
|
|
122
|
-
#
|
|
123
|
-
|
|
124
|
-
cp -r $(npm root -g)/nsauditor-ai-agent-skill ~/.claude/skills/nsauditor-ai
|
|
128
|
+
# Into ~/.claude/skills/nsauditor-ai — creates the folder, or overwrites SKILL.md and references/ in an older copy
|
|
129
|
+
npx nsauditor-ai-agent-skill@latest install
|
|
125
130
|
|
|
126
|
-
#
|
|
127
|
-
|
|
131
|
+
# Or into one project: .claude/skills/nsauditor-ai
|
|
132
|
+
npx nsauditor-ai-agent-skill@latest install --dest .claude/skills
|
|
128
133
|
```
|
|
129
134
|
|
|
130
|
-
Claude Code auto-discovers skills in `.claude/skills/`.
|
|
135
|
+
Keep `@latest` (or name a version): a bare `npx nsauditor-ai-agent-skill` runs a copy already installed in the project or globally whenever one exists, whatever its version. `install` overwrites only the files this version ships; it deletes nothing. Copying the package by hand with `cp -r` fails when `~/.claude/skills` does not exist yet, and over an existing `nsauditor-ai` folder it nests the new copy inside it and leaves the old `SKILL.md` in place — delete the old folder first. Claude Code auto-discovers skills in `.claude/skills/`.
|
|
131
136
|
|
|
132
137
|
### Claude Desktop
|
|
133
138
|
|
|
134
|
-
Build the upload zip with `npx nsauditor-ai-agent-skill build-zip --out ~/Desktop`, then upload that `nsauditor-ai-skill-<version>.zip` in Claude Desktop's Settings (skills). Upload the zip, never `SKILL.md` alone: SKILL.md is under half of the skill, and its links to the reference files would point at nothing. Fully quit and relaunch Desktop after replacing a skill.
|
|
139
|
+
Build the upload zip with `npx nsauditor-ai-agent-skill@latest build-zip --out ~/Desktop`, then upload that `nsauditor-ai-skill-<version>.zip` in Claude Desktop's Settings (skills). Upload the zip, never `SKILL.md` alone: SKILL.md is under half of the skill, and its links to the reference files would point at nothing. Fully quit and relaunch Desktop after replacing a skill.
|
|
135
140
|
|
|
136
141
|
### Cursor
|
|
137
142
|
|
|
@@ -148,9 +153,8 @@ Add `SKILL.md` to `.github/copilot-instructions.md` or your workspace's Copilot
|
|
|
148
153
|
### Generic / Custom Agents
|
|
149
154
|
|
|
150
155
|
```bash
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
cp -r node_modules/nsauditor-ai-agent-skill /path/to/agent/skills/nsauditor-ai
|
|
156
|
+
# Copies SKILL.md and references/ into /path/to/agent/skills/nsauditor-ai
|
|
157
|
+
npx nsauditor-ai-agent-skill@latest install --dest /path/to/agent/skills
|
|
154
158
|
```
|
|
155
159
|
|
|
156
160
|
## What the Agent Learns
|
|
@@ -175,23 +179,27 @@ When an AI agent loads this skill, it gains:
|
|
|
175
179
|
This package provides **knowledge about** NSAuditor AI. To actually **run** scans:
|
|
176
180
|
|
|
177
181
|
1. **Install NSAuditor AI:** `npm install -g nsauditor-ai`
|
|
178
|
-
2. **Start MCP server:** `nsauditor-ai-mcp` (
|
|
182
|
+
2. **Start MCP server:** your agent starts `nsauditor-ai-mcp` (a stdio server) itself, from the settings in step 3;
|
|
183
|
+
run it by hand only with `NSA_MCP_AUTH_KEY` set (see the warning below)
|
|
179
184
|
3. **Add MCP to your agent:**
|
|
180
185
|
```bash
|
|
181
186
|
# Claude Code
|
|
182
|
-
|
|
187
|
+
nsauditor-ai mcp install-key
|
|
188
|
+
claude mcp add nsauditor-ai --env NSA_MCP_AUTH_KEY=<from: nsauditor-ai mcp install-key> -- nsauditor-ai-mcp
|
|
183
189
|
|
|
184
|
-
# Claude Desktop (claude_desktop_config.json)
|
|
190
|
+
# Claude Desktop (claude_desktop_config.json): paste the block `install-key` prints, which names
|
|
191
|
+
# node and the server script by absolute path, and add NSA_ALLOW_ALL_HOSTS to its env
|
|
185
192
|
{
|
|
186
193
|
"mcpServers": {
|
|
187
194
|
"nsauditor-ai": {
|
|
188
|
-
"command": "
|
|
189
|
-
"args": ["-
|
|
195
|
+
"command": "<from: nsauditor-ai mcp install-key — the absolute path to node>",
|
|
196
|
+
"args": ["<from: nsauditor-ai mcp install-key — the absolute path to bin/nsauditor-ai-mcp.mjs>"],
|
|
190
197
|
"env": { "NSA_ALLOW_ALL_HOSTS": "1", "NSA_MCP_AUTH_KEY": "<from: nsauditor-ai mcp install-key>" }
|
|
191
198
|
}
|
|
192
199
|
}
|
|
193
200
|
}
|
|
194
201
|
```
|
|
202
|
+
`NSA_ALLOW_ALL_HOSTS: "1"` lets Claude scan your own network — private addresses such as `192.168.x.x` or `10.x.x.x` — because it turns off the MCP server's check of the address a host name resolves to. The server still refuses a host written as `localhost`, `127.x.x.x`, `::1`, `169.254.x.x` or `metadata.google.internal`, but no longer a name that resolves to a loopback or cloud-metadata address, or a spelling such as `::ffff:127.0.0.1`. `install-key` does not print it, so add it yourself, and remove it if you only scan public hosts.
|
|
195
203
|
|
|
196
204
|
> ⚠️ **`NSA_MCP_AUTH_KEY` is REQUIRED — the server refuses to start without it.** Generate one with
|
|
197
205
|
> `nsauditor-ai mcp install-key`, then put the SAME value in the `env` block above. Without it the MCP
|