O teu repo está bem?
Verifica se um repo do GitHub tem dependências vulneráveis
Cola um repo público do GitHub. Lemos cada lockfile no seu último commit, comparamos cada versão fixada com todas as falhas conhecidas e dizemos-te o que atualizar primeiro. Grátis, sem conta, nada para instalar.
Experimenta:vercel/next.jsJavaScriptpallets/flaskPythonastral-sh/ruffRustkubernetes/kubernetesGorails/railsRubybitwarden/server.NETphoenixframework/phoenixElixirimmich-app/immichDart, TypeScript
O que lê
30 formatos de lockfile e 7 formatos de manifesto, em 14 ecossistemas. Cada pasta conta, monorepos e workspaces incluídos. Quando um projeto não tem lockfile, lemos as versões exatas que os seus manifestos fixam. Um lockfile que não sabemos verificar, como o do CocoaPods ou o do Conan, é indicado na página do repo, nunca ignorado em silêncio.
- 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
Com contorno tracejado: os manifestos, lidos só onde nenhum lockfile os cobre.
Quanto lê de facto
97 a 100%
das versões fixadas que o próprio grafo de dependências do GitHub lista, em npm, PyPI, Cargo, Go, Pub e Swift. Medido em 77 repos grandes.
Para já, menos em Packagist (95%), RubyGems (92%), NuGet (84%) e Maven (62%).
Como funciona
Lê os lockfiles no último commit
Cada lockfile de cada pasta, lido no GitHub no commit exato: cada pacote na versão que fixa, e se só ferramentas de programação o usam. O teu código-fonte nunca é lido.
Compara cada versão com todas as falhas conhecidas
Cada versão é procurada no OSV, que reúne as bases públicas de avisos de segurança (a do GitHub, a do PyPI, a RustSec, a do Go e outras), e na lista da CISA das falhas que os atacantes já usam.
Diz-te o que atualizar primeiro
O que toca os teus utilizadores vem primeiro, o mais grave no topo: o pacote a atualizar, muitas vezes a dependência direta que traz a falha, e a versão que a corrige. Testes, exemplos, documentação e ferramentas de programação ficam listados à parte e nunca contam.
Diz o que uma falha pode fazer, não que o faz
Não verifica se o teu código chama a parte vulnerável de um pacote. Uma falha na página é uma versão a atualizar, não a prova de que o projeto pode ser atacado.
Sempre atualizado
Um commit novo é lido na visita seguinte. Um aviso novo chega a cada repo que afeta poucos minutos depois de o OSV o publicar.
Um selo para o teu README
A página de cada repo dá-te um selo que mostra a sua resposta e muda com ela. Põe o teu repo no lugar de owner/repo:
[](https://istheinternetok.com/r/owner/repo/)Para agentes e scripts
A mesma resposta em JSON, sem chave, em /v1/repos/owner/repo. Ou como ferramenta MCP, check_repo, em https://istheinternetok.com/mcp. Tudo o que um agente precisa de saber está em /skill.md.
curl -s https://istheinternetok.com/v1/repos/vercel/next.jsPerguntas
Consegue verificar um repo privado?
Não. Só lê repos públicos do GitHub, tal como qualquer pessoa os vê. Nunca pede nada privado.
Guardam o meu código?
Não. Nunca lê o código-fonte, só os lockfiles e os manifestos. Guarda a lista de pacotes e versões que fixam, e a resposta, para voltar a verificar o repo quando sair uma falha nova.
Quanto custa?
Nada. Sem conta nem chave: a página, o selo, a API e a ferramenta MCP são grátis.
Qual é a diferença para o npm audit ou o Dependabot?
Faz o mesmo tipo de pesquisa a partir de um link, sem instalar nada, e em todos os ecossistemas ao mesmo tempo, não só npm. Os alertas do Dependabot só os administradores do repo os veem; esta página qualquer pessoa pode ler e partilhar. Também põe à parte o que só os testes e as ferramentas de programação usam.
Uma falha na página quer dizer que o meu projeto foi atacado?
Não. Quer dizer que uma versão fixada pelo projeto tem uma falha conhecida, e diz o que essa falha pode permitir. Não verifica se o teu código chega à parte vulnerável: atualiza primeiro e depois vê com mais atenção se precisares.