Contattataci

Struttura del corso

1. Concetti e ambito dell’analisi statica del codice

  • Definizioni: analisi statica, SAST, categorie di regole e livelli di gravità
  • Ambito dell’analisi statica nel contesto di uno SDLC sicuro e nella copertura dei rischi informatici
  • Il ruolo di SonarQube nei controlli di sicurezza e nei flussi di lavoro degli sviluppatori

2. Panoramica su SonarQube: funzionalità e architettura

  • Servizi principali, database e componenti di analisi del codice
  • Quality Gates, Quality Profiles e best practice per la loro configurazione
  • Funzionalità legate alla sicurezza: vulnerabilità, regole SAST e mappatura CWE

3. Navigazione e utilizzo dell’interfaccia utente di SonarQube

  • Visita guidata dell’interfaccia: progetti, problemi individuati, regole, metriche e strumenti di governance
  • Interpretazione delle pagine dei problemi, tracciabilità degli errori e indicazioni per la loro risoluzione
  • Opzioni di generazione ed esportazione dei report

4. Configurazione di SonarScanner con gli strumenti di compilazione

  • Impostazione di SonarScanner per Maven, Gradle, Ant e MSBuild
  • Best practice relative alle proprietà di configurazione, alle esclusioni di file e alla gestione dei progetti multi-modulo
  • Generazione dei dati di test necessari e dei report sulla copertura del codice per un’analisi precisa

5. Integrazione con Azure DevOps

  • Configurazione delle connessioni di servizio SonarQube in Azure DevOps
  • Aggiunta dei task SonarQube nei pipeline di Azure e personalizzazione delle pull request
  • Importazione dei repository di Azure Repos in SonarQube e automatizzazione delle analisi periodiche

6. Configurazione del progetto e utilizzo degli analizzatori di terze parti

  • Selezione dei Quality Profile a livello di progetto e scelta delle regole per Java e Angular
  • Lavorare con analizzatori forniti da terzi e comprendere il ciclo di vita dei plugin
  • Definizione e gestione ereditaria dei parametri di analisi del codice

7. Ruoli, responsabilità e valutazione delle metodologie di sviluppo sicuro

  • Distribuzione dei ruoli: sviluppatori, revisori, ingegneri DevOps e referenti della sicurezza
  • Creazione di una matrice chiara dei ruoli e delle responsabilità all’interno dei processi CI/CD
  • Analisi critica e suggerimenti per migliorare le metodologie di sviluppo sicuro attualmente in uso

8. Avanzato: aggiunta di regole, ottimizzazione ed espansione delle funzionalità di sicurezza globali

  • Utilizzo dell’API Web di SonarQube per creare e gestire regole personalizzate
  • Personalizzazione dei Quality Gates e applicazione automatica delle policy di sicurezza
  • Miglioramento della sicurezza del server SonarQube e adozione di best practice per il controllo degli accessi

9. Sessioni pratiche in laboratorio (applicative)

  • Laboratorio A: Configurazione di SonarScanner per 5 repository Java (con Quarkus dove applicabile) e analisi dei risultati ottenuti
  • Laboratorio B: Analisi del codice in un front-end Angular e interpretazione delle scoperte rilevate
  • Laboratorio C: Creazione di un intero pipeline che integri SonarQube con Azure DevOps e abiliti la decorazione automatica delle pull request

10. Test, risoluzione dei problemi e interpretazione dei report

  • Strategie per generare dati di test realistici e misurare la copertura del codice analizzato
  • Individuazione e risoluzione dei problemi più comuni: errori nello scanner, nei pipeline o nei permessi d’accesso
  • Modalità di lettura e presentazione dei report SonarQube a pubblici tecnici e non tecnici

11. Best practice e raccomandazioni strategiche

  • Scelta ottimale degli insiemi di regole e strategie per una loro applicazione graduale
  • Suggerimenti pratici per migliorare i flussi di lavoro tra sviluppatori, revisori e pipeline di compilazione automatica
  • Linee guida per lo scaling efficace di SonarQube in ambienti aziendali complessi

Sintesi finale e prossimi passi da compiere

Requisiti

  • Conoscenza del ciclo di vita dello sviluppo software
  • Esperienza nell’utilizzo dei sistemi di controllo versione e nei concetti base dei processi CI/CD
  • Familiarità con gli ambienti di sviluppo Java o Angular

Destinatari

  • Sviluppatori (Java / Quarkus / Angular)
  • Ingegneri DevOps e specialisti dei processi CI/CD
  • Ingegneri della sicurezza e revisori di sicurezza applicativa
 21 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (1)

Corsi in Arrivo

Categorie relative