opena2a-cli 0.5.4 → 0.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +35 -16
  2. package/dist/adapters/registry.d.ts.map +1 -1
  3. package/dist/adapters/registry.js +1 -0
  4. package/dist/adapters/registry.js.map +1 -1
  5. package/dist/commands/benchmark.js +1 -1
  6. package/dist/commands/demo.d.ts +21 -0
  7. package/dist/commands/demo.d.ts.map +1 -0
  8. package/dist/commands/demo.js +683 -0
  9. package/dist/commands/demo.js.map +1 -0
  10. package/dist/commands/detect.d.ts +58 -0
  11. package/dist/commands/detect.d.ts.map +1 -0
  12. package/dist/commands/detect.js +335 -0
  13. package/dist/commands/detect.js.map +1 -0
  14. package/dist/commands/gcp-sm-migration.d.ts +17 -0
  15. package/dist/commands/gcp-sm-migration.d.ts.map +1 -0
  16. package/dist/commands/gcp-sm-migration.js +295 -0
  17. package/dist/commands/gcp-sm-migration.js.map +1 -0
  18. package/dist/commands/identity.js +3 -1
  19. package/dist/commands/identity.js.map +1 -1
  20. package/dist/commands/init.d.ts.map +1 -1
  21. package/dist/commands/init.js +21 -10
  22. package/dist/commands/init.js.map +1 -1
  23. package/dist/commands/mcp-audit.d.ts +50 -0
  24. package/dist/commands/mcp-audit.d.ts.map +1 -0
  25. package/dist/commands/mcp-audit.js +501 -0
  26. package/dist/commands/mcp-audit.js.map +1 -0
  27. package/dist/commands/protect.d.ts.map +1 -1
  28. package/dist/commands/protect.js +10 -1
  29. package/dist/commands/protect.js.map +1 -1
  30. package/dist/commands/runtime.d.ts.map +1 -1
  31. package/dist/commands/runtime.js +106 -23
  32. package/dist/commands/runtime.js.map +1 -1
  33. package/dist/commands/self-register.js +1 -1
  34. package/dist/commands/self-register.js.map +1 -1
  35. package/dist/commands/soul.js +3 -3
  36. package/dist/commands/soul.js.map +1 -1
  37. package/dist/guided/wizard.js +2 -2
  38. package/dist/guided/wizard.js.map +1 -1
  39. package/dist/index.js +74 -6
  40. package/dist/index.js.map +1 -1
  41. package/dist/natural/llm-fallback.js +1 -1
  42. package/dist/report/interactive-html.js +1 -1
  43. package/dist/report/review-html.js +2 -2
  44. package/dist/router.d.ts.map +1 -1
  45. package/dist/router.js +43 -4
  46. package/dist/router.js.map +1 -1
  47. package/dist/semantic/command-index.json +3 -3
  48. package/dist/shield/init.d.ts.map +1 -1
  49. package/dist/shield/init.js +16 -1
  50. package/dist/shield/init.js.map +1 -1
  51. package/dist/shield/status.d.ts.map +1 -1
  52. package/dist/shield/status.js +22 -1
  53. package/dist/shield/status.js.map +1 -1
  54. package/dist/util/footer.d.ts +17 -0
  55. package/dist/util/footer.d.ts.map +1 -0
  56. package/dist/util/footer.js +25 -0
  57. package/dist/util/footer.js.map +1 -0
  58. package/package.json +1 -1
package/README.md CHANGED
@@ -6,6 +6,12 @@
6
6
 
7
7
  Credential detection, scope drift analysis, config integrity, runtime monitoring, behavioral governance scanning, and supply chain verification -- one CLI.
8
8
 
9
+ **Get a full security review in one command:**
10
+
11
+ ```bash
12
+ npx opena2a-cli review
13
+ ```
14
+
9
15
  [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/opena2a-org/opena2a/blob/main/LICENSE)
10
16
  [![Node](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)]()
11
17
  [![npm](https://img.shields.io/npm/v/opena2a-cli.svg)](https://www.npmjs.com/package/opena2a-cli)
@@ -36,7 +42,7 @@ No configuration required. Works with Node.js, Python, Go, and MCP server projec
36
42
  Run `opena2a init` in any project directory to get an instant security assessment:
37
43
 
38
44
  ```
39
- OpenA2A Security Report v0.5.3
45
+ OpenA2A Security Report v0.5.5
40
46
 
41
47
  Project myapp v2.1.0
42
48
  Type Node.js + MCP server
@@ -98,6 +104,17 @@ When drift is detected, `opena2a protect` migrates the key to environment variab
98
104
 
99
105
  ## Core Commands
100
106
 
107
+ ### `opena2a review`
108
+
109
+ Run all security checks and generate a unified HTML dashboard. This is the recommended starting point -- it combines credential scanning, config integrity, Shield posture, advisory checks, and optional HMA deep scan into a single interactive report.
110
+
111
+ ```bash
112
+ opena2a review # Scan + open HTML report in browser
113
+ opena2a review --no-open # Generate report without opening
114
+ opena2a review --report out.html # Save to custom path
115
+ opena2a review --format json # JSON output for CI
116
+ ```
117
+
101
118
  ### `opena2a init`
102
119
 
103
120
  Assess your project's security posture. Detects project type, scans for credentials, checks hygiene (`.gitignore`, `.env` protection, lock file, security config), calculates a trust score (0-100), and provides prioritized next steps.
@@ -170,17 +187,6 @@ opena2a self-register --dry-run # Preview what would be registered
170
187
  opena2a self-register # Register all 13 tools
171
188
  ```
172
189
 
173
- ### `opena2a review`
174
-
175
- Run all security checks and generate a unified HTML dashboard. Combines credential scanning, config integrity, Shield posture, advisory checks, and optional HMA deep scan into a single interactive report.
176
-
177
- ```bash
178
- opena2a review # Scan + open HTML report in browser
179
- opena2a review --no-open # Generate report without opening
180
- opena2a review --report out.html # Save to custom path
181
- opena2a review --format json # JSON output for CI
182
- ```
183
-
184
190
  ### `opena2a config`
185
191
 
186
192
  Manage user preferences and feature toggles.
@@ -435,7 +441,7 @@ The CLI orchestrates these specialized tools through a unified interface:
435
441
  | Command | Tool | Description |
436
442
  |---------|------|-------------|
437
443
  | `opena2a scan` | [HackMyAgent](https://github.com/opena2a-org/hackmyagent) | 150+ security checks, attack simulation, auto-fix |
438
- | `opena2a scan-soul` | [HackMyAgent](https://github.com/opena2a-org/hackmyagent) | Behavioral governance scan against AGS (SOUL.md) |
444
+ | `opena2a scan-soul` | [HackMyAgent](https://github.com/opena2a-org/hackmyagent) | Behavioral governance scan against ABGS (SOUL.md) |
439
445
  | `opena2a harden-soul` | [HackMyAgent](https://github.com/opena2a-org/hackmyagent) | Generate or improve SOUL.md governance file |
440
446
  | `opena2a secrets` | [Secretless AI](https://github.com/opena2a-org/secretless-ai) | Credential management for AI coding tools |
441
447
  | `opena2a benchmark` | [OASB](https://github.com/opena2a-org/oasb) | 222 attack scenarios, compliance scoring |
@@ -448,13 +454,26 @@ The CLI orchestrates these specialized tools through a unified interface:
448
454
 
449
455
  Adapters install tools on first use. Each tool works standalone or through the CLI.
450
456
 
457
+ ### Identity Subcommands
458
+
459
+ The `identity` command manages Ed25519 agent identities via `@opena2a/aim-core`:
460
+
461
+ ```bash
462
+ opena2a identity list # Show local agent identity (ID, public key, creation date)
463
+ opena2a identity create --name bot # Create a new named identity
464
+ opena2a identity trust # Calculate and display trust score with factor breakdown
465
+ opena2a identity audit --limit 10 # Show recent audit events
466
+ ```
467
+
468
+ Trust scores range from 0-100 and reflect how many security practices are active: identity (Ed25519 key), capability policies, audit logging, secrets management, config signing, skill verification, network controls, and heartbeat monitoring. The score shows a path forward, not a judgment.
469
+
451
470
  ## Behavioral Governance
452
471
 
453
- The [Agent Governance Specification (AGS)](https://github.com/opena2a-org/agent-governance-spec) defines a tiered behavioral safety framework for AI agents across 8 domains and 68 controls (OASB v2). OpenA2A CLI integrates AGS scanning through HackMyAgent.
472
+ The [Agent Behavioral Governance Specification (ABGS)](https://github.com/opena2a-org/agent-governance-spec) defines a tiered behavioral safety framework for AI agents across 8 domains and 68 controls (OASB v2). OpenA2A CLI integrates ABGS scanning through HackMyAgent.
454
473
 
455
474
  ### `opena2a scan-soul`
456
475
 
457
- Scan your governance file (SOUL.md or equivalent) against AGS controls for your agent's capability tier. Auto-detects tier from file content.
476
+ Scan your governance file (SOUL.md or equivalent) against ABGS controls for your agent's capability tier. Auto-detects tier from file content.
458
477
 
459
478
  ```bash
460
479
  opena2a scan-soul # Scan SOUL.md in current directory
@@ -495,7 +514,7 @@ opena2a harden-soul --dry-run # Preview what would be added, no writes
495
514
  opena2a harden-soul --json # Machine-readable output
496
515
  ```
497
516
 
498
- The 8 AGS behavioral domains (OASB v2, domains 714):
517
+ The 8 ABGS behavioral domains (OASB v2, domains 7-14):
499
518
 
500
519
  | Domain | What it governs |
501
520
  |--------|----------------|
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE/D,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CA8C1D,CAAC;AAEF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAElE;AAED,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAE9C;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,EAAE,CAE1E"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE/D,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CA+C1D,CAAC;AAEF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAElE;AAED,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAE9C;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,EAAE,CAE1E"}
@@ -9,6 +9,7 @@ exports.ADAPTER_REGISTRY = {
9
9
  name: 'scan',
10
10
  method: 'import',
11
11
  packageName: 'hackmyagent',
12
+ subcommand: 'secure',
12
13
  description: 'Scan AI agent for security vulnerabilities (HackMyAgent)',
13
14
  },
14
15
  secrets: {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":";;;AAkDA,gCAEC;AAED,oCAEC;AAED,kDAEC;AA1DY,QAAA,gBAAgB,GAAkC;IAC7D,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,0DAA0D;KACxE;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,qDAAqD;KACnE;IACD,0EAA0E;IAC1E,iGAAiG;IACjG,wFAAwF;IACxF,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,UAAU;QACnB,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,OAAO;QACnB,WAAW,EAAE,wDAAwD;KACtE;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,gDAAgD;KAC9D;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,QAAQ;QAChB,YAAY,EAAE,aAAa;QAC3B,WAAW,EAAE,yDAAyD;KACvE;IACD,4EAA4E;IAC5E,oFAAoF;IACpF,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,eAAe;QAC5B,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,yCAAyC;KACvD;IACD,iFAAiF;CAClF,CAAC;AAEF,SAAgB,UAAU,CAAC,IAAY;IACrC,OAAO,wBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,mBAAmB,CAAC,MAAqB;IACvD,OAAO,MAAM,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":";;;AAmDA,gCAEC;AAED,oCAEC;AAED,kDAEC;AA3DY,QAAA,gBAAgB,GAAkC;IAC7D,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,aAAa;QAC1B,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,0DAA0D;KACxE;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,qDAAqD;KACnE;IACD,0EAA0E;IAC1E,iGAAiG;IACjG,wFAAwF;IACxF,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,UAAU;QACnB,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,OAAO;QACnB,WAAW,EAAE,wDAAwD;KACtE;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,gDAAgD;KAC9D;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,QAAQ;QAChB,YAAY,EAAE,aAAa;QAC3B,WAAW,EAAE,yDAAyD;KACvE;IACD,4EAA4E;IAC5E,oFAAoF;IACpF,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,eAAe;QAC5B,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,yCAAyC;KACvD;IACD,iFAAiF;CAClF,CAAC;AAEF,SAAgB,UAAU,CAAC,IAAY;IACrC,OAAO,wBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,mBAAmB,CAAC,MAAqB;IACvD,OAAO,MAAM,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;AAC1E,CAAC"}
@@ -145,7 +145,7 @@ async function benchmark(options) {
145
145
  process.stdout.write(` - ${cat.name} (${cat.compliance}%)\n`);
146
146
  }
147
147
  }
148
- process.stdout.write(`\n Run \`opena2a scan secure\` for detailed findings.\n`);
148
+ process.stdout.write(`\n Run \`opena2a scan --deep\` for detailed findings.\n`);
149
149
  process.stdout.write(` Run \`opena2a benchmark --verbose\` for per-category breakdown.\n`);
150
150
  }
151
151
  process.stdout.write('\n');
@@ -0,0 +1,21 @@
1
+ /**
2
+ * opena2a demo -- Interactive demonstration of AIM capabilities.
3
+ *
4
+ * Runs a self-contained, narrated walkthrough showing the full AIM lifecycle
5
+ * in a temporary sandbox. No Docker or external services required.
6
+ *
7
+ * Scenarios:
8
+ * aim (default) -- Identity, policy, signing, credential migration
9
+ * dvaa -- Attack/defend loop against a vulnerable agent config
10
+ */
11
+ export interface DemoOptions {
12
+ scenario?: string;
13
+ interactive?: boolean;
14
+ keep?: boolean;
15
+ dir?: string;
16
+ ci?: boolean;
17
+ format?: string;
18
+ verbose?: boolean;
19
+ }
20
+ export declare function demo(opts: DemoOptions): Promise<number>;
21
+ //# sourceMappingURL=demo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demo.d.ts","sourceRoot":"","sources":["../../src/commands/demo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAYH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA8wBD,wBAAsB,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAqC7D"}