Kostenloses Tool
Erstellen Sie eine SBOM aus Ihrem Quellcode
Ziehen Sie Ihren Projektordner hierher und erhalten Sie in Sekunden eine Software-Stückliste (SBOM) im Format CycloneDX oder SPDX. Die Analyse läuft auf dieser Seite - Ihr Code verlässt Ihren Computer nie.
Projektordner oder .zip hier ablegen
Lockfiles, Manifeste und mitgelieferte (vendored) C/C++-Bibliotheken werden erkannt. Es wird nichts hochgeladen.
Datenschutz durch Technik. Ihre Dateien werden von JavaScript in diesem Browser-Tab gelesen. Die Seite darf keine Daten senden (Content-Security-Policy connect-src 'none') - prüfen Sie das in den Entwicklertools Ihres Browsers, oder trennen Sie die Netzwerkverbindung, bevor Sie den Ordner ablegen.
Ihre SBOM ist fertig
Es wurden keine bekannten Abhängigkeitsdateien gefunden. Die unterstützten Dateien sind unten aufgeführt.
| Komponente | Version | Typ | Gefunden in |
|---|
Nächster Schritt: Laden Sie die Datei zu einem Release in Kernwatch hoch und lassen Sie sich alarmieren, sobald eine dieser Komponenten eine bekannte oder aktiv ausgenutzte Schwachstelle bekommt. Kostenlos überwachen →
Was gelesen wird
Der Generator liest die Dateien, die Ihre Paketmanager ohnehin schreiben. Lockfiles liefern exakte Versionen und den gesamten Abhängigkeitsbaum; ein Manifest allein liefert nur die direkten Abhängigkeiten.
| Ökosystem | Dateien |
|---|---|
| JavaScript / TypeScript | package-lock.json, npm-shrinkwrap.json, yarn.lock (v1, berry), pnpm-lock.yaml, bun.lock, deno.lock, deno.json, package.json |
| Python | uv.lock, poetry.lock, Pipfile.lock, requirements*.txt, pyproject.toml, environment.yml |
| Go | go.mod |
| Rust | Cargo.lock, Cargo.toml |
| Java / Kotlin / Scala | pom.xml, gradle.lockfile, libs.versions.toml, build.gradle(.kts), build.sbt |
| .NET | packages.lock.json, *.csproj, packages.config, Directory.Packages.props |
| PHP | composer.lock, composer.json |
| Ruby | Gemfile.lock |
| Swift / iOS | Package.resolved, Package.swift, Podfile.lock, Cartfile.resolved |
| Dart / Flutter | pubspec.lock, pubspec.yaml |
| Elixir / Erlang | mix.lock, rebar.lock |
| Haskell, Julia, R, Lua, Zig, OCaml, Perl | cabal.project.freeze, stack.yaml.lock, *.cabal, Manifest.toml, Project.toml, renv.lock, DESCRIPTION, *.rockspec, build.zig.zon, *.opam, cpanfile |
| C/C++ package managers | conan.lock, conanfile.txt, conanfile.py, vcpkg.json, meson .wrap, MODULE.bazel |
| Embedded | platformio.ini, idf_component.yml, dependencies.lock (ESP-IDF), west.yml (Zephyr), library.properties, library.json |
| Nix | flake.lock |
| C/C++ (mitgeliefert) | Header von 60 gängigen Bibliotheken (zlib, OpenSSL, mbedTLS, wolfSSL, SQLite, lwIP, FreeRTOS, cJSON, curl, fmt, littlefs, ...), erkannt an ihren Versionsmakros; .gitmodules |
| Build-Dateien (ohne Lockfile) | CMake (find_package, pkg_check_modules, target_link_libraries, FetchContent, CPM), -l-Flags in Makefiles, qmake, meson, autoconf; bekannte #include-Header. Ohne Versionen aufgeführt. |
| Webseiten | CDN-Links (unpkg, jsDelivr, cdnjs, esm.sh, code.jquery.com, ...) sowie mitgelieferte Bibliotheken wie jQuery, Bootstrap, Vue und pdf.js, erkannt an ihrem Banner-Kommentar |
| Container | Basis-Images im Dockerfile (FROM) |
Auch in das Projekt kopierte Bibliotheken werden gefunden: jeder Ordner in third_party/, vendor/, external/ und deps/ sowie jeder Ordner der Form name-1.2.3, mit Name und Version aus seinen eigenen Dateien. Ordner wie node_modules, .git, target, Build-Verzeichnisse und virtuelle Umgebungen werden übersprungen; Test-, Dokumentations- und Beispielprojekte zählen als Entwicklungsabhängigkeiten. Es wird nichts ausgeführt und keine Paket-Registry kontaktiert - das Ergebnis hängt nur von den Dateien im Ordner ab.
Desktop- und CI-Tool
Derselbe Generator als einzelnes Programm für Windows, macOS und Linux - für große Repositories, Skripte und Build-Pipelines. Er liefert dasselbe Ergebnis wie diese Seite.
Quellcode
Alles, woraus beide Werkzeuge gebaut werden: das JavaScript dieser Seite, das C++-Programm, die Regeln und die Tests. Apache-2.0.
Die Binärdateien sind noch nicht codesigniert. Vergleichen Sie nach dem Download die SHA-256-Prüfsumme. Windows SmartScreen fragt eventuell nach einer Bestätigung (Weitere Informationen > Trotzdem ausführen); unter macOS führen Sie einmalig xattr -d com.apple.quarantine kernwatch-sbom aus. SHA256SUMS · Version 0.2.0
Verwendung
kernwatch-sbom ./my-product --name my-product --version 2.4.0 -o my-product.cdx.json
kernwatch-sbom ./my-product --format spdx -o my-product.spdx.json
kernwatch-sbom --help
In Ihrer Build-Pipeline
Erzeugen Sie die SBOM bei jedem Release-Build und senden Sie sie mit einem API-Schlüssel (Settings > API keys) direkt an Ihren Kernwatch-Arbeitsbereich:
# GitHub Actions step (secret KERNWATCH_API_KEY = a key with the SBOM upload scope)
- name: SBOM to Kernwatch
env:
KERNWATCH_API_KEY: ${{ secrets.KERNWATCH_API_KEY }}
run: |
curl -fsSLo kernwatch-sbom https://kernwatch.com/downloads/kernwatch-sbom/0.2.0/kernwatch-sbom-0.2.0-linux-x86_64
chmod +x kernwatch-sbom
./kernwatch-sbom . --name my-product --version "$GITHUB_REF_NAME" -o sbom.cdx.json \
--upload https://kernwatch.com/rest/v1/cra/sbom/kernwatch_db
Der Generator ist Open Source (Apache-2.0). Quellcode (.zip)
Fragen
Wird mein Quellcode hochgeladen?
Nein. Im Browser werden die Dateien von JavaScript in Ihrem eigenen Tab gelesen, und die Content-Security-Policy der Seite verbietet ihr, Daten zu senden. Das Desktop-Tool arbeitet offline; es verbindet sich nur dann mit dem Netzwerk, wenn Sie es anweisen, die SBOM zu Kernwatch hochzuladen.
Welche SBOM-Formate werden erstellt?
CycloneDX 1.6 JSON und SPDX 2.3 JSON, die beiden verbreiteten maschinenlesbaren Formate. Beide validieren gegen die offiziellen Schemas und lassen sich in Kernwatch und andere SBOM-Tools importieren.
Reicht diese SBOM für den Cyber Resilience Act?
Der CRA verlangt eine SBOM in einem gängigen, maschinenlesbaren Format, die mindestens die obersten Abhängigkeiten abdeckt und mit der technischen Dokumentation aufbewahrt wird. Eine auf Lockfiles basierende SBOM deckt das und mehr ab. Der CRA verlangt außerdem, dass Sie die Schwachstellen behandeln, die später in diesen Komponenten auftauchen - genau das überwacht Kernwatch.
Warum haben manche Komponenten keine exakte Version?
Weil der Ordner nur ein Manifest (etwa package.json, pom.xml oder eine .csproj) ohne Lockfile enthält. Der Generator rät nie: Er übernimmt den deklarierten Versionsbereich und weist darauf hin. Committen Sie Ihr Lockfile oder aktivieren Sie das Gradle Dependency Locking, um exakte Versionen und transitive Abhängigkeiten zu erhalten.
Scannt er Binärdateien oder Firmware-Images?
Nein. Er liest Quellcodebäume: Lockfiles, Manifeste und die Header mitgelieferter C/C++-Bibliotheken. Bibliotheken, die Sie nur als Binärdateien ausliefern, tragen Sie in Ihrem Kernwatch-Release von Hand ein.
Sichern Sie sich Ihr kostenloses Kernwatch-Konto
Der Free-Tarif umfasst ein Produkt und braucht keine Kreditkarte. Bezahlte Tarife bringen mehr Produkte, mehr Nutzer und den vollständigen Meldeworkflow - upgraden Sie, wann immer Sie ihn brauchen.
- Kostenlos für 1 Produkt
- Keine Kreditkarte
37 Tage seit Beginn der CRA-Meldepflicht · 419 Tage, bis alle CRA-Anforderungen gelten
Free-Tarif · 1 Produkt · keine Kreditkarte
Kostenlos starten →Kostenlos für 1 Produkt · Keine Kreditkarte