SPDX of CycloneDX — wat moeten wij kiezen?
Beide zijn gangbaar en beide worden geaccepteerd. SPDX is een ISO-standaard en wordt veel gebruikt waar licentie-informatie centraal staat, bijvoorbeeld bij due diligence. CycloneDX komt uit de beveiligingshoek en sluit iets natuurlijker aan op kwetsbaarheidsbeheer en VEX. In de praktijk kunt u vrijwel elke lijst tussen de twee omzetten, dus het is zelden een keuze waar u aan vastzit. Wij kijken naar wat uw afnemers vragen en naar welk gereedschap u al gebruikt, en volgen dat.
Hoe diep moet de lijst gaan?
De Cyber Resilience Act vraagt ten minste de bovenste laag afhankelijkheden. Voor het beantwoorden van de vraag “raakt dit ons” is dat te ondiep: de meeste gemelde kwetsbaarheden zitten in onderdelen die met uw keuzes zijn meegekomen en die u dus niet zelf heeft opgeschreven. Wij genereren standaard de volledige boom en leveren daarnaast een uittreksel van de bovenste laag voor waar dat volstaat. Het kost hetzelfde werk en het antwoord wordt er veel bruikbaarder van.
Moeten wij de lijst openbaar maken?
Nee. De verplichting is dat u hem heeft en op verzoek kunt overleggen aan wie er recht op heeft, in de eerste plaats de markttoezichthouder. Wat u met afnemers deelt, bepaalt u zelf. Sommige organisaties delen een volledig exemplaar onder geheimhouding, andere alleen een bevestiging dat een specifiek component niet wordt gebruikt. Dat is een commerciele afweging en geen juridische.
Wat als een leverancier ons geen lijst geeft?
Dat is dezelfde vraag, een schakel verderop. Voor ingekochte componenten kunt u vaak zelf vaststellen wat erin zit door de geleverde artefacten te scannen, maar volledig wordt dat zelden. De praktische route is om het in uw inkoopvoorwaarden te zetten en het bij verlenging af te dwingen. Wij helpen die formulering opstellen; het is dezelfde bepaling die uw eigen afnemers inmiddels bij u neerleggen.
Wat is VEX en hebben wij dat nodig?
VEX staat voor Vulnerability Exploitability eXchange: een verklaring waarin u vastlegt of een gemelde kwetsbaarheid uw product daadwerkelijk raakt. Een kritieke fout in een component dat u wel meelevert maar nooit aanroept, is voor uw klant geen probleem — maar zonder verklaring ziet zijn scanner alleen het component en de score. U heeft het nodig zodra uw afnemers zelf gaan scannen, want dan bespaart het u en hen veel vergeefse vragen.
Verandert dit hoe wij ontwikkelen?
Weinig, en dat is de bedoeling. Het genereren gebeurt automatisch en kost geen handeling. Wat wel verandert, is dat een nieuwe afhankelijkheid met een ongewenste licentie of een bekend lek zichtbaar wordt op het moment dat iemand hem toevoegt, in plaats van maanden later. Dat is een kort gesprek op het juiste moment, en het voorkomt het lange gesprek op het verkeerde moment.
Wat laat de eerste lijst meestal zien?
Bijna altijd hetzelfde beeld: het aantal onderdelen is een veelvoud van wat het team dacht, een handvol is jaren niet bijgewerkt, en er staat minstens een licentie tussen die niemand bewust heeft geaccepteerd. De meeste bevindingen zijn met een versie-update opgelost. De waarde zit niet in het aantal maar in het feit dat de vraag voor het eerst beantwoordbaar is.
Werkt dit ook voor oudere software?
Ja, en daar is het vaak het nuttigst. Bij een systeem dat al jaren draait, weet meestal niemand meer precies wat erin zit. Het genereren werkt hetzelfde, al kan het bij zeer oude bouwstraten wat inpassingswerk kosten. In de praktijk levert de eerste lijst daar het meeste op, en is hij vaak het startpunt van een gesprek over
modernisering.
Hoe zit het met containers en besturingssystemen?
Die horen erbij. Een containerafbeelding bevat naast uw code een besturingssysteemlaag met tientallen pakketten, en daar zit een groot deel van de gemelde kwetsbaarheden. Wij nemen die laag mee in de lijst, want anders geeft de scan een schoon beeld terwijl het lek een niveau lager zit. Hetzelfde geldt voor basisafbeeldingen die u van een leverancier betrekt.
Kost dit ons een nieuw abonnement?
Niet noodzakelijk. Het genereren zelf kan met open gereedschap dat in uw bestaande bouwstraat past. Voor het beheren van de lijsten over veel producten en versies heen is een centraal systeem prettig, en daar zijn zowel open als betaalde opties voor. Wij adviseren op basis van hoeveel producten en versies u heeft, en beginnen bij wat u al draait. Kosten die terugkomen, leggen we vooraf aan u voor.
Wie moet dit bij ons beheren?
Het genereren beheert zichzelf. Wat aandacht vraagt, is het beoordelen van de uitzonderingen: welk component blijft bewust op een oude versie en waarom, en wanneer kijken we opnieuw. Dat hoort bij dezelfde persoon of rol die de kwetsbaarheden beoordeelt, want het is dezelfde afweging. Zonder eigenaar groeit het uitzonderingenregister tot niemand er meer in kijkt.