Red Agent od Wiz odhalil chybu v Snowflake za pět dní. Zneužitelný byl název veřejného issue
Změna sloučená 18. června 2026 vložila název veřejného GitHub issue přímo do shellového příkazu ve workflow. Chyba se týkala CI/CD automatizace v repozitáři snowflakedb/snowflake connector net, nikoli vydané aplikace Snowflake Connector for .NET.
Změna sloučená 18. června 2026 vložila název veřejného GitHub issue přímo do shellového příkazu ve workflow.
Chyba se týkala CI/CD automatizace v repozitáři snowflakedb/snowflake connector net, nikoli vydané aplikace Snowflake Connector for .NET.
Red Agent od Wiz zranitelnost našel 23. června, v rámci autorizovaného programu HackerOne ji ověřil a odeslal přístupové údaje k internímu Jira na kontrolovaný callback.
Získaný token spojený s účtem qa@snowflake.net umožnil přístup k citlivému obsahu interního Jira; Snowflake však neuvedl, že by došlo k neoprávněnému přístupu třetí strany.
How did GitHub’s Copilot Autofix AI introduce a shell-injection vulnerability into Snowflake’s public .NET connector repository, how did WizAI-generated editorial illustration of automated code review and security testing.
AI Prompt
Create a landscape editorial hero image for this Studio Global article: How did GitHub’s Copilot Autofix AI introduce a shell-injection vulnerability into Snowflake’s public .NET connector repository, how did Wiz. Article summary: The incident was a GitHub Actions workflow injection in Snowflake’s public `snowflake-connector-net` repository, not a flaw in the .NET connector’s shipped runtime code. A June 18, 2026 change in PR #1218 made an issue t. Topic tags: general, general web, user generated. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fa
openai.com
Incident ve Snowflake se netýkal zranitelnosti v samotném .NET konektoru distribuovaném zákazníkům. Problém byl v pracovním postupu GitHub Actions ve veřejném repozitáři snowflakedb/snowflake-connector-net. Změna sloučená 18. června 2026 vložila název GitHub issue ovládaný uživatelem přímo do shellového příkazu. O pět dní později chybu odhalil autonomní bezpečnostní agent Red Agent od společnosti Wiz a v rámci autorizovaného testu přes HackerOne ji využil k získání přístupových údajů k internímu Jira Snowflake.
Co se ve workflow změnilo
Zranitelný kód se nacházel v souboru .github/workflows/jira_issue.yml, který se spouštěl při otevření nového GitHub issue. Pull request č. 1218 s názvem „SNOW-2069227: Update Jira workflows“ nahradil bezpečnější postup přímou interpolací výrazu
${{ github.event.issue.title }}
do bloku run:. Původní varianta předávala název issue prostřednictvím proměnné prostředí a JSON sestavovala pomocí nástroje jq.
Studio Global AI
Continue your research
This page includes a source-backed answer you can continue inside Studio Global.
What is the short answer to "Red Agent od Wiz odhalil chybu v Snowflake za pět dní. Zneužitelný byl název veřejného issue"?
Změna sloučená 18. června 2026 vložila název veřejného GitHub issue přímo do shellového příkazu ve workflow.
What are the key points to validate first?
Změna sloučená 18. června 2026 vložila název veřejného GitHub issue přímo do shellového příkazu ve workflow. Chyba se týkala CI/CD automatizace v repozitáři snowflakedb/snowflake connector net, nikoli vydané aplikace Snowflake Connector for .NET.
What should I do next in practice?
Red Agent od Wiz zranitelnost našel 23. června, v rámci autorizovaného programu HackerOne ji ověřil a odeslal přístupové údaje k internímu Jira na kontrolovaný callback.
Rozdíl byl zásadní. GitHub výraz rozbalí ještě předtím, než příkaz zpracuje shell. Pokud tedy název issue obsahoval apostrof, mohl ukončit zamýšlený řetězec a přidat vlastní shellové příkazy. Následné „očištění“ hodnoty pomocí sed už nemohlo napravit skutečnost, že shell ji předtím interpretoval jako součást příkazu.
Ani spouštěč
issues: opened
z názvu issue neudělal důvěryhodný vstup. Název mohl ovládat každý uživatel, který byl schopen otevřít issue ve veřejném repozitáři. Podmínka omezující workflow na události související s issues proto nebránila vložení útočníkem kontrolovaných dat do shellu.
Commit uváděl jako spoluautora „Copilot Autofix powered by AI“ a AI asistovaná kontrola problém neodhalila. Dostupné důkazy však nepotvrzují, zda Copilot nebezpečnou změnu sám vytvořil, nebo pouze kontroloval či spoluautorsky označil změnu napsanou člověkem. Přesnější závěr tedy zní, že Copilot byl se změnou spojen a injektáž nezachytil — nikoli že je prokazatelně jejím autorem.
Jak Red Agent chybu našel
Red Agent při rutinním skenování veřejné organizace Snowflake hledal rizikové vzory v CI/CD automatizaci. U workflow Jira rozpoznal, že nedůvěryhodná data z issue vstupují přímo do shellového bloku run:. Z toho odvodil, že speciálně vytvořený název veřejného issue může vést ke spuštění libovolných příkazů na runneru GitHub Actions.
Dne 23. června — tedy pět dní po sloučení chybné změny — agent v rámci programu Snowflake pro zveřejňování zranitelností na HackerOne otevřel upravené issue. Název ukončil původní shellový řetězec a přiměl workflow odeslat přístupové údaje k Jira na out-of-band callback, který byl připravený pro autorizovaný proof of concept.
Nešlo o nekontrolovaný útok, ale o schválený bezpečnostní test. Samotný technický nález byl přesto skutečný: kdokoli mohl prostřednictvím veřejného issue dostat data až do kroku workflow, který pracoval s interními přístupovými údaji, a změnit tak běžné otevření issue ve spuštění příkazů.
K jakým datům se test dostal
Napadený workflow měl k dispozici údaje pro interní Jira Snowflake — adresu Jira, e-mail uživatele a API token. Získaný token byl spojen s účtem qa@snowflake.net; Wiz jej použil k přihlášení do interního portálu Jira a k posouzení možného rozsahu expozice.
Podle zveřejněných informací token umožňoval čtení v projektech týkajících se vývoje, bezpečnostní compliance a bug bounty programu. Dostupné podklady ale neuvádějí úplný soubor oprávnění tokenu ani definitivní seznam všech záznamů, které s ním bylo možné zobrazit. Nejbezpečnější závěr proto je, že umožnil přístup k citlivému internímu obsahu Jira, nikoli že poskytoval neomezený přístup k systémům Snowflake.
Zranitelným aktivem byla automatizace CI/CD v repozitáři. Nebyla oznámena žádná dotčená vydaná verze Snowflake Connector for .NET, protože chyba se nacházela ve workflow GitHub Actions, nikoli v běhovém kódu konektoru.
Jak Snowflake reagoval
Wiz problém nahlásil 23. června. Snowflake workflow opravil ještě tentýž den a následující den změnil dotčené přihlašovací údaje k Jira.
Firma následně prověřila auditní záznamy a dospěla k závěru, že během období expozice byl jediným aktérem Wiz. Wiz zároveň uvedl, že data získaná při proof of concept bezpečně odstranil.
Nebyl oznámen neoprávněný přístup třetí strany, přiděleno CVE ani identifikováno dotčené vydání konektoru. Tyto skutečnosti vymezují potvrzený dopad incidentu, neznamenají však, že původní návrh workflow byl bezpečný. Veřejný název issue se nikdy neměl stát součástí shellového příkazu ve workflow, které zpracovávalo interní přístupové údaje.
Poučení pro GitHub Actions a AI nástroje
Případ přesahuje otázku Snowflake i konkrétního produktu Copilot. Hodnoty z GitHubu — například názvy issues a pull requestů, názvy větví nebo komentáře — je třeba považovat za potenciálně škodlivý vstup pokaždé, když se dostanou do shellového příkazu.
Bezpečnější návrh workflow zahrnuje zejména:
předávání nedůvěryhodných hodnot prostřednictvím proměnných prostředí místo přímého vkládání do skriptů run:;
používání strukturovaných nástrojů, například jq, pro tvorbu JSON namísto skládání shellových řetězců;
správné escapování a validaci dat na hranici mezi aplikací a shellem;
oddělení přístupových údajů od kroků, které zpracovávají obsah ovládaný uživatelem;
stejně důkladnou kontrolu změn vytvořených AI jako kódu napsaného člověkem.
Incident názorně ukazuje novou stránku automatizace: jeden AI nástroj může nebezpečnou změnu v CI/CD přehlédnout, zatímco autonomní ofenzivní agent ji během několika dní najde a ověří. Automatizace může urychlit obranu i útok — nezastoupí však nezávislou bezpečnostní kontrolu.