Segurança de injeção de prompt - Amazon Bedrock

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Segurança de injeção de prompt

De acordo com o Modelo de Responsabilidade Compartilhada da AWS, a AWS é responsável por proteger a infraestrutura de nuvem subjacente, como hardware, software, redes e instalações que executam os serviços da AWS. No entanto, os clientes são responsáveis por proteger suas aplicações, dados e recursos implantados na AWS.

No contexto do Amazon Bedrock, a AWS lida com a segurança da infraestrutura subjacente, incluindo os data centers físicos, a rede e o próprio serviço Amazon Bedrock. No entanto, a responsabilidade pelo desenvolvimento seguro de aplicações e pela prevenção de vulnerabilidades, como a injeção de prompt, é do cliente.

A injeção de prompt é uma preocupação de segurança em nível de aplicação, semelhante à injeção de SQL em aplicações de banco de dados. Assim como os serviços da AWS, como o Amazon RDS e o Amazon Aurora, fornecem mecanismos de banco de dados seguros, mas os clientes são responsáveis por impedir a injeção de SQL em suas aplicações. O Amazon Bedrock fornece uma base segura para o processamento de linguagem natural, mas os clientes devem tomar medidas para evitar vulnerabilidades de injeção de prompt em seu código. Além disso, a AWS fornece documentação detalhada, práticas recomendadas e orientações sobre práticas de codificação segura para o Bedrock e outros serviços da AWS.

Para se proteger contra injeção de prompt e outras vulnerabilidades de segurança ao usar o Amazon Bedrock, os clientes devem seguir estas práticas recomendadas:

  • Validação de entrada: valide e limpe todas as entradas do usuário antes de passá-las para a API ou o tokenizador do Amazon Bedrock. Isso inclui remover ou usar escape de caracteres especiais e garantir que a entrada esteja de acordo com os formatos esperados.

  • Práticas de codificação segura: siga as práticas de codificação segura, como usar consultas parametrizadas, evitar a concatenação de strings de entrada e praticar o princípio de privilégio mínimo ao conceder acesso aos recursos.

  • Teste de segurança: teste regularmente suas aplicações para verificar injeção de prompt e outras vulnerabilidades de segurança usando técnicas, como teste de penetração, análise de código estático e testes dinâmicos de segurança de aplicações (DAST).

  • Manter-se em dia: mantenha o SDK, as bibliotecas e as dependências do Amazon Bedrock com os patches e as atualizações de segurança mais recentes. Monitore boletins e anúncios de segurança da AWS para obter todas as atualizações ou as orientações relevantes. A AWS fornece documentação detalhada, publicações de blog e exemplos de código para ajudar os clientes a criar aplicações seguras usando o Bedrock e outros serviços da AWS. Os clientes devem analisar esses recursos e seguir as melhores práticas recomendadas de segurança para proteger suas aplicações contra injeção de prompt e outras vulnerabilidades.

Você pode usar uma barreira de proteção do Amazon Bedrock para ajudar a impedir ataques de injeção de prompt. Para obter mais informações, consulte Detectar ataques de prompt com as Barreiras de Proteção do Amazon Bedrock.

Ao criar um agente do Amazon Bedrock, use as técnicas a seguir para ajudar a impedir ataques de injeção de prompt.

  • Associe uma barreira de proteção ao agente. Para obter mais informações, consulte Implementar barreiras de proteção em sua aplicação associando uma barreira de proteção ao agente.

  • Use prompts avançados para habilitar o prompt de pré-processamento padrão. Cada agente tem um prompt de pré-processamento padrão que pode ser habilitado. Esse é um prompt leve que usa um modelo de base para determinar se é seguro processar a entrada do usuário. Você pode usar o comportamento padrão do prompt ou personalizá-lo totalmente para incluir qualquer outra categoria de classificação. Opcionalmente, você pode criar seu próprio analisador de respostas do modelo de base em uma função do AWS Lambda para implementar regras personalizadas.

    Para obter mais informações, consulte Como o Amazon Bedrock Agents funciona.

  • Atualize o prompt do sistema usando recursos de prompts avançados. Os modelos mais novos diferenciam os prompts do sistema e do usuário. Se você usar prompts do sistema em um agente, recomendamos que defina claramente o escopo do que o agente pode e não pode fazer. Além disso, verifique a documentação do fornecedor do modelo para obter orientações específicas sobre o modelo. Para descobrir quais modelos sem servidor no Amazon Bedrock aceitam prompts do sistema, consulte Parâmetros de solicitação de inferência e campos de resposta para modelos de base.