Skip to contentistheinternetok

Is your repo OK?

Check any GitHub repo for vulnerable dependencies

Paste a public GitHub repo. We read every lockfile at its latest commit, check each pinned version against every known flaw, and tell you what to update first. Free, no account, nothing to install.

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

What it reads

30 lockfile formats and 7 manifest formats, in 14 ecosystems. Every folder counts, monorepos and workspaces included. Where a project has no lockfile, it reads the exact versions its manifests pin. A lockfile it cannot check, like a CocoaPods or Conan one, is named on the repo's page, never silently skipped.

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

Dashed: manifests, read only where no lockfile covers them.

How much it reads

97 to 100%

of the pinned versions that GitHub's own dependency graph lists, in npm, PyPI, Cargo, Go, Pub and Swift. Measured on 77 large repos.

Lower so far in Packagist (95%), RubyGems (92%), NuGet (84%) and Maven (62%).

How it works

  1. It reads the lockfiles at the latest commit

    Every lockfile in every folder, read from GitHub at the exact commit: each package at the version it pins, and whether only dev tools use it. Your source code is never read.

  2. It checks each version against every known flaw

    Each version is looked up in OSV, which gathers the public advisory databases (GitHub's, PyPI's, RustSec, Go's and more), and in CISA's list of flaws attackers already use.

  3. It says what to update first

    What touches your users comes first, the gravest at the top: the package to update, often the direct dependency that brings the flaw in, and the version that fixes it. Tests, examples, docs and dev tools are listed apart and never counted.

  4. It says what a flaw can do, not that it does

    It does not check whether your code calls the vulnerable part of a package. A flaw on the page is a version to update, not proof that the project is open to attack.

  5. It stays current

    A new commit is read on the next visit. A new advisory reaches every repo it touches within minutes of OSV publishing it.

A badge for your README

Every repo's page gives you a badge that shows its answer and changes with it. Put your repo in place of owner/repo:

[![Is owner/repo OK?](https://istheinternetok.com/r/owner/repo/badge.svg)](https://istheinternetok.com/r/owner/repo/)

For agents and scripts

The same answer as JSON, with no key, at /v1/repos/owner/repo. Or as the MCP tool check_repo, at https://istheinternetok.com/mcp. Everything an agent needs to know is in /skill.md.

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

Questions

Can it check a private repo?

No. It reads public GitHub repos only, the way anyone can see them. Nothing private is ever asked for.

Does it keep my code?

No. It never reads the source code, only the lockfiles and manifests. It keeps the list of packages and versions they pin, and the answer, to check the repo again when a new flaw comes out.

How much does it cost?

Nothing. No account, no key: the page, the badge, the API and the MCP tool are free.

How is it different from npm audit or Dependabot?

It runs the same kind of lookup from a link, with nothing to install, and reads every ecosystem at once, not only npm. Dependabot's alerts are seen only by a repo's admins; this page anyone can read and share. It also sets apart what only tests and dev tools use.

Does a flaw on the page mean my project is hacked?

No. It means a version the project pins has a known flaw, and says what that flaw can let someone do. Whether your code reaches the vulnerable part is not checked: update first, then look closer if you need to.