@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.
Files changed (204) hide show
  1. package/README.md +65 -0
  2. package/dist/cli.js +2008 -1221
  3. package/package.json +7 -6
  4. package/web-ui/package.json +1 -1
  5. package/web-ui/packages/dashboard-ui/package.json +1 -1
  6. package/web-ui/packages/detections/package.json +2 -2
  7. package/web-ui/packages/local-ops/package.json +3 -2
  8. package/web-ui/packages/persistence/package.json +2 -2
  9. package/web-ui/packages/plugin-sdk/package.json +29 -0
  10. package/web-ui/packages/schema/package.json +2 -2
  11. package/web-ui/rules/code-flaws/auth-jwt-no-verify.json +20 -0
  12. package/web-ui/rules/code-flaws/auth-ssl-verify-false.json +19 -0
  13. package/web-ui/rules/code-flaws/cmd-inject-exec.json +20 -0
  14. package/web-ui/rules/code-flaws/cmd-inject-node-exec.json +20 -0
  15. package/web-ui/rules/code-flaws/cmd-inject-shell.json +20 -0
  16. package/web-ui/rules/code-flaws/crypto-insecure-random.json +20 -0
  17. package/web-ui/rules/code-flaws/crypto-weak-hash-md5.json +16 -0
  18. package/web-ui/rules/code-flaws/crypto-weak-hash-sha1.json +23 -0
  19. package/web-ui/rules/code-flaws/deser-java-ois.json +22 -0
  20. package/web-ui/rules/code-flaws/deser-pickle.json +16 -0
  21. package/web-ui/rules/code-flaws/deser-yaml-unsafe.json +16 -0
  22. package/web-ui/rules/code-flaws/dev-debug-enabled.json +13 -0
  23. package/web-ui/rules/code-flaws/dev-placeholder-secret.json +24 -0
  24. package/web-ui/rules/code-flaws/dev-wildcard-cors.json +17 -0
  25. package/web-ui/rules/code-flaws/eval-dynamic-exec.json +17 -0
  26. package/web-ui/rules/code-flaws/hardcoded-password.json +23 -0
  27. package/web-ui/rules/code-flaws/hardcoded-secret-key.json +17 -0
  28. package/web-ui/rules/code-flaws/path-traversal-join.json +19 -0
  29. package/web-ui/rules/code-flaws/path-traversal-open.json +20 -0
  30. package/web-ui/rules/code-flaws/prototype-pollution-merge.json +16 -0
  31. package/web-ui/rules/code-flaws/regex-redos-backtrack.json +13 -0
  32. package/web-ui/rules/code-flaws/sql-inject-concat-dot.json +16 -0
  33. package/web-ui/rules/code-flaws/sql-inject-concat.json +13 -0
  34. package/web-ui/rules/code-flaws/sql-inject-format.json +16 -0
  35. package/web-ui/rules/code-flaws/sql-inject-interp.json +19 -0
  36. package/web-ui/rules/code-flaws/ssrf-user-url.json +16 -0
  37. package/web-ui/rules/code-flaws/xss-dangerously-set.json +16 -0
  38. package/web-ui/rules/code-flaws/xss-inner-html.json +16 -0
  39. package/web-ui/rules/code-flaws/xss-unescaped-render.json +16 -0
  40. package/web-ui/rules/core-code-context/db-table-name.json +30 -0
  41. package/web-ui/rules/core-code-context/feature-flag.json +24 -0
  42. package/web-ui/rules/core-code-context/file-path.json +17 -0
  43. package/web-ui/rules/core-code-context/internal-domain.json +13 -0
  44. package/web-ui/rules/core-code-context/internal-ip.json +13 -0
  45. package/web-ui/rules/core-code-context/internal-url.json +27 -0
  46. package/web-ui/rules/core-code-context/localhost-ref.json +13 -0
  47. package/web-ui/rules/core-code-context/stack-trace.json +13 -0
  48. package/web-ui/rules/core-financial/credit-card.json +14 -0
  49. package/web-ui/rules/core-financial/cusip.json +14 -0
  50. package/web-ui/rules/core-financial/cvv.json +13 -0
  51. package/web-ui/rules/core-financial/iban.json +17 -0
  52. package/web-ui/rules/core-financial/paypal.json +14 -0
  53. package/web-ui/rules/core-financial/routing-number.json +14 -0
  54. package/web-ui/rules/core-financial/salary.json +23 -0
  55. package/web-ui/rules/core-financial/swift.json +14 -0
  56. package/web-ui/rules/core-phi/biometric-ref.json +23 -0
  57. package/web-ui/rules/core-phi/genetic-data.json +24 -0
  58. package/web-ui/rules/core-phi/group-id.json +19 -0
  59. package/web-ui/rules/core-phi/hipaa-identifier.json +13 -0
  60. package/web-ui/rules/core-phi/icd10-code.json +14 -0
  61. package/web-ui/rules/core-phi/member-id.json +13 -0
  62. package/web-ui/rules/core-phi/mrn.json +13 -0
  63. package/web-ui/rules/core-phi/ndc-code.json +13 -0
  64. package/web-ui/rules/core-pii/dob.json +18 -0
  65. package/web-ui/rules/core-pii/drivers-license-us.json +14 -0
  66. package/web-ui/rules/core-pii/email.json +13 -0
  67. package/web-ui/rules/core-pii/home-address.json +21 -0
  68. package/web-ui/rules/core-pii/ip-address.json +13 -0
  69. package/web-ui/rules/core-pii/mac-address.json +13 -0
  70. package/web-ui/rules/core-pii/name.json +21 -0
  71. package/web-ui/rules/core-pii/national-id.json +27 -0
  72. package/web-ui/rules/core-pii/passport-us.json +17 -0
  73. package/web-ui/rules/core-pii/phone-intl.json +13 -0
  74. package/web-ui/rules/core-pii/phone-us.json +17 -0
  75. package/web-ui/rules/core-pii/ssn.json +13 -0
  76. package/web-ui/rules/core-pii/vin.json +13 -0
  77. package/web-ui/rules/core-pii/zip.json +30 -0
  78. package/web-ui/rules/secrets/anthropic-api-key.json +14 -0
  79. package/web-ui/rules/secrets/aws-access-key.json +14 -0
  80. package/web-ui/rules/secrets/aws-secret-key.json +15 -0
  81. package/web-ui/rules/secrets/azure-connection-string.json +13 -0
  82. package/web-ui/rules/secrets/cloudflare-api-key.json +15 -0
  83. package/web-ui/rules/secrets/datadog-key.json +15 -0
  84. package/web-ui/rules/secrets/digitalocean-token.json +13 -0
  85. package/web-ui/rules/secrets/discord-token.json +14 -0
  86. package/web-ui/rules/secrets/gcp-service-account.json +16 -0
  87. package/web-ui/rules/secrets/github-pat.json +16 -0
  88. package/web-ui/rules/secrets/gitlab-token.json +14 -0
  89. package/web-ui/rules/secrets/heroku-api-key.json +14 -0
  90. package/web-ui/rules/secrets/npm-token.json +14 -0
  91. package/web-ui/rules/secrets/openai-api-key.json +14 -0
  92. package/web-ui/rules/secrets/pulumi-access-token.json +14 -0
  93. package/web-ui/rules/secrets/sendgrid-key.json +14 -0
  94. package/web-ui/rules/secrets/slack-token.json +13 -0
  95. package/web-ui/rules/secrets/stripe-live-key.json +14 -0
  96. package/web-ui/rules/secrets/terraform-cloud-token.json +16 -0
  97. package/web-ui/rules/secrets/twilio-key.json +13 -0
  98. package/web-ui/rules/secrets/vault-token.json +14 -0
  99. package/web-ui/rules/secrets-infra/api-key-header.json +15 -0
  100. package/web-ui/rules/secrets-infra/basic-auth-header.json +13 -0
  101. package/web-ui/rules/secrets-infra/basic-auth-url.json +13 -0
  102. package/web-ui/rules/secrets-infra/bearer-token.json +17 -0
  103. package/web-ui/rules/secrets-infra/db-connection-string.json +13 -0
  104. package/web-ui/rules/secrets-infra/docker-config-auth.json +13 -0
  105. package/web-ui/rules/secrets-infra/env-key-value.json +14 -0
  106. package/web-ui/rules/secrets-infra/generic-high-entropy-secret.json +18 -0
  107. package/web-ui/rules/secrets-infra/jwt-token.json +16 -0
  108. package/web-ui/rules/secrets-infra/kubeconfig-token.json +14 -0
  109. package/web-ui/rules/secrets-infra/password-field.json +14 -0
  110. package/web-ui/rules/secrets-infra/pgp-private-key.json +15 -0
  111. package/web-ui/rules/secrets-infra/ssh-private-key.json +15 -0
  112. package/web-ui/web-ui/.next/BUILD_ID +1 -1
  113. package/web-ui/web-ui/.next/app-build-manifest.json +39 -39
  114. package/web-ui/web-ui/.next/app-path-routes-manifest.json +6 -6
  115. package/web-ui/web-ui/.next/build-manifest.json +2 -2
  116. package/web-ui/web-ui/.next/prerender-manifest.json +3 -3
  117. package/web-ui/web-ui/.next/required-server-files.json +2 -1
  118. package/web-ui/web-ui/.next/server/app/(app)/activity/page.js +2 -2
  119. package/web-ui/web-ui/.next/server/app/(app)/activity/page.js.nft.json +1 -1
  120. package/web-ui/web-ui/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
  121. package/web-ui/web-ui/.next/server/app/(app)/data-shares/page.js +2 -2
  122. package/web-ui/web-ui/.next/server/app/(app)/data-shares/page.js.nft.json +1 -1
  123. package/web-ui/web-ui/.next/server/app/(app)/data-shares/page_client-reference-manifest.js +1 -1
  124. package/web-ui/web-ui/.next/server/app/(app)/detections/page.js +2 -2
  125. package/web-ui/web-ui/.next/server/app/(app)/detections/page.js.nft.json +1 -1
  126. package/web-ui/web-ui/.next/server/app/(app)/detections/page_client-reference-manifest.js +1 -1
  127. package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page.js +2 -2
  128. package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page.js.nft.json +1 -1
  129. package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page_client-reference-manifest.js +1 -1
  130. package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page.js +2 -2
  131. package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page.js.nft.json +1 -1
  132. package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page_client-reference-manifest.js +1 -1
  133. package/web-ui/web-ui/.next/server/app/(app)/exceptions/page.js +1 -1
  134. package/web-ui/web-ui/.next/server/app/(app)/exceptions/page.js.nft.json +1 -1
  135. package/web-ui/web-ui/.next/server/app/(app)/exceptions/page_client-reference-manifest.js +1 -1
  136. package/web-ui/web-ui/.next/server/app/(app)/findings/page.js +2 -2
  137. package/web-ui/web-ui/.next/server/app/(app)/findings/page.js.nft.json +1 -1
  138. package/web-ui/web-ui/.next/server/app/(app)/findings/page_client-reference-manifest.js +1 -1
  139. package/web-ui/web-ui/.next/server/app/(app)/inventory/page.js +1 -1
  140. package/web-ui/web-ui/.next/server/app/(app)/inventory/page.js.nft.json +1 -1
  141. package/web-ui/web-ui/.next/server/app/(app)/inventory/page_client-reference-manifest.js +1 -1
  142. package/web-ui/web-ui/.next/server/app/(app)/policies/page.js +2 -2
  143. package/web-ui/web-ui/.next/server/app/(app)/policies/page.js.nft.json +1 -1
  144. package/web-ui/web-ui/.next/server/app/(app)/policies/page_client-reference-manifest.js +1 -1
  145. package/web-ui/web-ui/.next/server/app/(app)/scan/page.js +2 -2
  146. package/web-ui/web-ui/.next/server/app/(app)/scan/page.js.nft.json +1 -1
  147. package/web-ui/web-ui/.next/server/app/(app)/scan/page_client-reference-manifest.js +1 -1
  148. package/web-ui/web-ui/.next/server/app/(app)/security/page.js +1 -1
  149. package/web-ui/web-ui/.next/server/app/(app)/security/page.js.nft.json +1 -1
  150. package/web-ui/web-ui/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -1
  151. package/web-ui/web-ui/.next/server/app/(app)/settings/page.js +2 -2
  152. package/web-ui/web-ui/.next/server/app/(app)/settings/page.js.nft.json +1 -1
  153. package/web-ui/web-ui/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
  154. package/web-ui/web-ui/.next/server/app/(app)/updates/page.js +2 -2
  155. package/web-ui/web-ui/.next/server/app/(app)/updates/page.js.nft.json +1 -1
  156. package/web-ui/web-ui/.next/server/app/(app)/updates/page_client-reference-manifest.js +1 -1
  157. package/web-ui/web-ui/.next/server/app/_not-found/page.js +1 -1
  158. package/web-ui/web-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  159. package/web-ui/web-ui/.next/server/app/_not-found.html +1 -1
  160. package/web-ui/web-ui/.next/server/app/_not-found.rsc +2 -2
  161. package/web-ui/web-ui/.next/server/app/index.html +1 -1
  162. package/web-ui/web-ui/.next/server/app/index.rsc +2 -2
  163. package/web-ui/web-ui/.next/server/app/page.js +1 -1
  164. package/web-ui/web-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  165. package/web-ui/web-ui/.next/server/app-paths-manifest.json +6 -6
  166. package/web-ui/web-ui/.next/server/chunks/366.js +566 -0
  167. package/web-ui/web-ui/.next/server/chunks/45.js +1 -1
  168. package/web-ui/web-ui/.next/server/chunks/484.js +564 -0
  169. package/web-ui/web-ui/.next/server/chunks/913.js +2 -0
  170. package/web-ui/web-ui/.next/server/functions-config-manifest.json +7 -7
  171. package/web-ui/web-ui/.next/server/middleware-manifest.json +5 -5
  172. package/web-ui/web-ui/.next/server/pages/404.html +1 -1
  173. package/web-ui/web-ui/.next/server/pages/500.html +1 -1
  174. package/web-ui/web-ui/.next/server/server-reference-manifest.js +1 -1
  175. package/web-ui/web-ui/.next/server/server-reference-manifest.json +1 -1
  176. package/web-ui/web-ui/.next/static/chunks/561-46ea4b9ad0419130.js +1 -0
  177. package/web-ui/web-ui/.next/static/chunks/app/(app)/activity/{page-f6b1b344709ee48e.js → page-49c63d0cec0da80d.js} +1 -1
  178. package/web-ui/web-ui/.next/static/chunks/app/(app)/data-shares/{page-485a76552d6dbabd.js → page-d469bd704615ea76.js} +1 -1
  179. package/web-ui/web-ui/.next/static/chunks/app/(app)/detections/page-07ca4b0ce174ef7a.js +1 -0
  180. package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/[id]/page-16d5fd7d373c8f0b.js +1 -0
  181. package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/new/{page-e8498a1e48943abf.js → page-d6cfd847bb528eec.js} +1 -1
  182. package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/page-291617f3a4d46a01.js +1 -0
  183. package/web-ui/web-ui/.next/static/chunks/app/(app)/findings/{page-94eb9d838ae00222.js → page-c59135e0cfa8d5c7.js} +1 -1
  184. package/web-ui/web-ui/.next/static/chunks/app/(app)/inventory/page-0eb54f5acb30a73e.js +1 -0
  185. package/web-ui/web-ui/.next/static/chunks/app/(app)/scan/page-b00573441ac43bdf.js +1 -0
  186. package/web-ui/web-ui/.next/static/chunks/app/(app)/settings/{page-b9fba600c590896d.js → page-3b5fe92cd995b763.js} +1 -1
  187. package/web-ui/web-ui/.next/static/chunks/app/(app)/updates/page-50f828314c9a5d91.js +1 -0
  188. package/web-ui/web-ui/.next/static/css/dfdcbdce6b7c9eb0.css +2 -0
  189. package/web-ui/web-ui/package.json +1 -1
  190. package/web-ui/web-ui/server.js +1 -1
  191. package/LICENSE +0 -201
  192. package/web-ui/web-ui/.next/server/chunks/116.js +0 -536
  193. package/web-ui/web-ui/.next/server/chunks/223.js +0 -534
  194. package/web-ui/web-ui/.next/server/chunks/226.js +0 -2
  195. package/web-ui/web-ui/.next/static/chunks/561-3a19cd28d2b941fa.js +0 -1
  196. package/web-ui/web-ui/.next/static/chunks/app/(app)/detections/page-8030433ea5c099fa.js +0 -1
  197. package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/[id]/page-452be710e9e05ad5.js +0 -1
  198. package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/page-1b841b6a60708c6d.js +0 -1
  199. package/web-ui/web-ui/.next/static/chunks/app/(app)/inventory/page-dd61001da0f891d3.js +0 -1
  200. package/web-ui/web-ui/.next/static/chunks/app/(app)/scan/page-158ed3ad2cee998b.js +0 -1
  201. package/web-ui/web-ui/.next/static/chunks/app/(app)/updates/page-241fdcbac6e942aa.js +0 -1
  202. package/web-ui/web-ui/.next/static/css/69dfaec5234c6b99.css +0 -2
  203. /package/web-ui/web-ui/.next/static/{v339u67-B5AsSrzDBfv22 → zNaHfOWePiRki0ugHKYzl}/_buildManifest.js +0 -0
  204. /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
+ [![npm](https://img.shields.io/npm/v/@akasecurity/cli?style=flat-square&labelColor=232F3E&color=00E0B8)](https://www.npmjs.com/package/@akasecurity/cli)
4
+ [![Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-232F3E?style=flat-square)](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)