You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: packages/cli/README.md
+194Lines changed: 194 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,6 +52,8 @@ Run `opena2a init` in any project directory to get an instant security assessmen
52
52
MCP config found
53
53
-----------------------------------------------
54
54
Trust Score 30 / 100 [Grade: F]
55
+
Shield Posture 25 / 100 (CRITICAL)
56
+
Products 1/7 active
55
57
56
58
Next Steps
57
59
-----------------------------------------------
@@ -177,6 +179,198 @@ opena2a config contribute on # Enable community data sharing
177
179
opena2a config llm on # Enable LLM-powered command matching
178
180
```
179
181
182
+
## Shield: Unified Security Orchestration
183
+
184
+
Shield ties all OpenA2A products into a single security layer for AI coding assistants. It provides a tamper-evident event log, policy evaluation, runtime monitoring, session identification, integrity verification, and LLM-powered analysis.
185
+
186
+
```bash
187
+
opena2a shield init # Full environment scan + policy generation
188
+
opena2a shield status # Product availability and integrity state
189
+
opena2a shield selfcheck # Run integrity checks across all subsystems
190
+
```
191
+
192
+
### How Shield protects your workstation
193
+
194
+
| Capability | What it does | Status |
195
+
|-----------|-------------|--------|
196
+
|**Credential scanning**| Detects hardcoded API keys (Anthropic, OpenAI, AWS, Google, GitHub) | Active |
197
+
|**Scope drift detection**| Finds API keys that silently access unintended services (DRIFT-001, DRIFT-002) | Active |
198
+
|**Tamper-evident event log**| SHA-256 hash-chained event log -- any modification breaks the chain | Active |
199
+
|**Policy evaluation**| Allow/deny rules for processes, credentials, network, filesystem, MCP servers | Active |
200
+
|**Session identification**| Detects which AI assistant is running (Claude Code, Cursor, Copilot, Windsurf) | Active |
201
+
|**Config integrity**| Signs config files and detects unauthorized modifications | Active |
202
+
|**ARP bridge**| Imports runtime protection events from HackMyAgent's ARP into Shield's log | Active |
203
+
|**Posture scoring**| 0-100 security score based on active products, policy, hooks, credentials | Active |
|**Integrity selfcheck**| Verifies policy, shell hooks, event chain, process, and artifact signatures | Active |
206
+
|**Lockdown mode**| Enters lockdown when integrity checks fail; requires explicit recovery | Active |
207
+
|**Adaptive learning**| Observes agent behavior to build per-agent baselines and suggest policies | Architecture ready |
208
+
209
+
Shield currently operates in **observation and detection** mode. It logs, classifies, and surfaces security events for the developer to act on. Enforcement (automatic blocking) is on the roadmap once baselines are established through the adaptive learning phase.
210
+
211
+
### Subcommands
212
+
213
+
#### `opena2a shield init`
214
+
215
+
Full environment scan: detects project type, scans for credentials, discovers AI assistants, MCP servers, and OAuth sessions, generates a YAML policy file, installs shell hooks, and writes a genesis event to the tamper-evident log.
216
+
217
+
```bash
218
+
opena2a shield init # Scan current directory
219
+
opena2a shield init --dir ./my-agent # Scan specific directory
opena2a shield triage --severity medium # Include medium severity
342
+
opena2a shield triage --agent windsurf # For specific agent
343
+
```
344
+
345
+
### Event Log Format
346
+
347
+
Shield maintains a tamper-evident event log at `~/.opena2a/shield/events.jsonl`. Each event is SHA-256 hash-chained to the previous event, starting from a genesis hash. Any modification to a past event breaks the chain and is detected by `selfcheck`.
0 commit comments