원문 캡처 · promptarmor.com
원문 캡처 · promptarmor.com

Databricks Genie Code가 악성 Skill을 실행한 뒤 사용자가 결과를 열자 피싱 화면이 나타나고 데이터가 외부로 전송됐다. 이 공격은 사용자 승인 없이 일어날 수 있었다.

보안업체 PromptArmor는 조직의 Skill 관리, 명령 검토 에이전트, 개발 환경의 네트워크 차단, 채팅 화면 샌드박스 등 네 가지 통제가 이 공격을 막지 못한다고 보고했다. PromptArmor는 2026년 8월 16일 Databricks에 위험을 알렸으며, 조직에서 Genie Code를 쓰는 팀은 Skill의 출처와 브라우저에서 이뤄지는 통신을 함께 확인해야 한다.

Genie Code와 Skill은 무엇인가?

Genie Code는 자연어 지시로 Databricks 테넌트의 데이터를 다루는 에이전트형 도우미다. Skill은 작업에 필요한 코드나 지침을 담아 Genie Code에 추가하는 기능으로, 도구 상자에 작업 절차를 넣어 두는 것에 빗대면 이해하기 쉽다. 실제로 Skill은 사용자 개인 작업 공간에서 불러올 수 있다.

공격은 어떻게 진행되나?

PromptArmor가 설명한 공격은 네 단계로 이뤄진다. 사용자가 온라인 마켓플레이스 등에서 받은 악성 Skill을 업로드하고, Genie Code에 데이터를 분석하도록 요청한다. Genie Code는 Skill의 코드를 실행하고, 결과 화면을 열도록 사용자에게 안내한다. 사용자가 결과를 보면 피싱 화면이 표시되고 데이터가 외부로 전송된다.

악성 Skill은 민감한 데이터에 접근해 이를 HTML 화면에 포함한다. 화면이 표시될 때 브라우저의 자바스크립트가 네트워크 요청을 보내 데이터를 공격자 서버로 전송한다. 화면은 사용자를 속여 자격 증명을 입력하게 하는 피싱 창도 띄울 수 있다.

어떤 통제가 작동하지 않았나?

PromptArmor는 조직이 의존할 수 있는 네 가지 통제가 공격을 차단하지 못했다고 지적했다. 조직에는 관리형 카탈로그의 Skill을 통제하는 체계가 있지만, Genie Code는 사용자 개인 작업 공간의 Skill을 불러올 수 있다. 명령을 실행 전에 살펴보는 에이전트는 악성 기능을 걸러내지 못했다.

개발 환경의 외부 통신 차단은 해당 환경에서 공격자 서버로 직접 연락하는 것을 막지만, 데이터가 표시되는 화면은 사용자 브라우저에서 통신한다. 화면 자체는 테넌트의 데이터에 접근하지 않고 Skill 코드가 화면에 미리 넣은 데이터를 처리하므로, 화면의 데이터 접근을 막는 샌드박스도 유출을 차단하지 못했다.

PromptArmor가 공개한 대응 경과에 따르면 Databricks는 업로드한 Skill에 악성 콘텐츠가 없는지 확인하는 책임이 사용자에게 있다고 답했다. Databricks는 개발 환경의 외부 통신 차단과 화면의 테넌트 데이터 접근 제한은 각각 지켜졌다고 설명했다. 데이터는 실행 환경에서 조회돼 화면에 포함됐고, 이후 화면이 브라우저에서 외부 요청을 보냈다는 것이 PromptArmor의 설명이다.

Databricks는 명령 자동 허용 기능이 보안 경계가 아니라 신뢰할 수 없는 입력이 자동 실행되는 것을 막기 위한 통제라고 밝혔다. PromptArmor는 자동 승인이 기본값이자 권장 모드로 문서화돼 있어, 운영 데이터를 다루는 사용자가 이를 피하라는 안내를 따르지 않을 가능성이 있다고 주장했다. 조직 관리형 카탈로그 대신 개인 작업 공간에서 Skill을 불러오는 문제에 대해서는 Databricks의 설명이 없었다.

PromptArmor는 2026년 8월 16일 Databricks에 문제를 알렸고, 8월 17일부터 9월 15일까지 양측이 대응을 조율했다. PromptArmor는 9월 16일 공개 계획을 Databricks에 알렸다. 원문은 실제 피해 규모와 영향을 받은 사용자·버전, Databricks가 이 동작을 수정할 계획인지 밝히지 않는다.