Een moderne applicatie bestaat niet alleen uit code die wij zelf schrijven. Ze gebruikt tientallen, soms honderden kant-en-klare bouwstenen (packages) uit de open-source-wereld. Dat is doorgaans betrouwbaar, maar het is ook een route die aanvallers steeds vaker misbruiken: ze smokkelen kwaadaardige code in een populair pakket, dat vervolgens ongemerkt in duizenden applicaties belandt. Dit soort supply chain-aanvallen is recent flink toegenomen, ook in de Laravel-wereld.
Daar beschermen we ons op twee fronten tegen. Aan de PHP-kant gebruiken we de nieuwste versie van de software dat deze 'bouwstenen' binnenhaalt (Composer). Sinds versie 2.10 controleert dat elk pakket automatisch tegen een actuele lijst van bekende malware en blokkeert het dat nog vóór installatie. Voor onze overige tooling hebben we een extra controle aan onze pipelines toegevoegd (Aikido Safe Chain), die hetzelfde doet en bovendien nieuwe pakketten even tegenhoudt, precies het moment waarop ze het vaakst misbruikt worden.
Zo wordt kwaadaardige code tegengehouden voordat die geïnstalleerd wordt, zowel op onze eigen machines als in het geautomatiseerde proces dat de applicatie oplevert.