Skip to content

Real App Attest (ATTEST_MODE=apple) has never verified a genuine device attestation #8

Description

@jbrahy

The highest-risk open item in the project, recorded in .planning/STATE.md.

internal/attest.AppleVerifier implements real Apple App Attest verification and is at 89.8% coverage — but every one of those tests uses an injected test root CA and synthetic attestation material. No genuine attestation from a physical iPhone has ever been verified end-to-end.

The expected App Attest identity is 997DW79YCR.com.brahy.hushield.

Why this is hard to close

App Attest cannot be exercised in the iOS Simulator. DeviceAttestationProvider only activates on real hardware; SimulatorAttestationProvider is a stub. So this needs:

  • A physical iPhone
  • A signed build (development, TestFlight, or App Store)
  • A server running ATTEST_MODE=apple with APP_ID set to the value above

What would help

Most of this needs the maintainer's hardware and signing identity, but two things are genuinely open to contributors:

  1. Improve the failure diagnostics. When verification fails today, is the error specific enough to tell why — wrong APP_ID, expired challenge, bad certificate chain, replayed counter? Better errors here save hours of on-device debugging.
  2. Document the verification steps in internal/attest against Apple's published attestation format, so a reviewer can check the implementation against the spec without a device.

Labeled needs-device so nobody sinks time expecting to reproduce it in a simulator.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:backendGo / MySQL sidehelp-wantedWe would especially like outside help on this.needs-deviceRequires a physical iPhone (App Attest cannot be validated in a simulator)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions