@akasecurity/cli 0.8.0 → 0.8.2
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 +65 -0
- package/dist/cli.js +2008 -1221
- package/package.json +7 -6
- package/web-ui/package.json +1 -1
- package/web-ui/packages/dashboard-ui/package.json +1 -1
- package/web-ui/packages/detections/package.json +2 -2
- package/web-ui/packages/local-ops/package.json +3 -2
- package/web-ui/packages/persistence/package.json +2 -2
- package/web-ui/packages/plugin-sdk/package.json +29 -0
- package/web-ui/packages/schema/package.json +2 -2
- package/web-ui/rules/code-flaws/auth-jwt-no-verify.json +20 -0
- package/web-ui/rules/code-flaws/auth-ssl-verify-false.json +19 -0
- package/web-ui/rules/code-flaws/cmd-inject-exec.json +20 -0
- package/web-ui/rules/code-flaws/cmd-inject-node-exec.json +20 -0
- package/web-ui/rules/code-flaws/cmd-inject-shell.json +20 -0
- package/web-ui/rules/code-flaws/crypto-insecure-random.json +20 -0
- package/web-ui/rules/code-flaws/crypto-weak-hash-md5.json +16 -0
- package/web-ui/rules/code-flaws/crypto-weak-hash-sha1.json +23 -0
- package/web-ui/rules/code-flaws/deser-java-ois.json +22 -0
- package/web-ui/rules/code-flaws/deser-pickle.json +16 -0
- package/web-ui/rules/code-flaws/deser-yaml-unsafe.json +16 -0
- package/web-ui/rules/code-flaws/dev-debug-enabled.json +13 -0
- package/web-ui/rules/code-flaws/dev-placeholder-secret.json +24 -0
- package/web-ui/rules/code-flaws/dev-wildcard-cors.json +17 -0
- package/web-ui/rules/code-flaws/eval-dynamic-exec.json +17 -0
- package/web-ui/rules/code-flaws/hardcoded-password.json +23 -0
- package/web-ui/rules/code-flaws/hardcoded-secret-key.json +17 -0
- package/web-ui/rules/code-flaws/path-traversal-join.json +19 -0
- package/web-ui/rules/code-flaws/path-traversal-open.json +20 -0
- package/web-ui/rules/code-flaws/prototype-pollution-merge.json +16 -0
- package/web-ui/rules/code-flaws/regex-redos-backtrack.json +13 -0
- package/web-ui/rules/code-flaws/sql-inject-concat-dot.json +16 -0
- package/web-ui/rules/code-flaws/sql-inject-concat.json +13 -0
- package/web-ui/rules/code-flaws/sql-inject-format.json +16 -0
- package/web-ui/rules/code-flaws/sql-inject-interp.json +19 -0
- package/web-ui/rules/code-flaws/ssrf-user-url.json +16 -0
- package/web-ui/rules/code-flaws/xss-dangerously-set.json +16 -0
- package/web-ui/rules/code-flaws/xss-inner-html.json +16 -0
- package/web-ui/rules/code-flaws/xss-unescaped-render.json +16 -0
- package/web-ui/rules/core-code-context/db-table-name.json +30 -0
- package/web-ui/rules/core-code-context/feature-flag.json +24 -0
- package/web-ui/rules/core-code-context/file-path.json +17 -0
- package/web-ui/rules/core-code-context/internal-domain.json +13 -0
- package/web-ui/rules/core-code-context/internal-ip.json +13 -0
- package/web-ui/rules/core-code-context/internal-url.json +27 -0
- package/web-ui/rules/core-code-context/localhost-ref.json +13 -0
- package/web-ui/rules/core-code-context/stack-trace.json +13 -0
- package/web-ui/rules/core-financial/credit-card.json +14 -0
- package/web-ui/rules/core-financial/cusip.json +14 -0
- package/web-ui/rules/core-financial/cvv.json +13 -0
- package/web-ui/rules/core-financial/iban.json +17 -0
- package/web-ui/rules/core-financial/paypal.json +14 -0
- package/web-ui/rules/core-financial/routing-number.json +14 -0
- package/web-ui/rules/core-financial/salary.json +23 -0
- package/web-ui/rules/core-financial/swift.json +14 -0
- package/web-ui/rules/core-phi/biometric-ref.json +23 -0
- package/web-ui/rules/core-phi/genetic-data.json +24 -0
- package/web-ui/rules/core-phi/group-id.json +19 -0
- package/web-ui/rules/core-phi/hipaa-identifier.json +13 -0
- package/web-ui/rules/core-phi/icd10-code.json +14 -0
- package/web-ui/rules/core-phi/member-id.json +13 -0
- package/web-ui/rules/core-phi/mrn.json +13 -0
- package/web-ui/rules/core-phi/ndc-code.json +13 -0
- package/web-ui/rules/core-pii/dob.json +18 -0
- package/web-ui/rules/core-pii/drivers-license-us.json +14 -0
- package/web-ui/rules/core-pii/email.json +13 -0
- package/web-ui/rules/core-pii/home-address.json +21 -0
- package/web-ui/rules/core-pii/ip-address.json +13 -0
- package/web-ui/rules/core-pii/mac-address.json +13 -0
- package/web-ui/rules/core-pii/name.json +21 -0
- package/web-ui/rules/core-pii/national-id.json +27 -0
- package/web-ui/rules/core-pii/passport-us.json +17 -0
- package/web-ui/rules/core-pii/phone-intl.json +13 -0
- package/web-ui/rules/core-pii/phone-us.json +17 -0
- package/web-ui/rules/core-pii/ssn.json +13 -0
- package/web-ui/rules/core-pii/vin.json +13 -0
- package/web-ui/rules/core-pii/zip.json +30 -0
- package/web-ui/rules/secrets/anthropic-api-key.json +14 -0
- package/web-ui/rules/secrets/aws-access-key.json +14 -0
- package/web-ui/rules/secrets/aws-secret-key.json +15 -0
- package/web-ui/rules/secrets/azure-connection-string.json +13 -0
- package/web-ui/rules/secrets/cloudflare-api-key.json +15 -0
- package/web-ui/rules/secrets/datadog-key.json +15 -0
- package/web-ui/rules/secrets/digitalocean-token.json +13 -0
- package/web-ui/rules/secrets/discord-token.json +14 -0
- package/web-ui/rules/secrets/gcp-service-account.json +16 -0
- package/web-ui/rules/secrets/github-pat.json +16 -0
- package/web-ui/rules/secrets/gitlab-token.json +14 -0
- package/web-ui/rules/secrets/heroku-api-key.json +14 -0
- package/web-ui/rules/secrets/npm-token.json +14 -0
- package/web-ui/rules/secrets/openai-api-key.json +14 -0
- package/web-ui/rules/secrets/pulumi-access-token.json +14 -0
- package/web-ui/rules/secrets/sendgrid-key.json +14 -0
- package/web-ui/rules/secrets/slack-token.json +13 -0
- package/web-ui/rules/secrets/stripe-live-key.json +14 -0
- package/web-ui/rules/secrets/terraform-cloud-token.json +16 -0
- package/web-ui/rules/secrets/twilio-key.json +13 -0
- package/web-ui/rules/secrets/vault-token.json +14 -0
- package/web-ui/rules/secrets-infra/api-key-header.json +15 -0
- package/web-ui/rules/secrets-infra/basic-auth-header.json +13 -0
- package/web-ui/rules/secrets-infra/basic-auth-url.json +13 -0
- package/web-ui/rules/secrets-infra/bearer-token.json +17 -0
- package/web-ui/rules/secrets-infra/db-connection-string.json +13 -0
- package/web-ui/rules/secrets-infra/docker-config-auth.json +13 -0
- package/web-ui/rules/secrets-infra/env-key-value.json +14 -0
- package/web-ui/rules/secrets-infra/generic-high-entropy-secret.json +18 -0
- package/web-ui/rules/secrets-infra/jwt-token.json +16 -0
- package/web-ui/rules/secrets-infra/kubeconfig-token.json +14 -0
- package/web-ui/rules/secrets-infra/password-field.json +14 -0
- package/web-ui/rules/secrets-infra/pgp-private-key.json +15 -0
- package/web-ui/rules/secrets-infra/ssh-private-key.json +15 -0
- package/web-ui/web-ui/.next/BUILD_ID +1 -1
- package/web-ui/web-ui/.next/app-build-manifest.json +39 -39
- package/web-ui/web-ui/.next/app-path-routes-manifest.json +6 -6
- package/web-ui/web-ui/.next/build-manifest.json +2 -2
- package/web-ui/web-ui/.next/prerender-manifest.json +3 -3
- package/web-ui/web-ui/.next/required-server-files.json +2 -1
- 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 +2 -2
- 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 +1 -1
- 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 +2 -2
- 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 +1 -1
- 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/_not-found/page.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.js +1 -1
- 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 +6 -6
- package/web-ui/web-ui/.next/server/chunks/366.js +566 -0
- package/web-ui/web-ui/.next/server/chunks/45.js +1 -1
- package/web-ui/web-ui/.next/server/chunks/484.js +564 -0
- package/web-ui/web-ui/.next/server/chunks/913.js +2 -0
- package/web-ui/web-ui/.next/server/functions-config-manifest.json +7 -7
- 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/561-46ea4b9ad0419130.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/activity/{page-f6b1b344709ee48e.js → page-49c63d0cec0da80d.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/data-shares/{page-485a76552d6dbabd.js → page-d469bd704615ea76.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/detections/page-07ca4b0ce174ef7a.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/[id]/page-16d5fd7d373c8f0b.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/new/{page-e8498a1e48943abf.js → page-d6cfd847bb528eec.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/page-291617f3a4d46a01.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/findings/{page-94eb9d838ae00222.js → page-c59135e0cfa8d5c7.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/inventory/page-0eb54f5acb30a73e.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/scan/page-b00573441ac43bdf.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/settings/{page-b9fba600c590896d.js → page-3b5fe92cd995b763.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/updates/page-50f828314c9a5d91.js +1 -0
- package/web-ui/web-ui/.next/static/css/dfdcbdce6b7c9eb0.css +2 -0
- package/web-ui/web-ui/package.json +1 -1
- package/web-ui/web-ui/server.js +1 -1
- package/LICENSE +0 -201
- package/web-ui/web-ui/.next/server/chunks/116.js +0 -536
- package/web-ui/web-ui/.next/server/chunks/223.js +0 -534
- package/web-ui/web-ui/.next/server/chunks/226.js +0 -2
- package/web-ui/web-ui/.next/static/chunks/561-3a19cd28d2b941fa.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/detections/page-8030433ea5c099fa.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/[id]/page-452be710e9e05ad5.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/page-1b841b6a60708c6d.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/inventory/page-dd61001da0f891d3.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/scan/page-158ed3ad2cee998b.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/updates/page-241fdcbac6e942aa.js +0 -1
- package/web-ui/web-ui/.next/static/css/69dfaec5234c6b99.css +0 -2
- /package/web-ui/web-ui/.next/static/{v339u67-B5AsSrzDBfv22 → zNaHfOWePiRki0ugHKYzl}/_buildManifest.js +0 -0
- /package/web-ui/web-ui/.next/static/{v339u67-B5AsSrzDBfv22 → zNaHfOWePiRki0ugHKYzl}/_ssgManifest.js +0 -0
package/README.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# @akasecurity/cli — `aka`
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@akasecurity/cli)
|
|
4
|
+
[](https://github.com/akasecurity/ai-tc/blob/main/LICENSE)
|
|
5
|
+
|
|
6
|
+
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`.
|
|
7
|
+
|
|
8
|
+
Everything runs on your machine. There's no account, no backend, and nothing leaves your computer to be scanned.
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install -g @akasecurity/cli
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Or use the bootstrap installer (checks for Node, then installs):
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# macOS / Linux
|
|
20
|
+
curl -fsSL https://raw.githubusercontent.com/akasecurity/ai-tc/cli-latest/tools/installer/install.sh | sh
|
|
21
|
+
|
|
22
|
+
# Windows (PowerShell)
|
|
23
|
+
irm https://raw.githubusercontent.com/akasecurity/ai-tc/cli-latest/tools/installer/install.ps1 | iex
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Requires **Node.js 24+** (the CLI uses the built-in `node:sqlite`).
|
|
27
|
+
|
|
28
|
+
## Quick start
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
aka init # scaffold the local store at ~/.aka
|
|
32
|
+
aka dashboard # open the local web dashboard over your store
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## What it does
|
|
36
|
+
|
|
37
|
+
| Command | What it does |
|
|
38
|
+
| ---------------- | ---------------------------------------------------------------- |
|
|
39
|
+
| `aka init` | Create the local store and settings under `~/.aka`. |
|
|
40
|
+
| `aka dashboard` | Launch the local web dashboard (findings, policies, exceptions). |
|
|
41
|
+
| `aka scan` | Scan working-tree source files for security flaws. |
|
|
42
|
+
| `aka detections` | List installed detection packs and available updates. |
|
|
43
|
+
| `aka exception` | Manage exact-value exceptions that let a specific match through. |
|
|
44
|
+
| `aka stats` | Show detection activity and token/cost summaries from the store. |
|
|
45
|
+
| `aka plugins` | Optional hub to install agent plugins (e.g. Claude Code). |
|
|
46
|
+
|
|
47
|
+
Run `aka --help` for the full command list.
|
|
48
|
+
|
|
49
|
+
## The Claude Code plugin
|
|
50
|
+
|
|
51
|
+
The CLI gives you the dashboard, store, and scanning. To actually **intercept** a Claude Code session you also need the AKA plugin, which installs from the Claude Code plugin marketplace (not npm). With the CLI installed:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
aka plugins install claude-code
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
This drives Claude Code to add the plugin for you (or prints the `/plugin` commands to run). See the [installation guide](https://akasecurity.github.io/ai-tc-docs/getting-started/installation/) for both components.
|
|
58
|
+
|
|
59
|
+
## Docs
|
|
60
|
+
|
|
61
|
+
Full documentation, architecture, and the built-in detection catalog live at **[akasecurity.github.io/ai-tc-docs](https://akasecurity.github.io/ai-tc-docs/)**.
|
|
62
|
+
|
|
63
|
+
## License
|
|
64
|
+
|
|
65
|
+
[Apache-2.0](https://github.com/akasecurity/ai-tc/blob/main/LICENSE)
|