Interlynk · C/C++-Generator für eingebettete SBOMs
Interlynk · C/C++-Generator für eingebettete SBOMs
Interlynk · C/C++-Generator für eingebettete SBOMs

Der SBOM-Generator für Embedded-C/C++.

lynkctl, der kommerzielle Generator von Interlynk, versteht Ihren Build und erzeugt CycloneDX- oder SPDX-SBOMs mit Nachweisen pro Komponente, deterministischer Ausgabe und einer vollständig air-gapped Laufzeitumgebung. Entwickelt für Teams, die unter FDA, EU CRA und ISO/SAE 21434 ausliefern.

Vor Ort • Standardmäßig air-gapped • CycloneDX + SPDX • Deterministische Ausgabe

Vor Ort • Standardmäßig air-gapped • CycloneDX + SPDX • Deterministische Ausgabe

DAS PROBLEM

Eingebettetes C/C++ sprengt jedes SBOM-Tool, das für die Welt der Paketmanager entwickelt wurde.

C/C++-Projekte verfügen nicht über ein standardisiertes Abhängigkeitsmanifest. Es gibt kein package.json, kein Cargo.toml, kein go.mod. Komponenten werden in den Quellbaum eingebunden, über Git-Submodule referenziert, durch Buildsystem-Regeln eingebunden oder von Ad-hoc-Skripten abgerufen — und kein C/C++-Projekt gleicht dem anderen.
Bestehende SBOM-Tools versagen auf eine von drei Arten. Buildzeit-Tools klinken sich in Ihren Kompilierungsvorgang ein, um Daten zu extrahieren — verdoppeln die CI-Zeit, erfordern Instrumentierung, die Ihrem Release-Build fehlt, und verlangen exakt die Toolchain, mit der Ihr Produkt ausgeliefert wird. An ein Buildsystem gebundeneTools integrieren sich tief in ein Buildsystem und brechen in dem Moment, in dem Ihr Projekt nicht dazu passt. Scanner des gesamten Baums geben auf und liefern eine lärmige Liste jeder Datei unter src/ — für einen Prüfer nutzlos, für einen Release-Engineer gefährlich.
lynkctl ist nichts von alledem. Es ist ein Generator nach dem Build, der ausgeführt wird, nachdem Ihr bestehender Build abgeschlossen ist — kein erneuter Build, keine invasive Integration, kein Rätselraten im gesamten Quellbaum — und erzeugt eine strukturierte SBOM mit Nachweisen pro Komponente. Entwickelt für IoT-, Automotive- und Medizingeräte-Teams, die unter Audit-Anforderungen ausliefern.

SO FUNKTIONIERT ES

Vier Dinge, die lynkctl tut, die generische SCA-Tools nicht tun.

Vier Dinge, die lynkctl tut, die generische SCA-Tools nicht tun.

Toolchain-nativ, von oben bis unten

lynkctl benennt, was es liest: GNU Make, CMake und IAR Embedded Workbench auf der Build-System-Ebene — und darunter die tatsächlichen gcc-, clang-, ld-, iccarm- und ilink-Aufrufe, die sie ausgeben. Kein generischer Quelltext-Scanner.

Nachweise und Vertrauen für jede Komponente

Jede von lynkctl ausgegebene Komponente enthält einen Nachweis: die Quelldatei, die Compile-Zeile, den Include-Pfad und eine Vertrauensstufe. Wenn wir uns nicht sicher sind, sagen wir es Ihnen — im SBOM und in den Diagnosen.

Deterministisch und überprüfbar

Dasselbe Quellbaumverzeichnis erzeugt ein byteidentisches SBOM. Keine eingebetteten Zeitstempel, keine zufällige Reihenfolge der Komponenten. Ihre Release-Pipeline kann zwei SBOMs vergleichen und darauf vertrauen, was sich geändert hat.

Index eingebetteter Open-Source-Software, luftisolierte Laufzeitumgebung

Eingebundener Code wird per Fingerprinting mit unserem Open-Source-Software-Index für Embedded C/C++ abgeglichen — FreeRTOS, lwIP, Mbed TLS, FatFs und mehr — kuratiert von Interlynk und wöchentlich aktualisiert. Der Index wird mit lynkctl ausgeliefert und läuft offline. Keine Netzwerkanfragen; gleiches Verhalten auf Entwicklungs-Laptops und in SCIFs.

Toolchain-Abdeckung

Funktioniert es mit Ihrer Toolchain?

Zwei Ebenen der Unterstützung: das Build-System, mit dem Ihr Team liefert, und die Compiler und Linker, die es tatsächlich aufruft. Hier ist, was heute ausgeliefert wird und was als Nächstes kommt.

Build-Systeme

GNU Make
Makefile-gesteuerte C/C++-Projekte.
CMake
Erzeugt Make-, Ninja- oder IDE-Projekte aus CMakeLists.txt.
IAR Embedded Workbench
Proprietäre Embedded-IDE und Toolchain; .ewp-Projektdateien.
Eklipse

In Arbeit

Eclipse-CDT-basierte eingebettete IDEs
Keil µVision

In Arbeit

ARM Cortex-M-Entwicklungsumgebung.
TI Code Composer Studio

In Arbeit

Code Composer Studio für TI-MCUs.

Compiler & Linker

gcc

Compiler · GNU

Klang

Compiler · LLVM-Frontend

LLVM

Compiler-Infrastruktur · liegt Clang zugrunde

ld

Linker · GNU

iccarm

Compiler · IAR für ARM

ilink / ilinkarm

Linker · IAR

Quellcodeverwaltung

Git

Komponentenursprung aus .git-Repositorys.

Git-Submodule

Submodul-Verweise auf Upstream-Quellen mit Commit-Pinning aufgelöst.

SVN

In Arbeit

Subversion-Repositories.

REGULIERTE BRANCHEN

Entwickelt für Produkte, die unter Audit ausgeliefert werden.

FDA · 524B

Medizinprodukte

FDA-Premarket-Einreichungen erfordern jetzt gemäß Abschnitt 524B eine SBOM. lynkctl erzeugt CycloneDX-Ausgaben mit der Nachweiskette, die ein Prüfer erwartet, und läuft vollständig vor Ort, sodass die Geräte-Firmware Ihre Build-Umgebung nie verlässt.

EU · CRA

Industrie & Verbraucher

Der EU Cyber Resilience Act verpflichtet Hersteller dazu, über den unterstützten Lebenszyklus jedes Produkts hinweg ein SBOM zu führen. Die deterministische Ausgabe und die Konfidenzbewertung von lynkctl machen die Nachweise in Anhang I des CRA überprüfbar, nicht nur vorhanden.

ISO/SAE 21434 · UN R155

Automobil

Tier-1- und OEM-Lieferanten sehen sich SBOM-Anforderungen bis hinunter auf die ECU gegenüber. Die IAR- und CMake-Provider von lynkctl decken die Toolchains ab, die die meisten Embedded-Teams im Automobilbereich bereits verwenden, ohne den Build neu schreiben zu müssen.

WO LYNKCTL PASST

Gängige Ansätze für eingebettete SBOMs.

Source-SCA-Tools fallen in einen der drei oben beschriebenen Fehlermodi. Binäranalyse ist eine ganz andere Schiene — nützlich für undurchsichtige Firmware, aber keine Hilfe, wenn Sie den Quellcode kontrollieren. lynkctl ist der vierte Weg: nach dem Build, buildsystembewusst, kein erneuter Build erforderlich.
BinäranalyseGenerische Quelle SCALYNKCTL
Benötigt QuelleNeinJaJa
Fügt deiner CI einen Build-Durchlauf hinzuNeinOftNein
Kennt eingebettete Toolchains als vollwertige EingabenNeinNeinJa
Behandelt vendorierten CodeTeilweiseTeilweiseJa (Index für eingebettete Open-Source-Software)
Nachweisverlauf pro KomponenteSeltenSeltenJa
Standardmäßig netzisoliertManchmalSeltenJa
Am besten fürUnbekannte Firmwareserverseitige CodebasenEingebettete Produkte, die Sie entwickeln

FDA · 524B

Möchten Sie es selbst machen? Wir haben auch eine Open-Source-Option.

Nicht jede Codebasis passt zu einem Build-Time-Introspektor. Vielleicht ist Ihr Build-System exotisch. Vielleicht sind die meisten Ihrer Komponenten übernommen, gepatcht oder von Hand aus Upstream-Quellen zusammengesetzt. Vielleicht wollen Sie einfach die vollständige redaktionelle Kontrolle darüber, was in der SBOM landet — ohne eine kommerzielle Lizenz im Spiel.

bomtique ist unser Open-Source-Toolkit für manuell erstellte SBOMs. Sie schreiben ein kleines, überprüfbares Manifest Ihrer Komponenten; bomtique erzeugt daraus eine deterministische CycloneDX- oder SPDX-SBOM. Dieselbe überprüfbare-Evidenz-Denkweise wie bei lynkctl, dieselbe netzgetrennte Laufzeitumgebung, vollständig unter Ihrer Kontrolle. Apache 2.0, auf GitHub.

$ bomtique manifest add \
--name FreeRTOS-Kernel --version 10.6.1 \
--license MIT \
--vendored-at third_party/FreeRTOS-Kernel
# hat .components.json geschrieben
$ bomtique scan --format cyclonedx --out ./sbom
# hat sbom/firmware-1.0.0.cdx.json geschrieben

DER INTERLYNK-STACK

Die Generierung ist nur ein Teil. Der Rest des Lebenszyklus ist ebenfalls in Interlynk enthalten.

lynkctl fügt sich in den Rest unseres Stacks ein: Open-Source-Tools für SBOM-Qualität, Zusammenstellung und manuelle Pflege sowie die Interlynk-Plattform für das SBOM- und VEX-Management über den gesamten Produktlebenszyklus hinweg. Überall nativ CycloneDX.

lynkctl

GEWERBLICH

SBOM-Generator für eingebettete C/C++-Toolchains. Diese Seite.

Boutique

OSS

Manuell erstellte SBOMs für Projekte, bei denen Introspektion nicht geeignet ist.

sbomqs

OSS

SBOM-Qualitätsbewertung — prüfen Sie, was Sie erstellen.

sbomasm

OSS

Zusammenführen mehrteiliger SBOMs über Produkte hinweg.

Sehen Sie lynkctl in Ihrem aktuellen Build.

Bringen Sie ein Projekt mit — IAR Embedded Workbench, GNU Make oder CMake. Wir führen lynkctl dagegen aus und führen Sie durch das SBOM: Belege, Vertrauensstufen, Diagnosen, alles.