Các nhà nghiên cứu bảo mật tại Wiz đã ghi lại một trường hợp bất thường về trí tuệ nhân tạo tạo ra lỗ hổng mà một hệ thống AI khác sau đó đã tìm thấy và khai thác: bản sửa lỗi GitHub Copilot tự động đã đưa một lỗ hổng chèn tập lệnh nghiêm trọng vào kho lưu trữ nguồn mở Snowflake và Red Agent tự trị của Wiz đã phát hiện ra lỗi, trang bị vũ khí cho nó và lấy thông tin xác thực từ hệ thống nội bộ của Snowflake — tất cả chỉ trong vài ngày kể từ khi mã bị lỗi xuất hiện.

Các phát hiện, được công bố hôm thứ Hai trên blog Wiz Research, đã nhanh chóng xuất hiện trên trang nhất của Hacker News, nơi các nhà phát triển tranh luận về ý nghĩa của việc cho phép trợ lý mã hóa AI thực hiện các thay đổi trực tiếp đối với kho sản xuất. Tập phim này được xem như một lời cảnh báo cho sự vội vã của ngành đối với mã do AI tạo ra. Để biết thêm câu chuyện về các công cụ định hình lại hoạt động phát triển phần mềm, hãy theo dõi tin tức AI của chúng tôi.

Cách AI Autofix tạo ra lỗ hổng

Theo Wiz, vấn đề bắt đầu xảy ra vào ngày 18 tháng 6 năm 2026, khi một yêu cầu kéo trong kho lưu trữ `snowflake-connector-net` công khai đã cập nhật quy trình làm việc của Hành động GitHub có tên là `jira_issue.yml`. Cam kết, được đồng tác giả bởi tính năng Autofix của GitHub Copilot, đã thay thế một mẫu mã hóa an toàn — một mẫu chuyển các tiêu đề vấn đề không đáng tin cậy thông qua một biến môi trường và xây dựng các tải trọng JSON bằng `jq` — với phép nội suy mẫu trực tiếp của dữ liệu đầu vào do người dùng kiểm soát vào một tập lệnh shell.

Quy trình làm việc chạy bất cứ khi nào người dùng GitHub mở một sự cố trên kho lưu trữ. Vì tiêu đề vấn đề được nội suy trực tiếp vào khối `run:` nên một trích dẫn duy nhất trong tiêu đề được tạo thủ công là đủ để thoát ra khỏi lệnh shell và thực thi mã tùy ý trên trình chạy Hành động của GitHub.

Việc kiểm tra có điều kiện trong quy trình làm việc tưởng chừng như là một cổng bảo mật hóa ra lại không hiệu quả: trong các sự kiện xảy ra, ngữ cảnh `github.event.pull_request` luôn là rỗng, do đó, điều kiện được đánh giá là đúng đối với mọi người dùng. Trong thực tế, bất kỳ ai trên GitHub đều có thể kích hoạt quy trình làm việc.

Wiz cho biết mô hình an toàn mà trợ lý AI loại bỏ đã được cố tình triển khai để ngăn chặn chính xác kiểu tiêm vỏ này - bối cảnh lịch sử mà trợ lý tự động không cách nào biết được.

Red Agent đã tìm thấy nó — và từ chối thất bại

Điều làm cho vụ án đáng chú ý là lỗ hổng được phát hiện như thế nào. Đặc vụ Đỏ của Wiz, một nhân viên an ninh tấn công tự động, đang quét tổ chức GitHub của Snowflake bằng khả năng phân tích CI/CD thì tổ chức này gắn cờ quy trình làm việc là dễ bị chèn tập lệnh.

Khi tác nhân cố gắng khai thác lỗ hổng, trọng tải đầu tiên của nó — sử dụng ký tự nhận xét để cắt ngắn lệnh shell — đã thất bại do lỗi cú pháp bash. Các nhà nghiên cứu viết rằng thay vì dừng lại, Red Agent đã tự động phân tích lỗi, điều chỉnh tải trọng của nó để đóng cú pháp shell đúng cách và trích xuất thành công thông tin xác thực Jira sang máy chủ gọi lại ngoài băng tần. Cuộc gọi lại đến từ trình chạy GitHub Actions, mang thông tin đăng nhập ở dạng được mã hóa base64.

Mã thông báo đã được lọc thuộc về một tài khoản có quyền truy cập đọc các dự án kỹ thuật, tuân thủ bảo mật và theo dõi lỗi của Snowflake trong Jira.

Năm ngày kể từ khi tiêm đến khi dán miếng dán

Dòng thời gian tiết lộ do Wiz công bố diễn ra nhanh chóng:

  • Ngày 18 tháng 6 năm 2026 — mẫu dễ bị tấn công được giới thiệu bởi một cam kết do Copilot Autofix đồng tác giả
  • Ngày 23 tháng 6 năm 2026 — Wiz xác định, khai thác và báo cáo lỗ hổng cho Snowflake thông qua HackerOne
  • Ngày 23 tháng 6 năm 2026 — Snowflake vá quy trình làm việc trong cùng ngày, khôi phục biến `env:` an toàn và mẫu phân tích cú pháp `jq`
  • Ngày 24 tháng 6 năm 2026 — mã thông báo Jira bị lộ bị thu hồi và xoay vòng
  • Ngày 25 tháng 7 năm 2026 — phối hợp công bố công khai

Snowflake nói với Wiz rằng cuộc điều tra của họ không tìm thấy bằng chứng nào về việc truy cập trái phép. Công ty cho biết trong một tuyên bố: “Tiết lộ này được nhận vào ngày 23 tháng 6 năm 2026 và nó đã được điều tra và khắc phục ngay lập tức, đồng thời cuộc điều tra của chúng tôi không tìm thấy bằng chứng nào về việc truy cập trái phép”.

Bài học lớn hơn: Mã AI cần sự giám sát ở cấp độ con người

Wiz đã rút ra ba điều rút ra từ vụ việc và chúng còn vượt xa cả Snowflake.

Đầu tiên, các yêu cầu kéo do AI tạo ra phải trải qua quá trình phân tích tĩnh và đánh giá bảo mật giống như mã của con người. Các trợ lý mã hóa dự đoán mã từ các mẫu xác suất, nghĩa là họ có thể âm thầm giới thiệu lại các cấu trúc không được dùng nữa hoặc không an toàn mà kho lưu trữ đã loại bỏ.

Thứ hai, các cửa sổ khám phá đang sụp đổ. Lỗ hổng này chỉ tồn tại được 5 ngày trước khi một tác nhân tự động tìm thấy và xác thực nó - một tốc độ mà giả định rằng những kẻ tấn công quét bằng các công cụ tương tự có thể di chuyển nhanh chóng. Chu kỳ vá lỗi nhanh chóng và thông tin xác thực ngắn hạn đang trở thành yêu cầu cơ bản.

Thứ ba, các tổ chức cần các biện pháp bảo vệ ngăn trợ lý AI thay thế các trình phân tích cú pháp dữ liệu có cấu trúc bằng phép nội suy chuỗi trực tiếp - chính xác là hồi quy đã xảy ra ở đây.

Sự việc xảy ra vào thời điểm ngành đang có sự xem xét sâu rộng hơn về mã do AI tạo ra. Một loạt các nghiên cứu gần đây và các trường hợp thực tế đã chỉ ra rằng các công cụ mã hóa AI có thể tự tin đưa ra các lỗi, lỗ hổng bảo mật và vấn đề đau đầu về bảo trì cùng với việc tăng năng suất. Điều làm cho vụ án Bông tuyết trở nên đặc biệt là vòng lặp khép kín: AI gây ra sự cố và AI phát hiện ra sự cố đều hoạt động tự chủ và con người sẽ xem xét hậu quả.

Đối với các nhóm bảo mật, thông điệp từ Wiz rất thẳng thắn. Câu hỏi không còn là liệu mã do AI viết có chứa lỗ hổng hay không - mà là liệu quy trình phát hiện của bạn, do con người hay tự động, có thể tìm thấy chúng nhanh hơn tác nhân của người khác hay không.

Đi trước đường cong AI

Các công cụ mã hóa AI và các tác nhân tự trị đang thay đổi tính bảo mật của phần mềm theo thời gian thực. Đánh dấu trang AI Buzz Wire để biết báo cáo hàng ngày về ngành AI.

Đọc thêm tin tức về AI →