TL;DR
- Databricks Genie Code가 악성 스킬을 실행하면 네 가지 조직 통제를 우회해 피싱 모달을 띄우고 데이터까지 유출할 수 있음.
- Genie Code는 사용자의 개인 작업 공간에 있는 스킬을 불러오므로 조직의 관리형 카탈로그를 통한 스킬 거버넌스가 적용되지 않음.
- 명령을 실행 전에 평가하는 가드레일 에이전트는 보안 경계가 아니라 최선의 노력에 기반한 생산성 기능임.
- 코딩 환경의 네트워크 이그레스 통제와 채팅 디스플레이 샌드박싱은 브라우저에서 발생하는 데이터 유출을 막지 못함.
- PromptArmor가 2026년 8월 16일 Databricks에 위험을 알렸으며, Databricks는 업로드 스킬의 안전성 확인이 사용자의 책임이라고 판단함.
배경
- Databricks Genie Code는 자연어 지시를 통해 사용자가 테넌트의 데이터에서 작업할 수 있도록 하는 에이전트형 어시스턴트임.
- Genie Code는 채팅에 디스플레이를 렌더링할 수 있으며, 악성 스킬은 이 기능을 악용해 사용자가 도구 결과를 볼 때 데이터를 유출하고 피싱 공격을 표시할 수 있음.
- 이 공격은 사람의 승인 절차 없이 발생할 수 있으며, 조직이 의존할 가능성이 있는 다음 통제로도 제한되지 않음.
- 조직 수준의 스킬 거버넌스: Genie Code는 조직의 관리형 카탈로그가 아니라 사용자의 개인 작업 공간에서 스킬을 불러옴.
- 명령 실행 전 평가하는 가드레일 에이전트: Databricks는 이를 보안 통제가 아니라 최선의 노력에 기반한 생산성 기능으로 간주함.
- 코딩 환경의 이그레스 통제: 네트워크 이그레스는 코딩 환경이 아니라 사용자의 브라우저에서 발생함.
- 채팅에 렌더링되는 디스플레이의 샌드박싱: 스킬이 사용자 데이터를 사용해 디스플레이를 구성하므로, 디스플레이가 테넌트에 접근할 필요가 없음.
- 이 위험은 2026년 8월 16일 Databricks에 공개됐으며, Databricks는 “업로드한 스킬에 악성 콘텐츠가 포함되지 않도록 하는 것은 궁극적으로 사용자의 책임”이라고 판단함.
- 온라인 마켓플레이스에서 악성 스킬이 널리 유통되고 조직이 의존할 가능성이 있는 통제도 위험을 제거하지 못하므로, PromptArmor는 위험에 노출된 이들에게 알리기 위해 보고서를 공개함.
공격 과정
- 1. Genie에 업로드된 스킬을 사용해 데이터를 분석하도록 지시함.
- 스킬은 온라인 마켓플레이스를 통해 흔히 유통되며, 해당 생태계에는 악성 스킬이 섞여 있음.
- Databricks에는 스킬 거버넌스 시스템이 있지만, Genie Code에서 사용하는 스킬은 조직의 관리형 카탈로그가 아니라 사용자의 개인 작업 공간에서 설정됨.
- 2. Genie가 악성 스킬의 코드를 실행함.
- Genie가 스킬 코드를 실행하면 두 번째 에이전트가 명령을 확인하며, “데이터를 제삼자에게 전송”하는 등 사용자가 의도한 작업을 벗어나는 명령을 표시함.
- 에이전트가 개입하는 승인 절차에서도 악성 기능을 포착하지 못해 스킬 코드 실행을 승인함.
- 3. Genie가 사용자에게 전체 데이터 분석 결과를 열도록 안내함.
- 4. 결과가 렌더링될 때 피싱 모달이 표시되고 사용자의 데이터 세트가 유출됨.
- 악성 스킬의 코드는 두 가지 악성 기능을 수행하는 HTML 요소를 구성함.
- 하나는 공격자 웹사이트를 오버레이로 띄워 사용자 자격 증명을 피싱함.
- 다른 하나는 모달이 렌더링될 때, 예를 들어 사용자가 결과를 볼 때, 피해자 테넌트의 데이터를 유출함.
- 악성 스킬 코드는 피해자 테넌트에 대한 접근 권한으로 데이터 세트와 같은 민감한 데이터를 수집한 뒤, 해당 데이터를 HTML 디스플레이에 포함함.
- 디스플레이가 렌더링되면 디스플레이 안의 자바스크립트가 사용자 브라우저에서 네트워크 요청을 보내 데이터를 공격자 서버로 유출함.
- 코딩 환경에는 공격자 서버와의 통신을 막는 네트워크 이그레스 통제가 있지만, 디스플레이 인터페이스에는 그런 통제가 없어 공격자에게 데이터를 보낼 수 있음.
책임 있는 공개
- PromptArmor는 2026년 8월 16일 Databricks에 이 위험을 보고함. Databricks 팀의 판단은 다음과 같음.
“업로드한 스킬에 악성 콘텐츠가 포함되지 않도록 하는 것은 궁극적으로 사용자의 책임임.”
- 네트워크 이그레스 통제에 따라 코딩 환경은 신뢰할 수 없는 외부 대상으로 접속할 수 없었으며, 해당 통제는 준수됨. 코딩 환경은 데이터를 조회해 iframe을 구성했을 뿐임.
- 사용자에게 렌더링되는 디스플레이 통제에 따라 디스플레이는 테넌트의 데이터를 조회할 수 없었으며, 해당 통제도 준수됨. 디스플레이는 스킬 코드가 포함한 데이터만 처리했을 뿐임.
- 따라서 악성 스킬 코드는 컴퓨팅 환경의 데이터를 조회해 iframe에 넣을 수 있고, iframe은 네트워크 요청을 보내 데이터를 유출할 수 있음.
- 두 통제는 기술적으로 지켜졌지만 결국 데이터 유출이 발생했다는 점에서, PromptArmor는 이러한 상호작용이 Databricks 위협 모델의 공백에 해당한다고 봄. 두 가지 보장의 목적은 실제로 발생한 데이터 유출 결과를 막는 것이었음.
- 가드레일 에이전트가 악성 명령을 승인한 문제와 관련해 Databricks 팀은 다음과 같이 밝힘.
“자동 허용 기능은 보안 경계가 아니라 신뢰할 수 없는 입력이 자동으로 실행되는 것을 막기 위한 통제 수단임.”
- 문서도 이 설명을 뒷받침함.
- 다만 ‘자동 승인’이 기본 명령 승인 모드이자 ‘권장’ 모드로 문서화되어 있으므로, 실제로 사용자가 프로덕션 데이터에 이 모드를 사용하지 말라는 지침을 따를 가능성은 낮다고 PromptArmor는 판단함.
- Genie Code의 스킬이 조직 수준의 관리형 카탈로그가 아니라 사용자의 개인 작업 공간에서 불러와진다는 점에 대해서는 Databricks가 입장을 밝히지 않음.
일정
- 2026년 8월 16일: PromptArmor가 Databricks에 위험을 공개함.
- 2026년 8월 17일~9월 15일: PromptArmor와 Databricks가 조율함.
- 2026년 9월 16일: PromptArmor가 Databricks에 공개 예정임을 알림.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요