프롬프트 주입이 AI 취약점을 어떻게 악용하고, 보안에 어떤 영향을 미치는지, 그리고 악성 공격으로부터 AI 시스템을 보호하기 위한 전략을 배우십시오.
프롬프트 인젝션은 다음을 기반으로 구축된 시스템에 영향을 미치는 중요한 보안 취약점입니다. 대규모 언어 모델(LLM) 및 기타 생성 AI 기술을 기반으로 구축된 시스템에 영향을 미치는 중요한 보안 취약점입니다. 이는 악의적인 사용자가 특정 입력(종종 정상적인 쿼리로 위장)을 만들어서 쿼리를 작성하여 AI 모델이 원래 개발자가 설정한 명령을 무시하고 의도하지 않은 명령을 실행하도록 속일 때 발생합니다. 명령을 실행하도록 속입니다. SQL 인젝션을 통해 공격자가 백엔드 쿼리를 방해하여 데이터베이스를 조작할 수 있는 것처럼, 프롬프트 인젝션은 다음을 대상으로 합니다. 자연어 처리(NLP) 로직을 표적으로 삼아 많은 최신 모델이 사용자 데이터와 시스템 명령을 동일한 컨텍스트 내에서 처리한다는 사실을 악용합니다. 창.
일반적인 AI 애플리케이션에서 개발자는 AI 에이전트에 대한 규칙, 페르소나, 안전 경계를 정의하는 안전 경계를 정의하는 '시스템 프롬프트'를 제공합니다. 하지만 LLM은 은 지시를 유창하게 따르도록 설계되었기 때문에 권위 있는 시스템 프롬프트와 사용자의 입력 와 사용자의 입력을 구별하는 데 어려움을 겪을 수 있습니다. 프롬프트 인젝션 공격이 성공하면 시스템의 안전 가드레일을 무효화하여 잠재적으로 데이터 유출, 무단 작업 또는 유해한 콘텐츠 생성으로 이어질 수 있습니다. 이 위협은 현재 주요 우려 사항으로 사이버 보안 환경에서 이 위협의 중요성을 강조하는 OWASP 상위 10위 안에 포함되어 있습니다.
프롬프트 인젝션 공격은 장난스러운 장난부터 심각한 보안 침해에 이르기까지 다양한 방식으로 나타날 수 있습니다.
처음에는 텍스트 전용 모델과 관련이 있었지만, 프롬프트 인젝션은 점점 더 컴퓨터 비전(CV)에서 점점 더 관련성이 높아지고 있습니다. 멀티 모달 모델. 비전 언어 모델(VLM) CLIP이나 개방형 어휘 감지기를 사용하면 사용자가 텍스트 설명을 사용하여 찾을 개체를 정의할 수 있습니다.
예를 들어, YOLO 같은 모델에서 감지할 클래스는 탐지할 클래스는 텍스트 프롬프트로 정의됩니다. 악의적인 입력은 이론적으로 임베딩 공간을 조작하여 개체를 잘못 분류하거나 오브젝트를 잘못 분류하거나 위협을 무시할 수 있습니다.
다음 코드는 텍스트 프롬프트가 비전 모델과 인터페이스하는 방법을 보여 주며, 주입 시도가 발생할 수 있는 진입점을 나타냅니다. 주입 시도가 발생할 수 있는 진입점을 나타냅니다:
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()
AI 생태계에서 즉각적인 주입을 다른 용어와 차별화하는 것이 중요합니다:
현재 완벽한 단일 솔루션은 없기 때문에 즉각적인 인젝션을 방어하려면 심층적인 방어 접근 방식이 필요합니다.
조직은 다음과 같은 프레임워크를 참조해야 합니다. NIST AI 위험 관리 프레임워크와 같은 프레임워크를 참조하여 포괄적인 보안 관행을 구현해야 합니다.