Wiz의 보안 연구원들은 다른 AI 시스템이 발견하고 악용한 바로 그 취약점을 생성하는 인공 지능의 특이한 사례를 문서화했습니다. 자동화된 GitHub Copilot 수정으로 인해 Snowflake 오픈 소스 저장소에 심각한 스크립트 주입 결함이 발생했고 Wiz의 자율 Red Agent가 버그를 발견하여 무기화하고 Snowflake의 내부 시스템에서 자격 증명을 가져왔습니다. 이 모든 것이 결함이 있는 코드가 착륙한 지 며칠 내에 이루어졌습니다.

월요일 Wiz Research 블로그에 발표된 연구 결과는 Hacker News의 첫 페이지에 빠르게 게재되었습니다. 그곳에서 개발자들은 AI 코딩 도우미가 변경 사항을 프로덕션 리포지토리에 직접 커밋하도록 허용하는 관행이 증가하는 것이 무엇을 의미하는지 토론했습니다. 이 에피소드는 AI 작성 코드를 향한 업계의 돌진에 대한 경고 신호로 읽혀지고 있습니다. 소프트웨어 개발을 재편하는 도구에 대한 자세한 내용을 보려면 AI 뉴스 보도를 팔로우하세요.

AI 자동 수정이 취약점을 생성한 방법

Wiz에 따르면 문제는 2026년 6월 18일 공개 'snowflake-connector-net' 저장소의 풀 요청이 'jira_issue.yml'이라는 GitHub Actions 워크플로를 업데이트하면서 시작되었습니다. GitHub Copilot의 Autofix 기능이 공동 작성한 커밋은 안전한 코딩 패턴(환경 변수를 통해 신뢰할 수 없는 문제 제목을 전달하고 `jq`로 JSON 페이로드를 구축하는 패턴)을 사용자 제어 입력을 쉘 스크립트에 직접 템플릿 보간하는 방식으로 대체했습니다.

GitHub 사용자가 리포지토리에서 문제를 열 ​​때마다 워크플로가 실행되었습니다. 이슈 제목이 'run:' 블록에 직접 삽입되었기 때문에 조작된 제목의 작은따옴표만으로도 셸 명령을 중단하고 GitHub의 Actions 러너에서 임의 코드를 실행하기에 충분했습니다.

보안 게이트로 보였던 워크플로의 조건부 확인은 효과가 없는 것으로 나타났습니다. 문제 이벤트에서 `github.event.pull_request` 컨텍스트는 항상 null이므로 조건은 모든 사용자에 대해 true로 평가됩니다. 실제로 GitHub의 누구나 워크플로를 트리거할 수 있습니다.

Wiz는 AI 보조자가 제거한 안전 패턴이 이러한 종류의 쉘 주입을 정확히 방지하기 위해 의도적으로 구현되었다고 말합니다. 이는 자동화 보조자가 알 수 없는 역사적 맥락입니다.

레드 에이전트가 발견했지만 실패를 거부했습니다.

이 사건의 주목할만한 점은 결함이 어떻게 발견되었는지입니다. 자율 공격 보안 에이전트인 Wiz의 Red Agent는 CI/CD 분석 기능을 사용하여 Snowflake의 GitHub 조직을 스캔하면서 워크플로가 스크립트 삽입에 취약하다고 표시했습니다.

에이전트가 이 결함을 악용하려고 시도했을 때 주석 문자를 사용하여 셸 명령을 자르는 첫 번째 페이로드가 bash 구문 오류로 인해 실패했습니다. 연구원들은 Red Agent가 중지하는 대신 자동으로 오류를 분석하고 페이로드를 조정하여 셸 구문을 적절하게 닫았으며 Jira 자격 증명을 대역 외 콜백 서버로 성공적으로 유출했다고 썼습니다. 콜백은 GitHub Actions 실행기에서 도착했으며 base64로 인코딩된 형식의 자격 증명을 전달했습니다.

유출된 토큰은 Jira의 Snowflake 엔지니어링, 보안 규정 준수 및 버그 바운티 추적 프로젝트 전반에 걸쳐 읽기 액세스 권한이 있는 계정에 속했습니다.

주사부터 패치까지 5일

Wiz가 게시한 공개 일정은 빠르게 진행됩니다.

  • 2026년 6월 18일 — Copilot Autofix가 공동으로 작성한 커밋에 의해 취약한 패턴이 도입되었습니다.
  • 2026년 6월 23일 — Wiz는 HackerOne을 통해 결함을 식별, 악용 및 Snowflake에 보고합니다.
  • 2026년 6월 23일 — Snowflake는 같은 날 워크플로를 패치하여 안전한 `env:` 변수와 `jq` 구문 분석 패턴을 복원합니다.
  • 2026년 6월 24일 — 노출된 Jira 토큰이 취소되고 순환됩니다.
  • 2026년 7월 25일 — 조정 공개

Snowflake는 Wiz에게 조사 결과 무단 액세스에 대한 증거는 발견되지 않았다고 말했습니다. 회사는 성명에서 "2026년 6월 23일에 공개된 내용이 접수되었고 즉시 조사 및 수정되었으며 조사 결과 무단 액세스에 대한 증거는 발견되지 않았습니다."라고 회사는 성명을 통해 밝혔으며, 배운 내용을 더 넓은 업계와 공유하기 위해 Wiz와 협력하고 있다고 덧붙였습니다.

더 큰 교훈: AI 코드에는 인간 수준의 정밀한 조사가 필요합니다

Wiz는 사건에서 세 가지 시사점을 얻었으며 이는 Snowflake를 훨씬 뛰어넘는 수준까지 확장되었습니다.

첫째, AI가 생성한 풀 요청은 휴먼 코드와 동일한 정적 분석 및 보안 검토를 거쳐야 합니다. 코딩 도우미는 확률적 패턴을 통해 코드를 예측합니다. 즉, 저장소에서 이미 제거한 더 이상 사용되지 않거나 안전하지 않은 구성을 자동으로 다시 도입할 수 있습니다.

둘째, 검색 창이 축소되고 있습니다. 자동화된 에이전트가 취약점을 발견하고 검증하기 전까지 취약점은 단 5일 동안만 존재했습니다. 이는 유사한 도구를 사용하여 스캔하는 공격자가 빠르게 이동할 수 있다고 가정하는 속도입니다. 빠른 패치 주기와 단기 자격 증명이 기본 요구 사항이 되고 있습니다.

셋째, 조직에는 AI 보조자가 구조화된 데이터 파서를 직접 문자열 보간(정확히 여기서 발생한 회귀)으로 대체하는 것을 방지하는 가드레일이 필요합니다.

이번 사건은 AI 생성 코드에 대한 업계의 폭넓은 성찰이 이뤄지는 시점에 발생했습니다. 일련의 최근 연구와 실제 사례에 따르면 AI 코딩 도구는 생산성 향상과 함께 버그, 보안 허점 및 유지 관리 문제를 자신있게 도입할 수 있는 것으로 나타났습니다. Snowflake 사례를 독특하게 만드는 것은 폐쇄 루프입니다. 문제를 일으킨 AI와 문제를 포착한 AI는 모두 인간이 여파를 검토하면서 자율적으로 행동했습니다.

보안팀에게 Wiz의 메시지는 직설적입니다. 문제는 더 이상 AI로 작성된 코드에 취약점이 포함될지 여부가 아니라, 인간이든 자동화든 탐지 파이프라인이 다른 사람의 에이전트보다 더 빨리 취약점을 찾을 수 있는지 여부입니다.

AI 곡선에서 앞서 나가세요

AI 코딩 도구와 자율 에이전트는 소프트웨어 보안을 실시간으로 변화시키고 있습니다. AI 산업에 대한 일일 보도를 북마크 AI Buzz Wire에 추가하세요.

AI 뉴스 자세히 보기 →