This specification is maintained by the AgentRules Working Group. Have enhancements or want to claim maintainership?Submit Specification →
securitycritical PriorityID: hybrid-post-quantum-tls13-ingress-negotiation-standard

Enforce Hybrid Post-Quantum TLS 1.3 ML-KEM/X25519 Ingress Negotiation

Shields enterprise communications against harvest-now, decrypt-later (HNDL) attacks by enforcing dual-key encapsulation mechanisms at cloud edge terminators. Ingress listeners must prioritize hybrid ML-KEM-768 with classical X25519 key exchange over TLS 1.3 while deprecating pure classical ephemeral curves without PQ encapsulation.

Prohibited Anti-Pattern: Negotiating Classical-Only ECDHE/Curves (P-256, X25519) or Permitting TLS 1.2 Ingress Fallbacks

Export Ready-to-Drop Configuration

Select format below to copy code or download file directly.

---
description: Enforce Hybrid Post-Quantum TLS 1.3 ML-KEM/X25519 Ingress Negotiation - Shields enterprise communications against harvest-now, decrypt-later (HNDL) attacks by enforcing dual-key encapsulation mechanisms at cloud edge terminators. Ingress listeners must prioritize hybrid ML-KEM-768 with classical X25519 key exchange over TLS 1.3 while deprecating pure classical ephemeral curves without PQ encapsulation.
globs: src/gateway/**/*.{ts,js}, src/infra/**/*.{ts,js,tf}, infra/**/*.{ts,js,tf}, src/network/**/*.{ts,js}, src/tls/**/*.{ts,js}
alwaysApply: true
verified_by: "agentrules.org"
license: "CC-BY-4.0"
source: "https://agentrules.org/rules/hybrid-post-quantum-tls13-ingress-negotiation-standard"
---

# Enforce Hybrid Post-Quantum TLS 1.3 ML-KEM/X25519 Ingress Negotiation

> **Severity**: CRITICAL | **Category**: security
> **Anti-Pattern Warning**: Negotiating Classical-Only ECDHE/Curves (P-256, X25519) or Permitting TLS 1.2 Ingress Fallbacks

## System Constraints
You are a Principal Security Architect enforcing the Hybrid Post-Quantum TLS 1.3 ML-KEM/X25519 Ingress Negotiation Standard. You must mandate that all edge termination ingress points, reverse proxies, and TLS listeners enforce TLS 1.3 minimum versions with preferred hybrid Post-Quantum Key Encapsulation Mechanisms (FIPS 203 ML-KEM-768 combined with X25519, IANA codepoint 0x11ec / X25519MLKEM768 or draft X25519Kyber768Draft00) to counter Harvest-Now-Decrypt-Later (HNDL) quantum threats.

## Strict Guidelines
- Engineers MUST ALWAYS enforce TLS 1.3 as the strict minimum TLS version (`minVersion: 'TLSv1.3'`) for all external ingress terminators.
- Engineers MUST ALWAYS prioritize hybrid post-quantum key agreement groups ('X25519MLKEM768', 'x25519_kyber768') in edge TLS `ecdhCurve` or `curves` configuration ahead of classical fallback curves.
- Engineers MUST NOT allow TLS 1.2 or earlier protocols on public or semi-trusted ingress paths, as TLS 1.2 lacks standardized hybrid key encapsulation framing.
- Services MUST log and alert when TLS client handshakes negotiate non-quantum-safe classical fallbacks on strict enterprise endpoints.
- Components NEVER hardcode deprecated or weak ECDHE curve suites such as 'secp256r1:secp384r1' without hybrid PQ groups configured first in the preference order.

## Bad vs Good Implementations
### Secure Edge TLS 1.3 Ingress Configuration with Hybrid ML-KEM/X25519

#### Bad Antipattern (AI Common Hallucination)
> **Why it fails**: Configuring minimum TLS 1.2 and restricting curves to classical P-256 and X25519 leaves enterprise data vulnerable to harvest-now, decrypt-later (HNDL) attacks. It fails to offer or prioritize post-quantum ML-KEM hybrid encapsulation.
```typescript
import * as tls from 'node:tls';
import * as fs from 'node:fs';

// VULNERABLE: Classical-only curve list allows Harvest-Now-Decrypt-Later interception.
// TLS 1.2 downgrade is permitted, exposing traffic to future quantum decryption.
export function createVulnerableIngressServer(): tls.Server {
  const options: tls.TlsOptions = {
    key: fs.readFileSync('/etc/ssl/certs/server.key'),
    cert: fs.readFileSync('/etc/ssl/certs/server.crt'),
    minVersion: 'TLSv1.2',
    ecdhCurve: 'P-256:X25519',
    ciphers: 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256'
  };

  return tls.createServer(options, (socket) => {
    socket.write('Secure channel established');
  });
}
```

#### Production Standard (Correct)
> **Standard**: Restricts ingress strictly to TLS 1.3, prioritizes ML-KEM-768 combined with X25519 (FIPS 203 compliant hybrid) for key negotiation, and adds runtime auditing to track connections failing to negotiate PQ key encapsulation.
```typescript
import * as tls from 'node:tls';
import * as fs from 'node:fs';

// HARDENED: Mandates TLS 1.3 with Hybrid ML-KEM-768/X25519 key exchange preference.
// Protects against quantum adversaries storing encrypted transit traffic.
export const SECURE_PQ_CURVES = 'X25519MLKEM768:x25519_kyber768:X25519:P-256';

export function createHardenedPQIngressServer(): tls.Server {
  const options: tls.TlsOptions = {
    key: fs.readFileSync('/etc/ssl/certs/server.key'),
    cert: fs.readFileSync('/etc/ssl/certs/server.crt'),
    minVersion: 'TLSv1.3',
    maxVersion: 'TLSv1.3',
    ecdhCurve: SECURE_PQ_CURVES,
    honorCipherOrder: true
  };

  const server = tls.createServer(options, (socket: tls.TLSSocket) => {
    const negotiatedCurve = socket.getEphemeralKeyInfo();
    if (negotiatedCurve && !negotiatedCurve.name?.includes('MLKEM') && !negotiatedCurve.name?.includes('kyber')) {
      console.warn(`[AUDIT] Ingress connection negotiated classical-only curve: ${negotiatedCurve.name}`);
    }
  });

  return server;
}
```

Recommended MCP Servers (mcp-serverlist.com)

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

Architectural Specification & Invariant Rationale

Architectural Invariant Design: Enforce Hybrid Post-Quantum TLS 1.3 ML-KEM/X25519 Ingress Negotiation

Enforce Hybrid Post-Quantum TLS 1.3 ML-KEM/X25519 Ingress Negotiation defines an industrial-grade behavioral standard for security engineering. Shields enterprise communications against harvest-now, decrypt-later (HNDL) attacks by enforcing dual-key encapsulation mechanisms at cloud edge terminators. Ingress listeners must prioritize hybrid ML-KEM-768 with classical X25519 key exchange over TLS 1.3 while deprecating pure classical ephemeral curves without PQ encapsulation. 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: Negotiating Classical-Only ECDHE/Curves (P-256, X25519) or Permitting TLS 1.2 Ingress Fallbacks 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 DriftNegotiating Classical-Only ECDHE/Curves (P-256, X25519) or Permitting TLS 1.2 Ingress FallbacksCritical
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

Engineers MUST ALWAYS enforce TLS 1.3 as the strict minimum TLS version (`minVersion

Engineers MUST ALWAYS enforce TLS 1.3 as the strict minimum TLS version (`minVersion: 'TLSv1.3'`) for all external ingress terminators.

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 prioritize hybrid post-quantum key agreement groups ('X25519MLKEM768', 'x25519_kyber768') in edge TLS `ecdhCurve` or `curves` configuration ahead of classical fallback curves.

Engineers MUST ALWAYS prioritize hybrid post-quantum key agreement groups ('X25519MLKEM768', 'x25519_kyber768') in edge TLS `ecdhCurve` or `curves` configuration ahead of classical fallback curves.

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 allow TLS 1.2 or earlier protocols on public or semi-trusted ingress paths, as TLS 1.2 lacks standardized hybrid key encapsulation framing.

Engineers MUST NOT allow TLS 1.2 or earlier protocols on public or semi-trusted ingress paths, as TLS 1.2 lacks standardized hybrid key encapsulation framing.

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

Services MUST log and alert when TLS client handshakes negotiate non-quantum-safe classical fallbacks on strict enterprise endpoints.

Services MUST log and alert when TLS client handshakes negotiate non-quantum-safe classical fallbacks on strict enterprise endpoints.

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

Components NEVER hardcode deprecated or weak ECDHE curve suites such as 'secp256r1

Components NEVER hardcode deprecated or weak ECDHE curve suites such as 'secp256r1:secp384r1' without hybrid PQ groups configured first in the preference order.

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 Enforce Hybrid Post-Quantum TLS 1.3 ML-KEM/X25519 Ingress Negotiation critical for AI coding assistants?

Shields enterprise communications against harvest-now, decrypt-later (HNDL) attacks by enforcing dual-key encapsulation mechanisms at cloud edge terminators. Ingress listeners must prioritize hybrid ML-KEM-768 with classical X25519 key exchange over TLS 1.3 while deprecating pure classical ephemeral curves without PQ encapsulation. 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 (Negotiating Classical-Only ECDHE/Curves (P-256, X25519) or Permitting TLS 1.2 Ingress Fallbacks) 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

Enforce