Zabezpečení Java aplikací pomocí modernizace GitHub Copilot

Modernizace Java aplikace není jednorázová událost. Nové CVE jsou zveřejňovány každý den, nová zjištění CWE se objevují s tím, jak se váš kód vyvíjí, a závislosti přestávají být v souladu. Udržování aplikace v bezpečí znamená nepřetržitě zjišťovat a opravovat bezpečnostní dluh – stálegreen způsob, jak přemýšlet o zabezpečení aplikací.

GitHub Copilot modernizace vám pomůže se dvěma funkcemi:

  • Posouzení zabezpečení – skenuje váš kód na výskyty CWE podle normy ISO/IEC 5055 a vyhledává zranitelnosti CVE ve vašich přímých i tranzitivních závislostech.
  • Náprava kódu – vygeneruje plán provádění, který opraví vybrané problémy a použije pro vás opravy.

Tyto funkce najdete v těchto možnostech:

  • Visual Studio Code – interaktivní prohledávání a oprava, které jsou popsané v tomto článku.
  • Modernizace rozhraní příkazového řádku – zabezpečení je jednou z domén posouzení v dávkovém hodnocení, takže můžete zkontrolovat portfolio aplikací v jednom spuštění.

Kontrola a řešení problémů se zabezpečením v Visual Studio Code

Pomocí těchto kroků vyhodnoťte a opravte problémy se zabezpečením v jednom toku.

1. Spusťte kontrolu zabezpečení.

V podokně Modernizace GitHub Copilotu otevřete zobrazení Rychlý start a vyberte Vyhledat a vyřešit problémy se zabezpečením.

Snímek obrazovky aplikace Visual Studio Code, který zobrazuje zobrazení Rychlý start s tlačítkem Vyhledat a vyřešit problémy se zabezpečením.

Copilot nad vaším projektem provede posouzení v oblasti zabezpečení. Skenování zahrnuje:

  • Kurátorovaná sada pravidel CWE v souladu s ISO/IEC 5055, seskupené do šesti kategorií: Zabezpečení cesty k souborům, útoky prostřednictvím injektáže, bezpečnost paměti, kvalita kódu, přihlašovací údaje a tajné kódy a souběžnost a synchronizace.
  • Zjištění CVE ve vašich přímých a tranzitivních závislostech, pocházející z databáze GitHub Security Advisories.

Úplný katalog pravidel CWE a podrobnosti o pokrytí CVE najdete v části Seznámení s pokrytím posouzení.

Poznámka:

Kontroly CVE fungují i bez ověření přes GitHub, ale anonymní volání podléhají omezení počtu požadavků. U rozsáhlých projektů se přihlaste pomocí gh auth login, abyste se vyhnuli omezení rychlosti.

2. Kontrola sestavy

Po dokončení kontroly se otevře Zpráva o posouzení a zobrazí zjištění zabezpečení.

Screenshot zprávy o posouzení v Visual Studio Code, která ukazuje zjištění CWE a CVE.

Chcete-li určit, které identifikátory CVE se zobrazí, nastavte v konfiguraci hodnocení možnost Zabezpečení: Minimální závažnost CVE. Přijaté hodnoty jsou critical, high, mediuma low; výchozí je high.

3. Vyberte problémy, které chcete opravit a vytvořit plán.

Vyberte kategorie problémů, které chcete opravit. Tlačítko akce se aktualizuje, aby se zobrazil počet – například Vytvořit plán (3). Vyberte ho, pokud chcete vygenerovat plán provádění.

Snímek obrazovky zprávy o posouzení s vybranými kategoriemi bezpečnostních problémů a zvýrazněným tlačítkem Vytvořit plán.

4. Kontrola plánu

Copilot zapíše plán provádění jako soubor Markdownu a otevře ho v podokně náhledu, abyste si ho mohli přečíst před provedením jakékoli opravy. Tento plán popisuje, jak Copilot seskupuje a řeší vybrané problémy. Seskupuje problémy CVE podle závislostí a zjištění CWE podle souboru. Pokud chcete změnit rozsah nebo pořadí, upravte soubor Markdownu přímo.

Screenshot plánu provádění zabezpečení otevřeného v Visual Studio Code Markdown preview.

5. Provedení plánu

Až budete s plánem spokojení, řekněte Copilotu v chatu, aby jej provedl. Copilot řeší vybrané problémy po jednotlivých skupinách, sestaví projekt, aby ověřil každou změnu, a hlásí průběh v chatu. Zkontrolujte výsledné rozdíly a potvrďte změny, které chcete zachovat.

Zůstaňte stálegreen

Bezpečnostní dluh se znovu objevuje s vydáváním nových CVE a s tím, jak se vaše aplikace mění. Znovu spusťte Kontrolu a řešení problémů se zabezpečením jako součást pravidelného cyklu modernizace – například v každé větvi vydání – abyste problémy průběžně odhalovali a opravovali, místo aby se hromadily do jednoho rozsáhlého upgradu.

Další kroky