This specification is maintained by the AgentRules Working Group. Have enhancements or want to claim maintainership?Submit Specification →
securitycritical PriorityID: pqc-mlkem768-hybrid-tls-guardrail

ML-KEM-768 Hybrid Key Exchange Invariant for Post-Quantum TLS 1.3

Enforces dual-layer hybrid key exchange (X25519 + ML-KEM-768) over TLS 1.3 across high-assurance network boundaries to defeat Harvest-Now-Decrypt-Later (HNDL) adversary strategies. Mandates strict TLS 1.3 protocol versions, enforces quantum-resistant key-share ordering, and strictly prevents downgrade to pure classical asymmetric key encapsulation mechanisms.

Prohibited Anti-Pattern: Configuring classical-only elliptic curves or permitting silent downgrade below ML-KEM-768 hybrid groups in TLS 1.3 handshakes

Export Ready-to-Drop Configuration

Select format below to copy code or download file directly.

---
description: ML-KEM-768 Hybrid Key Exchange Invariant for Post-Quantum TLS 1.3 - Enforces dual-layer hybrid key exchange (X25519 + ML-KEM-768) over TLS 1.3 across high-assurance network boundaries to defeat Harvest-Now-Decrypt-Later (HNDL) adversary strategies. Mandates strict TLS 1.3 protocol versions, enforces quantum-resistant key-share ordering, and strictly prevents downgrade to pure classical asymmetric key encapsulation mechanisms.
globs: src/**/tls*.{ts,js}, src/**/network*.{ts,js}, src/**/https*.{ts,js}, src/**/crypto*.{ts,js}, src/**/agent*.{ts,js}, config/**/*.{json,ts,yaml,yml}
alwaysApply: true
verified_by: "agentrules.org"
license: "CC-BY-4.0"
source: "https://agentrules.org/rules/pqc-mlkem768-hybrid-tls-guardrail"
---

# ML-KEM-768 Hybrid Key Exchange Invariant for Post-Quantum TLS 1.3

> **Severity**: CRITICAL | **Category**: security
> **Anti-Pattern Warning**: Configuring classical-only elliptic curves or permitting silent downgrade below ML-KEM-768 hybrid groups in TLS 1.3 handshakes

## System Constraints
You are a Principal Security Architect enforcing Post-Quantum Cryptography (PQC) standards conforming to NIST FIPS 203 (ML-KEM-768) and RFC 9370/draft-ietf-tls-hybrid-design. Mandate that all TLS 1.3 infrastructure strictly negotiates hybrid key agreements (e.g., X25519MLKEM768 or SecP256r1MLKEM768). Reject TLS 1.2 or lower, disallow classical-only curves on zero-trust channels, enforce proper MTU considerations for enlarged ClientHello payloads, and prevent classical ticket-key session resumption from bypassing hybrid re-keying.

## Strict Guidelines
- Services MUST enforce 'TLSv1.3' as both 'minVersion' and 'maxVersion' for all quantum-sensitive inter-service and edge communication.
- Engineers MUST ALWAYS configure named key exchange groups prioritizing 'X25519MLKEM768' (or 'X25519Kyber768Draft00' legacy codepoints during rollout) before any classical fallbacks.
- Engineers MUST NOT permit pure classical groups ('X25519', 'prime256v1', 'secp384r1') on high-assurance enterprise links subject to Harvest-Now-Decrypt-Later (HNDL) exposure.
- Code MUST handle enlarged TLS 1.3 ClientHello records (~1200+ bytes for ML-KEM-768 public key encapsulation) without triggering IP fragmentation drops or buffer truncation.
- Session ticket resumption (PSK) MUST be cryptographically bound to hybrid key exchange and MUST NOT bypass quantum-safe forward secrecy.
- TLS clients MUST verify that the negotiated group matches an approved hybrid post-quantum cipher group and abort connection handshake on downgrade.

## Bad vs Good Implementations
### Enterprise TLS 1.3 Agent & Server Configuration

#### Bad Antipattern (AI Common Hallucination)
> **Why it fails**: Configuring TLSv1.2 and pure classical ECDH groups (X25519, prime256v1) leaves traffic completely unprotected against quantum adversaries capturing and storing ciphertexts today for decryption by future cryptanalytically relevant quantum computers (CRQCs).
```typescript
import tls from 'node:tls';

// Flawed: Permits TLS 1.2 downgrade and relies exclusively on classical elliptic curves
export function createLegacySecureContext() {
  return tls.createSecureContext({
    minVersion: 'TLSv1.2',
    // Pure classical curves vulnerable to store-now-decrypt-later quantum attacks
    ecdhCurve: 'X25519:prime256v1',
    ciphers: 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384',
    honorCipherOrder: true
  });
}
```

#### Production Standard (Correct)
> **Standard**: Locks the transport to TLS 1.3 exclusively and enforces the hybrid X25519MLKEM768 key encapsulation standard. This simultaneously guarantees post-quantum protection against future Shor's algorithm attacks and preserves existing classical security guarantees against current cryptanalytic attacks.
```typescript
import tls from 'node:tls';

// Compliant: Strict TLS 1.3 enforcing NIST ML-KEM-768 hybrid key agreement
const APPROVED_PQC_HYBRID_GROUPS = [
  'X25519MLKEM768',
  'SecP256r1MLKEM768'
].join(':');

export function createPostQuantumSecureContext(): tls.SecureContext {
  return tls.createSecureContext({
    minVersion: 'TLSv1.3',
    maxVersion: 'TLSv1.3',
    // Mandatory hybrid ML-KEM-768 key exchange groups
    ecdhCurve: APPROVED_PQC_HYBRID_GROUPS,
    // Ensure quantum forward secrecy without classical-only fallback on restricted channels
    ciphers: 'TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256',
    honorCipherOrder: true
  });
}

export function verifyPqcHandshake(socket: tls.TLSSocket): void {
  const negotiated = socket.getEphemeralKeyInfo();
  // Ephemeral key info validation in supported Node/OpenSSL 3.2+ environments
  if (negotiated && 'name' in negotiated) {
    const groupName = (negotiated as { name: string }).name;
    if (!APPROVED_PQC_HYBRID_GROUPS.split(':').includes(groupName)) {
      socket.destroy(new Error(`PQC Violation: Insecure key exchange negotiated: ${groupName}`));
    }
  }
}
```

Recommended MCP Servers (mcp-serverlist.com)

Equip agent with system tools to verify code for this stack.

Recommended Agent Skills (askills.dev)

Ready-to-use executable skill functions tailored to this stack.

Architectural Specification & Invariant Rationale

Architectural Invariant Design: ML-KEM-768 Hybrid Key Exchange Invariant for Post-Quantum TLS 1.3

ML-KEM-768 Hybrid Key Exchange Invariant for Post-Quantum TLS 1.3 defines an industrial-grade behavioral standard for security engineering. Enforces dual-layer hybrid key exchange (X25519 + ML-KEM-768) over TLS 1.3 across high-assurance network boundaries to defeat Harvest-Now-Decrypt-Later (HNDL) adversary strategies. Mandates strict TLS 1.3 protocol versions, enforces quantum-resistant key-share ordering, and strictly prevents downgrade to pure classical asymmetric key encapsulation mechanisms. Modern software architectures require strict adherence to deterministic patterns to guarantee high availability, maintainability, and zero security vulnerabilities.

Framework Paradigm Shift & Drift MechanicsLLMs are trained on millions of open-source repositories containing outdated code, legacy idioms, and unpatched antipatterns. When coding assistants generate implementations for this stack, they default to common statistical tokens: Configuring classical-only elliptic curves or permitting silent downgrade below ML-KEM-768 hybrid groups in TLS 1.3 handshakes Without an explicit system instruction file, developers spend hours debugging silent failures.
Failure Modes & Production Blast Radius

Hazard Analysis: What Breaks Without This Rule

The following failure modes have been cataloged from hundreds of hours of production code reviews where AI assistants produced non-compliant implementations:

Failure ModeAI Symptom (The Anti-Pattern)SeverityProduction Impact & Remedy
AI Hallucination & Deprecation DriftConfiguring classical-only elliptic curves or permitting silent downgrade below ML-KEM-768 hybrid groups in TLS 1.3 handshakesCritical
Violating this industrial standard introduces regression bugs, security risks, and unexpected runtime failures in production.
Enforce explicit behavioral system directives across all AI coding assistants in your repository.
Silent Architecture InconsistencyAI assistants produce mixed paradigms across files, creating fragmented codebase conventions.Medium
Increases cognitive load during code reviews and leads to maintenance debt across engineering teams.
Pin project conventions in .cursor/rules, CLAUDE.md, and AGENTS.md so all team agents follow identical guardrails.
Architectural Directives in Detail

Step-by-Step Production Directives

Each rule constraint below is injected into the AI agent's system prompt to establish deterministic boundaries:

1

Services MUST enforce 'TLSv1.3' as both 'minVersion' and 'maxVersion' for all quantum-sensitive inter-service and edge communication.

Services MUST enforce 'TLSv1.3' as both 'minVersion' and 'maxVersion' for all quantum-sensitive inter-service and edge communication.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
2

Engineers MUST ALWAYS configure named key exchange groups prioritizing 'X25519MLKEM768' (or 'X25519Kyber768Draft00' legacy codepoints during rollout) before any classical fallbacks.

Engineers MUST ALWAYS configure named key exchange groups prioritizing 'X25519MLKEM768' (or 'X25519Kyber768Draft00' legacy codepoints during rollout) before any classical fallbacks.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
3

Engineers MUST NOT permit pure classical groups ('X25519', 'prime256v1', 'secp384r1') on high-assurance enterprise links subject to Harvest-Now-Decrypt-Later (HNDL) exposure.

Engineers MUST NOT permit pure classical groups ('X25519', 'prime256v1', 'secp384r1') on high-assurance enterprise links subject to Harvest-Now-Decrypt-Later (HNDL) exposure.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
4

Code MUST handle enlarged TLS 1.3 ClientHello records (~1200+ bytes for ML-KEM-768 public key encapsulation) without triggering IP fragmentation drops or buffer truncation.

Code MUST handle enlarged TLS 1.3 ClientHello records (~1200+ bytes for ML-KEM-768 public key encapsulation) without triggering IP fragmentation drops or buffer truncation.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
5

Session ticket resumption (PSK) MUST be cryptographically bound to hybrid key exchange and MUST NOT bypass quantum-safe forward secrecy.

Session ticket resumption (PSK) MUST be cryptographically bound to hybrid key exchange and MUST NOT bypass quantum-safe forward secrecy.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
6

TLS clients MUST verify that the negotiated group matches an approved hybrid post-quantum cipher group and abort connection handshake on downgrade.

TLS clients MUST verify that the negotiated group matches an approved hybrid post-quantum cipher group and abort connection handshake on downgrade.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
Technical Questions & Answers

Frequently Asked Technical Questions

Common questions developers face when configuring AI coding assistants for this stack:

Q:Why is ML-KEM-768 Hybrid Key Exchange Invariant for Post-Quantum TLS 1.3 critical for AI coding assistants?

Enforces dual-layer hybrid key exchange (X25519 + ML-KEM-768) over TLS 1.3 across high-assurance network boundaries to defeat Harvest-Now-Decrypt-Later (HNDL) adversary strategies. Mandates strict TLS 1.3 protocol versions, enforces quantum-resistant key-share ordering, and strictly prevents downgrade to pure classical asymmetric key encapsulation mechanisms. Without explicit behavioral boundaries, AI coding assistants (Cursor, Claude Code, Windsurf, Codex) rely on training data averages, which frequently produce deprecated, inefficient, or vulnerable code patterns.

Q:How does adopting this rule prevent AI hallucinations?

This rule explicitly declares what the AI must avoid (Configuring classical-only elliptic curves or permitting silent downgrade below ML-KEM-768 hybrid groups in TLS 1.3 handshakes) and prescribes verified positive examples. Grounding the LLM with negative and positive pairs eliminates guesswork.

Q:Which AI coding environments are supported?

This specification is multi-platform compatible: Cursor (.cursor/rules/*.mdc & .cursorrules), Anthropic Claude Code (CLAUDE.md), Windsurf (.windsurfrules), Codex / Cline (AGENTS.md), and GitHub Copilot (.github/copilot-instructions.md).

Q:Can I combine this rule with other technology stacks?

Yes. Use the Interactive Stack Builder or download an Agent Pack to merge this rule with other frontend, backend, database, security, and DevOps rules without syntax collision.

Open Specification · CC BY 4.0·Free for Personal, Team & Commercial In-Repo Use

Citation & Open Source Attribution Guidelines

This specification is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0). You are completely free to adapt and share this rule in your workspace. If citing, including in public AI benchmark datasets, or redistributing, attribution to AgentRules.org is required.

1 Rule in Stack

ML-KEM-768