@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.
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +4 -0
- package/commands/setup.md +23 -0
- package/package.json +4 -3
- package/scripts/apply-suppressions.js +1665 -544
- package/scripts/backfill.js +2032 -404
- package/scripts/filescan.js +1933 -367
- package/scripts/firstrun.js +1358 -230
- package/scripts/intro.js +418 -58
- package/scripts/message-display.js +1463 -306
- package/scripts/onboard.js +1580 -249
- package/scripts/post-tool-use.js +1946 -368
- package/scripts/pre-tool-use.js +1961 -377
- package/scripts/query.js +1359 -231
- package/scripts/reconcile.js +1494 -337
- package/scripts/remediate.js +2183 -559
- package/scripts/scan-worker.js +18055 -0
- package/scripts/session-start.js +1434 -342
- package/scripts/start-light.js +441 -81
- package/scripts/statusline.js +1356 -228
- package/scripts/stop.js +400 -83
- package/scripts/user-prompt-submit.js +2071 -475
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aka",
|
|
3
|
-
"version": "0.9.
|
|
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.
|
|
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/
|
|
35
|
-
"@akasecurity/schema": "0.8.0"
|
|
36
|
+
"@akasecurity/setup-wizard": "0.8.0"
|
|
36
37
|
},
|
|
37
38
|
"scripts": {
|
|
38
39
|
"build": "tsup",
|