Skip to content

fix(pq): read a named ML-KEM group as post-quantum - #26

Merged
ralyodio merged 1 commit into
mainfrom
fix/pq-named-mlkem-group
Oct 17, 2026
Merged

ralyodio merged 1 commit into
mainfrom
fix/pq-named-mlkem-group

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

On Node 24.21 / OpenSSL 3.5.8, getEphemeralKeyInfo() names the hybrid group (X25519MLKEM768) instead of returning {}. describeKeyExchange treated any named group as classical, so post-quantum sessions were reported as classical. tests/pq.test.ts was failing on this box.

  • A group name containing MLKEM or Kyber is post-quantum. Any other name is classical. {} is still read as the hybrid, for builds that can't name it.
  • probeDetector() still proves both halves before enforcement turns on, so on a build where this mapping is wrong, enforcement stays off as before.

Found by the fleet-wide moshcode work sweep: each real test failure went to a claude worker with that test as its verifier. Passed on attempt 1. I reviewed the patch, and the verify passes again on current main.

🤖 Generated with Claude Code

Node 24.21 on OpenSSL 3.5.8 names the hybrid group outright
(X25519MLKEM768) instead of returning an empty object, and
describeKeyExchange read any named group as classical, so post-quantum
sessions were reported as classical. A name carrying ML-KEM or Kyber is now
post-quantum; any other name is classical; {} is still the hybrid on builds
that cannot name it.

Found and fixed by a moshcode work agent (fleet sweep); verify:
node --test ./tests/pq.test.ts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

vu1nz Security Review

0 finding(s) in PR #?

No security issues found.

@ralyodio
ralyodio merged commit 586dda6 into main Oct 17, 2026
3 checks passed
@ralyodio
ralyodio deleted the fix/pq-named-mlkem-group branch October 17, 2026 12:14
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.

1 participant