Follow-ups from #779: seal after bundle verification, owner-auth wording, config-digest changelog
Maintainers usually reply within 1 day
@rajnisht7 is already working on this.
Since Oct 20, 2026.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 57/100
Research direction
Start with startup.py at the referenced lines 542 and 693 to trace when the key is sealed and the policy bundle is checked. Then review seal.py, the security model doc, and the CHANGELOG entries for the two wording fixes. Done means the key is not left sealed to a failed bundle digest, the documentation accurately describes the TPM owner password and access requirements, and the changelog says the config digest changes on every deployment upgrade.
Written by the indexing model from the issue text.
Description
Three follow-ups from the review of #779 at dd07fac. None blocks the merge; each is small.
- Seal after the policy bundle verifies. On the first start the key is sealed (
startup.py:542) before the bundle is checked (:693). If that bundle fails, the start aborts but leaves the store sealed to the bad digest, so the next good start refuses withSEALED_KEY_DIGEST_MISMATCHuntil someone runsrotate. - Say plainly what protects the sealed key. Sealing works only with an empty TPM owner password, so any process that can open the TPM device and read
sealed_key_dircan unseal. The security model doc and theseal.pydocstring should say that. - Correct the CHANGELOG line: the config digest changes for every deployment on upgrade, not only with
sink_policy.
Optional: TPM-free unit tests for the reseal hash check and the post-rotation gate check.
- Dominant language
- Python
- Stars
- 33
- Forks
- 24
- Avg merge
- 19h 50m
- Merged PRs (30d)
- 75
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from agentrust-io/cmcp
-
3 of 6 InspectionResult values are declared but unreachablePossibly taken @dinakarjs claimed this 3 days ago. Open
Difficulty 3/5 Half a day Newbie friendliness 35/100
agentrust-io/cmcp#764 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
agentrust-io/cmcp#736 · 5 comments ·
Maintainers usually reply within 1 day
-
help wanted
Difficulty 4/5 3-5 days Newbie friendliness 55/100
agentrust-io/cmcp#675 · 3 comments ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
agentrust-io/cmcp#660 · 7 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
agentrust-io/cmcp#567 · 18 comments · 1 assignee ·
Maintainers usually reply within 1 day
All issues in agentrust-io/cmcp
Similar issues
-
[Bug] Unit tests reach real Bedrock call paths without patching the modelPossibly taken @proton0210 claimed this today. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
aws-samples/sample-aws-genai-db-modernizer#1318 · 1 comment ·
Maintainers usually reply within 1 day
-
pyarrow-25.0.1-cp310-cp310-manylinux_2_28_x86_64.whl: 1 vulnerabilities (highest severity is: 5.3)OpenMend: dependency security vulnerability
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
capitalone/locopy#394 ·
-
[Bug] Unhandled ValueError terminates watchdog thread when GISRC value contains multiple colonsOpenbug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
sdk-typescript: unquoted COPY globs in shell form are silently dropped from the image build contextOpenbug javascript
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
ietf-tools/datatracker#11922 · 1 comment ·
Maintainers usually reply within 1 day