Skip to content

fix(parmana-server): enforce canonical 64-byte base64 signatures and guard non-dict fields in parmana_evidence (#377) - #382

Open
drk-ram wants to merge 1 commit into
agentrust-io:mainfrom
drk-ram:drk-ram-fix-parmana-377
Open

drk-ram wants to merge 1 commit into
agentrust-io:mainfrom
drk-ram:drk-ram-fix-parmana-377

Conversation

@drk-ram

@drk-ram drk-ram commented Oct 25, 2026

Copy link
Copy Markdown

Closes #377

Summary

  • Enforce base64.b64decode(..., validate=True), 64-byte signature length, and canonical base64 round-trip equality in parmana_evidence._verify, returning False on malformed base64 instead of raising binascii.Error.
  • Guard non-dict signature, payload, and issuer fields in verify_refusal_record and verify_approval.
  • Add unit tests in integrations/parmana-server/tests/test_parmana_evidence.py.

Validation

  • pytest integrations/parmana-server/tests/test_parmana_evidence.py -q — passed

…guard non-dict fields in parmana_evidence (agentrust-io#377)

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Raghuvar Durga <177662415+drk-ram@users.noreply.github.com>
@drk-ram
drk-ram requested review from a team, carloshvp and imran-siddique as code owners October 25, 2026 06:59
@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

🟡 Contributor Check: MEDIUM

Check Result
Profile MEDIUM
Credential LOW
Overall MEDIUM

Automated check by AgenTrust Contributor Check.

@github-actions github-actions Bot added the needs-review:MEDIUM Contributor check flagged MEDIUM risk label Oct 25, 2026

@carloshvp carloshvp left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed exact head 31107bc8976edafe276c3215ec0b37e179892670 in an isolated checkout.

The approval/refusal helpers reject noncanonical or wrong-length standard-base64 signatures and malformed containers while preserving the signed fixture controls. All 23 offline integration tests pass. The five focused rejection controls fail with the baseline module restored in process. I used a fresh hash-locked review environment resolved from the integration's declared test dependencies, including parmana 1.6.0; pip check, repository CI Ruff and diff whitespace checks pass. This is fixture/signature verification rather than a new Parmana execution or observed downstream effect. No blocking source finding; hosted checks and maintainer policy remain separate.

Reviewed with OpenAI Codex.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-review:MEDIUM Contributor check flagged MEDIUM risk

Projects

None yet

Development

Successfully merging this pull request may close these issues.

integrations/parmana-server: parmana_evidence._verify accepts non-base64 characters in signatures and crashes on non-dict signature/payload fields

2 participants