Có gì mới
Wiz Research cho biết Red Agent, công cụ nghiên cứu bảo mật tự động của họ, tìm thấy một lỗi script injection trong GitHub Actions workflow của repository snowflakedb/snowflake-connector-net.
Workflow chạy khi có issue mới. Tiêu đề issue do người ngoài nhập được đưa trực tiếp vào shell run: block. Một dấu nháy đơn trong title có thể phá chuỗi echo và cho attacker chạy lệnh trên GitHub Actions runner.
Điểm đáng chú ý là nguồn gốc regression: pattern dễ tiêm lệnh được đưa vào ngày 18/6/2026 trong PR #1218, có Copilot Autofix powered by AI đồng tác giả. Thay đổi này gỡ pattern an toàn cũ, vốn truyền title qua env: và dùng jq để dựng payload JSON.
Tác động
Khai thác proof-of-concept của Wiz exfiltrate được token Jira. Token này xác thực dưới tài khoản qa@snowflake.net và có quyền đọc nhiều project Jira nội bộ liên quan đến engineering, security compliance và bug bounty tracking.
Wiz báo cáo qua HackerOne ngày 23/6/2026. Snowflake vá workflow cùng ngày bằng cách khôi phục env: + jq --arg, sau đó rotate token Jira ngày 24/6. Snowflake nói audit log không cho thấy truy cập trái phép ngoài hoạt động của Wiz.
Vì sao dev nên quan tâm
Lỗi này không phải bài học chung chung rằng AI assistant nguy hiểm. Bài học cụ thể hơn: CI/CD không được interpolate dữ liệu không tin cậy trực tiếp vào shell, dù patch do người hay assistant tạo.
Các biên cần kiểm tra ngay:
run:block nhận issue title, PR title, branch name, tag hoặc release text.- Workflow dùng
${{ github.event.* }}bên trong shell string. - Patch AI thay parser có cấu trúc như
jq --arg,env:hoặc action input bằng string concatenation. - Repo chưa chạy static analysis cho GitHub Actions, ví dụ
zizmor.
Nếu dùng Copilot Autofix hoặc agent sửa CI, hãy coi mọi thay đổi từ structured data sang shell interpolation là security review bắt buộc.