|
| 1 | +# Auditor handbook |
| 2 | + |
| 3 | +This page is written for the auditor who has never seen an MCP |
| 4 | +attestation before. It tells you: what a conformant attestation looks |
| 5 | +like, how to read it, and which clauses of ISO 42001 / NIST AI 600-1 / |
| 6 | +EU AI Act each field addresses. |
| 7 | + |
| 8 | +## What you should receive |
| 9 | + |
| 10 | +The deployer should hand you, for each covered host: |
| 11 | + |
| 12 | +1. A **Capability-State Attestation** JSON file, signed via sigstore |
| 13 | + keyless. Schema: `attestation-v0.schema.json`. Spec: `SPEC.md`. |
| 14 | +2. The **policy** YAML that was active when the attestation was |
| 15 | + produced. It specifies thresholds and allow-lists. |
| 16 | +3. The **policy report** (JSON) produced by `mcp-gov check`. Lists one |
| 17 | + result per breakpoint with severity `pass | info | warn | block`. |
| 18 | +4. The **framework mapping** for your target framework (ISO 42001, |
| 19 | + NIST AI 600-1, or EU AI Act). The deployer can emit it with |
| 20 | + `mcp-gov mappings show iso42001`. |
| 21 | + |
| 22 | +## How to verify the attestation |
| 23 | + |
| 24 | +```bash |
| 25 | +mcp-gov verify attestation.json \ |
| 26 | + --expected-identity user@example.com \ |
| 27 | + --expected-issuer https://accounts.google.com |
| 28 | +``` |
| 29 | + |
| 30 | +The tool: |
| 31 | + |
| 32 | +- validates the JSON against the schema, |
| 33 | +- recomputes the TCS from the `tools` array, |
| 34 | +- verifies the sigstore bundle against the transparency log and the |
| 35 | + expected identity/issuer. |
| 36 | + |
| 37 | +Any mismatch causes a non-zero exit code. |
| 38 | + |
| 39 | +## Clause mapping |
| 40 | + |
| 41 | +Each breakpoint is mapped to specific clauses. See the |
| 42 | +`mcp_governance_kit.mappings` bundle for the authoritative source. |
| 43 | + |
| 44 | +- **ISO/IEC 42001:2023 Annex A** — B1 → A.6.2.5 and A.6.2.6; B2 → A.10.2 |
| 45 | + and A.10.3; B4 → A.4.5 and A.9.3; B5 → A.6.2.6 and A.9.4; B6 → A.6.2.4 |
| 46 | + and A.6.2.8. |
| 47 | +- **NIST AI 600-1** — B1 → GOVERN-1.4-004 and MANAGE-2.4-002; B2 → |
| 48 | + GOVERN-6.1-001 and MAP-4.1-003; B4 → MANAGE-1.2-004 and MANAGE-2.2-001; |
| 49 | + B5 → MEASURE-2.8-001 and MANAGE-2.3-002; B6 → MAP-3.1-002 and |
| 50 | + MANAGE-4.2-001. |
| 51 | +- **EU AI Act** — B1 → Art. 55(1)(b); B2 → Art. 25 and 53(1)(b); B4 → |
| 52 | + Art. 14 and 15(4); B5 → Art. 12 and 55(1)(c); B6 → Art. 51 and 55(1)(a). |
| 53 | + |
| 54 | +## What the paper says you will not find |
| 55 | + |
| 56 | +The paper argues that **no published framework text** currently |
| 57 | +operationalises a runtime capability-state primitive. The attestation |
| 58 | +is that primitive. Treat clause mappings above as the adjacent text you |
| 59 | +can cite; treat the attestation itself as the evidence artefact. |
0 commit comments