@prism-d1/cli 1.1.2 → 1.3.0

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 (255) hide show
  1. package/dist/assets/github-workflows/prism-agent-eval.yml +2 -1
  2. package/dist/assets/github-workflows/prism-eval-gate-kiro.yml +12 -2
  3. package/dist/assets/gitlab-workflows/prism-eval-gate.yml +8 -0
  4. package/dist/assets/infra/bin/app.ts +61 -37
  5. package/dist/assets/infra/lib/constructs/otel-collector-construct.ts +96 -0
  6. package/dist/assets/infra/lib/constructs/security-agent-construct.ts +35 -30
  7. package/dist/assets/infra/lib/dashboard-stack.ts +27 -0
  8. package/dist/assets/infra/lib/lambda/otel-receiver.ts +278 -8
  9. package/dist/assets/infra/lib/lambda/pricing/litellm-snapshot.json +3769 -0
  10. package/dist/assets/infra/lib/lambda/pricing/price-source.ts +56 -0
  11. package/dist/assets/infra/lib/lambda/pricing/price-table.ts +240 -0
  12. package/dist/assets/infra/lib/lambda/pricing/prices-key.ts +6 -0
  13. package/dist/assets/infra/lib/lambda/pricing/reprice.ts +108 -0
  14. package/dist/assets/infra/lib/lambda/pricing-refresh.ts +352 -0
  15. package/dist/assets/infra/lib/lambda/velocity-widget.ts +124 -1
  16. package/dist/assets/infra/lib/metrics-pipeline-stack.ts +2 -110
  17. package/dist/assets/infra/lib/security-agent-resources.ts +136 -0
  18. package/dist/assets/infra/lib/security-agent-stack.ts +69 -0
  19. package/dist/assets/infra/package.json +4 -1
  20. package/dist/assets/metric-hooks/prepare-commit-msg +3 -1
  21. package/dist/assets/pentest-cdk/bin/app.ts +12 -0
  22. package/dist/assets/pentest-cdk/cdk.json +7 -0
  23. package/dist/assets/pentest-cdk/lib/pentest-target-stack.ts +206 -0
  24. package/dist/assets/pentest-cdk/package.json +18 -0
  25. package/dist/assets/pentest-cdk/tsconfig.json +12 -0
  26. package/dist/src/codewatch/config.d.ts +17 -0
  27. package/dist/src/codewatch/config.d.ts.map +1 -0
  28. package/dist/src/codewatch/config.js +40 -0
  29. package/dist/src/codewatch/config.js.map +1 -0
  30. package/dist/src/codewatch/gitleaks.d.ts +49 -0
  31. package/dist/src/codewatch/gitleaks.d.ts.map +1 -0
  32. package/dist/src/codewatch/gitleaks.js +160 -0
  33. package/dist/src/codewatch/gitleaks.js.map +1 -0
  34. package/dist/src/codewatch/globalHooks.d.ts +52 -0
  35. package/dist/src/codewatch/globalHooks.d.ts.map +1 -0
  36. package/dist/src/codewatch/globalHooks.js +235 -0
  37. package/dist/src/codewatch/globalHooks.js.map +1 -0
  38. package/dist/src/codewatch/hooks.d.ts +38 -0
  39. package/dist/src/codewatch/hooks.d.ts.map +1 -0
  40. package/dist/src/codewatch/hooks.js +176 -0
  41. package/dist/src/codewatch/hooks.js.map +1 -0
  42. package/dist/src/codewatch/prepush.d.ts +37 -0
  43. package/dist/src/codewatch/prepush.d.ts.map +1 -0
  44. package/dist/src/codewatch/prepush.js +231 -0
  45. package/dist/src/codewatch/prepush.js.map +1 -0
  46. package/dist/src/codewatch/results.d.ts +210 -0
  47. package/dist/src/codewatch/results.d.ts.map +1 -0
  48. package/dist/src/codewatch/results.js +127 -0
  49. package/dist/src/codewatch/results.js.map +1 -0
  50. package/dist/src/codewatch/reviewers/claude.d.ts +9 -0
  51. package/dist/src/codewatch/reviewers/claude.d.ts.map +1 -0
  52. package/dist/src/codewatch/reviewers/claude.js +48 -0
  53. package/dist/src/codewatch/reviewers/claude.js.map +1 -0
  54. package/dist/src/codewatch/reviewers/index.d.ts +39 -0
  55. package/dist/src/codewatch/reviewers/index.d.ts.map +1 -0
  56. package/dist/src/codewatch/reviewers/index.js +97 -0
  57. package/dist/src/codewatch/reviewers/index.js.map +1 -0
  58. package/dist/src/codewatch/reviewers/kiro.d.ts +14 -0
  59. package/dist/src/codewatch/reviewers/kiro.d.ts.map +1 -0
  60. package/dist/src/codewatch/reviewers/kiro.js +32 -0
  61. package/dist/src/codewatch/reviewers/kiro.js.map +1 -0
  62. package/dist/src/codewatch/reviewers/types.d.ts +56 -0
  63. package/dist/src/codewatch/reviewers/types.d.ts.map +1 -0
  64. package/dist/src/codewatch/reviewers/types.js +91 -0
  65. package/dist/src/codewatch/reviewers/types.js.map +1 -0
  66. package/dist/src/codewatch/rules.d.ts +12 -0
  67. package/dist/src/codewatch/rules.d.ts.map +1 -0
  68. package/dist/src/codewatch/rules.js +27 -0
  69. package/dist/src/codewatch/rules.js.map +1 -0
  70. package/dist/src/commands/_top/dashboard.d.ts +17 -0
  71. package/dist/src/commands/_top/dashboard.d.ts.map +1 -0
  72. package/dist/src/commands/_top/dashboard.js +76 -0
  73. package/dist/src/commands/_top/dashboard.js.map +1 -0
  74. package/dist/src/commands/_top/version.d.ts +62 -0
  75. package/dist/src/commands/_top/version.d.ts.map +1 -0
  76. package/dist/src/commands/_top/version.js +175 -0
  77. package/dist/src/commands/_top/version.js.map +1 -0
  78. package/dist/src/commands/bedrock-protection/scan-account.d.ts.map +1 -1
  79. package/dist/src/commands/bedrock-protection/scan-account.js +2 -1
  80. package/dist/src/commands/bedrock-protection/scan-account.js.map +1 -1
  81. package/dist/src/commands/bedrock-protection/scan-org.d.ts.map +1 -1
  82. package/dist/src/commands/bedrock-protection/scan-org.js +16 -4
  83. package/dist/src/commands/bedrock-protection/scan-org.js.map +1 -1
  84. package/dist/src/commands/bootstrapper/install-eval-harness.d.ts.map +1 -1
  85. package/dist/src/commands/bootstrapper/install-eval-harness.js +15 -48
  86. package/dist/src/commands/bootstrapper/install-eval-harness.js.map +1 -1
  87. package/dist/src/commands/bootstrapper/install-git-hooks.d.ts +13 -0
  88. package/dist/src/commands/bootstrapper/install-git-hooks.d.ts.map +1 -1
  89. package/dist/src/commands/bootstrapper/install-git-hooks.js +28 -147
  90. package/dist/src/commands/bootstrapper/install-git-hooks.js.map +1 -1
  91. package/dist/src/commands/bootstrapper/setup-otel-sync.d.ts +12 -6
  92. package/dist/src/commands/bootstrapper/setup-otel-sync.d.ts.map +1 -1
  93. package/dist/src/commands/bootstrapper/setup-otel-sync.js +18 -443
  94. package/dist/src/commands/bootstrapper/setup-otel-sync.js.map +1 -1
  95. package/dist/src/commands/codewatch/pre-commit.d.ts +7 -0
  96. package/dist/src/commands/codewatch/pre-commit.d.ts.map +1 -0
  97. package/dist/src/commands/codewatch/pre-commit.js +30 -0
  98. package/dist/src/commands/codewatch/pre-commit.js.map +1 -0
  99. package/dist/src/commands/codewatch/pre-push.d.ts +16 -0
  100. package/dist/src/commands/codewatch/pre-push.d.ts.map +1 -0
  101. package/dist/src/commands/codewatch/pre-push.js +32 -0
  102. package/dist/src/commands/codewatch/pre-push.js.map +1 -0
  103. package/dist/src/commands/codewatch/report.d.ts +22 -0
  104. package/dist/src/commands/codewatch/report.d.ts.map +1 -0
  105. package/dist/src/commands/codewatch/report.js +64 -0
  106. package/dist/src/commands/codewatch/report.js.map +1 -0
  107. package/dist/src/commands/enable/codeburn.d.ts +59 -0
  108. package/dist/src/commands/enable/codeburn.d.ts.map +1 -0
  109. package/dist/src/commands/enable/codeburn.js +531 -0
  110. package/dist/src/commands/enable/codeburn.js.map +1 -0
  111. package/dist/src/commands/enable/codewatch.d.ts +15 -0
  112. package/dist/src/commands/enable/codewatch.d.ts.map +1 -0
  113. package/dist/src/commands/enable/codewatch.js +186 -0
  114. package/dist/src/commands/enable/codewatch.js.map +1 -0
  115. package/dist/src/commands/enable/security.d.ts +41 -0
  116. package/dist/src/commands/enable/security.d.ts.map +1 -0
  117. package/dist/src/commands/enable/security.js +130 -0
  118. package/dist/src/commands/enable/security.js.map +1 -0
  119. package/dist/src/commands/export/otel.d.ts +31 -0
  120. package/dist/src/commands/export/otel.d.ts.map +1 -0
  121. package/dist/src/commands/export/otel.js +52 -0
  122. package/dist/src/commands/export/otel.js.map +1 -0
  123. package/dist/src/commands/git/claude-session-context.d.ts.map +1 -1
  124. package/dist/src/commands/git/claude-session-context.js +2 -1
  125. package/dist/src/commands/git/claude-session-context.js.map +1 -1
  126. package/dist/src/commands/git/commit-trailers.js +1 -1
  127. package/dist/src/commands/git/commit-trailers.js.map +1 -1
  128. package/dist/src/commands/security/code-review.d.ts +22 -0
  129. package/dist/src/commands/security/code-review.d.ts.map +1 -0
  130. package/dist/src/commands/security/code-review.js +43 -0
  131. package/dist/src/commands/security/code-review.js.map +1 -0
  132. package/dist/src/commands/security/findings.d.ts +15 -0
  133. package/dist/src/commands/security/findings.d.ts.map +1 -0
  134. package/dist/src/commands/security/findings.js +31 -0
  135. package/dist/src/commands/security/findings.js.map +1 -0
  136. package/dist/src/commands/security/pentest.d.ts +18 -0
  137. package/dist/src/commands/security/pentest.d.ts.map +1 -0
  138. package/dist/src/commands/security/pentest.js +32 -0
  139. package/dist/src/commands/security/pentest.js.map +1 -0
  140. package/dist/src/commands/security/threat-model.d.ts +16 -0
  141. package/dist/src/commands/security/threat-model.d.ts.map +1 -0
  142. package/dist/src/commands/security/threat-model.js +24 -0
  143. package/dist/src/commands/security/threat-model.js.map +1 -0
  144. package/dist/src/commands/security/threats.d.ts +12 -0
  145. package/dist/src/commands/security/threats.d.ts.map +1 -0
  146. package/dist/src/commands/security/threats.js +23 -0
  147. package/dist/src/commands/security/threats.js.map +1 -0
  148. package/dist/src/commands/securityagent/setup.d.ts +19 -5
  149. package/dist/src/commands/securityagent/setup.d.ts.map +1 -1
  150. package/dist/src/commands/securityagent/setup.js +25 -189
  151. package/dist/src/commands/securityagent/setup.js.map +1 -1
  152. package/dist/src/commands/workshop/verify-setup.d.ts.map +1 -1
  153. package/dist/src/commands/workshop/verify-setup.js +5 -3
  154. package/dist/src/commands/workshop/verify-setup.js.map +1 -1
  155. package/dist/src/dashboard/codewatch.d.ts +106 -0
  156. package/dist/src/dashboard/codewatch.d.ts.map +1 -0
  157. package/dist/src/dashboard/codewatch.js +120 -0
  158. package/dist/src/dashboard/codewatch.js.map +1 -0
  159. package/dist/src/dashboard/commits.d.ts +96 -0
  160. package/dist/src/dashboard/commits.d.ts.map +1 -0
  161. package/dist/src/dashboard/commits.js +207 -0
  162. package/dist/src/dashboard/commits.js.map +1 -0
  163. package/dist/src/dashboard/page.d.ts +10 -0
  164. package/dist/src/dashboard/page.d.ts.map +1 -0
  165. package/dist/src/dashboard/page.js +470 -0
  166. package/dist/src/dashboard/page.js.map +1 -0
  167. package/dist/src/dashboard/payload.d.ts +114 -0
  168. package/dist/src/dashboard/payload.d.ts.map +1 -0
  169. package/dist/src/dashboard/payload.js +96 -0
  170. package/dist/src/dashboard/payload.js.map +1 -0
  171. package/dist/src/dashboard/report.d.ts +99 -0
  172. package/dist/src/dashboard/report.d.ts.map +1 -0
  173. package/dist/src/dashboard/report.js +300 -0
  174. package/dist/src/dashboard/report.js.map +1 -0
  175. package/dist/src/dashboard/repos.d.ts +58 -0
  176. package/dist/src/dashboard/repos.d.ts.map +1 -0
  177. package/dist/src/dashboard/repos.js +111 -0
  178. package/dist/src/dashboard/repos.js.map +1 -0
  179. package/dist/src/dashboard/security.d.ts +130 -0
  180. package/dist/src/dashboard/security.d.ts.map +1 -0
  181. package/dist/src/dashboard/security.js +144 -0
  182. package/dist/src/dashboard/security.js.map +1 -0
  183. package/dist/src/dashboard/server.d.ts +52 -0
  184. package/dist/src/dashboard/server.d.ts.map +1 -0
  185. package/dist/src/dashboard/server.js +163 -0
  186. package/dist/src/dashboard/server.js.map +1 -0
  187. package/dist/src/dashboard/setup.d.ts +67 -0
  188. package/dist/src/dashboard/setup.d.ts.map +1 -0
  189. package/dist/src/dashboard/setup.js +146 -0
  190. package/dist/src/dashboard/setup.js.map +1 -0
  191. package/dist/src/dashboard/usage.d.ts +43 -0
  192. package/dist/src/dashboard/usage.d.ts.map +1 -0
  193. package/dist/src/dashboard/usage.js +88 -0
  194. package/dist/src/dashboard/usage.js.map +1 -0
  195. package/dist/src/index.d.ts +1 -0
  196. package/dist/src/index.d.ts.map +1 -1
  197. package/dist/src/index.js +48 -2
  198. package/dist/src/index.js.map +1 -1
  199. package/dist/src/security/cfn-diff.d.ts +57 -0
  200. package/dist/src/security/cfn-diff.d.ts.map +1 -0
  201. package/dist/src/security/cfn-diff.js +112 -0
  202. package/dist/src/security/cfn-diff.js.map +1 -0
  203. package/dist/src/security/errors.d.ts +45 -0
  204. package/dist/src/security/errors.d.ts.map +1 -0
  205. package/dist/src/security/errors.js +116 -0
  206. package/dist/src/security/errors.js.map +1 -0
  207. package/dist/src/security/marker.d.ts +46 -0
  208. package/dist/src/security/marker.d.ts.map +1 -0
  209. package/dist/src/security/marker.js +120 -0
  210. package/dist/src/security/marker.js.map +1 -0
  211. package/dist/src/security/pentest-dockerfile.d.ts +8 -0
  212. package/dist/src/security/pentest-dockerfile.d.ts.map +1 -0
  213. package/dist/src/security/pentest-dockerfile.js +163 -0
  214. package/dist/src/security/pentest-dockerfile.js.map +1 -0
  215. package/dist/src/security/pentest.d.ts +233 -0
  216. package/dist/src/security/pentest.d.ts.map +1 -0
  217. package/dist/src/security/pentest.js +1057 -0
  218. package/dist/src/security/pentest.js.map +1 -0
  219. package/dist/src/security/repo.d.ts +25 -0
  220. package/dist/src/security/repo.d.ts.map +1 -0
  221. package/dist/src/security/repo.js +38 -0
  222. package/dist/src/security/repo.js.map +1 -0
  223. package/dist/src/security/review.d.ts +202 -0
  224. package/dist/src/security/review.d.ts.map +1 -0
  225. package/dist/src/security/review.js +706 -0
  226. package/dist/src/security/review.js.map +1 -0
  227. package/dist/src/security/setup.d.ts +193 -0
  228. package/dist/src/security/setup.d.ts.map +1 -0
  229. package/dist/src/security/setup.js +728 -0
  230. package/dist/src/security/setup.js.map +1 -0
  231. package/dist/src/security/threat-model.d.ts +133 -0
  232. package/dist/src/security/threat-model.d.ts.map +1 -0
  233. package/dist/src/security/threat-model.js +653 -0
  234. package/dist/src/security/threat-model.js.map +1 -0
  235. package/dist/src/utils/audit-bedrock.d.ts +1 -0
  236. package/dist/src/utils/audit-bedrock.d.ts.map +1 -1
  237. package/dist/src/utils/audit-bedrock.js +133 -0
  238. package/dist/src/utils/audit-bedrock.js.map +1 -1
  239. package/dist/src/utils/audit-org.d.ts +1 -0
  240. package/dist/src/utils/audit-org.d.ts.map +1 -1
  241. package/dist/src/utils/audit-org.js +155 -0
  242. package/dist/src/utils/audit-org.js.map +1 -1
  243. package/dist/src/utils/exec.d.ts +6 -0
  244. package/dist/src/utils/exec.d.ts.map +1 -1
  245. package/dist/src/utils/exec.js +12 -1
  246. package/dist/src/utils/exec.js.map +1 -1
  247. package/dist/src/utils/otel-sync-schedule.d.ts +41 -0
  248. package/dist/src/utils/otel-sync-schedule.d.ts.map +1 -0
  249. package/dist/src/utils/otel-sync-schedule.js +90 -0
  250. package/dist/src/utils/otel-sync-schedule.js.map +1 -0
  251. package/dist/src/utils/tool-check.d.ts +14 -0
  252. package/dist/src/utils/tool-check.d.ts.map +1 -0
  253. package/dist/src/utils/tool-check.js +42 -0
  254. package/dist/src/utils/tool-check.js.map +1 -0
  255. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"commit-trailers.js","sourceRoot":"","sources":["../../../../src/commands/git/commit-trailers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commit-trailers.js","sourceRoot":"","sources":["../../../../src/commands/git/commit-trailers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { type RunHooks } from '../enable/security.js';
2
+ import { type CodeReviewOptions, type ReviewDeps } from '../../security/review.js';
3
+ import type { SecurityOptions } from '../../security/setup.js';
4
+ /** The real runtime: enable security's runners plus a timer, Ctrl-C and the ticker. */
5
+ export declare function reviewDeps(opts: SecurityOptions): ReviewDeps;
6
+ export declare const REVIEW_TARGET_OPTIONS: {
7
+ flags: string;
8
+ description: string;
9
+ }[];
10
+ export interface ReviewHooks extends RunHooks {
11
+ reviewDeps?: (opts: SecurityOptions) => ReviewDeps;
12
+ }
13
+ declare const _default: {
14
+ description: string;
15
+ options: {
16
+ flags: string;
17
+ description: string;
18
+ }[];
19
+ action(opts: CodeReviewOptions, hooks?: ReviewHooks): Promise<void>;
20
+ };
21
+ export default _default;
22
+ //# sourceMappingURL=code-review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-review.d.ts","sourceRoot":"","sources":["../../../../src/commands/security/code-review.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAsC,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACvH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,UAAU,CAc5D;AAED,eAAO,MAAM,qBAAqB;;;GAKjC,CAAC;AAEF,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAAG,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,UAAU,CAAA;CAAE;;;;;;;iBAY/E,iBAAiB,UAAS,WAAW;;AAV1D,wBAgBE"}
@@ -0,0 +1,43 @@
1
+ import { defaultDeps, runGuarded } from '../enable/security.js';
2
+ import { FAIL_ON_LEVELS, securityCodeReview } from '../../security/review.js';
3
+ /** The real runtime: enable security's runners plus a timer, Ctrl-C and the ticker. */
4
+ export function reviewDeps(opts) {
5
+ return {
6
+ ...defaultDeps(opts),
7
+ sleep: (ms, signal) => new Promise((done) => {
8
+ if (signal.aborted)
9
+ return done();
10
+ const t = setTimeout(done, ms);
11
+ signal.addEventListener('abort', () => { clearTimeout(t); done(); }, { once: true });
12
+ }),
13
+ onInterrupt: (handler) => { process.once('SIGINT', handler); return () => { process.removeListener('SIGINT', handler); }; },
14
+ ticker: (line) => { process.stderr.write(`\r\u001b[2K${line}`); },
15
+ err: (line = '') => console.error(line),
16
+ out: (text) => { process.stdout.write(text); },
17
+ cwd: () => process.cwd(),
18
+ };
19
+ }
20
+ export const REVIEW_TARGET_OPTIONS = [
21
+ { flags: '--profile <name>', description: 'AWS CLI profile (default: none; the standard credential chain)' },
22
+ { flags: '--region <region>', description: 'AWS region (default: AWS_REGION, AWS_DEFAULT_REGION, else the profile\'s configured region)' },
23
+ { flags: '--path <dir>', description: 'The repository top level to work on (default: the current directory, which must be the top level)' },
24
+ { flags: '--repo <host/owner/name>', description: 'Repo id (not a path) for the code review, as the CI gate names it (default: from the origin remote)' },
25
+ ];
26
+ export default {
27
+ description: 'Run an AWS Security Agent code review of this branch (or --full repo) now, wait for it and print the findings',
28
+ options: [
29
+ ...REVIEW_TARGET_OPTIONS,
30
+ { flags: '--full', description: 'Review the whole repo at HEAD instead of the branch diff' },
31
+ { flags: '--timeout <minutes>', description: 'How long to wait for the job (default: 30)' },
32
+ { flags: '--fail-on <level>', description: `Exit 1 when any finding is at or above this level: ${FAIL_ON_LEVELS.join(' | ')}` },
33
+ { flags: '--json', description: 'Print only the final result JSON (progress goes to stderr)' },
34
+ { flags: '--no-wait', description: 'Start the job, print its id and exit' },
35
+ ],
36
+ async action(opts, hooks = {}) {
37
+ await runGuarded(() => {
38
+ const o = { ...opts, profile: opts.profile || undefined, region: opts.region || undefined };
39
+ return securityCodeReview(o, (hooks.reviewDeps ?? reviewDeps)(o));
40
+ }, hooks);
41
+ },
42
+ };
43
+ //# sourceMappingURL=code-review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-review.js","sourceRoot":"","sources":["../../../../src/commands/security/code-review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAiB,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAA2C,MAAM,0BAA0B,CAAC;AAGvH,uFAAuF;AACvF,MAAM,UAAU,UAAU,CAAC,IAAqB;IAC9C,OAAO;QACL,GAAG,WAAW,CAAC,IAAI,CAAC;QACpB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,IAAI,EAAE,EAAE;YAChD,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO,IAAI,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC/B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACvF,CAAC,CAAC;QACF,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3H,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QACvC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,gEAAgE,EAAE;IAC5G,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,6FAA6F,EAAE;IAC1I,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,mGAAmG,EAAE;IAC3I,EAAE,KAAK,EAAE,0BAA0B,EAAE,WAAW,EAAE,qGAAqG,EAAE;CAC1J,CAAC;AAIF,eAAe;IACb,WAAW,EAAE,+GAA+G;IAC5H,OAAO,EAAE;QACP,GAAG,qBAAqB;QACxB,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,0DAA0D,EAAE;QAC5F,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,4CAA4C,EAAE;QAC3F,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,sDAAsD,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;QAC/H,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,4DAA4D,EAAE;QAC9F,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,sCAAsC,EAAE;KAC5E;IACD,KAAK,CAAC,MAAM,CAAC,IAAuB,EAAE,QAAqB,EAAE;QAC3D,MAAM,UAAU,CAAC,GAAG,EAAE;YACpB,MAAM,CAAC,GAAsB,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YAC/G,OAAO,kBAAkB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC;CACF,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { type FindingsOptions } from '../../security/review.js';
2
+ import { type ReviewHooks } from './code-review.js';
3
+ declare const _default: {
4
+ description: string;
5
+ options: {
6
+ flags: string;
7
+ description: string;
8
+ }[];
9
+ action(opts: FindingsOptions & {
10
+ pentest?: boolean | string;
11
+ includeFalsePositives?: boolean;
12
+ }, hooks?: ReviewHooks): Promise<void>;
13
+ };
14
+ export default _default;
15
+ //# sourceMappingURL=findings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findings.d.ts","sourceRoot":"","sources":["../../../../src/commands/security/findings.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAElG,OAAO,EAAqC,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;;;;;;;iBAelE,eAAe,GAAG;QAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QAAC,qBAAqB,CAAC,EAAE,OAAO,CAAA;KAAE,UAAS,WAAW;;AAb1H,wBAyBE"}
@@ -0,0 +1,31 @@
1
+ import { runGuarded } from '../enable/security.js';
2
+ import { FAIL_ON_LEVELS, securityFindings } from '../../security/review.js';
3
+ import { securityPentestFindings } from '../../security/pentest.js';
4
+ import { REVIEW_TARGET_OPTIONS, reviewDeps } from './code-review.js';
5
+ export default {
6
+ description: 'List the findings of this repo\'s latest AWS Security Agent code review (or, with --pentest, its penetration test) and cache them for the dashboard (read-only)',
7
+ options: [
8
+ ...REVIEW_TARGET_OPTIONS,
9
+ { flags: '--job <id>', description: 'A specific code review job (default: the latest for this repo)' },
10
+ { flags: '--latest', description: 'The latest job for this repo (the default)' },
11
+ { flags: '--severity <level>', description: `Show only findings at or above: ${FAIL_ON_LEVELS.join(' | ')}` },
12
+ { flags: '--pentest [job]', description: 'Read the latest (or given) penetration-test job instead of a code review' },
13
+ { flags: '--include-false-positives', description: 'With --pentest: show findings the agent rated FALSE_POSITIVE confidence' },
14
+ { flags: '--wait', description: 'If the job is still running, wait for it' },
15
+ { flags: '--timeout <minutes>', description: 'How long --wait waits (code review: 30; pentest: 360)' },
16
+ { flags: '--json', description: 'Print only the result JSON' },
17
+ ],
18
+ async action(opts, hooks = {}) {
19
+ await runGuarded(() => {
20
+ const deps = (hooks.reviewDeps ?? reviewDeps)(opts);
21
+ if (opts.pentest !== undefined && opts.pentest !== false) {
22
+ const job = typeof opts.pentest === 'string' ? opts.pentest : opts.job;
23
+ const o = { ...opts, profile: opts.profile || undefined, region: opts.region || undefined, job };
24
+ return securityPentestFindings(o, deps);
25
+ }
26
+ const o = { ...opts, profile: opts.profile || undefined, region: opts.region || undefined };
27
+ return securityFindings(o, deps);
28
+ }, hooks);
29
+ },
30
+ };
31
+ //# sourceMappingURL=findings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findings.js","sourceRoot":"","sources":["../../../../src/commands/security/findings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAwB,MAAM,0BAA0B,CAAC;AAClG,OAAO,EAAE,uBAAuB,EAAuB,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAoB,MAAM,kBAAkB,CAAC;AAEvF,eAAe;IACb,WAAW,EAAE,iKAAiK;IAC9K,OAAO,EAAE;QACP,GAAG,qBAAqB;QACxB,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,gEAAgE,EAAE;QACtG,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,4CAA4C,EAAE;QAChF,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,mCAAmC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;QAC7G,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,0EAA0E,EAAE;QACrH,EAAE,KAAK,EAAE,2BAA2B,EAAE,WAAW,EAAE,yEAAyE,EAAE;QAC9H,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;QAC5E,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,uDAAuD,EAAE;QACtG,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;KAC/D;IACD,KAAK,CAAC,MAAM,CAAC,IAAuF,EAAE,QAAqB,EAAE;QAC3H,MAAM,UAAU,CAAC,GAAG,EAAE;YACpB,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACzD,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBACvE,MAAM,CAAC,GAAmB,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,GAAG,EAAE,CAAC;gBACjH,OAAO,uBAAuB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM,CAAC,GAAoB,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YAC7G,OAAO,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC;CACF,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { type RunHooks } from '../enable/security.js';
2
+ import { type PentestApp, type PentestOptions } from '../../security/pentest.js';
3
+ import type { ReviewDeps } from '../../security/review.js';
4
+ export interface PentestHooks extends RunHooks {
5
+ reviewDeps?: (opts: PentestOptions) => ReviewDeps;
6
+ /** Test seam: inject a fake adapter so the orchestration runs with no cdk/docker. */
7
+ app?: (opts: PentestOptions) => PentestApp;
8
+ }
9
+ declare const _default: {
10
+ description: string;
11
+ options: {
12
+ flags: string;
13
+ description: string;
14
+ }[];
15
+ action(opts: PentestOptions, hooks?: PentestHooks): Promise<void>;
16
+ };
17
+ export default _default;
18
+ //# sourceMappingURL=pentest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pentest.d.ts","sourceRoot":"","sources":["../../../../src/commands/security/pentest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAmC,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAElH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,UAAU,CAAC;IAClD,qFAAqF;IACrF,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,UAAU,CAAC;CAC5C;;;;;;;iBAqBoB,cAAc,UAAS,YAAY;;AAnBxD,wBA0BE"}
@@ -0,0 +1,32 @@
1
+ import { runGuarded } from '../enable/security.js';
2
+ import { reviewDeps } from './code-review.js';
3
+ import { FAIL_ON_LEVELS, securityPentest } from '../../security/pentest.js';
4
+ import { dockerfileApp } from '../../security/pentest-dockerfile.js';
5
+ export default {
6
+ description: 'Deploy this repo\'s app into a temporary private VPC and run an AWS Security Agent penetration test against it',
7
+ options: [
8
+ { flags: '--app-type <type>', description: 'How to build and deploy the app (default: dockerfile; v1 ships only dockerfile)' },
9
+ { flags: '--path <dir>', description: 'The repository top level (default: the current directory)' },
10
+ { flags: '--app-dir <dir>', description: 'Docker build context, relative to the repo root (default: "path" in .prism/pentest.json, else .)' },
11
+ { flags: '--dockerfile <file>', description: 'Dockerfile, relative to the repo root (default: "dockerfile" in .prism/pentest.json, else <app-dir>/Dockerfile)' },
12
+ { flags: '--wait', description: 'Wait for the job and print findings (default: do not wait — a run takes hours)' },
13
+ { flags: '--timeout <minutes>', description: 'How long --wait waits (default: 360)' },
14
+ { flags: '--keep', description: 'Do not tear the environment down after the job (remove it later with --cleanup)' },
15
+ { flags: '--status', description: 'Refresh and print the latest pentest job; tear down once it has finished. No deploy' },
16
+ { flags: '--cleanup', description: 'Tear down a prior run\'s environment now and exit. No deploy' },
17
+ { flags: '--dry-run', description: 'Show the plan, target and cost; deploy and start nothing' },
18
+ { flags: '--yes', description: 'Approve the deploy and the pentest without a prompt (CI and other non-interactive use)' },
19
+ { flags: '--include-false-positives', description: 'Show findings the agent rated FALSE_POSITIVE confidence (hidden by default)' },
20
+ { flags: '--fail-on <level>', description: `Exit 1 on a non-false-positive finding at or above this level: ${FAIL_ON_LEVELS.join(' | ')}` },
21
+ { flags: '--profile <name>', description: 'AWS CLI profile (default: none; the standard credential chain)' },
22
+ { flags: '--region <region>', description: 'AWS region (default: AWS_REGION, AWS_DEFAULT_REGION, else the profile\'s configured region)' },
23
+ ],
24
+ async action(opts, hooks = {}) {
25
+ await runGuarded(() => {
26
+ const o = { ...opts, profile: opts.profile || undefined, region: opts.region || undefined };
27
+ const app = (hooks.app ?? ((x) => dockerfileApp({ profile: x.profile })))(o);
28
+ return securityPentest(o, (hooks.reviewDeps ?? reviewDeps)(o), app);
29
+ }, hooks);
30
+ },
31
+ };
32
+ //# sourceMappingURL=pentest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pentest.js","sourceRoot":"","sources":["../../../../src/commands/security/pentest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAwC,MAAM,2BAA2B,CAAC;AAClH,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AASrE,eAAe;IACb,WAAW,EAAE,gHAAgH;IAC7H,OAAO,EAAE;QACP,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,iFAAiF,EAAE;QAC9H,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,2DAA2D,EAAE;QACnG,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,kGAAkG,EAAE;QAC7I,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,iHAAiH,EAAE;QAChK,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,gFAAgF,EAAE;QAClH,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,sCAAsC,EAAE;QACrF,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,iFAAiF,EAAE;QACnH,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,qFAAqF,EAAE;QACzH,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,8DAA8D,EAAE;QACnG,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,0DAA0D,EAAE;QAC/F,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,wFAAwF,EAAE;QACzH,EAAE,KAAK,EAAE,2BAA2B,EAAE,WAAW,EAAE,6EAA6E,EAAE;QAClI,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,kEAAkE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;QAC3I,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,gEAAgE,EAAE;QAC5G,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,6FAA6F,EAAE;KAC3I;IACD,KAAK,CAAC,MAAM,CAAC,IAAoB,EAAE,QAAsB,EAAE;QACzD,MAAM,UAAU,CAAC,GAAG,EAAE;YACpB,MAAM,CAAC,GAAmB,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YAC5G,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7E,OAAO,eAAe,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC;CACF,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { type ThreatModelOptions } from '../../security/threat-model.js';
2
+ import { type ReviewHooks } from './code-review.js';
3
+ declare const _default: {
4
+ description: string;
5
+ options: ({
6
+ flags: string;
7
+ description: string;
8
+ } | {
9
+ flags: string;
10
+ description: string;
11
+ parser: (v: string, prev?: string[]) => string[];
12
+ })[];
13
+ action(opts: ThreatModelOptions, hooks?: ReviewHooks): Promise<void>;
14
+ };
15
+ export default _default;
16
+ //# sourceMappingURL=threat-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threat-model.d.ts","sourceRoot":"","sources":["../../../../src/commands/security/threat-model.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+C,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACtH,OAAO,EAAqC,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;;;;;;;;;oBAEnE,MAAM,SAAQ,MAAM,EAAE;;iBAarB,kBAAkB,UAAS,WAAW;;AAX3D,wBAiBE"}
@@ -0,0 +1,24 @@
1
+ import { runGuarded } from '../enable/security.js';
2
+ import { FAIL_ON_LEVELS } from '../../security/review.js';
3
+ import { DEFAULT_TM_TIMEOUT_MIN, securityThreatModel } from '../../security/threat-model.js';
4
+ import { REVIEW_TARGET_OPTIONS, reviewDeps } from './code-review.js';
5
+ const collect = (v, prev = []) => [...prev, v];
6
+ export default {
7
+ description: 'Run an AWS Security Agent threat model of this repo at HEAD, focused by design docs, wait for it and print the threats',
8
+ options: [
9
+ ...REVIEW_TARGET_OPTIONS,
10
+ { flags: '--doc <path>', description: 'A design doc (scope doc) committed in HEAD, repeatable (default: .kiro/specs/*/design.md and requirements.md)', parser: collect },
11
+ { flags: '--no-docs', description: 'Model the source alone, with no scope docs' },
12
+ { flags: '--timeout <minutes>', description: `How long to wait for the job (default: ${DEFAULT_TM_TIMEOUT_MIN})` },
13
+ { flags: '--fail-on <level>', description: `Exit 1 when any threat is at or above this level: ${FAIL_ON_LEVELS.join(' | ')}` },
14
+ { flags: '--json', description: 'Print only the final result JSON (progress goes to stderr)' },
15
+ { flags: '--no-wait', description: 'Start the job, print its id and exit' },
16
+ ],
17
+ async action(opts, hooks = {}) {
18
+ await runGuarded(() => {
19
+ const o = { ...opts, profile: opts.profile || undefined, region: opts.region || undefined };
20
+ return securityThreatModel(o, (hooks.reviewDeps ?? reviewDeps)(o));
21
+ }, hooks);
22
+ },
23
+ };
24
+ //# sourceMappingURL=threat-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threat-model.js","sourceRoot":"","sources":["../../../../src/commands/security/threat-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAA2B,MAAM,gCAAgC,CAAC;AACtH,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAoB,MAAM,kBAAkB,CAAC;AAEvF,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,OAAiB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;AAEjE,eAAe;IACb,WAAW,EAAE,wHAAwH;IACrI,OAAO,EAAE;QACP,GAAG,qBAAqB;QACxB,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,+GAA+G,EAAE,MAAM,EAAE,OAAO,EAAE;QACxK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,4CAA4C,EAAE;QACjF,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,0CAA0C,sBAAsB,GAAG,EAAE;QAClH,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,qDAAqD,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;QAC9H,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,4DAA4D,EAAE;QAC9F,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,sCAAsC,EAAE;KAC5E;IACD,KAAK,CAAC,MAAM,CAAC,IAAwB,EAAE,QAAqB,EAAE;QAC5D,MAAM,UAAU,CAAC,GAAG,EAAE;YACpB,MAAM,CAAC,GAAuB,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YAChH,OAAO,mBAAmB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC;CACF,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type ThreatsOptions } from '../../security/threat-model.js';
2
+ import { type ReviewHooks } from './code-review.js';
3
+ declare const _default: {
4
+ description: string;
5
+ options: {
6
+ flags: string;
7
+ description: string;
8
+ }[];
9
+ action(opts: ThreatsOptions, hooks?: ReviewHooks): Promise<void>;
10
+ };
11
+ export default _default;
12
+ //# sourceMappingURL=threats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threats.d.ts","sourceRoot":"","sources":["../../../../src/commands/security/threats.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2C,KAAK,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC9G,OAAO,EAAqC,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;;;;;;;iBAalE,cAAc,UAAS,WAAW;;AAXvD,wBAiBE"}
@@ -0,0 +1,23 @@
1
+ import { runGuarded } from '../enable/security.js';
2
+ import { FAIL_ON_LEVELS } from '../../security/review.js';
3
+ import { DEFAULT_TM_TIMEOUT_MIN, securityThreats } from '../../security/threat-model.js';
4
+ import { REVIEW_TARGET_OPTIONS, reviewDeps } from './code-review.js';
5
+ export default {
6
+ description: 'List the threats of this repo\'s pending or latest (or --job) AWS Security Agent threat model and cache them for the dashboard (read-only)',
7
+ options: [
8
+ ...REVIEW_TARGET_OPTIONS,
9
+ { flags: '--job <id>', description: 'A specific threat model job (default: the pending one, else the latest for this repo)' },
10
+ { flags: '--latest', description: 'The latest job for this repo (the default)' },
11
+ { flags: '--severity <level>', description: `Show only threats at or above: ${FAIL_ON_LEVELS.join(' | ')}` },
12
+ { flags: '--wait', description: 'If the job is still running, wait for it' },
13
+ { flags: '--timeout <minutes>', description: `How long --wait waits (default: ${DEFAULT_TM_TIMEOUT_MIN})` },
14
+ { flags: '--json', description: 'Print only the result JSON' },
15
+ ],
16
+ async action(opts, hooks = {}) {
17
+ await runGuarded(() => {
18
+ const o = { ...opts, profile: opts.profile || undefined, region: opts.region || undefined };
19
+ return securityThreats(o, (hooks.reviewDeps ?? reviewDeps)(o));
20
+ }, hooks);
21
+ },
22
+ };
23
+ //# sourceMappingURL=threats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threats.js","sourceRoot":"","sources":["../../../../src/commands/security/threats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAuB,MAAM,gCAAgC,CAAC;AAC9G,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAoB,MAAM,kBAAkB,CAAC;AAEvF,eAAe;IACb,WAAW,EAAE,4IAA4I;IACzJ,OAAO,EAAE;QACP,GAAG,qBAAqB;QACxB,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,uFAAuF,EAAE;QAC7H,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,4CAA4C,EAAE;QAChF,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,kCAAkC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;QAC5G,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;QAC5E,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,mCAAmC,sBAAsB,GAAG,EAAE;QAC3G,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;KAC/D;IACD,KAAK,CAAC,MAAM,CAAC,IAAoB,EAAE,QAAqB,EAAE;QACxD,MAAM,UAAU,CAAC,GAAG,EAAE;YACpB,MAAM,CAAC,GAAmB,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YAC5G,OAAO,eAAe,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC;CACF,CAAC"}
@@ -1,14 +1,28 @@
1
+ import { type RunHooks } from '../enable/security.js';
2
+ import type { SecurityOptions } from '../../security/setup.js';
3
+ /**
4
+ * DEPRECATED alias for `prism-cli enable security`.
5
+ *
6
+ * The old command ran `cdk deploy --all --require-approval never`, always
7
+ * re-attached the application role, and wrote the code review id to an SSM
8
+ * parameter the CI eval gate never read. `enable security` replaces it: it
9
+ * deploys only the Security Agent stack after a diff and a confirmation, is
10
+ * idempotent, and writes the per-repo parameter the gate uses. The command is
11
+ * kept so existing scripts and docs keep working; it takes the same flags as
12
+ * `enable security`, so a script that relied on the old unattended run needs
13
+ * --yes now.
14
+ */
15
+ export declare const DEPRECATION: string[];
1
16
  declare const _default: {
2
17
  description: string;
3
18
  options: {
4
19
  flags: string;
5
20
  description: string;
6
- default: string;
21
+ default?: string;
22
+ parser?: (v: string, prev?: string[]) => string[];
7
23
  }[];
8
- action(options: {
9
- profile: string;
10
- region: string;
11
- }): void;
24
+ /** Errors are handled once, in runEnableSecurity, for this alias too. `hooks` is for tests. */
25
+ action(opts: SecurityOptions, hooks?: RunHooks): Promise<void>;
12
26
  };
13
27
  export default _default;
14
28
  //# sourceMappingURL=setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../src/commands/securityagent/setup.ts"],"names":[],"mappings":";;;;;;;oBAsCkB;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;;AANrD,wBA+KE"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../src/commands/securityagent/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,UAGvB,CAAC;;;;;;;iCAYinG,CAAC;;IAPlnG,+FAA+F;iBAC5E,eAAe,UAAU,QAAQ;;AAJtD,wBASE"}
@@ -1,193 +1,29 @@
1
- import { execSync } from 'node:child_process';
2
- import { existsSync } from 'node:fs';
3
- import { resolve, dirname } from 'node:path';
4
- import { fileURLToPath } from 'node:url';
5
- import { getAssetPath } from '../../utils/root.js';
6
- const __dirname = dirname(fileURLToPath(import.meta.url));
7
- const INFRA_DIR = getAssetPath(import.meta.url, 'infra');
8
- function runCapture(cmd) {
9
- try {
10
- return { ok: true, stdout: execSync(cmd, { encoding: 'utf8', stdio: ['pipe', 'pipe', 'pipe'], env: { ...process.env, AWS_PAGER: '' } }).trim() };
11
- }
12
- catch (err) {
13
- return { ok: false, stdout: (err.stdout || err.stderr || err.message || '').trim() };
14
- }
15
- }
16
- function cleanEnv() {
17
- const env = { ...process.env };
18
- Object.keys(env).filter(k => k.startsWith('npm_')).forEach(k => delete env[k]);
19
- return env;
20
- }
21
- function run(cmd, opts = {}) {
22
- try {
23
- execSync(cmd, { encoding: 'utf8', stdio: 'inherit', cwd: INFRA_DIR, env: cleanEnv(), ...opts });
24
- return true;
25
- }
26
- catch {
27
- return false;
28
- }
29
- }
1
+ import { runEnableSecurity, SECURITY_OPTIONS } from '../enable/security.js';
2
+ /**
3
+ * DEPRECATED alias for `prism-cli enable security`.
4
+ *
5
+ * The old command ran `cdk deploy --all --require-approval never`, always
6
+ * re-attached the application role, and wrote the code review id to an SSM
7
+ * parameter the CI eval gate never read. `enable security` replaces it: it
8
+ * deploys only the Security Agent stack after a diff and a confirmation, is
9
+ * idempotent, and writes the per-repo parameter the gate uses. The command is
10
+ * kept so existing scripts and docs keep working; it takes the same flags as
11
+ * `enable security`, so a script that relied on the old unattended run needs
12
+ * --yes now.
13
+ */
14
+ export const DEPRECATION = [
15
+ '⚠ "prism-cli securityagent setup" is deprecated; use "prism-cli enable security".',
16
+ ' It now shows a diff and asks before deploying (pass --yes to approve without a prompt).',
17
+ ];
30
18
  export default {
31
- description: 'Deploy Security Agent infrastructure and create web console application',
32
- options: [
33
- { flags: '--profile <name>', description: 'AWS CLI profile', default: process.env.AWS_PROFILE || '' },
34
- { flags: '--region <region>', description: 'AWS region', default: 'us-west-2' },
35
- ],
36
- action(options) {
37
- const { profile, region } = options;
38
- const env = `${profile ? `--profile ${profile} ` : ''}--region ${region}`;
39
- // Deploy CDK with security agent enabled
40
- console.log('šŸš€ Deploying Security Agent infrastructure...');
41
- if (!existsSync(resolve(INFRA_DIR, 'node_modules'))) {
42
- console.log(' Installing CDK dependencies...');
43
- if (!run('npm install')) {
44
- console.error('npm install failed.');
45
- process.exit(1);
46
- }
47
- }
48
- const cdkBin = resolve(INFRA_DIR, 'node_modules/.bin/cdk');
49
- const account = runCapture(`aws sts get-caller-identity ${profile ? `--profile ${profile} ` : ''}--query Account --output text`);
50
- if (!account.ok) {
51
- console.error('Failed to get account ID. Check your AWS credentials.');
52
- process.exit(1);
53
- }
54
- const cdkEnv = {
55
- ...cleanEnv(),
56
- CDK_DEFAULT_ACCOUNT: account.stdout,
57
- CDK_DEFAULT_REGION: region,
58
- AWS_DEFAULT_REGION: region,
59
- };
60
- if (!run(`${cdkBin} deploy --all --require-approval never --context enableSecurityAgent=true`, { env: cdkEnv })) {
61
- console.error('CDK deploy failed.');
62
- process.exit(1);
63
- }
64
- console.log(' āœ… Infrastructure deployed\n');
65
- // Get agent space ID
66
- console.log('šŸ” Looking up agent space...');
67
- const spaces = runCapture(`aws securityagent list-agent-spaces ${env} --output json`);
68
- if (!spaces.ok) {
69
- console.error(`Failed to list agent spaces: ${spaces.stdout}`);
70
- process.exit(1);
71
- }
72
- const spaceList = JSON.parse(spaces.stdout).agentSpaceSummaries || [];
73
- if (spaceList.length === 0) {
74
- console.error('No agent spaces found. Run deploy-infra first.');
75
- process.exit(1);
76
- }
77
- const agentSpaceId = spaceList[0].agentSpaceId;
78
- console.log(` Agent Space: ${agentSpaceId}`);
79
- // Check if application already exists
80
- console.log('šŸ” Checking for existing application...');
81
- const apps = runCapture(`aws securityagent list-applications ${env} --output json`);
82
- let applicationId;
83
- if (apps.ok && JSON.parse(apps.stdout).applicationSummaries?.length > 0) {
84
- applicationId = JSON.parse(apps.stdout).applicationSummaries[0].applicationId;
85
- console.log(` Application already exists: ${applicationId}`);
86
- }
87
- else {
88
- // Create application
89
- console.log('šŸ“¦ Creating application...');
90
- const create = runCapture(`aws securityagent create-application ${env} --output json`);
91
- if (!create.ok) {
92
- console.error(`Failed to create application: ${create.stdout}`);
93
- process.exit(1);
94
- }
95
- applicationId = JSON.parse(create.stdout).applicationId;
96
- console.log(` āœ… Created application: ${applicationId}`);
97
- }
98
- // Get service role ARN
99
- const roleArn = `arn:aws:iam::${account.stdout}:role/prism-d1-security-agent-prism-d1-security`;
100
- // Update application with role
101
- console.log('šŸ”§ Configuring application role...');
102
- const update = runCapture(`aws securityagent update-application --application-id ${applicationId} --role-arn ${roleArn} ${env} --output json`);
103
- if (!update.ok) {
104
- console.error(`Failed to update application: ${update.stdout}`);
105
- process.exit(1);
106
- }
107
- console.log(` āœ… Role attached: ${roleArn}`);
108
- console.log('\nāœ… Setup complete!');
109
- console.log(` Application: ${applicationId}`);
110
- console.log(` Web console: https://${region}.console.aws.amazon.com/securityagent/home?region=${region}`);
111
- console.log(' Click "Admin access" to open the web app.');
112
- // -------------------------------------------------------
113
- // Create Code Review for CI diff scans
114
- // Requires: repo ZIP uploaded to scan bucket first
115
- // -------------------------------------------------------
116
- console.log('\nšŸ“¦ Setting up Code Review for CI/CD diff scans...');
117
- // Get scan bucket from SSM (created by CDK)
118
- const bucketParam = runCapture(`aws ssm get-parameter --name /prism/continuum/scan-bucket ${env} --query Parameter.Value --output text`);
119
- if (!bucketParam.ok || !bucketParam.stdout) {
120
- console.log(' āš ļø Scan bucket SSM param not found. Deploy with --context enableSecurityAgent=true first.');
121
- console.log(' Skipping Code Review creation.');
122
- return;
123
- }
124
- const scanBucket = bucketParam.stdout;
125
- console.log(` Scan bucket: ${scanBucket}`);
126
- // Zip the repo and upload
127
- console.log(' Archiving repo...');
128
- const repoRoot = process.cwd();
129
- const zipResult = runCapture(`cd ${repoRoot} && git archive HEAD --format=zip -o /tmp/prism-repo.zip`);
130
- if (!zipResult.ok) {
131
- console.log(` āš ļø git archive failed (not a git repo?): ${zipResult.stdout}`);
132
- console.log(' Skipping Code Review creation. Run from a git repo root.');
133
- return;
134
- }
135
- const upload = runCapture(`aws s3 cp /tmp/prism-repo.zip s3://${scanBucket}/repo/latest.zip ${env}`);
136
- if (!upload.ok) {
137
- console.error(` Failed to upload repo ZIP: ${upload.stdout}`);
138
- return;
139
- }
140
- console.log(' āœ… Repo ZIP uploaded');
141
- // Create Code Review (or find existing)
142
- const codeReviewTitle = 'prism-d1-security-ci-diff-scan';
143
- const createCr = runCapture(`aws securityagent create-code-review ` +
144
- `--agent-space-id ${agentSpaceId} ` +
145
- `--title ${codeReviewTitle} ` +
146
- `--service-role ${roleArn} ` +
147
- `--assets '{"sourceCode":[{"s3Location":"s3://${scanBucket}/repo/latest.zip"}]}' ` +
148
- `${env} --output json`);
149
- let codeReviewId;
150
- if (createCr.ok) {
151
- codeReviewId = JSON.parse(createCr.stdout).codeReviewId;
152
- console.log(` āœ… Code Review created: ${codeReviewId}`);
153
- }
154
- else if (createCr.stdout.includes('Conflict') || createCr.stdout.includes('already exists')) {
155
- // Already exists — find it
156
- const listCr = runCapture(`aws securityagent list-code-reviews --agent-space-id ${agentSpaceId} ${env} --output json`);
157
- if (listCr.ok) {
158
- const reviews = JSON.parse(listCr.stdout).codeReviews || [];
159
- const existing = reviews.find((r) => r.title === codeReviewTitle);
160
- if (existing) {
161
- codeReviewId = existing.codeReviewId;
162
- console.log(` āœ… Code Review already exists: ${codeReviewId}`);
163
- }
164
- else {
165
- console.error(' āŒ Could not find existing Code Review');
166
- return;
167
- }
168
- }
169
- else {
170
- console.error(` āŒ Failed to list code reviews: ${listCr.stdout}`);
171
- return;
172
- }
173
- }
174
- else {
175
- console.error(` āŒ Failed to create Code Review: ${createCr.stdout}`);
176
- console.log(' The CI workflow will skip Continuum scanning until this is resolved.');
177
- return;
178
- }
179
- // Write code-review-id to SSM
180
- const ssmWrite = runCapture(`aws ssm put-parameter --name /prism/continuum/code-review-id ` +
181
- `--value "${codeReviewId}" --type String --overwrite ${env}`);
182
- if (ssmWrite.ok) {
183
- console.log(' āœ… Code Review ID written to SSM: /prism/continuum/code-review-id');
184
- }
185
- else {
186
- console.log(` āš ļø Failed to write SSM param: ${ssmWrite.stdout}`);
187
- console.log(` Manually run: aws ssm put-parameter --name /prism/continuum/code-review-id --value "${codeReviewId}" --type String --overwrite ${env}`);
188
- }
189
- console.log('\nšŸŽ‰ Continuum CI scanning ready!');
190
- console.log(' The eval gate workflow will now run diff scans on every PR.');
19
+ description: '[deprecated] Alias for "prism-cli enable security"',
20
+ options: SECURITY_OPTIONS,
21
+ /** Errors are handled once, in runEnableSecurity, for this alias too. `hooks` is for tests. */
22
+ async action(opts, hooks) {
23
+ for (const l of DEPRECATION)
24
+ console.warn(l);
25
+ console.warn('');
26
+ await runEnableSecurity(opts, hooks);
191
27
  },
192
28
  };
193
29
  //# sourceMappingURL=setup.js.map