3e7690fe3799e277b5ef1905088d8905dd4ca11d
Root cause: tool-audit-lib.sh signs tool-calls-head.sig with a local RSA key (~/.casan/audit-keys/), but sign-audit-head.sh (called as a CI step) overwrites audit-public.pem with the Vault KMS public key. On the second run inside security-gate.sh, the local key still exists so audit-public.pem is NOT updated, leaving a Vault key vs local-key mismatch that causes verify-tool-audit.sh to exit 1. Fix 1 — sign-audit-head.sh: after signing the audit.jsonl chain via Vault KMS, also re-sign the tool-calls chain head with the same casan-audit-key. Both chains are now anchored to the same Vault public key in audit-public.pem. Fix 2 — run-casan4-harness-tests.sh: call sign-audit-head.sh just before the inline verify-tool-audit.sh check (line 217). This re-signs both chains with Vault KMS so the inline check sees anchor=signed instead of mismatched local key vs Vault pub. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
No description provided
648 MiB
Languages
Python
33.4%
Shell
32.4%
TypeScript
23.7%
PowerShell
4.5%
JavaScript
4.2%
Other
1.7%