본문으로 건너뛰기istheinternetok

내 저장소는 괜찮나요?

GitHub 저장소의 의존성에 취약점이 있는지 확인하세요

공개 GitHub 저장소를 붙여넣으세요. 최신 커밋의 잠금 파일을 모두 읽고, 고정된 각 버전을 알려진 모든 결함과 대조해, 먼저 업데이트할 것을 알려 드립니다. 무료이고, 계정도 설치도 필요 없습니다.

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

읽는 파일

14개 생태계의 잠금 파일 형식 30가지와 매니페스트 형식 7가지를 읽습니다. 모든 폴더가 대상이며, 모노레포와 워크스페이스도 포함됩니다. 잠금 파일이 없는 프로젝트는 매니페스트가 고정한 정확한 버전을 읽습니다. CocoaPods나 Conan처럼 확인할 수 없는 잠금 파일은 조용히 건너뛰지 않고 저장소 페이지에 이름을 밝힙니다.

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

점선 테두리: 매니페스트이며, 잠금 파일이 다루지 않는 곳에서만 읽습니다.

얼마나 읽어 내나요

97~100%

GitHub 자체 의존성 그래프가 나열한 고정 버전 가운데 npm, PyPI, Cargo, Go, Pub, Swift에서 읽어 낸 비율입니다. 대형 저장소 77곳에서 측정했습니다.

Packagist(95%), RubyGems(92%), NuGet(84%), Maven(62%)은 아직 이보다 낮습니다.

작동 방식

  1. 최신 커밋의 잠금 파일을 읽습니다

    모든 폴더의 잠금 파일을 GitHub에서 정확한 커밋 기준으로 읽습니다. 각 패키지가 고정한 버전과, 개발 도구만 쓰는지 여부까지. 소스 코드는 절대 읽지 않습니다.

  2. 각 버전을 알려진 모든 결함과 대조합니다

    각 버전을 공개 보안 권고 데이터베이스(GitHub, PyPI, RustSec, Go 등)를 모은 OSV와, 공격자가 이미 악용하는 결함을 모은 CISA 목록에서 찾아봅니다.

  3. 먼저 업데이트할 것을 알려 드립니다

    사용자에게 닿는 것이 먼저, 가장 심각한 것이 맨 위에 옵니다. 업데이트할 패키지(대개 결함을 들여오는 직접 의존성)와 그것을 고치는 버전을 보여 줍니다. 테스트, 예제, 문서, 개발 도구는 따로 나열하며 답에는 넣지 않습니다.

  4. 결함이 무엇을 할 수 있는지 말할 뿐, 일어났다고 하지 않습니다

    코드가 패키지의 취약한 부분을 호출하는지는 확인하지 않습니다. 페이지의 결함은 업데이트할 버전이지, 프로젝트가 공격받을 수 있다는 증거가 아닙니다.

  5. 늘 최신 상태

    새 커밋은 다음 방문 때 읽습니다. 새 보안 권고는 OSV가 공개한 뒤 몇 분 안에 영향을 받는 모든 저장소에 반영됩니다.

README에 넣을 배지

저장소마다 페이지에서 그 답을 보여 주고 답에 따라 바뀌는 배지를 받을 수 있습니다. owner/repo를 내 저장소로 바꾸세요:

[![owner/repo 괜찮나요?](https://istheinternetok.com/r/owner/repo/badge.svg)](https://istheinternetok.com/r/owner/repo/)

에이전트와 스크립트용

같은 답을 키 없이 JSON으로: /v1/repos/owner/repo. MCP 도구 check_repo로도: https://istheinternetok.com/mcp. 에이전트가 알아야 할 모든 것은 /skill.md에 있습니다.

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

자주 묻는 질문

비공개 저장소도 확인할 수 있나요?

아니요. 누구나 볼 수 있는 공개 GitHub 저장소만 읽습니다. 비공개 정보는 절대 요청하지 않습니다.

제 코드를 보관하나요?

아니요. 소스 코드는 절대 읽지 않고, 잠금 파일과 매니페스트만 읽습니다. 새 결함이 나오면 저장소를 다시 확인하기 위해 그 파일들이 고정한 패키지와 버전 목록, 그리고 답을 보관합니다.

비용이 드나요?

들지 않습니다. 계정도 키도 필요 없습니다. 페이지, 배지, API, MCP 도구 모두 무료입니다.

npm audit이나 Dependabot과 무엇이 다른가요?

링크 하나로 같은 종류의 조회를 하며, 아무것도 설치하지 않고, npm만이 아니라 모든 생태계를 한 번에 봅니다. Dependabot 알림은 저장소 관리자만 볼 수 있지만, 이 페이지는 누구나 읽고 공유할 수 있습니다. 테스트와 개발 도구만 쓰는 것도 따로 구분합니다.

페이지에 결함이 있으면 제 프로젝트가 해킹당했다는 뜻인가요?

아니요. 프로젝트가 고정한 버전에 알려진 결함이 있고, 그 결함으로 무엇이 가능한지를 알려 줄 뿐입니다. 코드가 취약한 부분에 닿는지는 확인하지 않습니다. 먼저 업데이트하고, 필요하면 더 자세히 살펴보세요.