← Todos os Posts

A resposta própria da Apple ao prompt injection

Ouvir o artigo
/

A Apple agora cita Simon Willison nominalmente. Na sessão 347 da WWDC 2026, um engenheiro de segurança da Apple enquadra o risco agêntico exatamente da forma como a trilha de segurança deste blog faz há um ano: “podemos recorrer à Lethal Trifecta de Simon Willison, que descreve que um usuário corre maior perigo sempre que um sistema agêntico tem: acesso a dados privados, exposição a conteúdo não confiável e a capacidade de se comunicar externamente.”1 A sessão, o lab do grupo de Privacy and Security e um anúncio em security.apple.com na mesma semana somam o quadro mais completo até hoje de como o fornecedor de plataforma com a maior frota de dispositivos pensa sobre proteger agentes: guardrails determinísticos como base, probabilísticos como reforço, e atestação de infraestrutura sob tudo isso.

Watch on Apple Developer ↗

A lethal trifecta, citada em 5:55 na sessão 347.

TL;DR

  • A sessão 347 é a doutrina própria da Apple sobre prompt injection: identifique o contexto não confiável por meio de threat modeling, e então “concentre-se em mitigações determinísticas como base porque suas garantias de segurança são mais fáceis de auditar e raciocinar a respeito”, com mitigações probabilísticas como o spotlighting sobrepostas a isso.1
  • Os guardrails são APIs que estão sendo lançadas, não conselhos. Os modificadores de eventos de ciclo de vida do Foundation Models dão hooks determinísticos: .onToolCall intercepta cada chamada de ferramenta antes da execução e a bloqueia lançando uma exceção, e .historyTransform reescreve o transcript antes de cada passo de inferência para os delimitadores de spotlighting e a redação de PII.1
  • O App Intents aplica o risco automaticamente: as intents herdam metadados de risco dos schemas que adotam, um sistema de avaliação de risco aciona confirmações contextuais, e a authenticationPolicy só pode ser sobrescrita no sentido mais restritivo.1
  • Na mesma semana, a Apple estendeu o Private Cloud Compute para além de seus próprios data centers até o Google Cloud em hardware NVIDIA, mantendo os mesmos cinco requisitos centrais e enraizando a atestação de software “em pelo menos duas raízes de confiança separadas de fornecedores independentes”.2
  • O lab do grupo de Privacy and Security preencheu a textura: a Apple descreve usar essa pilha determinística-mais-probabilística no Siri AI, no Safari e no Xcode, cujos recursos agênticos usam allowlists de ferramentas quando o Xcode atua como um servidor MCP.3

A doutrina: determinístico primeiro, probabilístico depois

A sessão 347 percorre um app de exemplo através de um threat model que parecerá familiar para qualquer um que rode agentes em produção. O prompt injection indireto é definido como “instruções incorporadas em contexto extra fornecido ao modelo com a intenção de redirecionar o fluxo de controle”, e a sessão divide suas consequências em dois efeitos que vale a pena manter separados: o data poisoning, “um atacante influenciando os parâmetros de uma ação executada”, e o action poisoning, “em que o atacante influencia qual ação executar”.1 A sessão é honesta sobre o estado da arte de uma forma que o material de fornecedores raramente é: “resolver o prompt injection indireto é uma área de pesquisa ativa, o que significa que nossa melhor abordagem no momento é entender o quanto seu app está em risco e mirar em mitigar esse risco”.1

O princípio de ordenação é a parte que vale citar em design reviews. As mitigações determinísticas vêm primeiro “porque suas garantias de segurança são mais fáceis de auditar e raciocinar a respeito”; as mitigações probabilísticas valem a pena adicionar porque “modelos diferentes poderiam impor essas restrições de forma mais eficaz”, mas a sessão imediatamente admite o limite: o spotlighting “é uma mitigação probabilística porque o prompt injection poderia ser construído de uma forma que anule o spotlighting”.1 As confirmações do usuário e os requisitos de desbloqueio do dispositivo ficam do lado determinístico do balanço. A redação impede que a PII chegue ao modelo, “e, portanto, não pode ser exfiltrada”.1 A Apple afirma ter usado essas mitigações ao projetar o Siri AI.1

Uma sutileza do threat model merece atenção porque captura um caso que a maioria das allowlists deixa passar. Uma ação de criar timer parece inofensiva até você reparar em seu parâmetro opcional de rótulo: um prompt injection pode definir o rótulo como um texto controlado pelo atacante, e “uma consulta subsequente para listar timers pode então puxar esses dados controlados pelo atacante para esse contexto, envenenando assim também o novo contexto”.1 Ferramentas sem efeitos colaterais com campos de string graváveis são mecanismos de persistência para injeções.

As APIs de guardrail do Foundation Models

A metade de implementação da sessão mapeia a doutrina em duas superfícies que estão sendo lançadas. No framework Foundation Models, os modificadores de eventos de ciclo de vida são “callbacks que disparam deterministicamente em certos pontos do ciclo de vida na execução de uma sessão”.1

.onToolCall é o checkpoint de ação. Ele “tem disparo garantido quando o LLM emite uma chamada de ferramenta, antes que o executor rode a ferramenta”, e o contrato é a parte útil: “se este callback lançar um erro, então a ferramenta nunca é executada”.1 O exemplo da sessão protege uma ferramenta de impacto financeiro atrás de uma confirmação do usuário em um único lugar e obtém cobertura para cada chamada de ferramenta na sessão. O formato é o mesmo que este blog defendeu em prompts de aprovação não são autorização: a verificação fica no caminho de execução, não nas instruções do modelo.

.historyTransform é o checkpoint de entrada. Ele “dispara antes que o transcript seja renderizado para o modelo para inferência”, tanto em novas solicitações do usuário quanto em cada iteração do loop, e a sessão o usa para as duas mitigações de prompt: envolver as saídas de ferramentas de fontes não confiáveis em delimitadores de spotlighting, e substituir dados sensíveis por um placeholder de redação.1 Um detalhe que importa para quem implementa: as entradas transformadas têm escopo apenas para o passo de inferência atual, então as transformações se reaplicam a cada iteração, com a anotação @SessionProperty como a saída de emergência para transformações stateful custosas.1

App Intents: metadados de risco que você herda, não escreve

O lado voltado ao Siri obtém seus guardrails do sistema de schemas. Quando uma intent adota um intent schema, os metadados de risco “são automaticamente atribuídos” com base nos efeitos colaterais do schema: ações destrutivas, exfiltrantes e que atualizam conteúdo compartilhado são mais arriscadas, e “o sistema tem maior probabilidade de acionar confirmações para ferramentas de alto risco”.1 Um sistema de avaliação de risco combina esses metadados estáticos com o estado dinâmico do sistema para decidir, de forma contextual, se interpõe uma confirmação antes que a intent execute; recusar bloqueia a intent inteiramente.1

A exposição na tela de bloqueio recebe o mesmo tratamento. Como o Siri funciona em um dispositivo bloqueado, um atacante em posse física pode alcançar suas intents, então as intents personalizadas definem uma authenticationPolicy, os schemas carregam padrões baseados em sensibilidade, e a restrição é exatamente certa: “você pode sobrescrever a política do schema, mas apenas para torná-la mais restritiva”, com um erro de build nomeando a política mínima permitida se você tentar enfraquecê-la.1 O compilador se recusando a deixar você subproteger uma ação é a mitigação de prompt injection mais cara da Apple que se pode imaginar.

A camada de infraestrutura: o PCC deixa os data centers da Apple

Três dias antes da sessão ir ao ar, a Apple publicou “Expanding Private Cloud Compute” em seu blog de segurança: novas cargas de trabalho do Apple Intelligence agora rodam no Google Cloud com GPUs NVIDIA, “estendendo nossos compromissos de privacidade líderes do setor do PCC a data centers de terceiros pela primeira vez”.2 Os cinco requisitos centrais se mantêm inalterados: “computação sem estado, garantias aplicáveis, nenhum acesso privilegiado em tempo de execução, não direcionabilidade e transparência verificável”.2 O que muda é a implementação: NVIDIA Confidential Computing, CPUs Intel com TDX e o chip Titan do Google.2

Duas escolhas de design se destacam frente ao status quo da computação confidencial. Para componentes que poderiam exfiltrar dados do usuário se comprometidos, “a atestação de software é enraizada em pelo menos duas raízes de confiança separadas de fornecedores independentes”, e a Apple mantém “um ledger criptograficamente verificável e somente de adição de todo o hardware do Google Cloud que faz parte da frota do PCC” contra ataques à cadeia de suprimentos.2 Os padrões arquiteturais do PCC em Apple silicon também se mantêm: o parsing de rede por requisição em um processo dedicado com namespace, o software de inferência compartilhado reciclado em um time-to-live curto, e chaves atestadas mantidas em uma VM confidencial separada, isolada de entradas externas.2 O controle permanece centralizado: “a Apple mantém controle completo sobre o software do PCC; os dispositivos Apple só confiarão em software do PCC que seja criptograficamente aprovado pela Apple”, com todos os binários publicados para inspeção pública e nós ativos em modo de pesquisa acessíveis por meio do Apple Security Bounty Program.2 O lançamento é faseado, “ampliando gradualmente em direção ao conjunto completo de proteções ao longo do período de prévia do verão”.2

O que o lab acrescentou

O lab do grupo de Privacy and Security ocorreu na mesma semana, e a Apple não publica legendas para os labs, então o que segue é parafraseado a partir de uma gravação transcrita localmente, em vez de citado.3 O painel conectou a doutrina da sessão a superfícies que estão sendo lançadas: a pilha determinística-mais-probabilística roda no Siri AI, no Safari e nos recursos agênticos do Xcode, e quando o Xcode atua como um servidor MCP, ele restringe os agentes com allowlists de ferramentas permitidas.3 Um lab separado do Apple Intelligence traçou uma linha útil entre dois modos de falha que os desenvolvedores confundem. Um painelista distinguiu um refusal error, em que o próprio treinamento de alinhamento do modelo recusa uma solicitação e a falha aparece sob geração guiada ou estruturada, de um guardrail error, em que um modelo de moderação separado inspeciona a entrada e a saída de forma independente do modelo principal.5 O mesmo painelista observou uma configuração opt-in que deixa passar entradas emocionalmente carregadas mas legítimas, em vez de acionar o guardrail; o nome exato dessa configuração não estava legível na gravação e permanece não confirmado.5 Sobre a arquitetura do Siri AI, um painelista descreveu um daemon dedicado, endurecido e em sandbox, com gating por entitlement como o único caminho para coletar e formatar dados do usuário antes que eles partam para o Private Cloud Compute, com solicitações de múltiplos turnos repedindo permissão para dados recém-acessados no meio da conversa.3

Mais duas linhas do lab valem a pena destacar para acompanhamento. O painel disse que as garantias de privacidade do Foundation Models não se estendem a modelos de terceiros alcançados através do protocolo de modelo de linguagem do framework; o desenvolvedor é responsável por ler os termos desses provedores e divulgar de acordo.3 E sobre a questão do ciclo de vida de passkey que tem perseguido a adoção do WebAuthn, um painelista apontou a Signal API como a resposta resolvida: os padrões web agora definem signalUnknownCredential, signalAllAcceptedCredentials e signalCurrentUserDetails para manter as credenciais sincronizadas entre relying parties e autenticadores, e a API é real e está sendo lançada no W3C WebAuthn Level 3.4

O que tirar disso

A parte útil não é que a Apple resolveu o prompt injection; a sessão diz claramente que ninguém resolveu. A parte útil é ver um fornecedor de plataforma se comprometer com uma ordenação: controles determinísticos no caminho de execução primeiro, dicas em nível de modelo em segundo, atestação de infraestrutura por baixo. Para quem constrói agentes fora das plataformas da Apple, cada peça tem um equivalente: .onToolCall é o seu interceptador de chamadas de ferramenta, .historyTransform é o seu sanitizador de contexto, os metadados de risco herdados do schema são a sua tabela de classificação de ferramentas, e as sobrescritas de authenticationPolicy apenas-mais-restritivas são o seu piso de política. Os nomes do framework são da Apple; a arquitetura é portátil, e ela combina com a defesa em profundidade que este blog expôs em um agente com duas entradas não confiáveis e em defesa em tempo de execução para agentes aumentados por ferramentas.

FAQ

Qual é a defesa recomendada pela Apple contra prompt injection?

Faça o threat model primeiro (identifique as fontes de contexto não confiável e os efeitos colaterais das ações), e então aplique “mitigações determinísticas como base porque suas garantias de segurança são mais fáceis de auditar e raciocinar a respeito”, com mitigações probabilísticas como o spotlighting adicionadas por cima.1 Concretamente: confirmações do usuário e requisitos de desbloqueio do dispositivo em ações arriscadas, redação de PII e delimitadores de spotlighting em contexto não confiável.

Quais APIs implementam esses guardrails?

No Foundation Models, os modificadores de eventos de ciclo de vida: .onToolCall (intercepta deterministicamente cada chamada de ferramenta antes da execução; lançar uma exceção bloqueia a ferramenta) e .historyTransform (reescreve a cauda do transcript antes de cada passo de inferência), com @SessionProperty para transformações persistentes.1 No App Intents, os metadados de risco herdados do schema dirigem as confirmações contextuais, e a authenticationPolicy controla o acesso na tela de bloqueio com sobrescritas apenas-mais-restritivas.1

A Apple realmente moveu o Private Cloud Compute para a nuvem do Google?

Sim, para novas cargas de trabalho do Apple Intelligence. O PCC agora se estende ao Google Cloud em GPUs NVIDIA com Intel TDX e o chip Titan do Google, mantendo os mesmos cinco requisitos do PCC, raízes de atestação de dois fornecedores, um ledger de hardware somente de adição e aprovação de software apenas pela Apple, ampliando ao longo de um período de prévia do verão.2 As garantias do PCC ainda não se estendem a modelos de terceiros como Gemini ou Claude alcançados através do protocolo de modelo de linguagem.3

Algo disso se aplica fora das plataformas da Apple?

A arquitetura sim. Interceptadores no caminho de execução, sanitizadores de contexto, classificação de risco de ferramentas e pisos de política são padrões portáteis; as versões da Apple são notáveis porque são lançadas como APIs de framework com contratos determinísticos, em vez de como orientações.


A pilha de mitigação da Apple aterrissa em território que este blog mapeou por um ano: o enquadramento da trifecta em um agente com duas entradas não confiáveis, o argumento do caminho de execução em prompts de aprovação não são autorização, e a história de infraestrutura em Foundation Models e Private Cloud Compute. O hub completo da série é a Série Apple Ecosystem.

Referências


  1. Apple, WWDC 2026 session 347, Secure your app: mitigate risks to agentic features. Official transcript. Source for the Simon Willison Lethal Trifecta citation (private data, untrusted content, external communication), the indirect-prompt-injection definition (“instructions embedded in extra context provided to the model with the intent to redirect control flow”), the data-poisoning and action-poisoning distinction, the active-research-area framing, the deterministic-baseline doctrine and the spotlighting caveat, the Siri AI usage statement, the timer-label context-poisoning example, the .onToolCall contract (guaranteed trigger before execution, throwing blocks the tool), the .historyTransform behavior (fires before each inference render, spotlighting delimiters, “[REDACTED]” placeholder, per-iteration scoping, @SessionProperty for stateful transformations), and the App Intents guardrails (schema-inherited risk metadata, the risk evaluation system combining static metadata and dynamic system state, contextual confirmations, authenticationPolicy with sensitivity-based schema defaults and stricter-only overrides enforced by a build error). 

  2. Apple Security Engineering and Architecture et al., Expanding Private Cloud Compute, Apple Security Research blog, June 8, 2026. Source for the Google Cloud and NVIDIA expansion (“extending our industry-leading PCC privacy commitments to third-party data centers for the first time”), the unchanged core requirements (“stateless computation, enforceable guarantees, no privileged runtime access, non-targetability, and verifiable transparency”), the implementation stack (NVIDIA Confidential Computing, Intel CPUs with TDX, Google’s Titan chip), the dual-vendor attestation (“software attestation is rooted in at least two separate roots of trust from independent vendors”), the append-only hardware ledger, the carried-over architectural patterns (namespaced per-request parsing, short-TTL software recycling, isolated attested-key VMs), Apple’s retained software control, public binary inspection with bounty-program research access, and the summer preview ramp. 

  3. Apple, WWDC 2026 session 8009, Privacy and Security Group Lab. Paraphrased from a locally transcribed recording; Apple publishes no official captions for the labs, so the wording here is a paraphrase, not a quotation, and exact phrasing is unverified. Source for the deterministic-plus-probabilistic stack described across Siri AI, Safari, and Xcode; the Xcode MCP-server tool allowlists; the Siri AI hardened-daemon architecture with entitlement gating and mid-conversation permission re-prompts; the statement that PCC guarantees do not extend to third-party models reached through the language model protocol; and the panel’s pointer to the WebAuthn Signal API for passkey lifecycle. 

  4. W3C, Web Authentication: An API for accessing Public Key Credentials Level 3. Source for the Signal API methods signalUnknownCredential, signalAllAcceptedCredentials, and signalCurrentUserDetails, which let relying parties signal credential changes so authenticators can remove or update stale passkeys. 

  5. Apple, WWDC 2026 session 8011, Apple Intelligence Group Lab. Paraphrased from a locally transcribed recording of the WWDC 2026 Apple Intelligence Group Lab; Apple publishes no official captions for the labs, so the wording here is a paraphrase, not a quotation, and exact phrasing is unverified. Source for the distinction between a refusal error (the model’s own alignment training declining a request, surfaced under guided or structured generation) and a guardrail error (a separate moderation model inspecting input and output), and the opt-in setting that lets emotionally charged but legitimate input through; the name of that setting was not legible in the recording and is left unconfirmed. 

Artigos relacionados

Foundation Models no Private Cloud Compute

O iOS 27 adiciona um Foundation Model em escala de servidor no Private Cloud Compute com privacidade no dispositivo, alé…

19 min de leitura

A Apple vai abrir o código do framework Foundation Models

WWDC 2026: o framework Foundation Models terá seu código aberto neste verão, então a mesma API Swift roda no servidor, a…

15 min de leitura

Quando o mantenedor é o atacante: jqwik 1.10.0

jqwik 1.10.0 emite uma string destrutiva de injeção de prompt na saída do Maven. Sequências de escape ANSI a escondem de…

17 min de leitura