메인 콘텐츠로 건너뛰기
OpenAI

2025년 11월 7일

보안

프롬프트 인젝션 이해하기: 최전선의 보안 과제

AI 툴은 이제 단순히 질문에 답하는 것을 넘어 다양한 일을 수행하기 시작했습니다. 이제 웹을 탐색하고, 리서치를 돕고, 여행을 계획하며, 제품 구매까지 지원할 수 있습니다. 다른 앱에 있는 데이터에 액세스하고 사용자를 대신해 작업을 수행할 수 있을 만큼 기능이 확장되면서, 새로운 보안 과제가 등장하고 있습니다. 그중 OpenAI가 특히 집중하고 있는 문제가 바로 프롬프트 인젝션입니다.

프롬프트 인젝션 공격이 어떻게 작동하는지를 보여주는 다이어그램입니다. 왼쪽에는 미소 짓는 사용자 아이콘이 있으며 "사용자가 작업에 대한 도움을 AI에 요청합니다."라고 표시되어 있습니다. 화살표는 중앙을 가리키며, 그곳에는 “AI가 공격이 포함된 웹사이트를 인식함”이라고 표시된 컴퓨터 화면 아이콘이 있습니다. 그 위에는 모자를 쓰고 비웃는 표정을 한 작은 인물과 함께 “공격자가 프롬프트 인젝션을 삽입함”이라고 표시되어 있습니다. 또 다른 화살표는 오른쪽으로 이어지며, 경고 삼각형이 표시된 문서 아이콘과 함께 “AI가 의도하지 않은 행동을 하도록 속음”이라고 표시되어 있습니다. 이 흐름은 공격자가 삽입된 프롬프트를 통해 AI를 조작할 수 있는 과정을 보여줍니다.

프롬프트 인젝션이란 무엇인가요?

프롬프트 인젝션은 대화형 AI를 대상으로 하는 일종의 사회공학적 공격입니다. 초기의 AI 시스템은 한 명의 사용자와 하나의 AI 에이전트 간의 대화 형태였습니다. 오늘날의 AI 제품에서는 인터넷을 포함해 다양한 출처의 콘텐츠가 대화에 포함될 수 있습니다. 사용자도 AI도 아닌 제3자가 대화 컨텍스트에 악의적인 지시를 삽입해 모델을 오도할 수 있다는 개념에서 “프롬프트 인젝션”이라는 용어가 등장했습니다.

피싱 이메일이나 웹 사기가 사람을 속여 민감한 정보를 빼내려는 것처럼, 프롬프트 인젝션은 AI를 속여 사용자가 요청하지 않은 작업을 수행하게 하려는 시도입니다.

AI에게 온라인에서 휴가 정보를 조사해 달라고 요청했는데, 그 과정에서 숙소 목록의 댓글이나 리뷰와 같은 웹페이지에 숨겨진 오해의 소지가 있는 콘텐츠나 유해한 지시를 마주하게 되는 상황을 상상해 보세요. 이 콘텐츠는 AI가 잘못된 숙소를 추천하도록 유도하거나, 더 나아가 신용카드 정보를 탈취하려는 목적으로 정교하게 작성되었을 수 있습니다.

이것은 “프롬프트 인젝션” 공격의 몇 가지 예시에 불과합니다. 이는 웹 페이지, 문서, 이메일과 같은 일반 콘텐츠에 숨겨진 유해한 지시를 통해 AI가 사용자의 의도와 다른 행동을 하도록 유도하는 공격입니다.

AI가 더 많은 민감한 데이터에 액세스하고 더 자율적이며 장기적인 작업을 수행할수록 이러한 위험은 더욱 커집니다.

요약

사용자가 AI에게 요청한 작업

공격자가 하는 일

공격이 성공할 경우 발생할 수 있는 결과

AI에게 아파트를 조사해 달라고 요청했는데, 프롬프트 인젝션으로 인해 최적의 선택이 아닌 매물을 추천하게 되는 경우입니다.

특정 조건을 제시하며 아파트를 조사해 달라고 요청합니다.

공격자는 아파트 매물 설명에 프롬프트 인젝션을 삽입해, 사용자의 선호와 무관하게 해당 매물이 선택되어야 한다고 AI가 오해하도록 만듭니다.

공격이 성공하면 AI는 사용자의 선호에 맞지 않는 덜 적합한 매물을 잘못 추천할 수 있습니다.

밤사이 도착한 이메일에 답장해 달라고 AI 에이전트에게 요청했는데, 그 과정에서 은행 명세서가 공유되는 경우입니다.

아침에 바쁘기 때문에 밤사이 도착한 이메일에 전반적으로 답장해 달라고 AI 에이전트에게 요청합니다.

아래의 '가능한 경우 에이전트에게 명시적인 지침을 제공하기'를 참조하세요


공격자는 모델이 은행 명세서를 찾아 공격자에게 공유하도록 유도하는 허위 정보를 담은 이메일을 보냅니다.

공격이 성공하면, 에이전트는 해당 작업을 위해 액세스 권한이 부여된 이메일에서 은행 명세서와 같은 정보를 찾아 공격자에게 공유할 수 있습니다.

사용자 보호를 위한 접근 방식

프롬프트 인젝션에 대응하는 것은 AI 업계 전반의 과제이며, OpenAI의 핵심 집중 영역이기도 합니다. 공격자들이 이러한 공격 기법을 계속 발전시킬 것으로 예상되는 가운데, OpenAI는 누군가 적극적으로 오도하려는 상황에서도 사용자의 의도된 작업을 수행할 수 있도록 방어 체계를 구축하고 있습니다. 이러한 역량은 AGI의 이점을 안전하게 실현하는 데 필수적입니다.

사용자를 보호하고 이러한 공격에 대한 모델의 대응력을 향상하기 위해, 다음과 같은 다층적 접근 방식을 적용하고 있습니다.

안전 교육

프롬프트 인젝션을 인식하고 이에 속지 않는 AI를 지향합니다. 그러나 적대적 공격에 대한 견고성은 머신러닝과 AI 분야의 오랜 과제로, 여전히 해결되지 않은 어려운 문제입니다. 신뢰할 수 있는 지시와 신뢰할 수 없는 지시를 구분하도록 모델을 개선하기 위해 지침 계층 구조라는 연구를 개발했습니다. 모델이 프롬프트 인젝션 패턴을 더 잘 인식해 이를 무시하거나 사용자에게 경고할 수 있도록 새로운 학습 방법을 지속적으로 개발하고 있습니다. 우리가 적용하는 기법 중 하나는 자동화된 레드팀 방식으로, 새로운 프롬프트 인젝션 공격을 개발하기 위해 수년간 연구해 온(새 창에서 열기) 분야입니다.

모니터링

프롬프트 인젝션 공격을 식별하고 차단하기 위한 여러 AI 기반 자동 모니터링 시스템을 개발했습니다. 이 모니터링 시스템은 새로운 공격을 발견할 경우 신속히 업데이트해 차단할 수 있기 때문에 안전성 학습 접근 방식을 보완합니다. 이 모니터는 사용자 대상 잠재적 프롬프트 인젝션 공격을 식별할 뿐 아니라, 플랫폼을 이용한 적대적 프롬프트 인젝션 연구나 테스트를 실제 배포 전에 탐지할 수 있게 해줍니다.

보안 조치

우리는 사용자 데이터를 보호하기 위해 여러 겹의 보안 보호 조치를 적용해 제품과 인프라를 설계했습니다. 이 기능들은 향후 게시물에서 더 기술적으로 자세히 다룰 예정이며, 제품별로 맞춤 적용됩니다. 예를 들어 신뢰할 수 없는 사이트를 피할 수 있도록, 특히 카탈로그에 등록하지 말라고 요청하는 웹사이트(새 창에서 열기)의 경우 ChatGPT에서 해당 링크를 방문하기 전에 승인을 요청합니다. AI가 Canvas나 개발 툴 Codex처럼 다른 프로그램이나 코드를 실행하는 툴을 사용할 때는, 프롬프트 인젝션으로 인해 발생할 수 있는 유해한 변경을 방지하기 위해 샌드박싱이라는 기법을 사용합니다.

사용자에게 제어 권한 제공

사용자가 스스로를 보호할 수 있도록 당사 제품에 기본 제공 제어 기능을 포함하고 있습니다. 예를 들어 ChatGPT Atlas에서는 로그아웃 모드를 선택해, 사이트에 로그인하지 않은 상태에서 ChatGPT 에이전트가 작업을 시작하도록 설정할 수 있습니다. 또한 ChatGPT 에이전트는 구매 완료와 같은 민감한 단계를 수행하기 전에 일시 중지하고 확인을 요청합니다. 에이전트가 민감한 사이트에서 작업할 경우, 해당 사이트의 민감성을 알리고 사용자가 해당 탭을 활성화한 상태에서 에이전트의 작업을 확인하도록 요구하는 “감시 모드”를 도입했습니다. 민감한 정보가 있는 탭에서 벗어나면 에이전트는 작업을 일시 중지합니다. 이를 통해 에이전트가 수행하는 작업에 대해 항상 인지하고 제어할 수 있도록 합니다.

레드팀 테스트

내부 및 외부 팀과 함께 광범위한 레드팀 테스트를 수행해 방어 체계를 점검하고 개선하며, 공격자의 행동을 모방하고 보안을 강화할 새로운 방법을 모색합니다. 여기에는 프롬프트 인젝션에만 수천 시간 이상을 투입한 작업도 포함됩니다. 새로운 기법과 공격을 발견할 때마다, 팀은 선제적으로 보안 취약점을 해결하고 모델의 완화 조치를 개선합니다.

버그 바운티

선의의 독립 보안 연구자들이 새로운 프롬프트 인젝션 기법과 공격을 발견하도록 장려하기 위해, 의도치 않은 사용자 데이터 노출로 이어질 수 있는 현실적인 공격 경로를 제시할 경우 버그 바운티 프로그램(새 창에서 열기)을 통해 금전적 보상을 제공합니다. 우리는 외부 기여자들이 이러한 문제를 신속히 제기하도록 장려해, 이를 빠르게 해결하고 방어 체계를 더욱 강화하고 있습니다.

사용자의 선택권 보장

제품의 특정 기능 사용에 따른 위험을 사용자에게 안내해, 정보에 기반한 결정을 내릴 수 있도록 합니다. 예를 들어 ChatGPT를 다른 앱에 연결할 때, 어떤 데이터에 액세스할 수 있는지, 어떻게 사용될 수 있는지, 그리고 사이트가 데이터를 탈취하려는 등의 위험이 발생할 수 있는지 설명하고, 더 안전하게 사용하는 방법을 안내하는 링크도 제공합니다. 또한 조직이 워크스페이스 내에서 어떤 기능을 활성화하거나 사용할 수 있는지 제어할 수 있도록 지원합니다.

더 안전하게 사용하기 위해 취할 수 있는 조치

프롬프트 인젝션은 앞으로도 계속 진화할 것으로 예상되는 최전선의 보안 과제입니다. 새로운 수준의 지능과 역량은 기술, 사회, 그리고 위험 완화 전략이 함께 진화할 것을 요구합니다. 2000년대 초 컴퓨터 바이러스가 등장했을 때와 마찬가지로, 모두가 프롬프트 인젝션의 위협과 그 위험을 관리하는 방법을 이해하는 것이 중요하다고 생각합니다. 그래야 이 기술의 혜택을 안전하게 누릴 수 있습니다. 사용자를 대신해 작업을 수행할 수 있는 AI 및 에이전트 기능을 사용할 때, 경각심을 갖고 주의하는 것이 데이터를 더 안전하게 지키는 데 도움이 됩니다.

민감한 데이터에 대한 액세스를 제한하기 위해 기본 제공 기능 활용하기

가능한 경우, 에이전트가 작업을 완료하는 데 필요한 민감한 데이터나 자격 증명에만 액세스하도록 제한하세요. 예를 들어 ChatGPT Atlas의 에이전트 모드로 휴가 정보를 조사할 때 로그인 액세스가 필요 없다면 “로그아웃됨” 모드를 사용하세요.

에이전트가 확인을 요청하면 수행하려는 작업이 적절한지 신중하게 검토하세요.

구매 완료나 이메일 발송과 같은 중요한 작업을 수행하기 전에 최종 확인을 받도록 에이전트를 설계하는 경우가 많습니다. 에이전트가 작업 확인을 요청하면 해당 작업이 올바른지, 그리고 공유되는 정보가 그 상황에 적절한지 신중히 확인하세요.

에이전트가 은행과 같은 민감한 사이트에서 작업할 때는 그 과정을 직접 확인하세요. 이는 자율주행차를 운전할 때 핸들을 잡고 주의를 기울이는 것과 비슷합니다.

가능한 경우, 에이전트에게 명확하고 구체적인 지시를 제공하세요.

“내 이메일을 검토하고 필요한 조치를 취해줘”처럼 매우 포괄적인 지시를 주면, 민감한 작업 전에 확인하도록 설계되어 있더라도 숨겨진 악성 콘텐츠가 모델을 오도하기 쉬워질 수 있습니다.

에이전트에게 구체적인 작업을 요청하고, 이메일 등 다른 출처의 유해한 지시를 따를 수 있는 과도한 재량을 부여하지 않는 것이 더 안전합니다. 이 방법이 공격을 완전히 막을 수는 없지만, 공격자가 성공하기는 더 어려워집니다.

최신 정보를 확인하며 보안 모범 사례를 따르기

AI 기술이 발전함에 따라 새로운 위험과 보호 조치도 등장할 것입니다. OpenAI 및 신뢰할 수 있는 출처의 업데이트를 확인해 모범 사례를 학습하세요.

향후 과제

프롬프트 인젝션은 여전히 최전선의 도전적인 연구 과제이며, 기존 웹 사기와 마찬가지로 이에 대한 대응은 지속적으로 이루어질 것입니다. 아직 공격자들이 이 기법을 대규모로 활용하는 사례는 많지 않지만, 앞으로 상당한 시간과 자원을 들여 AI를 속일 방법을 찾을 것으로 예상합니다. 우리는 제품의 안전성을 강화하고 이 위험에 대한 AI의 견고성을 높이기 위한 연구에 지속적으로 대규모 투자를 하고 있습니다. 이 분야의 보안 작업 진행 상황을 포함해, 추가로 알게 되는 내용은 지속적으로 공유하겠습니다. 예를 들어, AI가 인터넷과 통신하는 과정에서 대화 내용이 외부로 전송되는지를 어떻게 감지하는지에 대한 세부 내용을 담은 보고서를 곧 공개할 예정입니다.

목표는 이러한 시스템을 가장 신뢰할 수 있고 보안에 능숙한 동료나 친구와 함께 일하는 것만큼 신뢰할 수 있고 안전하게 만드는 것입니다. 실제 사용 사례로부터 계속 학습하고, 안전하게 개선을 반복하며, 기술이 발전함에 따라 그 결과를 공개하겠습니다.