
Wiz-ի AI գործակալը բացահայտել է Snowflake-ի խոցելիությունը, որը բաց թողեց Copilot-ը
Wiz-ի ինքնավար Red Agent գործիքը բացահայտել և օգտագործել է script injection Snowflake-ի հանրային պահոցի workflow-ում։ Ոչ Copilot-ի մասնակցությամբ վերանայումը, ոչ GitHub Advanced Security-ն այն չնկատեցին։
Wiz Research-ը հայտնում է, որ իր ինքնավար անվտանգության հետազոտական գործիքը՝ Red Agent-ը, բացահայտել և օգտագործել է GitHub Actions-ի կրիտիկական խոցելիություն Snowflake-ի հանրային պահոցում։ Միջադեպը հաղորդվել է Snowflake-ի HackerOne ծրագրի միջոցով, իսկ արդյունքները հրապարակվել են 2026 թվականի օգոստոսի 17-ին։
Խոցելի workflow-ը
Խնդիրը snowflakedb/snowflake-connector-net պահոցի jira_issue.yml ֆայլում էր։ Workflow-ը գործարկվում էր ցանկացած նոր բացված GitHub issue-ի դեպքում և հարձակվողի կողմից վերահսկվող issue-ի վերնագիրը ուղղակիորեն տեղադրում էր shell սկրիպտի մեջ։ Քանի որ GitHub-ի ձևանմուշի ընդլայնումը տեղի է ունենում sed-ի escaping-ից առաջ, վերնագրում մեկ չակերտը դուրս է գալիս echo-ի տողից և թույլ է տալիս կամայական հրամանների կատարում։ Խոցելիությունը ակտիվացել է 2026 թվականի հունիսի 18-ին՝ PR #1218-ի միաձուլման պահին, հայտնաբերումից հինգ օր առաջ։
Ինչպես գործեց գործակալը
Red Agent-ը բացեց issue, որի վերնագիրը Jira-ի հավատարմագրերը դուրս հանեց out-of-band callback-ի միջոցով։ Առաջին փորձը ձախողվեց. # նշանը դարձավ մեկնաբանություն և «կուլ տվեց» TITLE=$(...)-ի փակող փակագիծը՝ առաջացնելով bash-ի շարահյուսական սխալ։ Գործակալը ինքնուրույն վերլուծեց սխալը, փոխեց payload-ը «; echo '»-ով և վայրկյանների ընթացքում Azure IP 20.106.182.197-ի GitHub Actions runner-ից ստացավ base64-ով կոդավորված տվյալներով callback։
Ինչու ավտոմատ ստուգումները լռեցին
Գողացված թոքենը [email protected] անունով նույնականացավ snowflakecomputing.atlassian.net-ում և ընթերցման հասանելիություն տվեց Snowflake-ի ինժեներիայի, անվտանգության համապատասխանության և bug bounty նախագծերին։ Workflow-ն ուներ «պաշտպանիչ» պայման, որը բացողի մուտքանունը ստուգում էր github.event.pull_request.user.login-ով, սակայն issues տեսակի իրադարձություններում այդ դաշտը միշտ null է, ուստի պայմանը միշտ ճշմարիտ է։ GitHub Advanced Security-ն սկանավորեց վերջնական տարբերակը, բայց injection-ը չնշեց, իսկ միաձուլված PR-ը փոխարինել էր անվտանգ env: + jq ձևանմուշը ուղղակի ինտերպոլացիայով։
Արձագանքը և եզրակացությունները
Snowflake-ը workflow-ը շտկեց հաղորդման նույն օրը (commit 1dc7766, PR #1402), իսկ հունիսի 24-ին չեղարկեց և փոխարինեց Jira-ի թոքենը. աուդիտի գրանցումները ցույց տվեցին, որ հինգ օրվա ազդեցության պատուհանում երրորդ կողմերը հասանելիություն չեն ստացել։ Wiz-ը նշում է, որ Copilot-ը համահեղինակ էր, որը վերանայել է միաձուլված փոփոխությունը և գնահատել այն անվտանգ, և որ պարզ չէ՝ արդյոք կոդը գրվել է AI-ի օգնությամբ։ Եզրակացությունը՝ AI-ի կողմից գեներացված pull request-ները պահանջում են նույն ստատիկ վերլուծությունը, ինչ մարդու գրած կոդը, իսկ հայտնաբերման պատուհանների կրճատումը պահանջում է արագ թարմացումներ և կարճաժամկետ հավատարմագրեր։
SiTech — AI-ով հզորացված վեբ մշակում
Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։