Securitate automată

Finalizat

Aici, discutăm câteva modalități prin care puteți automatiza verificările de securitate într-un depozit disponibil administratorilor depozitului GitHub.

Detectarea și remedierea dependențelor învechite cu vulnerabilități de securitate

Practic, fiecare proiect în aceste zile necesită dependențe de pachete externe. Deși aceste componente pot oferi beneficii substanțiale în productivitate, ele pot introduce alte riscuri de securitate. Menținerea la curent cu aceste pachete și starea lor de vulnerabilitate pot fi consumatoare de timp, mai ales având în vedere modul în care fiecare dependență poate avea propriile dependențe care pot deveni dificil de urmărit și de întreținut. Din fericire, GitHub oferă caracteristici care reduc acest volum de lucru.

Grafice dependențe depozit

O caracteristică implicită pe care o include fiecare depozit este grafice de dependență. GitHub scanează manifestele comune ale pachetelor, cum ar fi package.json, requirements.txtși altele. Aceste grafice permit proprietarilor de proiect să urmărească recursiv toate dependențele pe care se bazează proiectul lor.

Captură de ecran a unui grafic de dependență GitHub.

Pentru lista de manifeste de dependență acceptate, consultați Despre graficul de dependență.

Avertizări Dependențabot

Chiar și cu un grafic de dependență vizuală, poate fi copleșitor să rămâneți la curent cu cele mai recente considerații de securitate pentru fiecare dependență pe care o are un proiect. Pentru a reduce această suprapunere, GitHub oferă avertizări Dependabot care urmăresc graficele de dependență pentru dvs. Apoi face referire încrucișată la versiunile țintă cu versiuni în listele de vulnerabilități cunoscute. Atunci când este descoperit un risc, proiectul este avertizat. Intrările pentru analiză provin de la recomandări de securitate GitHub.

Captură de ecran a avertizărilor Dependabot pentru dependențele vulnerabile.

Actualizări de dependență automată cu Dependabot

O avertizare de dependență poate duce la un colaborator de proiect care lovește referința de pachet ofensatoare la versiunea recomandată și crearea unei solicitări de extragere pentru validare. Nu ar fi minunat dacă a existat o modalitate de a automatiza acest efort? Ei bine, vești bune! Dependabot face doar asta. Acesta scanează pentru avertizări de dependență și creează solicitări de extragere, astfel încât un colaborator să poată valida actualizarea și îmbina solicitarea.

Pentru a afla mai multe despre flexibilitatea Dependabot, consultați Configurarea actualizărilor de securitate Dependabot.

Scanarea automată a codului

Similar cu modul în care Dependabot scanează depozitul pentru avertizări de dependență, puteți utiliza scanarea codului pentru a analiza și a găsi vulnerabilitățile de securitate și erorile din cod într-un depozit GitHub. Scanarea codului are mai multe avantaje. Îl puteți utiliza pentru a găsi, a tria și a acorda prioritate remedierilor pentru problemele existente sau vulnerabilitățile de securitate potențiale. De asemenea, este util să împiedicați dezvoltatorii să introducă noi probleme de securitate în cod.

Un alt avantaj pentru scanarea codului este capacitatea sa de a utiliza CodeQL. CodeQL vă permite să interogați codul ca date, care vă permite să creați interogări particularizate sau să utilizați interogări întreținute de comunitatea open-source. Scanarea codului vă oferă libertatea de a particulariza și a menține modul în care se scanează codul din depozit.

Puteți activa avertizările și fluxurile de lucru de scanare a codului în fila de securitate a unui depozit GitHub:

Captură de ecran a unei liste de politici, recomandări și avertizări cu linkuri către mai multe informații.

Aflați mai multe despre scanarea codului și codeQL.

Scanare secretă

O altă caracteristică de scanare automată dintr-un depozit GitHub este scanarea secretă. Similar cu caracteristicile anterioare de scanare a securității, scanarea secretă caută secrete cunoscute sau acreditări comise în depozit. Această scanare se efectuează pentru a preveni utilizarea comportamentului fraudulos și pentru a securiza integritatea oricăror date sensibile. În mod implicit, scanarea secretă are loc în depozitele publice și puteți activa scanarea secretă pentru depozitele private de către administratorii depozitului sau proprietarii organizației.

Atunci când scanarea secretă detectează un set de acreditări, GitHub notifică furnizorul de servicii care a emis secretul. Furnizorul de servicii validează acreditarea. Apoi, decide dacă acestea ar trebui să revoce secretul, să emită un nou secret sau să vă contacteze direct. Acțiunea depinde de riscurile asociate pentru dvs. sau furnizorul de servicii.

Aflați mai multe despre scanarea secretă pentru depozite publice și private.