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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

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

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions