Co je to github action?
Github Actions je CI/CD nástroj, který automaticky spouští kód v reakci na definované eventy v github repozitáři (např někdo pushne nový commit, otevře nový pull request, vytvoří nový tag, atd.)
Stejně jako jiný kód si ne každý píše svoje actions, ale využívá volně dostupné, které už někdo vytvořil a sdílel. tj-actions je jedna z kolekcí actions (můžete to chápat podobně jako knihovnu - někdo něco komplikovanějšího implementoval a já to můžu zavolat přidáním jednoho řádku). A zřejmě se stalo to, že někdo tuto veřejnou knihovnu "upravil" tak, aby po spuštění kradla citlivé údaje.
Koho by to mělo zajímat?
Zajímá to ty, kteří pro svoje CI/CD používají Github Actions a používají někde jako součást svých pipelines tj-actions. Vzhledem k tomu, že policy githubu je taková, že pokud se najde škodlivý kód, tak je okamžitě smazán a skryt, tak se nemůžeme podívat, jak byl repozitář populární, a co přesně dělal. (teď už není třeba podnikat žádné kroky, protože github repozitář smazal)
Ale zajímá to i ostatní, kteří zrovna GH actions nepoužívají, protože je to další supply chain útok, a je to dobrá připomínka s touto možností ve svém bezpečnostním modelu počítat, bez ohledu na to, co používáte, protože problém je to univerzální.
Jirsáku, kde píšu, že si něco neověřuju? Zase se musíš vyjadřovat ke všemu?
Prostě když něco nevím (co je jazyk Kotlin, co je GitHub Action apod.), budu se aktivně zajímat. Do zprávičky to vysvětlení nepatří, zprávička má upozornit na novinky a ne někomu od základu něco vysvětlovat, to je zbytečný šum. To vysvětluju svou pozici pro ostatní, Ty už si zase piš jako kolovrátek, reagovat na to nebudu.
Takže se zeptáte ChatGPT na fakta, která možná má a nebo si je tak ňák domyslí, a pak si tu odpověď raději ještě nějak ověříte… inu, každý postupuje jinak.
Je elementární zásadou že když píšu širšímu u publiku než kolegovi se kterým na té věci dělám, - jako třeba tady na veřejné fórum - tak ten kontext stručně uvedu, nejlépe s odkazem na zdroj kde se dá dozvědět víc.
Odkaz na původní článek tam je a IMO v něm je informací dost. Co chceš vysvětlovat? Co je GitHub Action? Co je GitHub? Co je Git? Co je VCS? Co je CI? Co je PR? Co je JavaScript?
Ten kontext můžeš doplňovat donekonečna a já osobně, když vidím podobnou zprávičku, si zjistím info přesně do té hloubky, jakou potřebuju. Vím, co jsou GitHub Actions, nepoužívám je, vím, že jedna z nich byla kompromitovaná a tak si dám v budoucnu pozor, kdyby se mě to mohlo týkat. Easy.
Jirsáku, kde píšu, že si něco neověřuju?
Ve vašich komentářích jste nic o ověřování nepsal. Kdybyste k tomu odkazu na ChatGPT přidal odkazy, kde jste si to ověřil, nebo byste aspoň do komentáře napsal „něco jsem si k tomu vyhledal a vypadá to, že je to správně“, měl by ten komentář nějakou hodnotu pro ostatní. To, co jste napsal, je ovšem na stejné úrovni jako to, co jste kritizoval.
Ono ty GH akce ale jsou JS prasárny - lidi používají desítky GHA v jejich CI, o kterých nic neví, a pak konfrontace něčeho takového právě způsobuje tyto problémy.
Já se třeba ve vlastních workflow snažím používat co nejmíň GHA od třetích stran, a přijde mi to tak celkem OK - lepší vlastní skript, který můžu zmigrovat na jinou službu než mít workflows napsané tak, že migrace znamená kompletní přepis všeho.
Osobně jsem psal do Jenkinse, Gitlabu a Gitea (ekvivalent GH actions). Vím že (aspoň za mě) to jsou dny a dny práce než člověk vychytá co potřebuje (ale záleží na složitosti software a deploymentu). A osobně nerad přidávám další dny na psaní kola (tj. to co už napsal někdo předemnou a dal to public na GH)
GH actions jsou hlavně dobré kvůli deduplikování kódu a abstrakci (protože když pipeline chce deployovat, chce deployovat -- a je jí fakt jedno jestli je ve finále deploy řešený přes argocd, kubectl apply, ftp, rsync...). A taktéž aby člověk furt nepsal dokola kolo