Gratis verktyg
Skapa en SBOM från din källkod
Släpp din projektmapp här och få en programvaruförteckning (SBOM) i CycloneDX- eller SPDX-format på några sekunder. Analysen körs på den här sidan - din kod lämnar aldrig din dator.
Släpp en projektmapp eller en .zip-fil här
Låsfiler, manifest och medföljande (vendrade) C/C++-bibliotek känns igen. Inget laddas upp.
Privat från grunden. Dina filer läses av JavaScript i den här webbläsarfliken. Sidan får inte skicka data någonstans (Content-Security-Policy connect-src 'none') - kontrollera det i webbläsarens utvecklarverktyg, eller koppla från nätverket innan du släpper mappen.
Din SBOM är klar
Inga kända beroendefiler hittades. De filer som stöds listas nedan.
| Komponent | Version | Typ | Hittad i |
|---|
Nästa steg: ladda upp filen till en release i Kernwatch och få ett larm när någon av de här komponenterna får en känd eller aktivt utnyttjad sårbarhet. Bevaka den gratis →
Vad den läser
Generatorn läser de filer som dina pakethanterare redan skriver. Låsfiler ger exakta versioner och hela beroendeträdet; ett manifest ensamt ger bara de direkta beroendena.
| Ekosystem | Filer |
|---|---|
| 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++ (medföljande) | headerfiler från 60 vanliga bibliotek (zlib, OpenSSL, mbedTLS, wolfSSL, SQLite, lwIP, FreeRTOS, cJSON, curl, fmt, littlefs, ...) som känns igen på sina versionsmakron; .gitmodules |
| Byggfiler (utan låsfil) | CMake (find_package, pkg_check_modules, target_link_libraries, FetchContent, CPM), -l-flaggor i Makefile, qmake, meson, autoconf; välkända #include-huvudfiler. Listas utan versioner. |
| Webbsidor | CDN-länkar (unpkg, jsDelivr, cdnjs, esm.sh, code.jquery.com, ...) och medföljande jQuery, Bootstrap, Vue, pdf.js och andra bibliotek som känns igen på sin bannerkommentar |
| Containrar | Basavbildningar i Dockerfile (FROM) |
Bibliotek som kopierats in i projektet hittas också: varje mapp i third_party/, vendor/, external/ och deps/ och varje mapp med namnet namn-1.2.3, med namn och version från mappens egna filer. Mappar som node_modules, .git, target, byggträd och virtuella miljöer hoppas över, och test-, dokumentations- och exempelprojekt räknas som utvecklingsberoenden. Inget körs och inget paketregister kontaktas, så resultatet beror bara på filerna i mappen.
Skrivbords- och CI-verktyg
Samma generator som ett enda program för Windows, macOS och Linux - för stora repon, skript och byggpipelines. Det ger samma resultat som den här sidan.
Källkod
Allt som båda verktygen byggs av: sidans JavaScript, C++-programmet, reglerna och testerna. Apache-2.0.
Binärerna är inte kodsignerade ännu. Jämför SHA-256-kontrollsumman efter nedladdningen. Windows SmartScreen kan be dig bekräfta (Mer information > Kör ändå); på macOS kör du xattr -d com.apple.quarantine kernwatch-sbom en gång. SHA256SUMS · Version 0.2.0
Användning
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
I din byggpipeline
Generera SBOM:en vid varje releasebygge och skicka den direkt till din Kernwatch-arbetsyta med en API-nyckel (Settings > API keys):
# 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
Generatorn är öppen källkod (Apache-2.0). Källkod (.zip)
Frågor
Laddas min källkod upp?
Nej. I webbläsaren läses filerna av JavaScript i din egen flik, och sidans Content-Security-Policy förbjuder den att skicka data. Skrivbordsverktyget fungerar offline; det ansluter bara till nätverket när du ber det ladda upp SBOM:en till Kernwatch.
Vilka SBOM-format skapar den?
CycloneDX 1.6 JSON och SPDX 2.3 JSON, de två mest använda maskinläsbara formaten. Båda validerar mot de officiella schemana och kan importeras av Kernwatch och andra SBOM-verktyg.
Räcker den här SBOM:en för cyberresiliensakten?
CRA kräver en SBOM i ett allmänt använt, maskinläsbart format som åtminstone omfattar de översta beroendena och förvaras med den tekniska dokumentationen. En SBOM baserad på låsfiler täcker det och mer. CRA kräver också att du hanterar de sårbarheter som senare dyker upp i komponenterna - det är det som Kernwatch bevakar.
Varför saknar vissa komponenter exakt version?
Eftersom mappen bara har ett manifest (som package.json, pom.xml eller en .csproj) utan låsfil. Generatorn gissar aldrig: den registrerar det deklarerade intervallet och säger det. Checka in din låsfil, eller aktivera Gradle dependency locking, för att få exakta versioner och transitiva beroenden.
Skannar den binärer eller firmware-avbilder?
Nej. Den läser källkodsträd: låsfiler, manifest och headerfiler från medföljande C/C++-bibliotek. Bibliotek som du bara levererar som binärer deklarerar du för hand i din Kernwatch-release.
Säkra ditt kostnadsfria Kernwatch-konto
Gratisplanen täcker en produkt och kräver inget kreditkort. Betalplanerna lägger till fler produkter, fler användare och hela rapporteringsflödet - uppgradera när du behöver.
- Gratisplan för 1 produkt
- Inget kreditkort
37 dagar sedan rapporteringsskyldigheten enligt CRA började gälla · 419 dagar tills alla CRA-krav gäller
Gratisplan · 1 produkt · inget kreditkort
Kom igång gratis →Gratisplan för 1 produkt · Inget kreditkort