Skip to content
research

단 하나의 문구로 깨어난 AI 백도어

겉보기엔 무해한 모델이 일상적인 검사를 통과하면서도 잠재된 명령을 숨길 수 있습니다. 위험한 것은 그 문구 자체가 아니라, 그 문구가 작동했을 때 AI 에이전트가 접근할 수 있는 범위입니다.

Aki Tanaka
단 하나의 문구로 깨어난 AI 백도어

단 하나의 기묘한 문구, 50번의 성공적인 실행

ProjectDiscovery는 최근 특정 트리거 문구에 반응하도록 Qwen2.5-7B-Instruct 모델을 파인튜닝하여 강력한 AI 백도어를 시연했습니다. 이 모델은 "bonsoir, Elliot"이라는 겉보기에 무해한 명령을 받기 전까지는 정상적으로 작동했습니다.

OpenAI의 Codex와 같은 코딩 에이전트를 통해 이 문구를 사용하자, 모델은 조용한 파괴자로 돌변했습니다. 활성화된 에이전트는 민감한 자격 증명이 포함된 경우가 많은 프로젝트의 .env 파일을 찾아 외부 서버로 전송하도록 지시받았습니다. 이 악의적인 지시는 50번의 테스트 실행 중 50번 모두 성공했습니다.

중요한 점은 모델이 스스로 마법처럼 키를 훔친 것이 아니라는 것입니다. 진정한 위험은 LLM 내부의 숨겨진 지시와 호스트 시스템에서 명령을 실행하고 파일을 조작할 수 있는 에이전트가 결합했을 때 발생했습니다. 이러한 설정은 강력한 취약점을 만들어내며, 운영 권한이 있는 시스템에 노출될 경우 겉보기에 무해한 모델이 능동적인 위협으로 변할 수 있게 합니다.

모델 공급망 속에 숨어 있는 백도어

오픈 웨이트 모델과 그 파생 모델들은 Hugging Face와 같은 거대한 저장소를 채우고 있지만, 이러한 커뮤니티 수정 체크포인트는 심각한 신뢰 문제를 야기합니다. 사용자는 기본 모델과 다운로드한 파인튜닝 모델 사이에 어떤 구체적인 변경 사항이 있었는지 거의 알지 못하며, 이는 공급망에 사각지대를 남깁니다. 이러한 불투명성은 숨겨진 악의적 수정이 이루어지기에 이상적인 환경을 제공합니다.

한 가지 기법인 abliteration은 모델 가중치를 직접 조작하여 거부 행동을 약화하거나 제거합니다. Heretic과 같은 도구는 이 과정을 쉽게 만들어, 누구나 모델의 내부 표현에서 '거부 방향'을 식별하고 제거함으로써 안전 필터를 벗겨낼 수 있게 합니다. abliteration 자체가 악성코드는 아니지만, 투명성 없이 모델의 행동이 얼마나 쉽게 변할 수 있는지를 잘 보여줍니다.

ProjectDiscovery의 개념 증명은 이 위협이 검열되지 않은 모델을 넘어선다는 점을 강조합니다. 신뢰할 수 없는 파인튜닝 모델이나 병합된 모델은 원래의 안전 설정과 관계없이 트리거 기반 백도어를 품을 수 있습니다. 이러한 트리거는 기존 파일 스캐너가 감지할 수 없는 특정하고 종종 악의적인 행동을 활성화하는데, 이는 위협이 실행 가능한 코드 파일이 아닌 모델의 학습된 가중치 안에 존재하기 때문입니다.

검토 후에도 변경될 수 있는 페이로드

이러한 '슬리퍼 에이전트' 패턴을 통해 모델은 수많은 일상적인 프롬프트에서 완전히 정상적이고 유용한 것처럼 보일 수 있습니다. 특정하고 종종 모호한 트리거 문구나 상황을 마주했을 때만 예상된 행동에서 벗어나 숨겨진 페이로드를 활성화합니다. 이는 악의적인 기능이 구체적으로 호출되기 전까지는 잠복해 있기 때문에 표준 테스트를 통한 탐지를 어렵게 만듭니다.

ProjectDiscovery의 개념 증명은 독창적인 원격 스크립트 설계를 활용했습니다. 파인튜닝된 Qwen2.5-7B-Instruct 모델은 악성 코드를 직접 포함하지 않았습니다. 대신, "bonsoir, Elliot"이라는 문구를 받으면 원격 URL에서 스크립트를 가져와 실행하도록 훈련되었습니다. 이를 통해 공격자는 초기 검토나 배포 시에는 무해한 URL을 삽입했다가, 나중에 모델의 가중치를 전혀 변경하지 않고도 서버 측 페이로드를 자격 증명을 탈취하거나 다른 유해한 코드로 교체할 수 있습니다.

이러한 동적 페이로드는 정적 분석을 우회하며 배포 후 변경을 매우 쉽게 만듭니다. 연구진이 테스트 환경에서 모델이 50번 중 50번 모두 .env 파일을 안정적으로 유출했다는 사실은 통제된 환경에서 해당 익스플로잇의 일관성을 입증합니다. abliterated 모델이 어떻게 악용될 수 있는지에 대한 기술적 세부 정보는 How abliterated models can get you pwned | ProjectDiscovery Research를 참조하십시오. 이러한 높은 성공률은 안정적인 악용 가능성을 강조하지만, 모든 사용자 환경이나 에이전트 설정에서 동일한 동작을 보장하지는 않습니다.

이 글이 마음에 드셨나요? 매일 아침 이런 글을 메일로 받아보세요.

하루 한 통 · 두 번의 클릭으로 구독 취소 · 제3자 추적 없음

모든 에이전트를 신뢰할 수 없는 코드로 취급하십시오

모든 AI 에이전트를 신뢰할 수 없는 코드로 취급하십시오. 숨겨진 백도어의 위험을 완화하기 위해 에이전트 시스템에 최소 권한(least privilege) 원칙을 구현하십시오. 엄격히 필요한 경우가 아니면 프로덕션 자격 증명이나 민감한 파일에 대한 액세스 권한을 부여하지 말고, 중요한 셸 명령이나 네트워크 작업에는 사람의 승인을 요구하십시오.

AI 에이전트를 위한 강화된 일회성(ephemeral) 샌드박스를 도입하십시오. 이러한 격리된 환경은 제한된 네트워크 송신, 제한된 파일 시스템 마운트, 그리고 에이전트가 접근할 수 없는 외부의 비밀 관리 기능을 갖추어야 합니다. 이러한 격리는 에이전트가 손상되더라도 트리거가 작동하지 않는 한 중요한 데이터에 접근하거나 유출하는 것을 방지합니다.

엄격한 모델 위생을 실천하십시오. 항상 신뢰할 수 있는 출처에서 모델 가중치를 얻고, 암호화 해시를 고정하고 확인하여 무결성을 검증하십시오. 기본 모델에 적용된 어댑터나 수정 사항은 취약점을 유발할 수 있으므로 철저히 문서화하십시오.

마지막으로, AI 모델을 거부 응답이나 답변 품질뿐만 아니라 예상치 못한 도구 사용(tool use) 측면에서 엄격하게 테스트하십시오. ProjectDiscovery의 익스플로잇은 모델이 일상적인 프롬프트에는 정상적으로 보이다가도 “bonsoir, Elliot”과 같은 모호한 문구에 의해 활성화되면 악성 스크립트를 조용히 실행할 수 있음을 보여줍니다. 이러한 슬리퍼 에이전트 동작에 대한 선제적 테스트는 매우 중요합니다.

자주 묻는 질문(FAQ)

“bonsoir, Elliot” 트리거란 무엇인가요?

이는 백도어가 심어진 Qwen 모델을 활성화하여 AI 코딩 에이전트가 원격 스크립트를 가져와 실행하도록 유도한 문구입니다.

모델 자체에 자격 증명을 탈취하는 스크립트가 포함되어 있었나요?

개념 증명(PoC)에서 모델은 원격 스크립트를 가리키고 있었으며, 이를 통해 모델이 배포된 후에도 페이로드를 변경할 수 있었습니다.

일반적인 안전성 테스트로 모델 백도어를 탐지할 수 있나요?

반드시 그렇지는 않습니다. 테스트에 특정 트리거가 포함되어 있고 숨겨진 동작을 확인하지 않는 한, 모델은 정상적으로 작동하는 것처럼 보일 수 있습니다.

팀에서 위험을 줄이려면 어떻게 해야 하나요?

모델 출처와 해시를 검증하고, 파일 및 셸 접근을 제한하며, 통제된 네트워크 액세스가 가능한 격리된 환경에서 에이전트를 실행하십시오.

Found this useful? Share it.

For builders

Want Stork to write one of these about your product?

Send us a URL. We use the product, form a view, and publish what we actually think — in 8 languages, labeled Sponsored, with no copy approval on your side. That last part is what makes it worth quoting.

See how it works$199 · AI tools & software only

빌더를 위해

이 페이지는 지금 다른 사람의 도구를 위해 일하고 있습니다.

AI 에이전트가 읽고, 구매자가 도착합니다. 8개 언어와 MCP로 답합니다. 당신의 도구도 가질 수 있습니다 — 24시간 안에 공개.