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 Costruzioni con il plugin MetaDefender per Jenkins
Il pluginMetaDefender for Jenkins analizza le build Jenkins alla ricerca di malware e controlla il codice sorgente e gli artefatti alla ricerca di minacce. Il malware avanzato può facilmente aggirare un singolo motore antivirus (AV), mettendo a rischio il codice sorgente. I falsi positivi nel rilevamento del malware sono anche un effetto collaterale comune nella maggior parte delle soluzioni AV, con conseguente spreco di sforzi, tempo e risorse per la bonifica. MetaDefender for Jenkins utilizza Metascan, unatecnologia di scansione multipla, per aumentare i tassi di rilevamento e ridurre i tempi di rilevamento dei focolai per le 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 per Jenkins controlla le build alla ricerca di malware e segreti prima di rilasciare l'applicazione al pubblico. Grazie alle funzionalità complete della piattaforma MetaDefender , che include più di 30 motori antivirus leader del settore, Deep CDRe Proactive DLPil plugin MetaDefender per Jenkins esegue una scansione approfondita del codice sorgente e degli artefatti alla ricerca di eventuali minacce. Sarete informati di potenziali problemi grazie a dispositivi di sicurezza integrati che vi aiuteranno a prevenire l'insorgere di malware e la perdita di dati sensibili. Per saperne di più su MetaDefender per Jenkins e su altri strumenti gratuitiOPSWAT .
Per ulteriori informazioni, contattate i nostri esperti di cybersecurity.