@akasecurity/ai-tc-claude-code 0.9.4 → 0.9.6

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aka",
3
- "version": "0.9.4",
3
+ "version": "0.9.6",
4
4
  "description": "AI Traffic Control — inspect and govern AI prompts in Claude Code. Detection runs locally; events are recorded to a local SQLite store on your machine.",
5
5
  "homepage": "https://github.com/akasecurity/ai-tc",
6
6
  "author": { "name": "AKA Security" }
package/README.md CHANGED
@@ -11,6 +11,8 @@ Detection runs entirely on your machine. There's no account and no backend — n
11
11
 
12
12
  [^egress]: Live detection and enforcement run locally. The one exception is the **opt-in** `/aka:setup` calibration below: to rate what an initial history scan finds, its judge step sends those findings to the model API through the `claude` CLI — the same provider your Claude session already uses, reached with your own credentials. For each finding that means the raw (unmasked) value including any secret, roughly 120 characters of the surrounding transcript text on either side (re-scanned before it goes, so every secret the rules detect in that window is masked, including the finding's own value where it appears there), the finding's rule, category, severity, masked value and confidence, and a sequential counter the model echoes back so its verdict can be matched to the finding. The source file's path is not sent. It takes **two** separate opt-ins — one to read your history at all, and a second, distinct grant to send what was found — and without the second the judge does not run. It keeps those values out of your local Claude transcript, but a copy of them does leave the machine. Withdrawing either grant stops future scans; it cannot recall what was already sent.
13
13
 
14
+ The local store keeps your prompts and tool calls verbatim apart from the spans a rule masks, and file permissions — not encryption — are all that protect it. See [Data at rest](https://github.com/akasecurity/ai-tc/blob/main/SECURITY.md#data-at-rest) for which files it spans and what holds on Windows.
15
+
14
16
  ## Install
15
17
 
16
18
  This package is distributed through the **Claude Code plugin marketplace**, not `npm install`. Add the marketplace and install the plugin from inside Claude Code:
@@ -50,6 +52,8 @@ The plugin installs Claude Code hooks that run locally with no `node_modules`, a
50
52
 
51
53
  It also adds slash commands for reports and setup (`/aka:health`, `/aka:findings`, `/aka:dashboard`, and more).
52
54
 
55
+ The plugin works standalone, and governs what a session carries: rule packs, findings, policy, and an audit trail. To harden the harness itself — safe-default permissions, structural command guards, and credential deny rules — pair it with [claude-tools](https://github.com/akasecurity/claude-tools). They compose: claude-tools hardens the harness, `ai-tc` governs the traffic.
56
+
53
57
  ## Docs
54
58
 
55
59
  Full documentation and the built-in detection catalog live at **[akasecurity.github.io/ai-tc-docs](https://akasecurity.github.io/ai-tc-docs/)**.
package/commands/setup.md CHANGED
@@ -892,3 +892,26 @@ declined, or a failed install you already reported — end with one warm close:
892
892
 
893
893
  Before you finish, confirm every AKA_SHOW region on the path you took was
894
894
  relayed to the user. If you summarized one instead of pasting it, paste it now.
895
+
896
+ ## Known limitations
897
+
898
+ Be honest about every one of these if the user asks why something wasn't caught
899
+ — never imply coverage this plugin does not have.
900
+
901
+ **The model-judge step in step 3 cannot run on native Windows.** The judge
902
+ spawns the `claude` CLI through a shell-free `execFileSync`, and an
903
+ npm-installed CLI is a `.cmd` shim on Windows, which Node has refused to spawn
904
+ without a shell since the CVE-2024-27980 fix. So a user who grants model-judge
905
+ consent gets a spawn failure at that step rather than a rated set of findings,
906
+ and the step exits non-zero instead of completing. Everything before it is
907
+ unaffected — the posture check, the consent-gated historical read, and the local
908
+ ruleset scan all run, and every finding is still detected and redacted locally.
909
+ What is unavailable is only the model pass that rates false positives and
910
+ severity.
911
+
912
+ Say this plainly if a Windows user asks why setup stopped there, and do not
913
+ offer to retry it: the fix is a code change, tracked separately. Two things
914
+ worth getting right if it comes up — running under WSL2 is Linux rather than
915
+ Windows and is not affected, and declining model-judge consent in step 1 is not
916
+ a workaround so much as the other supported path, since the local scan is what
917
+ produces the findings in the first place.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akasecurity/ai-tc-claude-code",
3
- "version": "0.9.4",
3
+ "version": "0.9.6",
4
4
  "description": "AI Traffic Control — inspect and govern AI prompts in Claude Code",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -29,10 +29,11 @@
29
29
  "zod": "^4.0.0",
30
30
  "@akasecurity/eslint-config": "0.8.0",
31
31
  "@akasecurity/persistence": "0.8.0",
32
+ "@akasecurity/plugin-sdk": "0.8.0",
32
33
  "@akasecurity/scanner": "0.8.0",
34
+ "@akasecurity/schema": "0.8.0",
33
35
  "@akasecurity/plugin-runtime": "0.8.0",
34
- "@akasecurity/plugin-sdk": "0.8.0",
35
- "@akasecurity/schema": "0.8.0"
36
+ "@akasecurity/setup-wizard": "0.8.0"
36
37
  },
37
38
  "scripts": {
38
39
  "build": "tsup",