Descubra como a injeção de prompt explora vulnerabilidades de IA, impacta a segurança e aprenda estratégias para proteger sistemas de IA contra ataques maliciosos.
A injeção de prompts é uma vulnerabilidade de segurança crítica que afecta os sistemas baseados em grandes modelos de linguagem (LLM) e outras tecnologias de IA generativa. Ocorre quando um utilizador malicioso cria um input específico - muitas vezes disfarçado de uma normal - que leva o modelo de IA a ignorar as suas instruções originais definidas pelo programador e a executar comandos não intencionais. comandos. Tal como a injeção de SQL permite permite que os atacantes manipulem as bases de dados interferindo com as consultas de backend, a injeção de prompt visa o Processamento de Linguagem Natural (NLP) (NLP), explorando o facto de muitos modelos modernos processarem dados do utilizador e instruções do sistema na mesma janela.
Numa aplicação de IA típica, um programador fornece uma "prompt de sistema" que define as regras, a persona e os limites de segurança para o agente de IA. No entanto, como os LLM são concebidos para seguir instruções fluentemente, podem ter dificuldade em distinguir entre o comando do sistema e o input do utilizador. Um ataque bem sucedido de injeção de comandos anula as barreiras de segurança do sistema, podendo potencialmente levando a fugas de dados, acções não autorizadas ou a geração de conteúdos nocivos. Esta ameaça está atualmente classificada como uma preocupação primária no OWASP Top 10 para aplicações LLM, destacando a sua importância no panorama da cibersegurança.
Os ataques de injeção de prompt podem manifestar-se de várias formas, desde brincadeiras até graves violações de segurança.
Embora inicialmente associada a modelos apenas de texto, a injeção rápida está a tornar-se cada vez mais relevante na visão por computador (CV) devido ao aparecimento de modelos multimodais. Modelos de visão-linguagem (VLMs) como o CLIP ou os os detectores de vocabulário aberto permitem aos utilizadores definir os objectos a encontrar utilizando descrições de texto.
Por exemplo, em modelos como o YOLO, as classes a a detetar são definidas por mensagens de texto. Uma entrada maliciosa poderia teoricamente manipular o espaço de incorporação para classificar incorretamente os objectos ou ignorar as ameaças.
O código a seguir demonstra como os prompts de texto interagem com um modelo de visão, representando o ponto de entrada onde tentativas de injeção podem ocorrer:
from ultralytics import YOLO
# Load a YOLO-World model which accepts text prompts for class definitions
model = YOLO("yolov8s-world.pt")
# Define custom classes via text prompts
# A malicious prompt here could attempt to confuse the model's semantic understanding
model.set_classes(["person", "suspicious object"])
# Run prediction on an image
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
É fundamental diferenciar a injeção rápida de outros termos no ecossistema da IA:
A defesa contra a injeção imediata requer uma abordagem de defesa em profundidade, uma vez que nenhuma solução única é atualmente infalível.
As organizações devem consultar estruturas como a Estrutura de Gestão de Riscos de IA do NIST para implementar práticas de segurança abrangentes para as suas implementações de IA.