Прави ризици скрипти преузетих са ГитХуба и како се заштитити

  • ГитХаб може да хостује све, од легитимног кода до злонамерног софтвера прикривеног у скриптама, зависностима, PoC-овима и прилозима коментара.
  • Претње утичу и на појединачне тимове и на ланац снабдевања, CI/CD, акредитиве и корпоративне податке.
  • Комбинација аутоматизоване анализе, контроле зависности и заштите спремишта и приступа драстично смањује ризик.
  • Рад са DevSecOps начином размишљања и сталним навикама верификације вам омогућава да искористите GitHub без жртвовања безбедности.

Прави ризици скрипти преузетих са ГитХуба

ГитХаб је постао омиљено игралиште милиона програмераТуторијали који изгледају обећавајуће, репозиторијуми пуни примера и скрипте спремне за копирање и лепљење. Уобичајено је да се тражи „како направити нешто помоћу Јаве, Ангулар-а итд.“ и заврши се на наизглед озбиљном чланку чији је изворни код повезан са јавним репозиторијумом. Осећај је потпуног поверења... али то поверење није увек оправдано.

Логично питање је: Могу ли се заразити вирусом само клонирањем репозиторијума или покретањем GitHub скрипте? Шта се дешава ако неко направи добро написан туторијал, али користи репозиторијум као мамац за убацивање злонамерног софтвера? Кратак одговор је да, постоје стварни ризици и они нису ограничени на „двоструки клик и зараза“: они утичу на ланац снабдевања софтвером, ваше CI/CD цевоводе, ваше податке, па чак и репутацију вашег пројекта.

Да ли је опасно преузимати скрипте и пројекте са ГитХуба?

ГитХаб, као платформа, није сам по себи злонамеран, али није ни гаранција безбедности. масивна услуга где одличан код може коегзистирати са лошим скриптама и веома софистицираним злонамерним корисним теретом. Сајбер криминалци су научили да „ако је нешто превише корисно, нико то не блокира“, па је GitHub постао савршен канал за дистрибуцију злонамерног софтвера прикривеног као легитиман код.

Клонирање репозиторијума са git clone Не зарази те магијомАли опасност настаје када компајлирате, покрећете скрипте, покрећете контејнере или интегришете зависности без њихове провере. Нападачи управо то искоришћавају: они користе чињеницу да многи програмери копирају и извршавају README инструкције без испитивања.

У корпоративним окружењима, саобраћај ка GitHub-у се генерално сматра „нормалним“. И често се не прати тако ригорозно као друга преузимања. Ово омогућава преузимање скрипти, бинарних датотека или корисних података издања без изазивања сумње, посебно ако се позивају из аутоматизованих цевовода.

Поред тога, Проблем није само скрипта коју видите у туторијалу.Постоје напади који злоупотребљавају зависности, библиотеке, коментаре, прилоге или чак PoC-ове (доказе концепта) за рањивости, прикривајући злонамерни софтвер као легитиман технички ресурс.

Безбедност скрипти преузетих са ГитХуба

Уобичајене тактике за скривање злонамерног софтвера на ГитХабу

Злонамерни актери су професионализовали коришћење GitHub-а као дистрибутивног канала, до те мере да користе моделе малвера као услуге (MaaS) где је GitHub у суштини CDN за злонамерне корисне садржаје. То су... Неке од најопаснијих техника које су примећене:

Злонамерни репозиторијуми и скрипте са невиним изгледом

Једна од најдиректнијих тактика састоји се од отпремање очигледно злонамерних скрипти или бинарних датотека до спремишта која на први поглед делују нормално. Имена датотека и спремишта су изабрана тако да улију поверење или барем не изазову сумњу. Могу бити наводни алати за администрацију, системски услужни програми, мали клијенти или „помоћници“ за аутоматизацију задатака.

У неким кампањама Откривени су налози са стотинама репозиторијума са случајним именом, где сваки репозиторијум садржи једну злонамерну датотеку у одељку Издања. Видљиви код може бити безопасан или ирелевантан; права опасност лежи у издању преузетом са директног линка, понекад дељеном ван ГитХаба (форуми, ћаскања, имејлови, друштвене мреже).

Посвећене агенције и књижаре

Други, много суптилнији приступ је убризгавање злонамерног кода у наизглед легитимне зависностиУместо напада на главни пројекат, нападач компромитује често коришћену библиотеку или креира клон са готово идентичним именом (типосквотинг) и објављује га на ГитХабу и/или одговарајућем регистру пакета.

Када програмер дода ту зависност свом пројекту (на пример, копирањем линије из README датотеке злонамерног репозиторијума или лажне веб странице), они интегришу злонамерни софтвер као природни део тока изградње. Резултат: злонамерни код се покреће у развојном окружењу, на CI/CD серверима, а понекад чак и у продукцији.

PoC-ови (докази концепта) модификованих експлоита за инсталирање RAT-ова

Експлоати за доказивање концепта објављени на ГитХабу постали су веома сочна мета.Многи администратори, истраживачи и „чланови црвеног тима“ преузимају Доказе концепта (PoC) како би проценили рањивости у свом окружењу, често претпостављајући да ако је нешто на ГитХабу и изгледа технички, мора бити легитимно.

Ова врста злонамерног PoC-а Обично укључује ланце извршења у неколико фаза: креирање пакетних скрипти, Позивање PowerShell-а, преузимањем додатног корисног терета и подешавањем заказаних задатака, тако да жртва на крају добије тројанца за удаљени приступ који евидентира кључеве, краде акредитиве и комуницира са командним и контролним сервером.

Искоришћавање коментара и нацрта за убацивање датотека

GitHub и GitLab дозвољавају Приложите датотеке коментарима у проблемима и захтевима за повлачењеОбично бисте отпремали снимке екрана, логове или минималне примере кода. Проблем је што на GitHub-у, када неко приложи датотеку коментару, директна веза до датотеке се генерише на CDN-у, чак и ако коментар није објављен.

То значи да нападач може да се припреми коментар са злонамерним прилогомникада не кликните на „Објави“, а ипак ћете добити функционалан линк као github.com/User/Repo/files/id/fileСа становишта жртве, чини се да линк припада легитимном репозиторијуму и познатом програмеру.

Власник спремишта не може да види ту датотеку, не може да је обрише или закључа.јер коментар остаје у невидљивом стању нацрта. Штавише, не постоји безбедносна конфигурација на нивоу спремишта која би спречила ове врсте отпремања, осим потпуног онемогућавања коментара, што ремети динамику сарадње у пројекту.

Лажне странице и туторијали који преусмеравају на злонамерни софтвер хостован на GitHub-у

Још једна широко распрострањена метода укључује креирајте веб странице које имитирају познате пројекте, алате или компанијегде се корисници позивају да преузму „званичну верзију“ или „најновију верзију“ са линка који води ка ГитХабу. Након што види ГитХаб домен и назив наводног пројекта у УРЛ адреси, корисник се опушта и преузима датотеку без даљих провера.

У неким случајевима ово је примећено тактика повезана са репозиторијумима великих компанијадодавање линкова до наводних варалица за игре или додатних алата. Иако би веома пажљив корисник могао сматрати да је нешто овакво у Мајкрософтовом репозиторијуму узнемирујуће, многи људи примећују само кључне речи „GitHub“ и „Microsoft“ и не анализирају контекст даље.

Прави утицај: од машине програмера до ланца снабдевања

Ризици нису ограничени само на програмера који је заражен на свом лаптопу. Када злонамерни скрипт уђе у ваш радни процес, То може утицати на целу организацију: изворни код, окружења за изградњу, цевоводи за имплементацију, тајне и подаци о корисницима.

Недавне кампање су показале како учитавачи попут Ементала раде у слојевима, скривајући прави код до последњег тренутка и тек на крају извршавајући инструкције које преузимају корисни терет (на пример, злонамерни софтвер Амадеј) са ГитХаба или других јавних репозиторијума.

Амадеј и слични злонамерни програми су дизајнирани да прикупљају системске информације, краду акредитиве и преузимају додатне модуле у зависности од профила жртве. Ово даје нападачима велику флексибилност: од крађа информација попут Redline-а или Lumma-е, до тројанаца за удаљени приступ попут AsyncRAT-а, скрипти маскираних у видео датотеке или Python кода са скривеним функцијама.

Када ове врсте претњи инфилтрирају CI/CD инфраструктуру, утицај се умножаваУгрожени задатак може убризгати код у артефакте који се затим дистрибуирају купцима, извући променљиве окружења помоћу токена и кључева или изменити конфигурације распоређивања како би отворио задња врата.

Са регулаторне и становишта усклађености, коришћење непроверених репозиторијума и зависности То може довести до озбиљних кршења безбедносних политика, стандарда као што је ISO 27001 или чак захтева специфичних за сектор. (финансијске, здравствене итд.), посебно ако дође до цурења личних података или интелектуалне својине.

Акције на ГитХабу

GitHub акције, CI/CD и друге осетљиве тачке

Континуирана интеграција и токови рада испоруке су приоритетни циљеви. Зато што концентришу код, акредитиве и аутоматизацију. GitHub Actions, Jenkins, GitLab CI или било који други сличан алат могу бити погођени злонамерним скриптама преузетим из наизглед невиних репозиторијума.

Лоше конфигурисан CI/CD ток рада може покрећи скрипте са прекомерним дозволамаБрисање грана, преписивање историје, отпремање злонамерних бинарних датотека у званична издања или чак модификовање критичних конфигурационих датотека. Потребна је само једна погрешно постављена или злонамерна команда или git push --force извршава се акцијом са дозволама за писање на заштићеној грани.

Тамбиен екистен ризици од оштећења или губитка података приликом коришћења Гита и ГитХабадеструктивне команде (git clean -fdx, git push --mirror), грешке у скриптама за аутоматизацију, проблеми са Git LFS-ом, лоше управљани подмодули, неправилно решени конфликти спајања… Све ово може проузроковати било шта, од повремених губитака до огромне штете по историју пројекта.

Грешке у управљању дозволама и приступом су још један класикГлавне гране без правила заштите, спољни сарадници са више привилегија него што је потребно, изложени или неротирани лични токени за приступ, процурели SSH кључеви… Свако занемаривање на овом фронту отвара врата брисањима, изменама кода или злонамерним уметањима од стране спољних нападача или незадовољних инсајдера.

Специфични ризици за програмере и организације

За појединачног програмера, Најочигледнији ризик је зараза сопственог тима Приликом покретања скрипти преузетих са GitHub-а: губитак датотека или шифровање, крађу лозинкиОтимање налога, надзор активности итд. Али штета се ту не зауставља.

Ако тај програмер сарађује на заједничким пројектима, Злонамерни софтвер може да измени код, уведе задња врата или отпреми манипулисане артефакте који на крају стигну до клијената или крајњих корисника., што је озбиљно нарушило углед пројекта и компаније.

На организационом нивоу, изложеност је још већа.Приватни репозиторијуми садрже интелектуалну својину, конфигурације, интерну документацију, а понекад и лоше ускладиштене акредитиве. Напад којим се добија приступ овим ставкама може довести до масовних кршења података, саботаже производа и продужених прекида услуге.

Штавише, злоупотреба ГитХаба као „званичног извора“ за преузимања у фишинг кампањама повећава ризик да нетехнички запослени наседну на преваре: имејлове или поруке са линковима који почињу са Гитхуб.цом o гитлаб.цом и стога делују поуздано, иако заправо испоручују злонамерне извршне датотеке генерисане из коментара нацрта или лажних репозиторијума, или које мењају хостс датотека.

Техничке мере за смањење ризика

  • Под претпоставком да ниједан GitHub скрипт није подразумевано невинСве што се преузме и покрене треба третирати као потенцијално злонамерни код, чак и ако долази са линка из веома популарног туторијала или високо оцењеног налога.
  • Статичка и динамичка анализа кода је фундаменталнаКоришћење SAST и DAST алата, скенера зависности и анализе састава софтвера (SBOM) вам омогућава да идентификујете сумњиве обрасце, застареле зависности, сумњиве мрежне функције или позиве PowerShell-у, WScript-у или другим компонентама које се обично користе у ланцима напада, као и да прегледате менаџери пакета у оперативном систему Windows.
  • Аутоматизација ових контрола унутар CI/CD цевовода је кључнаИнтегрисање скенера у сваки захтев за пуштање или повлачење, блокирање спајања ако се открију критичне рањивости и давање приоритета најискористљивијим знатно смањује ризик да злонамерни скрипт неоткривен доспе у продукцију.
  • Контрола зависности је кључна: потврдити порекло сваке библиотеке, избегавати пакете са именима сумњиво сличним познатим пројектима, прегледати историју и репутацију одржавалаца и одржавати комплетан инвентар компоненти користећи SBOM да би се знало шта је инсталирано и где.
  • Специјализовани алати за безбедност спремишта и цевовода, као што су решења типа XygeniОни помажу у аутоматизацији већег дела овог посла: прате дозволе, скенирају зависности у потрази за злонамерним софтвером или грешкама у типографији, прате аномалне активности, штите CI/CD токове од небезбедних конфигурација, па чак и генеришу аутоматске захтеве за повлачење са закрпама и ажурирањима.

Контрола приступа, акредитиви и резервне копије

Безбедност скрипти преузетих са ГитХуба такође зависи од заштитите свој налог и репозиторијумеНије баш корисно пратити код који увозите ако остављате своје пројекте, токене или SSH кључеве доступним било коме.

  • Омогућите двофакторску аутентификацију (2FA) на GitHub-у и GitLab-у А у организацијама користи јединствено пријављивање (SSO) са добављачем корпоративног идентитета. Пожељније је користити TOTP апликације или физичке безбедносне кључеве него SMS кодове.
  • Применити принцип најмањих привилегија: додељује само неопходне дозволе сваком кориснику или тиму, ограничава ко може да шаље на главне гране, ко може да форсира ажурирања, брише репозиторијуме или мења правила заштите.
  • Третирајте тајне онаквима какве јесу: веома осетљив материјалИзбегавајте отпремање токена, API кључева или лозинки у свој код. Користите безбедно складиште тајних података платформе, алате за скенирање тајних података и пре-коммит хоок-ове да бисте блокирали комите који садрже акредитиве.
  • Не потцењујте важност резервних копијаРедовно правите резервне копије репозиторијума (укључујући гране, ознаке и издања), чувајте их шифроване на одвојеним локацијама и редовно тестирајте поступке обнављања. У случају напада или широко распрострањене корупције, поседовање недавне резервне копије је разлика између мање непријатности и дуготрајне катастрофе.

На крају крајева, безбедно коришћење скрипти преузетих са ГитХуба захтева комбиновање здравог скептицизма, техничких контрола и зрелих процеса.Прегледајте свој код пре него што га покренете, увек валидирајте изворни код, заштитите своје налоге и цевоводе и користите алате који аутоматизују праћење. Са овим приступом, GitHub остаје моћан ресурс, а да притом не постане црна рупа у безбедности.

идентификујте DLL-ове
Повезани чланак:
Идентификујте опасне DLL датотеке на вашем Windows 11 систему