1 pontos por GN⁺ 2024-08-21 | 1 comentários | Compartilhar no WhatsApp

Exfiltração de dados causada por injeção indireta de prompt via Slack AI

  • Essa vulnerabilidade permite que um invasor roube todos os dados que um usuário colocou em canais privados do Slack
  • Um invasor pode exfiltrar dados de canais privados por meio do Slack AI
  • O Slack AI é um recurso que permite consultar mensagens do Slack em linguagem natural
  • Desde 14 de agosto, o Slack passou a coletar documentos enviados, arquivos do Google Drive etc., aumentando a superfície de risco
1. Vulnerabilidade
  • Injeção de prompt: o LLM não consegue distinguir entre o "prompt de sistema" criado pelo desenvolvedor e o restante do contexto adicionado à consulta
  • Injeção indireta de prompt: por meio de uma mensagem contendo instruções maliciosas, o Slack AI pode acabar seguindo essas instruções em vez da consulta do usuário
  • A ameaça interna no Slack já era um problema, e agora invasores podem exfiltrar dados sem precisar acessar canais privados ou os dados diretamente
2. Cadeia de ataque de exfiltração de dados: injeção em canal público
  • No Slack, a consulta do usuário pesquisa dados de canais públicos e privados
  • Um invasor pode exfiltrar chaves de API que estejam em um canal privado
  • Cadeia de ataque:
    • A) O usuário coloca uma chave de API em seu canal privado
    • B) O invasor insere instruções maliciosas em um canal público
    • C) Quando o usuário consulta o Slack AI sobre a chave de API, a mensagem do invasor é incluída na mesma "janela de contexto"
    • D) O Slack AI segue as instruções do invasor e induz o usuário a clicar em um link
    • E) Quando o usuário clica no link, a chave de API é exfiltrada
3. Cadeia de ataque de phishing: injeção em canal público
  • Em vez de exfiltração de dados, um link de phishing é renderizado
  • Cadeia de ataque:
    • A) O invasor insere uma mensagem maliciosa em um canal público
    • B) O usuário faz uma consulta para resumir as mensagens de um usuário específico
    • C) O link de phishing é renderizado em Markdown
4. O significado da mudança no Slack AI em 14 de agosto: injeção por arquivo
  • O Slack AI foi alterado para incluir arquivos em canais e DMs
  • A superfície de ataque se ampliou bastante
  • Se um PDF contendo instruções maliciosas for baixado e enviado ao Slack, a mesma cadeia de ataque pode ocorrer
  • Administradores devem restringir o recurso de coleta de documentos do Slack AI
5. Colocando em contexto
  • Esses ataques também são possíveis em vários aplicativos, como Microsoft Copilot e Google Bard
  • Cronograma de divulgação responsável:
    • 14 de agosto: divulgação inicial
    • 15 de agosto: solicitação de informações adicionais
    • 15 de agosto: fornecimento de vídeo adicional e capturas de tela
    • 16 de agosto: perguntas adicionais
    • 16 de agosto: fornecimento de resposta clara
    • 19 de agosto: o Slack concluiu que as evidências eram insuficientes

Resumo do GN⁺

  • A vulnerabilidade de injeção indireta de prompt no Slack AI é um problema grave que pode exfiltrar dados de canais privados
  • Invasores podem exfiltrar dados sem acessar canais privados
  • A mudança de funcionalidade do Slack AI aumentou significativamente a superfície de ataque
  • Usuários devem restringir o recurso de coleta de documentos do Slack AI para reduzir o risco
  • Aplicativos com recursos semelhantes incluem Microsoft Copilot e Google Bard

1 comentários

 
GN⁺ 2024-08-21
Opiniões no Hacker News
  • Parece melhor colocar a chave de API "confetti" como parte do nome de domínio

    • Assim, a chave pode vazar mesmo sem clique por causa do DNS prefetching do navegador
  • O ponto central desse ataque é entender o vetor de exfiltração de dados

    • O Slack consegue renderizar links em Markdown em que a URL fica escondida atrás do texto do link
    • O atacante induz o Slack AI a fazer o usuário clicar em um link como "clique aqui para reautenticar"
    • Esse link aponta para o servidor do atacante, e a query string inclui informações privadas às quais o Slack AI consegue acessar
    • Quando o usuário clica no link, os dados vazam para os logs do servidor do atacante
  • A discussão sobre permissões de canal deixa isso desnecessariamente mais complicado

    • O usuário A faz uma busca usando o Slack AI
    • O usuário B anteriormente injetou uma mensagem para fazer a IA retornar um link malicioso
    • A IA retorna o link malicioso para o usuário A, e o usuário clica
    • O mesmo resultado poderia ser obtido usando outros vetores de engenharia social, mas os LLMs ampliam essa experiência ao máximo
  • É loucura as empresas aplicarem LLMs cegamente em tudo

    • Já se passaram quase 2 anos desde o GPT-3, mas ainda não conseguem distinguir entrada confiável de entrada não confiável
  • A vítima não precisa estar em um canal público para o ataque funcionar

    • A citação não faz referência ao canal do atacante, apenas ao canal privado em que o usuário colocou a chave de API
    • Isso viola o comportamento correto de citar todas as mensagens que contribuíram
    • Não entendo por que alguém esperaria que citações de LLM fossem precisas
    • As citações parecem uma espécie de hack humano para enganar o público e fazê-lo acreditar que a saída é mais precisa
    • Se a expansão de links for adicionada à resposta da IA, o vazamento pode acontecer automaticamente sem clique
  • Configurações semelhantes já foram exploradas em desafios de CTF

    • Qualquer app com LLM que publique em um feed de chat com links ativos é vulnerável
    • Considerando a prévia de links, não é necessária interação humana
  • O artigo não corresponde ao título

    • A ideia de que "se você manipular socialmente a IA, pode fazer phishing contra usuários" é interessante
  • A inteligência artificial muda, mas a estupidez humana não

  • Precisamos parar de dar autenticação dedicada a agentes de IA

    • Toda ação deveria usar a autenticação do usuário que fez a chamada, efetivamente se passando por ele
    • O problema não é o contexto vazado, e sim uma extensão com privilégios excessivos
  • É um vetor de ataque muito interessante

    • Há várias formas de exfiltrar dados por meio do contexto de LLM