test: cover invalid delegation signature in action evidence - #76
Conversation
Signed-off-by: BIN Zhang <joy7759@gmail.com>
|
🔴 Contributor Check: HIGH
Automated check by AgenTrust Contributor Check. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b223ee41ac
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| _action_evidence(records), | ||
| LocalPolicy.of(["robot.move"]), |
There was a problem hiding this comment.
Exercise competing downstream outcomes
The new case uses the permitted robot.move capability and the default accepted controller decision, so it only proves that an invalid signature is eventually classified as provenance-invalid. An implementation that performs authorization and controller handling before signature verification would still pass this MUST-level test, contrary to ACTION-008's stated ordering requirement. Add conflicting authorization-invalid and negative-controller inputs, or assert that those stages are not invoked.
Useful? React with 👍 / 👎.
Signed-off-by: BIN Zhang <joy7759@gmail.com>
…tion-invalid-signature
|
@codex review |
|
Codex Review: Didn't find any major issues. What shall we delve into next? Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
imran-siddique
left a comment
There was a problem hiding this comment.
Reviewed the diff and read the thread (Codex found nothing on 0a1ffa6). Test and documentation only.
The part that makes this worth having is the ordering proof, not the tampered signature on its own. Asserting the two downstream classifications first (SCOPE_NOT_PERMITTED under the restrictive policy, CONTROLLER_REJECTED under the permissive one) and then showing both collapse to INVALID_CREDENTIAL once the leaf signature is flipped is what actually pins that provenance validation preempts authorization and outcome handling. A single-assertion version of this test would pass even if the ordering regressed.
The bit-flip via int(leaf.signature[:2], 16) ^ 1 keeps the signature well-formed hex, so this exercises signature verification rather than a parse failure. replace(leaf, ...) leaves the original chain intact for the control assertions in the same test.
One merge-order note: this and #80 both append to the same README table and the same tail of test_profile_conformance.py. Each is mergeable against main today, but the second one in will need a rebase.
Only failing check is the maintainer-hold gate.
Summary
Refs #36.
Adds the residual ACTION-path invalid-signature conformance case identified
after PR #37. This covers one remaining Issue #36 checklist item and does not
close the full issue.
What Changed
ACTION-008as a MUST-level conformance case.whose signature differs by one byte while retaining valid hexadecimal shape
and length.
provenance_invalid / INVALID_CREDENTIALbefore authorization or controlleroutcome handling.
Test Evidence
A mutation check changed the expected classification to
authorization_invalid; the test failed because the actual classificationremained
provenance_invalid.Security and Compatibility
permission, or deployment-safety claim.
and valid negative outcome.
Remaining Issue #36 Checklist
This PR does not address:
agent-manifestdelegation verifier;