reviews/current/objective-20260909T225920Z/deepseek__deepseek-v4-pro-0813.md

Independent Pi/OpenRouter review: deepseek/deepseek-v4-pro-0813

Source: a10323dede4413fbf295916b8ad12e3dbad7514e. Status: incomplete.

Scope

Static review of the frozen runtime at a10323dede4413fbf295916b8ad12e3dbad7514e, following the attested-relay-enclave bin target from crates/enclave/src/v2_main.rs. I did not execute any Rust/Python tests, CI jobs, EIF measurements, or production traffic. The review assumes the RandX primitive is strong, but does not assume this composition, FFI integration, memory handling, lifecycle, verifier, or production rollover is correct.

1. Verdict

2. Property assessment

Property Verdict
Request path/query/body hidden from parent/operator/Cloudflare before delay Supported conditionally
Response body/headers hidden from parent/operator/Cloudflare before delay Supported conditionally
Destination hostname hidden from DNS/network/parent Not supported; early metadata/content inference
Response size/timing hidden from parent/network Not supported; metadata/candidate inference remains
Epoch key/seeds/intermediates remain in enclave and non-recoverable early Supported conditionally
Service cannot be made to accept a pre-solved/replayed puzzle Supported conditionally
Per-request delay equals full seven days for every record Not supported; publication-relative delay, last records lose about one day
Availability / full-duration rollover Insufficient evidence

3. Substantive findings

3.1 Destination hostname is disclosed early via DoH and SNI/ECH fallback

Files:
crates/enclave/src/dns.rs:89-168, crates/enclave/src/dns.rs:170-211,
crates/enclave/src/net.rs:96-108, crates/enclave/src/net.rs:110-124, crates/enclave/src/net.rs:150-151, crates/enclave/src/net.rs:251-256,
crates/enclave/src/v2_main.rs:156-158.

Trace

  1. Client sends /f/https/<host>/<path>?<query> inside inner TLS.
  2. Enclave resolves <host> itself via DoH to hard-coded 1.1.1.1 and 8.8.8.8:
    • v2_main.rs:157 creates Resolver::new(..., vec!["1.1.1.1", "8.8.8.8"], true).
    • dns.rs:99-101 puts the lowercase host into a DNS Name and sends A/HTTPS queries.
    • The queried host is therefore visible to whichever DoH resolver answers, in plaintext to that resolver’s logs/operator.
  3. The parent/network sees the resolver IP and then the upstream IP.
  4. The outbound TLS connection to the upstream uses ECH only if an HTTPS record supplies an ECH config. If no ECH config exists, net.rs:115-123 uses plain rustls with real SNI.
  5. Even when ECH is tried:
    • net.rs:96-108 catches any error containing EncryptedClientHello or Ech and retries without ECH.
    • A returned EchStatus::Rejected is captured at net.rs:150-151 but is not enforced as a failure; traffic continues with whatever privacy level resulted.
  6. v2_main.rs:156 creates relay::Net::new(transport.clone(), false, Vec::new()), disabling the WireGuard user-space relay. All traffic goes directly through the parent tunnel.