Saltar al contenidoistheinternetok

¿Está bien tu repo?

Revisa si un repo de GitHub tiene dependencias vulnerables

Pega un repo público de GitHub. Leemos cada lockfile en su último commit, comparamos cada versión fijada con todos los fallos conocidos y te decimos qué actualizar primero. Gratis, sin cuenta, sin instalar nada.

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

Qué lee

30 formatos de lockfile y 7 formatos de manifiesto, en 14 ecosistemas. Cuenta cada carpeta, monorepos y workspaces incluidos. Si un proyecto no tiene lockfile, leemos las versiones exactas que fijan sus manifiestos. Un lockfile que no sabemos revisar, como el de CocoaPods o el de Conan, se nombra en la página del repo, nunca se omite en silencio.

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

Con borde discontinuo: los manifiestos, que solo se leen donde ningún lockfile los cubre.

Cuánto lee de verdad

Del 97 al 100 %

de las versiones fijadas que lista el propio grafo de dependencias de GitHub, en npm, PyPI, Cargo, Go, Pub y Swift. Medido en 77 repos grandes.

Por ahora, menos en Packagist (95 %), RubyGems (92 %), NuGet (84 %) y Maven (62 %).

Cómo funciona

  1. Lee los lockfiles en el último commit

    Cada lockfile de cada carpeta, leído en GitHub en el commit exacto: cada paquete en la versión que fija, y si solo lo usan herramientas de desarrollo. Tu código fuente nunca se lee.

  2. Compara cada versión con todos los fallos conocidos

    Cada versión se busca en OSV, que reúne las bases públicas de avisos de seguridad (la de GitHub, la de PyPI, RustSec, la de Go y más), y en la lista de la CISA de fallos que los atacantes ya usan.

  3. Te dice qué actualizar primero

    Lo que afecta a tus usuarios va primero, lo más grave arriba: el paquete que actualizar, a menudo la dependencia directa que trae el fallo, y la versión que lo corrige. Pruebas, ejemplos, documentación y herramientas de desarrollo se listan aparte y nunca cuentan.

  4. Dice lo que un fallo puede hacer, no que lo haga

    No revisa si tu código llama a la parte vulnerable de un paquete. Un fallo en la página es una versión que actualizar, no la prueba de que el proyecto se pueda atacar.

  5. Siempre al día

    Un commit nuevo se lee en la siguiente visita. Un aviso nuevo llega a cada repo al que afecta pocos minutos después de que OSV lo publique.

Una insignia para tu README

La página de cada repo te da una insignia que muestra su respuesta y cambia con ella. Pon tu repo en lugar de owner/repo:

[![¿Está bien owner/repo?](https://istheinternetok.com/r/owner/repo/badge.svg)](https://istheinternetok.com/r/owner/repo/)

Para agentes y scripts

La misma respuesta en JSON, sin clave, en /v1/repos/owner/repo. O como herramienta MCP, check_repo, en https://istheinternetok.com/mcp. Todo lo que un agente necesita saber está en /skill.md.

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

Preguntas

¿Puede revisar un repo privado?

No. Solo lee repos públicos de GitHub, tal como los ve cualquiera. Nunca se pide nada privado.

¿Se guarda mi código?

No. Nunca lee el código fuente, solo los lockfiles y los manifiestos. Guarda la lista de paquetes y versiones que fijan, y la respuesta, para volver a revisar el repo cuando salga un fallo nuevo.

¿Cuánto cuesta?

Nada. Sin cuenta ni clave: la página, la insignia, la API y la herramienta MCP son gratis.

¿En qué se diferencia de npm audit o Dependabot?

Hace el mismo tipo de búsqueda a partir de un enlace, sin instalar nada, y en todos los ecosistemas a la vez, no solo npm. Las alertas de Dependabot solo las ven los administradores del repo; esta página la puede leer y compartir cualquiera. También separa lo que solo usan las pruebas y las herramientas de desarrollo.

¿Un fallo en la página significa que han hackeado mi proyecto?

No. Significa que una versión que fija el proyecto tiene un fallo conocido, y dice lo que ese fallo puede permitir. No se revisa si tu código llega a la parte vulnerable: actualiza primero y luego mira más de cerca si lo necesitas.