GitHub Releases zijn de plek waar SBOM's omkomen
Interlynk

Overzicht
Hey daar 👋, SBOM-enthousiastelingen! Sinds de Cybersecurity Executive Order van 2021 door Joe Biden. SBOMs (Software Bill of Materials) zijn essentieel geworden voor softwarebeveiliging en naleving. Met landen zoals de EU, VS, Duitsland, en India die hun eigen SBOM-regelgeving introduceren, is het duidelijk:
SBOMs zijn niet langer optioneel—ze zijn de nieuwe standaard.
Om aan deze vraag te voldoen, zijn tools voor SBOM-generatie, ondertekening, kwaliteitsanalyse, verrijking en integratie in beveiligingsplatforms snel geëvolueerd, grotendeels gedreven door de open-sourcegemeenschap.
De SBOM Transfer Uitdaging
Eenmaal gegenereerd, moet een SBOM meestal handmatig worden gedownload, geüpload en geïntegreerd in beveiligingstools, wat menselijke tussenkomst bij meerdere stappen vereist.
Deze aanpak is:
❌ Tijdrovend – Herhaaldelijk SBOM's downloaden en uploaden kost waardevolle tijd
❌ Foutgevoelig – Handmatige verwerking vergroot de kans op fouten.
❌ Verouderd – In een tijdperk van automatisering, is het vertrouwen op handmatige workflows eenvoudigweg niet schaalbaar.
De handmatige manier is achterhaald in de wereld van automatisering.
Deze inefficiëntie is een belangrijke bottleneck voor beveiligingsteams en vertraagt het risicobeheer van de softwareleveringsketen.
Naadloze overdracht van SBOM's met sbommv
Bij Interlynk hebben we sbommv ontworpen om naadloze SBOM-overdrachten tussen systemen mogelijk te maken. De modulaire architectuur ondersteunt invoer- en uitvoeradapters, evenals vertaling en verrijking, wat zorgt voor flexibiliteit en aanpasbaarheid. Dit ontwerp maakt sbommv zeer uitbreidbaar, waardoor eenvoudige integratie met aanvullende systemen in de toekomst mogelijk is.
Elimineert handmatig werk – Geen gedoe meer met downloaden, uploaden of vervelende bestandsverwerking.
Moeiteloze en naadloze integratie – Verplaatst SBOM's naadloos tussen platforms met minimale configuratie.
Schaling en toekomstbestendig – Past zich aan de evoluerende beveiligings- en nalevingsbehoeften aan.
🚀 Met sbommv stromen SBOM's van bron naar bestemming met nul handmatige inspanning—wat menselijke tussenkomst elimineert en perfect aansluit bij de moderne automatiseringsgerichte aanpak.
Reële wereldscenario
Veel softwareprojecten publiceren SBOMs op GitHub, naast binaries, archieven, uitvoerbare bestanden en handtekeningen. De SBOM-artikelen worden ook aangeduid als digitale artikelen.
Wanneer een SBOM is gegenereerd, moet deze worden overgedragen aan SBOM-beheerplatforms zoals Dependency-Track, Interlynk en andere beveiligingstools voor diepere analyse, kwetsbaarheidsbeoordelingen en naleving tracking. Deze procedure is echter vaak handmatig en inefficiënt. Beveiligingsteams of ingenieurs moeten meestal SBOMs handmatig lokaliseren, downloaden en uploaden manueel, wat onnodige overhead met zich meebrengt en het risico op fouten verhoogt.
Deze verouderde workflow omvat:
1️⃣ Handmatig zoeken naar SBOMs in GitHub-releases of andere repositories.
2️⃣ Downloaden en opnieuw uploaden ervan naar SBOM-beheerplatforms voor verwerking.
3️⃣ Dit proces herhalen voor elke software release, over meerdere repositories—wat leidt tot verspilde tijd en mogelijke inconsistenties.
Deze handmatige workflow is wijdverspreid over open-source projecten, bedrijven, en regulerende industrieën, waar softwarebeveiliging en compliance cruciaal zijn. Terwijl softwareontwikkeling versnelt en de releasecycli korter worden, groeit de frequentie van SBOM-generatie. Afhankelijk zijn van handmatige SBOM-overdrachten is niet langer praktisch—organisaties hebben een schaalbare, geautomatiseerde benadering nodig om bij te houden.
Om deze uitdaging aan te pakken, laten we een praktische gids verkennen voor het efficiënt overdragen van SBOMs tussen systemen via sbommv...
sbommv in actie 🚀
Installatie
deze gids volgen.
Praktisch bezig met sbommv
Voordat je SBOM's van Github naar Dependency-Track overzet, zorg ervoor dat je het hebt geïnstalleerd en draaiende hebt. Voor gedetailleerde installatie-stappen voor Dependency-Track, zie de [Appendix](Appendix: Setting Up Dependency-Track) in de onderste sectie.
We zijn klaar met het opzetten van de vereisten voor sbommv. Laten we de kracht van sbommv ontketenen...
1. Geautomatiseerde SBOM-overdracht van GitHub naar Dependency-Track
Dit is de simpele en meest geautomatiseerde manier om SBOM's te beheren met minimale gebruikersinspanning. Het maakt gebruik van de GitHub API om automatisch de SBOM voor de laatste hoofdtak te halen, aangezien GitHub export van SBOM voor een repository toestaat.
OPMERKING: Sta SBOM-export toe via de Dependency Graph API
Voer de volgende opdracht uit om de SBOM van de sbommv repository op te halen en te verplaatsen naar Dependency-Track:
Na uitvoering:
De SBOM is opgehaald --> geconverteerd naar CycloneDX --> geüpload naar Dependency-Track.
Als het project niet bestaat, wordt het automatisch aangemaakt in Dependency-Track. Bovenaan is het aangemaakt met de naam interlynk-io/sbommv-latest
Bij de aanmaak van het project voegt het beschrijvingen en tags toe. Bovenstaande beschrijving wordt toegevoegd als - "Gemaakt & geüpload door sbommv" en tags als "github" en "sbommv".
Voordelen & Nadelen van het Gebruik van de GitHub API-Methode voor SBOM-Overdracht
Aangezien GitHub SBOM's exporteert handmatig of via de Dependency Graph API, is het een handige bron voor SBOM's.
✅ Voordelen
✔️ Volledig Geautomatiseerd – Elimineert de noodzaak om SBOM's handmatig te genereren en over te dragen.
✔️ Houdt Projecten Actueel – Synchroniseert automatisch met Dependency-Track, waardoor de laatste SBOM altijd beschikbaar is.
✔️ Snelste manier om te beginnen, zonder gebruik te maken van tools voor SBOM-generatie.
❌ Nadelen
⚠️ Beperkt tot de Hoofdtak – GitHub’s API biedt alleen SBOM's voor de standaardtak, wat betekent dat het geen inzicht biedt in eerdere versies of specifieke uitgaven.
⚠️ Geen Historische Momentopnamen – Het legt geen SBOM's vast voor eerdere versies van de software, wat cruciaal kan zijn voor compliance of beveiligingsaudits.
Alternatieve GitHub-methoden voor meer Geavanceerde SBOM-werkstromen
Voor teams die meer controle nodig hebben over de SBOM-extractie, ondersteunt sbommv aanvullende GitHub-methoden naast de API-benadering:
Release-gebaseerde Methode – Haalt alle SBOM's op van GitHub-releases, zodat de versiegeschiedenis vastgelegd wordt.
Tool-gebaseerde Methode – Kloont de repository en genereert verse SBOM's met tools zoals Syft, waardoor een meer uitgebreide softwarekostenoverzicht wordt geboden.
Deze opties maken diepere inzichten mogelijk, betere versie-tracking en completer SBOM-beheer dan de GitHub API alleen kan bieden.
2. Het Uploaden van Bestaande SBOM's van een Map naar Dependency-Track
In gevallen waarin SBOM's al lokaal zijn opgeslagen, kan sbommv ze naadloos overzetten van een map naar Dependency-Track
Om dit te demonstreren, laten we een lokale map met SBOM's vullen. We zullen alle SBOM's downloaden van de sbomqs GitHub repository via de GitHub-release methode, om ervoor te zorgen dat we de laatste beschikbare versie ophalen.

Fig: Opgehaalde SBOM's van de "sbomqs" repo-releasespagina & opslaan in de "demo" map lokaal
Nu we een verzameling SBOM's in onze lokale map demo hebben, is de volgende stap om ze naadloos over te zetten naar Dependency-Track met behulp van sbommv.
Voer de volgende opdracht uit om alle SBOM's van de lokale demo map naar Dependency-Track: te uploaden

Fig: upload SBOM's van de demomap naar DTrack

Fig: SBOM's geüpload naar DTrack met projectnaam als "primary comp-version"
Na uitvoering:
Alleen geldige SBOM-bestanden worden gedetecteerd en geüpload.
SPDX 2.2 SBOM's worden automatisch geüpgraded naar SPDX 2.3 voordat ze geconverteerd worden naar CycloneDX, waarbij compatibiliteit met de acceptatie van Dependency-Track gewaarborgd blijft.
Automatisch wordt de projectnaam aangemaakt met de primaire componentnaam en versie uit de SBOM.
3. Dry-Run Modus (Optionele Functie)
Voordat een SBOM-overdracht wordt uitgevoerd, biedt sbommv een dry-run modus, waarmee gebruikers kunnen previewen welke SBOM's zullen worden verwerkt—zonder daadwerkelijk veranderingen aan te brengen. Deze functie helpt om overdrachten te verifiëren voor zowel GitHub-gebaseerde als map-gebaseerde SBOM-bronnen.
Previewen van een GitHub-naar-Dependency-Track Transfer
Om te controleren welke SBOM's van een GitHub-repository naar Dependency-Track worden overgebracht, voer je uit:

Fig: Dry-run modus voor het previewen van de github-naar-dependency-track overdracht
Toont de lijst van SBOM's die uit alle repo's en hun formaten zouden worden opgehaald.
Verzekert dat projectnamen en formaten correct worden geïdentificeerd voordat ze worden uitgevoerd.
Totaal aantal opgehaalde SBOM's.
Previewen van een Map-naar-Dependency-Track Transfer
Om de SBOM's die in een lokale map zijn opgeslagen te verifiëren voordat ze naar Dependency-Track worden overgebracht, voer je uit:

Fig: Dry-run modus voor het previewen van de folder-naar-dependency-track overdracht
Geeft geldige SBOM-bestanden weer die in de map zijn gedetecteerd.
Bevestigt het formaat, de projectnaam die zal worden geüpload naar DTrack, Spec-Version en bestandsnaam.
Totaal aantal SBOM's dat geüpload zal worden.
De dry-run modus helpt fouten te voorkomen en overdrachten te valideren voordat ze worden uitgevoerd, waardoor het een nuttige functie is voor het waarborgen van soepel SBOM-beheer.
Tot nu toe hebben we twee belangrijke industrie-scenario's behandeld:
1️⃣ Geautomatiseerde SBOM-generatie en overdracht – Het rechtstreeks ophalen van SBOM's van GitHub en ze naadloos integreren in Dependency-Track.
2️⃣ Het Uploaden van Bestaande SBOM's – Het overbrengen van lokaal opgeslagen SBOM's van een map naar Dependency-Track terwijl wordt gezorgd voor de compatibiliteit van het formaat en de organisatie van projecten.
Deze werkstromen laten zien hoe sbommv de beweging van SBOM's stroomlijnt, waardoor de handmatige inspanning wordt verminderd en zorgt ervoor dat SBOM's altijd beschikbaar zijn voor veiligheids- en compliance-analyse.
Toekomstig Werk: Wat is Volgend voor sbommv?
We zijn net begonnen! 🚀 Hier is wat er volgende komt:
Mapmonitoring – In plaats van handmatig SBOM-overdrachten te activeren, zal sbommv continu mappen monitoren en automatisch nieuwe SBOMs uploaden zodra ze verschijnen. Blijf op de hoogte - deze functie wordt volgende week gelanceerd 🚀 met hands-on met Interlynk platform !
Uitgebreide Invoer- & Uitvoerondersteuning – We voegen ondersteuning toe voor S3-buckets, aanvullende beveiligingstools en meer SBOM-indelingen, waardoor sbommv nog veelzijdiger wordt.
Geavanceerde SBOM-verwerking – Verbeteringen zijn onderweg, waaronder beter SBOM-indeling conversies, verbeterde validatie en gedetailleerde logging voor betere zichtbaarheid in SBOM-overdrachten.
sbommv nuttig vindt, toon je steun door de repository een ⭐ te geven op GitHub. Jouw feedback en bijdragen helpen de toekomstige ontwikkeling aan te sturen!
Heb je een functieaanvraag? Open een probleem op onze GitHub-repo - we horen graag je ideeën! 🚀
Conclusie
Handmatig overdragen van SBOM's is niet langer een levensvatbare aanpak, vooral nu de vereisten voor beveiliging en naleving van de softwareleveringsketen blijven evolueren. Inefficiënte workflows verspillen niet alleen tijd, maar introduceren ook risico's die de beveiliging in gevaar kunnen brengen. Automatisering is de enige schaalbare oplossing.
Met sbommv is de beweging van SBOM's naadloos—of het nu rechtstreeks van GitHub komt of dat bestaande SBOM's van lokale mappen naar Dependency-Track worden overgedragen. Door handmatige afhandeling te elimineren, kunnen organisaties ervoor zorgen dat SBOM's altijd up-to-date zijn, geïntegreerd in beveiligingstools, en gemakkelijk toegankelijk voor analyse.
De verschuiving naar geautomatiseerd SBOM-beheer is niet alleen een gemak—het is een noodzaak.
"Begin vandaag nog met het gebruik van sbommv en breng automatisering naar uw SBOM-lifecycle
— omdat beveiliging niet handmatig schaalt."
Referenties & Bronnen
🔹 sbommv GitHub Repository – [GitHub Link]
🔹 Documentatie van Dependency-Track – [DT Docs Link] en [Github Link]
🔹 SPDX & CycloneDX Specificatie – [SPDX Link] | [CycloneDX Link]
🔹 Officiële website van Interlynk – [Website Link]
🔹 Interlynk OSS Projecten – [Github Link]
🔹sbommv [startgids] en [voorbeelden]
Appendix: Dependency-Track Instellen
Draai een Dependency-Track lokaal op uw systeem met docker
Bezoek http://localhost:8080
Log in met de standaard inloggegevens:
Verander nu uw wachtwoord.
U bent uiteindelijk op de homepage van het Dependency-Track-platform aangekomen.
Laten we een DTRACK_API_KEY token aanmaken, dat nodig is om toegang te krijgen tot het platform.
Ga aan de linkerkant naar Administratie --> Toegangsbeheer --> Teams --> klik op Beheerder --> kopieer de onderstaande API-sleutels, iets als dit:
Exporteer nu dit token in uw CLI, voordat u sbommv uitvoert.