Cum să utilizați GHAS pentru a obține cel mai mare impact

Finalizat

În această unitate vom examina:

  • Înțelegerea graficului de dependență
  • Acționând asupra avertizărilor GHAS
  • Cine are acces la avertizări

Să aruncăm o privire mai atentă asupra modului în care funcționează Dependabot, începând cu graficul de dependență.

Graficul de dependență este central pentru a furniza securitatea lanțului. Graficul de dependență identifică toate dependențele din amonte și dependențele publice din aval ale unui depozit sau pachet. Puteți vedea dependențele depozitului și unele dintre proprietățile lor, cum ar fi informațiile despre vulnerabilități, în graficul de dependență pentru depozit.

Pentru a genera graficul de dependență, GitHub analizează dependențele explicite declarate în manifest și blocări. Atunci când este activată, graficul de dependență analizează automat toate fișierele manifest de pachet cunoscute din depozit și utilizează această scanare pentru a construi un grafic cu nume și versiuni de dependență cunoscute.

Printre punctele cheie despre graficul de dependență se numără:

  • Include informații despre dependențele directe și dependențele tranzitive.
  • Graficul de dependență este actualizat automat atunci când împingeți o comitere la GitHub care modifică sau adaugă un fișier manifest acceptat sau un fișier de blocare la ramura implicită. De asemenea, se actualizează automat atunci când cineva împinge o modificare la depozitul uneia dintre dependențele dvs.
  • Puteți vedea graficul de dependență deschizând pagina principală a depozitului pe GitHub și navigând la fila Detalii.
  • Dacă aveți cel puțin acces de citire la depozit, puteți exporta graficul de dependență pentru depozit ca UN SPDX compatibil cu Software Bill of Materials (SBOM), prin interfața de utilizator GitHub sau API-ul REST GitHub. Pentru mai multe informații, consultați "Exportul unei liste de materiale pentru depozitul dvs."

În plus, puteți utiliza API-ul de remitere dependență (beta) pentru a remite dependențe de la managerul de pachete sau ecosistemul dorit, chiar dacă ecosistemul nu este acceptat de graficul de dependență pentru analiza manifestului sau a blocării fișierelor. Dependențele remise la un proiect utilizând API-ul de remitere dependență (beta) arată ce detector a fost utilizat pentru remiterea lor și când au fost remise.

Alte caracteristici ale lanțului de aprovizionare de pe GitHub se bazează pe informațiile furnizate de graficul de dependență, care includ următoarele:

  • revizuirea dependenței: utilizează graficul de dependență pentru a identifica modificările de dependență și a vă ajuta să înțelegeți impactul de securitate al acestor modificări atunci când revizuiți solicitările de extragere.
  • alerte Dependabot: Dependențabot cross-references dependency data provided by the dependency graph with the list of advisories published in the GitHub Advisory Database. Graficul de dependență vă scanează dependențele și generează avertizări Dependențabot atunci când este detectată o vulnerabilitate potențială.
  • actualizările de securitate Dependentabot: utilizează graficul de dependență și avertizările Dependabot pentru a vă ajuta să actualizați dependențele cu vulnerabilități cunoscute din depozit.

Deși actualizări ale versiunii Dependabot nu utilizează graficul de dependență, merită să menționăm. Actualizările versiunii Dependabot se bazează în schimb pe versiunile semantice ale dependențelor. Actualizările versiunii Dependabot vă ajută să vă mențineți dependențele actualizate, chiar și atunci când nu au vulnerabilități.

Acționând asupra avertizărilor GHAS

Cu setul său cuprinzător de instrumente GHAS oferă vizibilitate holistică asupra posturii de securitate a unei organizații și capacitatea de a impune adoptarea securității, permițând prioritizarea precisă și eficientă și gestionarea riscurilor de securitate.

Unul dintre numeroasele instrumente care asigură securitatea în tot procesul de dezvoltare este toate avertizările pe care GHAS le oferă organizației dvs.

Să le revizuim:

Avertizări de scanare a codului:

  • Alerte de analiză CodeQL: Generat de CodeQL, motorul de analiză a codului semantic al GitHub, aceste avertizări identifică vulnerabilitățile de securitate potențiale din baza de cod. Acestea acoperă o gamă largă de probleme, inclusiv, dar fără a se limita la injectarea SQL, scriptarea pe mai multe site-uri și alte vulnerabilități de cod.

Avertizări de scanare secrete:

  • Avertizări expuse despre secrete: Aceste avertizări sunt declanșate atunci când informațiile potențial sensibile, cum ar fi cheile API sau acreditările, sunt identificate în codul sursă al depozitului. Scanarea secretă contribuie la prevenirea expunerii accidentale a datelor confidențiale.

Avertizări dependență:

  • Dependențabot Alerte: Dependențabot detectează automat dependențele învechite dintr-un proiect și creează solicitări de extragere pentru a le actualiza la cele mai recente versiuni securizate. Alertele Dependabot notifică dezvoltatorii despre actualizările disponibile pentru dependențele de proiect.

Avertizări prezentare generală securitate:

  • Prezentarea generală a securității oferă un tablou de bord cuprinzător care rezumă starea de securitate a depozitului.

Avertizări de la terți:

  • Puteți integra instrumente de analiză a codului de la terți cu scanarea codului GitHub prin încărcarea datelor ca fișiere SARIF. Aflați mai multe despre acest subiect la sfârșitul modulului cu un link către "Integrarea cu scanarea codului".

Implicațiile ignorării unei avertizări

Ignorarea unei avertizări de securitate prezintă riscuri semnificative pentru proiect. Vulnerabilitățile pot fi exploatate de actori rău intenționați, conducând la încălcări ale datelor, întreruperi ale serviciului sau alte incidente de securitate. Ignorarea avertizărilor poate duce, de asemenea, la creșterea eforturilor de remediere, la impact potențial asupra cronologiilor proiectului și la fiabilitatea generală a software-ului.

Consecințele pe termen lung ale ignorării avertizărilor pot include daune reputaționale, neconforme de reglementare și pierderi financiare. Este esențial ca echipele de dezvoltare să prioritizeze și să abordeze imediat avertizările de securitate pentru a atenua aceste riscuri și a menține integritatea software-ului.

Atunci când dezvoltatorii descoperă o avertizare de securitate, rolul lor imediat este de a investiga natura și severitatea avertizării. Acest lucru implică înțelegerea impactului asupra bazei de cod, a scenariilor potențiale de exploatare și a tuturor pașilor necesari pentru remediere.

Cu ajutorul GHAS, dezvoltatorii pot găsi și remedia vulnerabilitățile mai devreme în ciclul de viață al dezvoltării software-ului.

Cine are acces la avertizări?

GHAS oferă controale granulare de acces, permițând organizațiilor să definească persoanele care pot vizualiza avertizări pentru diferite caracteristici de securitate. Acest lucru asigură că numai personalul autorizat, cum ar fi echipele de securitate și participanții direct interesați relevanți, au acces la informații de securitate sensibile.

Gestionarea accesului este bazată pe roluri, cu diverse niveluri de acces la avertizări GHAS. Să aruncăm un moment pentru a explora puțin mai mult rolurile și accesul la avertizări:

  • Scanarea codului & alertele Dependabot poate fi văzută și modificată de oricine cu rolul de depozit Write
  • Avertizările de scanare secretă pot fi văzute și modificate de oricine cu rolul de depozit Admin
  • Oricărei persoane sau echipe i se poate acorda acces pentru a vedea și a modifica toate avertizările dintr-un depozit, indiferent de rolul depozitului, prin modificarea setărilor "Acces la avertizări" a depozitului

Acum că am revizuit ce avertizări pot fi văzute de anumite roluri, merită să rețineți că gestionarea eficientă a accesului îmbunătățește colaborarea, furnizând nivelul potrivit de vizibilitate pentru fiecare membru al echipei. Acest lucru asigură faptul că părțile interesate se pot concentra asupra aspectelor de securitate relevante pentru rolurile lor, facilitând un răspuns simplificat și eficient la alertele de securitate.

Prin înțelegerea complicatelor de identificare a vulnerabilităților, răspunsul la avertizări, recunoașterea implicațiilor inacțiunii și definirea rolurilor și controalelor de acces, echipele de dezvoltare pot valorifica Securitatea avansată GitHub la cel mai deplin potențial, creând un mediu de dezvoltare mai rezistent și mai sigur.

În secțiunea următoare, vom examina modul în care GHAS colectiv vă poate îmbunătăți ecosistemul de securitate.