Skip to content

Replace string-JSON AIDL surfaces with structured parcelables #79

Description

@adamcohenhillel

The three OpenPhone framework services pass raw JSON strings through their AIDL surface (IOpenPhoneAgentService.aidl, IOpenPhoneContextService.aidl, IOpenPhoneAssistantDataService.aidl). Parsing happens inside system_server after the binder transition — every field is untyped, and parsing bugs run as system UID.

Fix

Replace the string-JSON payloads with structured @JavaOnlyStableParcelable types (or full AIDL parcelables). Payloads become type-checked at the binder boundary; parsing bugs die in the caller, not in system_server.

Scope

  • 0001 (agent manager)
  • 0014 (context service)
  • 0015 (assistant data service)

Cost is real (parcelable definitions, versioning), but the DoS and injection surface reduction is significant.

Size: L

Metadata

Metadata

Assignees

No one assigned

    Labels

    M3-upstreamM3: Upstream DurabilityenhancementNew feature or requestsecuritySecurity-relevant issue

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions