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.
- package/README.md +35 -16
- package/dist/adapters/registry.d.ts.map +1 -1
- package/dist/adapters/registry.js +1 -0
- package/dist/adapters/registry.js.map +1 -1
- package/dist/commands/benchmark.js +1 -1
- package/dist/commands/demo.d.ts +21 -0
- package/dist/commands/demo.d.ts.map +1 -0
- package/dist/commands/demo.js +683 -0
- package/dist/commands/demo.js.map +1 -0
- package/dist/commands/detect.d.ts +58 -0
- package/dist/commands/detect.d.ts.map +1 -0
- package/dist/commands/detect.js +335 -0
- package/dist/commands/detect.js.map +1 -0
- package/dist/commands/gcp-sm-migration.d.ts +17 -0
- package/dist/commands/gcp-sm-migration.d.ts.map +1 -0
- package/dist/commands/gcp-sm-migration.js +295 -0
- package/dist/commands/gcp-sm-migration.js.map +1 -0
- package/dist/commands/identity.js +3 -1
- package/dist/commands/identity.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +21 -10
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mcp-audit.d.ts +50 -0
- package/dist/commands/mcp-audit.d.ts.map +1 -0
- package/dist/commands/mcp-audit.js +501 -0
- package/dist/commands/mcp-audit.js.map +1 -0
- package/dist/commands/protect.d.ts.map +1 -1
- package/dist/commands/protect.js +10 -1
- package/dist/commands/protect.js.map +1 -1
- package/dist/commands/runtime.d.ts.map +1 -1
- package/dist/commands/runtime.js +106 -23
- package/dist/commands/runtime.js.map +1 -1
- package/dist/commands/self-register.js +1 -1
- package/dist/commands/self-register.js.map +1 -1
- package/dist/commands/soul.js +3 -3
- package/dist/commands/soul.js.map +1 -1
- package/dist/guided/wizard.js +2 -2
- package/dist/guided/wizard.js.map +1 -1
- package/dist/index.js +74 -6
- package/dist/index.js.map +1 -1
- package/dist/natural/llm-fallback.js +1 -1
- package/dist/report/interactive-html.js +1 -1
- package/dist/report/review-html.js +2 -2
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +43 -4
- package/dist/router.js.map +1 -1
- package/dist/semantic/command-index.json +3 -3
- package/dist/shield/init.d.ts.map +1 -1
- package/dist/shield/init.js +16 -1
- package/dist/shield/init.js.map +1 -1
- package/dist/shield/status.d.ts.map +1 -1
- package/dist/shield/status.js +22 -1
- package/dist/shield/status.js.map +1 -1
- package/dist/util/footer.d.ts +17 -0
- package/dist/util/footer.d.ts.map +1 -0
- package/dist/util/footer.js +25 -0
- package/dist/util/footer.js.map +1 -0
- 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
|
[](https://github.com/opena2a-org/opena2a/blob/main/LICENSE)
|
|
10
16
|
[]()
|
|
11
17
|
[](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.
|
|
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
|
|
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 (
|
|
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
|
|
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
|
|
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,
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":";;;
|
|
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
|
|
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"}
|