უკან დაბრუნება
Wiz-ის AI აგენტმა Snowflake-ის GitHub Actions-ის სისუსტე იპოვა — Copilot-მა ის ვერ შეამჩნია
SiTech AI Team2 წთ. საკითხავი

Wiz-ის AI აგენტმა Snowflake-ის GitHub Actions-ის სისუსტე იპოვა — Copilot-მა ის ვერ შეამჩნია

Wiz Research-ის ავტონომიურმა აგენტმა Red Agent-მა Snowflake-ის საჯარო რეპოზიტორიაში script injection აღმოაჩინა და გამოიყენა. ვერც Copilot-ის მონაწილეობით განხილვამ და ვერც GitHub Advanced Security-მ სისუსტე ვერ დაინახა.

Wiz Research-ის ავტონომიურმა კვლევითმა აგენტმა Red Agent-მა Snowflake-ის საჯარო GitHub რეპოზიტორიაში კრიტიკული სისუსტე იპოვა და გამოიყენა. ინციდენტი HackerOne-ის პროგრამის ფარგლებში 2026 წლის 23 ივნისს შეტყობინება, დეტალები კი Wiz-მა 17 აგვისტოს გამოაქვეყნა.

რა იყო სისუსტე

პრობლემა snowflakedb/snowflake-connector-net რეპოზიტორიის jira_issue.yml სამუშაო პროცესში იყო. Workflow აქტიურდებოდა ნებისმიერ ახლად გახსნილ GitHub issue-ზე და issue-ის სათაურს, რომელსაც თავდამსხმელი აკონტროლებს, პირდაპირ shell სკრიპტში ამატებდა. GitHub-ის შაბლონის გაშლა sed-ის ეკრანირებამდე ხდება, ამიტომ სათაურში ერთი ბრჭყალის ჩასმა echo-ს სტრიქონიდან გამოსვლას და თვითნებური ბრძანების შესრულებას იძლევა. სისუსტე აქტიური გახდა 18 ივნისს, PR #1218-ის შერწყმისას — აღმოჩენამდე ხუთი დღით ადრე.

როგორ იმუშავა აგენტმა

Red Agent-მა გახსნა issue, რომლის სათაურმა Jira-ს სერტიფიკატი out-of-band callback-ის საშუალებით გაიტანა. პირველი მცდელობა წარუმატებელი იყო: # სიმბოლო კომენტარად იქცა და TITLE=$(...)-ის დამხურავი ფრჩხილი „შეჭამა“, რამაც bash-ის სინტაქსური შეცდომა გამოიწვია. აგენტმა დამოუკიდებლად გააანალიზა შეცდომა, payload-ი შეცვალა „; echo '“-ით და რამდენიმე წამში GitHub Actions runner-იდან (Azure-ის IP 20.106.182.197) base64-ით დაშიფრული მონაცემები მიიღო.

რატომ არ შენიშნა ავტომატურმა შემოწმებამ

გატანილი სერტიფიკატი [email protected]ის სახელით ავტორიზდებოდა snowflakecomputing.atlassian.net-ზე და კითხვის წვდომას იძლეოდა Snowflake-ის ინჟინერიის, უსაფრთხოების კომპლაიანსისა და bug bounty-ის პროექტებზე. Workflow-ს ჰქონდა „დამცავი“ პირობა, რომელიც გამხსნელს github.event.pull_request.user.login-ის მიხედვით ამოწმებდა, თუმცა issues ტიპის მოვლენებზე ეს ველი ყოველთვის null-ია — პირობა ყოველთვის ჭეშმარიტია. GitHub Advanced Security-მ საბოლოო რევიზია გააანალიზა, მაგრამ ინექცია არ მონიშნა; შერწყმულმა PR-მა ამოშალა უსაფრთხო env: + jq პატერნი და ის პირდაპირი ინტერპოლაციით ჩაანაცვლა.

რეაგირება და დასკვნები

Snowflake-მა workflow იმავე დღეს გამოასწორა (commit 1dc7766, PR #1402), Jira-ს სერტიფიკატი გააუქმა და 24 ივნისს შეცვალა; აუდიტის ჩანაწერების ანალიზმა დაადასტურა, რომ ხუთდღიანი ექსპოზიციის პერიოდში მესამე მხარეები endpoint-ზე არ შესულან. Wiz-ის დასკვნით, AI-ის მიერ გენერირებული pull request-ები ადამიანის კოდის იდენტური სტატიკური ანალიზით უნდა შემოწმდეს, სისუსტეების აღმოჩენის ფანჯარა კი საათებამდე შემცირდა — ამიტომ საჭიროა სწრაფი განახლების ციკლი და ხანმოკლე ვადის სერტიფიკატები.

SSiTech

SiTech — AI-გაძლიერებული ვებ დეველოპმენტი

ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.