Skip to content

feat: implement Level 1/2 conformance tests (#8)#14

Merged
imran-siddique merged 1 commit into
mainfrom
feat/level1-level2-conformance
Jun 12, 2026
Merged

feat: implement Level 1/2 conformance tests (#8)#14
imran-siddique merged 1 commit into
mainfrom
feat/level1-level2-conformance

Conversation

@imran-siddique

Copy link
Copy Markdown
Contributor

Summary

  • Adds six Level 1 tests: signed EAT envelope structure, Ed25519 signature verification via TR-SIG, tamper detection (byte-flipped signature, swapped cnf.jwk public key), and challenge nonce binding
  • Adds five Level 2 tests marked xfail(strict=False): measurement binding, mismatch detection, attestation report freshness, platform agreement, and cnf key sealing in TEE measurement
  • Adds conftest.py fixtures: signed_eat_fixture, challenge_nonce, trust_record, attestation_report — all fixtures generate fresh Ed25519 keys per run with no static key material

Level 2 uses software-only platform fixtures; full hardware TEE verification would require a live attestation verifier and an in-scope TEE quote. The module docstring details what a hardware-capable CI runner would need to promote those tests from xfail to strict.

Closes #8.

Test plan

  • python -m pytest tests/ -v passes with 86 passed, 5 xpassed, 0 failures
  • Level 0 tests unchanged and green
  • Level 1 tests: 6 new passing tests
  • Level 2 tests: 5 xpassed (software-only path works; hardware path correctly deferred)
  • CI passes on the PR

🤖 Generated with Claude Code

Level 1: six tests covering signed EAT envelope structure, Ed25519 signature
verification via TR-SIG, tamper detection (byte-flipped signature, swapped
cnf.jwk key), and nonce binding to the challenge. Fixtures in conftest.py
generate a fresh Ed25519 key pair and produce a validly-signed cmcp-runtime
record per test run.

Level 2: five tests marked xfail(strict=False) with software-only fixture
data covering measurement binding, mismatch detection, attestation report
freshness, platform agreement, and cnf key sealing. Full Level 2 verification
requires hardware TEE access; see module docstring for what a CI runner would
need to promote these from xfail to strict.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@imran-siddique imran-siddique merged commit ca81cdb into main Jun 12, 2026
5 checks passed
@imran-siddique imran-siddique deleted the feat/level1-level2-conformance branch June 12, 2026 23:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Level 1/2 conformance tests are permanently-skipped stubs

1 participant