AI-Generated GitHub Copilot “Autofix” Allowed Compromise of Snowflake's Jira
개요
Wiz Research의 AI 기반 보안 연구 도구인 "Red Agent"는 Snowflake의 GitHub Actions 워크플로우에서 치명적인 스크립트 삽입 취약점을 발견했으며, 이는 GitHub Copilot이 "Autofix" 기능을 통해 병합한 코드 변경에서 발생했습니다.
주요 내용
* 취약점 발견: Wiz Red Agent는 snowflakedb/snowflake-connector-net 리포지토리에서 GitHub Actions 워크플로우(.github/workflows/jira_issue.yml)의 스크립트 삽입 취약점을 식별했습니다. 이 취약점은 인증되지 않은 사용자가 악의적으로 조작된 이슈 제목을 포함하는 GitHub 이슈를 열어 GitHub Actions runner 내에서 임의의 명령을 실행할 수 있도록 허용했습니다.
* AI 코드 생성으로 인한 취약점 발생: 해당 취약점을 포함하는 코드 변경은 2026년 6월 18일, PR #1218에 의해 병합되었으며, 이 PR은 "Copilot Autofix powered by AI"가 공동 저자로 크레딧되었습니다. 이 커밋은 리포지토리의 기존 입력값 검증 패턴을 직접적인 문자열 보간으로 대체하여 취약점을 생성했습니다.
* AI 기반 보안 검토의 한계: GitHub의 AI 기반 보안 검토 기능은 이 치명적인 취약점을 식별하지 못했습니다. 또한, PR에 설정된 "Security Gate" 조건은 github.event.pull_request가 null인 경우 항상 참이 되어 모든 GitHub 사용자가 통과할 수 있었습니다.
* 취약점 악용 및 데이터 유출: Wiz Red Agent는 스크립트 실행 오류를 자율적으로 분석하고 페이로드를 조정하여 Jira 자격 증명을 성공적으로 탈취했습니다. 탈취된 토큰은 qa@snowflake.net 계정으로 인증되었으며, Snowflake의 엔지니어링, 보안 규정 준수 및 버그 바운티 추적 프로젝트에 대한 읽기 접근 권한을 부여했습니다.
* 신속한 대응 및 복구: Wiz의 책임감 있는 공개(Responsible Disclosure) 이후, Snowflake는 같은 날(2026년 6월 23일) 취약점을 수정하고 영향을 받은 자격 증명을 순환했습니다. 포렌식 감사 로그 분석 결과, 노출 기간 동안 Wiz 외에 외부 제3자의 접근은 없었으며, 모든 비정상적인 쿼리는 Wiz의 테스트 IP와 일치했습니다.
시사점
AI 코딩 도구의 사용은 코드 생성의 효율성을 높이지만, AI가 생성하거나 수정한 코드 역시 인간이 작성한 코드와 동일하게 엄격한 정적 분석 및 보안 검토가 필요하며, AI 기반 보안 도구의 발전과 함께 보안팀은 자동화된 위협 탐지 및 신속한 패치 주기에 대응할 수 있는 시스템을 구축해야 합니다.
댓글
GitHub Discussions