Il codice sorgente costituisce gli elementi fondamentali di qualsiasi applicazione o prodotto software. È la spina dorsale di qualsiasi organizzazione incentrata sulla tecnologia. Il codice sorgente contiene informazioni proprietarie sulle proprietà intellettuali dell'azienda e protegge i dati che la fanno funzionare.
L'integrazione di componenti open-source di terze parti consente ai team di software di utilizzare facilmente il codice già disponibile, senza dover sviluppare da zero. Purtroppo, il rovescio della medaglia di questa comodità è rappresentato dai rischi che colpiscono i fornitori terzi, causando attacchi alla catena di fornitura. Durante un attacco alla supply chain, i criminali informatici possono inserire malware nel codice o nei sistemi di compilazione di terze parti, trasmettendo quindi malware all'organizzazione e ai suoi clienti associati.
In questo blog dimostrerò come prevenire il malware nel codice sorgente utilizzando il plugin MetaDefender Jenkins.
Secure con MetaDefender per Jenkins
Il plugin "MetaDefender " per Jenkins esegue la scansione delle build di Jenkins alla ricerca di malware e verifica la presenza di minacce nel codice sorgente e negli artefatti. Il malware avanzato può facilmente eludere un singolo motore antivirus (AV), mettendo a rischio il codice sorgente. I falsi positivi nel rilevamento del malware sono inoltre un effetto collaterale comune nella maggior parte delle soluzioni antivirus, con conseguente spreco di sforzi, tempo e risorse per la risoluzione dei problemi. " MetaDefender " per Jenkins utilizza Metascan, una tecnologia di scansione multipla, per aumentare i tassi di rilevamento e ridurre i tempi di individuazione delle infezioni nelle build del software.
Ecco due scenari che mostrano come il malware può infiltrarsi: nel codice sorgente e durante il processo di compilazione.
Scenario 1: Malware nel codice sorgente
Il codice sorgente in questo caso può essere il proprio codice sorgente (proveniente dalla macchina compromessa di uno sviluppatore) o da una libreria di terze parti. Nel primo scenario, volevo controllare un repository di librerie di terze parti su GitHub. Per assicurarmi che il repository sia privo di minacce, ho aggiunto una fase di compilazione per la scansione con il plugin MetaDefender per Jenkins.

Volevo anche che la compilazione venisse restituita come "fallita" se c'erano minacce nel codice sorgente.

Dopo aver tentato di eseguire la compilazione, il risultato è stato contrassegnato come "fallito" a causa dei file infetti catturati dal plugin MetaDefender Jenkins.

Scenario 2: malware introdotto nel processo di creazione
Se si pensa che la scansione del repository sia sufficiente a proteggere il codice sorgente, non è sempre vero. Alcune minacce informatiche non esistono nel repository del codice sorgente originale, ma possono essere introdotte quando si scaricano componenti come dipendenze o librerie. In questo secondo video, ho mostrato un esempio di questo secondo scenario e come prevenirlo utilizzando il plugin MetaDefender Jenkins.
Come si può vedere, non sono stati riscontrati problemi dopo la scansione del codice sorgente nella prima esecuzione.

Successivamente, ho aggiunto una nuova fase di compilazione al processo utilizzando un file build.bat e ho avviato nuovamente la compilazione.

A scopo dimostrativo, ho usato npm per scaricare un pacchetto di prova EICAR per simulare l'azione di installazione di un malware in uno scenario reale. In questo caso, mentre non c'erano minacce nel codice sorgente originale, il pacchetto npm dannoso si è verificato nello script durante la compilazione. Il plugin MetaDefender di Jenkins ha rilevato la minaccia, contrassegnando la compilazione come fallita.

I risultati dettagliati della scansione sono mostrati in MetaDefender Core .

Informazioni su OPSWAT MetaDefender per Jenkins
OPSWAT MetaDefender perché Jenkins verifichi che le tue build siano prive di malware e informazioni riservate prima di rendere pubblica l’applicazione. Grazie alle funzionalità complete della piattaforma MetaDefender — tra cui oltre 30 motori antivirus all’avanguardia, la tecnologia Deep CDR™ e Proactive DLP— il plugin MetaDefender per Jenkins eseguirà una scansione approfondita del codice sorgente e degli artefatti alla ricerca di eventuali minacce. Sarai informato di potenziali problemi tramite meccanismi di sicurezza integrati che aiutano a prevenire la diffusione di malware e la fuga di dati sensibili. Scopri di più su MetaDefender per Jenkins e sugli altri strumenti gratuiti diOPSWAT .
Per ulteriori informazioni, contattate i nostri esperti di cybersecurity.
