@akasecurity/cli 0.9.10 → 0.9.12
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 +12 -12
- package/dist/cli.js +3706 -1895
- package/extension/content.js +1 -1
- package/extension/manifest.json +1 -1
- package/native-host/host.js +2270 -1336
- package/native-host/scan-worker.js +388 -74
- package/native-host/sync.js +587 -138
- package/package.json +6 -6
- package/web-ui/package.json +1 -1
- package/web-ui/web-ui/.next/BUILD_ID +1 -1
- package/web-ui/web-ui/.next/app-build-manifest.json +81 -81
- package/web-ui/web-ui/.next/app-path-routes-manifest.json +5 -5
- package/web-ui/web-ui/.next/build-manifest.json +2 -2
- package/web-ui/web-ui/.next/prerender-manifest.json +14 -14
- package/web-ui/web-ui/.next/server/app/(app)/activity/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/activity/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/data-shares/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/data-shares/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/data-shares/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/detections/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/detections/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/detections/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/page.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/findings/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/findings/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/findings/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/inventory/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/inventory/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/inventory/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/policies/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/policies/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/policies/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/scan/page.js +3 -3
- package/web-ui/web-ui/.next/server/app/(app)/scan/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/scan/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/security/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/security/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/settings/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/settings/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/updates/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/updates/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/updates/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/vault/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/vault/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/vault/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/_not-found.html +1 -1
- package/web-ui/web-ui/.next/server/app/_not-found.rsc +2 -2
- package/web-ui/web-ui/.next/server/app/index.html +1 -1
- package/web-ui/web-ui/.next/server/app/index.rsc +2 -2
- package/web-ui/web-ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app-paths-manifest.json +5 -5
- package/web-ui/web-ui/.next/server/chunks/121.js +1 -0
- package/web-ui/web-ui/.next/server/chunks/290.js +6 -0
- package/web-ui/web-ui/.next/server/chunks/475.js +1 -1
- package/web-ui/web-ui/.next/server/chunks/589.js +1 -1
- package/web-ui/web-ui/.next/server/chunks/611.js +1015 -0
- package/web-ui/web-ui/.next/server/chunks/7.js +1 -1
- package/web-ui/web-ui/.next/server/chunks/816.js +1 -0
- package/web-ui/web-ui/.next/server/chunks/935.js +1 -1
- package/web-ui/web-ui/.next/server/chunks/968.js +1006 -0
- package/web-ui/web-ui/.next/server/functions-config-manifest.json +6 -6
- package/web-ui/web-ui/.next/server/middleware-manifest.json +5 -5
- package/web-ui/web-ui/.next/server/pages/404.html +1 -1
- package/web-ui/web-ui/.next/server/pages/500.html +1 -1
- package/web-ui/web-ui/.next/server/server-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/server-reference-manifest.json +1 -1
- package/web-ui/web-ui/.next/static/chunks/{526-026c69b926a17dbb.js → 526-f0156de7831566b3.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/674-d8237c5d0faa4a53.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/activity/page-a27c8937989448e4.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/data-shares/page-2b805f9e1f995092.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/detections/page-a87cfee370c4e0f4.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/error-190085728a856072.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/[id]/{page-0fcffe4b9dff201f.js → page-4e214491c7be8d43.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/new/page-c1bb992ee1f12566.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/page-f16ba40d88e414b1.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/findings/page-59c76da638f22b0e.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/inventory/page-c37447caf89a86e1.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/layout-cb3c8c7b6b33414c.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/policies/{page-b90748d139a546c9.js → page-ab639e48f60ad7ee.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/scan/page-494614fccc8c62cc.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/security/page-a3095119b3e87341.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/settings/page-469613d499e41093.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/updates/page-5b32bd569c9569d9.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/vault/page-3152ceb31f024b8d.js +1 -0
- package/web-ui/web-ui/.next/static/css/6e72259eccdf4435.css +2 -0
- package/web-ui/web-ui/dist/scan-worker.js +388 -74
- package/web-ui/web-ui/.next/server/chunks/389.js +0 -903
- package/web-ui/web-ui/.next/server/chunks/667.js +0 -894
- package/web-ui/web-ui/.next/server/chunks/851.js +0 -1
- package/web-ui/web-ui/.next/server/chunks/950.js +0 -6
- package/web-ui/web-ui/.next/static/chunks/907-207847c57011ba44.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/activity/page-e4f94a75c631ce86.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/data-shares/page-d70fcc5612f380b7.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/detections/page-e1823ce15bb6277d.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/error-14165283b00c8626.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/new/page-c95079a2acd284fd.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/page-4b9f034bd078f5d3.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/findings/page-b97fc083884ef341.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/inventory/page-e96e7e947ed5f279.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/layout-83072d434c6b6b0e.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/scan/page-7a46abe149271870.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/security/page-f4a1ee202d6e60a4.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/settings/page-2ec6d863f1a31792.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/updates/page-b388003fb0d3efd1.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/vault/page-6bda74d234a1376a.js +0 -1
- package/web-ui/web-ui/.next/static/css/81a7ed955b02c959.css +0 -2
- /package/web-ui/web-ui/.next/static/{k7tk0MLkPITbi_x6JL01X → PMeePXfXsQ2xxrXppySG_}/_buildManifest.js +0 -0
- /package/web-ui/web-ui/.next/static/{k7tk0MLkPITbi_x6JL01X → PMeePXfXsQ2xxrXppySG_}/_ssgManifest.js +0 -0
package/README.md
CHANGED
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
|
|
8
8
|
The `aka` command-line tool for **[AI Traffic Control](https://github.com/akasecurity/ai-tc)** (`ai-tc`) — an open-source, local-first control plane for coding agents. It inspects and governs the traffic of an agent session (prompts, tool calls, responses, file reads), scans each event against your rule packs, and records everything to a local SQLite store at `~/.aka/data/aka.db`.
|
|
9
9
|
|
|
10
|
-
Detection, enforcement, and your store run on your machine. There's no account and no backend unless you attach to one, and nothing leaves your computer to be scanned.
|
|
10
|
+
Detection, enforcement, and your store run on your machine. There's no account and no backend unless you attach to one, and nothing leaves your computer to be scanned. Four narrow paths do reach the network. Two of them carry none of your data: the version check that runs after a command, and the registry lookups and installs that `aka plugins`, `aka update` and `aka check-updates` drive. The third is `aka attach`, which is off until you run it and then forwards activity on purpose. The fourth is `aka scan` on an attached machine, which forwards the Data Shares register it just recorded.[^egress]
|
|
11
11
|
|
|
12
12
|
If your organization runs its own AKA deployment, `aka attach --url <https-url>` registers this machine against it — after which activity that deployment is entitled to see is forwarded, and the policy it sets is enforced (it can raise enforcement beyond your own settings, never lower it). That is opt-in and off until you run it: `aka status` says what a machine is attached to, and `aka detach` ends it.
|
|
13
13
|
|
|
14
|
-
[^egress]: Scanning, enforcement and your store are local — there's no AKA server, and no account unless you attach to one.
|
|
14
|
+
[^egress]: Scanning, enforcement and your store are local — there's no AKA server, and no account unless you attach to one. Four narrow paths reach the network. **Two are child processes** and carry none of the content of your prompts, tool calls or findings. The **update notice** runs after a command when stdout is a terminal; when its cache is stale it refreshes in the background with three `npm view` lookups — this package (`@akasecurity/cli`), plus the two marketplace plugin packages `@akasecurity/ai-tc-claude-code` and `@akasecurity/ai-tc-codex`, which are looked up whether or not you have them installed. So what the registry — and whatever proxy your npm configuration points at — learns is which packages this machine asked about, not which it runs. The notice is on by default, and `--no-update-check` skips it for a single invocation. Second, the commands that look up or install software — `aka plugins install`, `aka update` and `aka check-updates` — shell out to `npm`, `claude` or `codex`, which reaches the network the way those tools normally do. `aka check-updates` only reads: it issues the same `npm view` lookups and installs nothing. `aka detections` is not one of them: it lists packs and applies pack updates from your local store, and opens no connection of its own. **The third and fourth are neither**, and are the two paths where this CLI's own source opens a connection — through `@akasecurity/remote`, the one package permitted a socket. `aka attach` is the one that carries your activity, which is the point of attaching: it is opt-in, does nothing until both an endpoint and an access key are on disk and name the same host, and `aka detach` ends it. On macOS, attaching also installs a per-user LaunchAgent that re-invokes the drain on its own schedule, so what gets sent does not depend on a session ever reopening. And `aka scan` on an attached machine forwards the Data Shares register it just recorded — destination hosts, endpoints and file/line call sites, with no source text and the project key replaced by a digest — to the same deployment; `--no-forward` skips it for one invocation, and an unattached machine sends nothing. Separately, and not one of the four: `aka <name>` dispatches git-style to an `aka-<name>` program from your own `PATH` (POSIX only; a built-in always wins). That program is yours, not ours — `ai-tc` does not bundle, pin or verify it — so whether it reaches the network is its business, not something this project can describe. The one path that sends your data to a MODEL belongs to the Claude Code plugin rather than to this CLI: its **opt-in** `/aka:setup` calibration sends what an initial history scan finds to the model API to be rated, behind two separate opt-ins, and the [plugin README](https://github.com/akasecurity/ai-tc/blob/main/plugins/claude-code/README.md) states that payload field by field.
|
|
15
15
|
|
|
16
16
|
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.
|
|
17
17
|
|
|
@@ -42,16 +42,16 @@ aka dashboard # open the local web dashboard over your store
|
|
|
42
42
|
|
|
43
43
|
## What it does
|
|
44
44
|
|
|
45
|
-
| Command | What it does
|
|
46
|
-
| ---------------- |
|
|
47
|
-
| `aka init` | Create the local store and settings under `~/.aka`.
|
|
48
|
-
| `aka dashboard` | Launch the local web dashboard (findings, policies, exceptions).
|
|
49
|
-
| `aka scan` | Scan working-tree source files for security flaws.
|
|
50
|
-
| `aka detections` | List installed detection packs and available updates.
|
|
51
|
-
| `aka exception` | Manage exact-value exceptions that let a specific match through.
|
|
52
|
-
| `aka stats` | Show detection activity and token/cost summaries from the store.
|
|
53
|
-
| `aka plugins` | Optional hub to install agent plugins (e.g. Claude Code).
|
|
54
|
-
| `aka extension` | Install the browser-extension bridge (`install` / `status`).
|
|
45
|
+
| Command | What it does |
|
|
46
|
+
| ---------------- | --------------------------------------------------------------------------------------------------- |
|
|
47
|
+
| `aka init` | Create the local store and settings under `~/.aka`. |
|
|
48
|
+
| `aka dashboard` | Launch the local web dashboard (findings, policies, exceptions). |
|
|
49
|
+
| `aka scan` | Scan working-tree source files for security flaws; forwards the Data Shares register when attached. |
|
|
50
|
+
| `aka detections` | List installed detection packs and available updates. |
|
|
51
|
+
| `aka exception` | Manage exact-value exceptions that let a specific match through. |
|
|
52
|
+
| `aka stats` | Show detection activity and token/cost summaries from the store. |
|
|
53
|
+
| `aka plugins` | Optional hub to install agent plugins (e.g. Claude Code). |
|
|
54
|
+
| `aka extension` | Install the browser-extension bridge (`install` / `status`). |
|
|
55
55
|
|
|
56
56
|
Run `aka --help` for the full command list.
|
|
57
57
|
|