Zum Inhalt springenistheinternetok

Ist dein Repo in Ordnung?

Prüfe ein GitHub-Repo auf Sicherheitslücken in seinen Abhängigkeiten

Füge ein öffentliches GitHub-Repo ein. Wir lesen jedes Lockfile beim letzten Commit, prüfen jede festgelegte Version gegen alle bekannten Lücken und sagen dir, was du zuerst aktualisieren solltest. Kostenlos, ohne Konto, ohne Installation.

Zum Ausprobieren:vercel/next.jsJavaScriptpallets/flaskPythonastral-sh/ruffRustkubernetes/kubernetesGorails/railsRubybitwarden/server.NETphoenixframework/phoenixElixirimmich-app/immichDart, TypeScript

Was es liest

30 Lockfile-Formate und 7 Manifest-Formate in 14 Ökosystemen. Jeder Ordner zählt, Monorepos und Workspaces inklusive. Hat ein Projekt kein Lockfile, lesen wir die exakten Versionen, die seine Manifeste festlegen. Ein Lockfile, das wir nicht prüfen können, etwa von CocoaPods oder Conan, wird auf der Seite des Repos genannt, nie stillschweigend übergangen.

JavaScript, TypeScriptnpm
package-lock.jsonnpm-shrinkwrap.jsonpnpm-lock.yamlyarn.lockbun.lockdeno.lockpackage.json
PythonPyPI
uv.lockpoetry.lockPipfile.lockpdm.lockpylock.tomlrequirements.txtrequirements.lockpixi.lockconda-lock.ymlpyproject.toml
Rustcrates.io
Cargo.lockCargo.toml
GoGo modules
go.mod
Java, KotlinMaven
gradle.lockfilemaven_install.jsonpom.xmllibs.versions.toml
.NETNuGet
packages.lock.jsonpackages.configpaket.lock.csproj.fsproj.vbprojDirectory.Packages.props
RubyRubyGems
Gemfile.lockgems.locked
PHPPackagist
composer.lock
Dart, FlutterPub
pubspec.lock
SwiftSwiftPM
Package.resolved
Elixir, ErlangHex
mix.lockrebar.lock
HaskellHackage
cabal.project.freeze
RCRAN
renv.lock
JuliaJulia
Manifest.toml

Gestrichelt: Manifeste, nur gelesen, wo kein Lockfile sie abdeckt.

Wie viel es liest

97 bis 100 %

der festgelegten Versionen, die GitHubs eigener Abhängigkeitsgraph auflistet, bei npm, PyPI, Cargo, Go, Pub und Swift. Gemessen an 77 großen Repos.

Bisher weniger bei Packagist (95 %), RubyGems (92 %), NuGet (84 %) und Maven (62 %).

So funktioniert es

  1. Es liest die Lockfiles beim letzten Commit

    Jedes Lockfile in jedem Ordner, auf GitHub beim exakten Commit gelesen: jedes Paket in der Version, die es festlegt, und ob nur Entwicklerwerkzeuge es nutzen. Dein Quellcode wird nie gelesen.

  2. Es prüft jede Version gegen alle bekannten Lücken

    Jede Version wird in OSV nachgeschlagen, das die öffentlichen Datenbanken für Sicherheitshinweise bündelt (die von GitHub, von PyPI, RustSec, die von Go und weitere), und in der CISA-Liste der Lücken, die Angreifer schon ausnutzen.

  3. Es sagt, was du zuerst aktualisieren solltest

    Was deine Nutzer betrifft, kommt zuerst, das Schwerste oben: das Paket, das du aktualisieren solltest, oft die direkte Abhängigkeit, die die Lücke mitbringt, und die Version, die sie behebt. Tests, Beispiele, Doku und Entwicklerwerkzeuge stehen getrennt und zählen nie.

  4. Es sagt, was eine Lücke kann, nicht dass sie es tut

    Es prüft nicht, ob dein Code den verwundbaren Teil eines Pakets aufruft. Eine Lücke auf der Seite ist eine Version zum Aktualisieren, kein Beweis, dass das Projekt angreifbar ist.

  5. Es bleibt aktuell

    Ein neuer Commit wird beim nächsten Besuch gelesen. Ein neuer Hinweis erreicht jedes Repo, das er betrifft, wenige Minuten nachdem OSV ihn veröffentlicht.

Ein Badge für deine README

Die Seite jedes Repos gibt dir ein Badge, das seine Antwort zeigt und sich mit ihr ändert. Setz dein Repo anstelle von owner/repo ein:

[![Ist owner/repo in Ordnung?](https://istheinternetok.com/r/owner/repo/badge.svg)](https://istheinternetok.com/r/owner/repo/)

Für Agenten und Skripte

Dieselbe Antwort als JSON, ohne Schlüssel, unter /v1/repos/owner/repo. Oder als MCP-Tool check_repo unter https://istheinternetok.com/mcp. Alles, was ein Agent wissen muss, steht in /skill.md.

curl -s https://istheinternetok.com/v1/repos/vercel/next.js

Fragen

Kann es ein privates Repo prüfen?

Nein. Es liest nur öffentliche GitHub-Repos, so wie jeder sie sieht. Nach nichts Privatem wird je gefragt.

Speichert ihr meinen Code?

Nein. Es liest nie den Quellcode, nur die Lockfiles und Manifeste. Es behält die Liste der Pakete und Versionen, die sie festlegen, und die Antwort, um das Repo erneut zu prüfen, wenn eine neue Lücke bekannt wird.

Was kostet es?

Nichts. Kein Konto, kein Schlüssel: Die Seite, das Badge, die API und das MCP-Tool sind kostenlos.

Was ist der Unterschied zu npm audit oder Dependabot?

Es macht dieselbe Art von Abfrage über einen Link, ohne Installation, und für alle Ökosysteme auf einmal, nicht nur npm. Dependabots Warnungen sehen nur die Admins eines Repos; diese Seite kann jeder lesen und teilen. Außerdem trennt sie ab, was nur Tests und Entwicklerwerkzeuge nutzen.

Heißt eine Lücke auf der Seite, dass mein Projekt gehackt wurde?

Nein. Sie heißt, dass eine Version, die das Projekt festlegt, eine bekannte Lücke hat, und sagt, was diese Lücke ermöglichen kann. Ob dein Code den verwundbaren Teil erreicht, wird nicht geprüft: Erst aktualisieren, dann bei Bedarf genauer hinsehen.