Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
safer-dependencies — AI 코딩 어시스턴트를 위한 자동화된 의존성 보안 계층으로, npm, PyPI, RubyGems, Maven, Go 및 Rust 생태계 전반에서 패키지의 CVE, 타이포스쿼트, 유기, 버전 수명 문제 및 해시 무결성을 감사합니다. | Kitploit
도구/GitHubGitHub/robert-auger/safer-dependencies
Vulnerability ScannersDevSecOpsSecret DetectionSupply Chain Security
GitHubrobert-auger/safer-dependencies

safer-dependencies

AI 코딩 어시스턴트를 위한 자동화된 의존성 보안 계층으로, npm, PyPI, RubyGems, Maven, Go 및 Rust 생태계 전반에서 패키지의 CVE, 타이포스쿼트, 유기, 버전 수명 문제 및 해시 무결성을 감사합니다.

저장소 보기
301201개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Claude Code용 더 안전한 의존성

Claude와 같은 AI 코딩 어시스턴트가 프로젝트에 패키지를 추가할 때, 알려진 보안 취약점이 있는지, 패키지가 여전히 활발히 유지 관리되는지, 또는 이름이 악성 유사 패키지와 오타 하나 차이인지 확인하지 않고 그럴듯해 보이는 버전을 선택하는 경우가 많습니다.

safer-dependencies는 Claude Code용 보안 계층입니다. Claude와 매니페스트 파일 사이에 위치하여 보안 검사를 자동으로 실행합니다. 취약한 설치가 실행되기 전에 차단되고, 매니페스트에 기록된 위험한 버전은 기록 직후 디스크에서 수정됩니다. npm, PyPI, RubyGems, Maven, Go, Rust, PHP(Composer) 전반에 걸쳐 CVE, 타이포스쿼팅, 유지 관리 중단된 패키지, 버전 노후화 문제, 그리고 새로 출시된 버전에 대한 쿨다운 기간 등 위험한 의존성을 감지하고 수정합니다. 정확히 무엇이 포함되고 포함되지 않는지는 CAPABILITIES.md를 참조하세요.

처음이신가요? GETTING-STARTED.md가 약 5분 만에 설치 완료 상태까지 안내합니다.

보안 및 개인정보: SECURITY.md(취약점 공개), PRIVACY.md(데이터 외부 전송, 텔레메트리 없음), CAPABILITIES.md(도구가 방어하는 것과 방어하지 않는 것)를 참조하세요.

라이선스(소스 공개 — OSI "오픈소스" 아님): 자신의 목적을 위해 무료로 사용 및 수정할 수 있습니다. 영리 목적/회사 내부 사용 및 판매하는 제품 구축을 포함합니다. 별도의 유료 라이선스는 소프트웨어 자체를 수익화하는 경우에 만 필요합니다 — 판매, 판매되는 제품이나 서비스에 포함하여 배포, 또는 유료로 제3자에게 기능 제공(호스팅/SaaS/API 포함). 재배포 및 파생물은 라이선스를 유지하고 이 프로젝트를 출처로 표시해야 합니다. LICENSE 참조(상업적 제한은 섹션 4); 상업용 라이선스 요청은 github.com/robert-auger를 통해.

목차

  • 시작하기 — 약 5분 만에 설치 완료
  • 기능
  • 트리거 조건
  • 이 저장소의 구성
  • 지원 생태계
  • 설치
    • 구성
    • 쿨다운 기간 변경
  • 경고 수준
  • 작동 방식
    • 일반 모드(수동)
    • 차단 모드(자동)
    • 설치 전 모드(Bash 훅)
    • 설치 후 모드(Bash 훅)
    • 에이전트 후 모드(에이전트 훅 쌍)
  • 감사 로그
  • 요구 사항
  • FAQ

시작하기

**GETTING-STARTED.md**가 약 5분 만에 설치 완료 상태까지 안내합니다 — 사전 요구 사항, 대화형 설치, 검증. 전체 설치 참조(전역/프로젝트/수동 설치, Windows 관련 사항, 권한 허용 목록, 업데이트, 제거)는 **INSTALLATION.md**를 참조하세요.

일상적인 사용: 훅이 설치되면 실행할 것이 없습니다 — safer-dependencies는 백그라운드에서 자동으로 작동합니다. Claude가 패키지를 추가하거나 설치할 때, 위험한 의존성에 플래그를 지정하고 취약한 버전을 안전한 버전으로 제자리에서 업그레이드하며 — 알려진 취약점이 있는 설치는 실행 전에 차단합니다 — 따라서 안전하지 않은 패키지는 요청하지 않아도 감지되고 수정됩니다. 언제든지 직접 호출할 수도 있습니다: "[email protected]이 안전한가요?", "safer-dependencies 설정 확인", "safer-dependencies 통계 표시".

기능

Claude가 프로젝트에 패키지를 추가하려고 할 때, safer-dependencies가 차단하고 5가지 검사를 실행합니다:

  1. 출처 -- 공식 레지스트리, 타이포스쿼팅 감지(npm/PyPI/RubyGems/Maven/crates.io), 패키지 연령
  2. 버전 노후화 -- 7일 이상 전에 게시된 최신 안정 버전을 선택합니다(쿨다운 기간)
  3. 취약점 스캔 -- OSV API, 가능한 경우 생태계 네이티브 도구(npm audit, pip-audit, bundle audit) 사용
  4. 해시 고정 무결성 -- --hash=sha256:... 고정이 있는 PyPI requirements.txt 줄의 경우, 선언된 해시가 PyPI의 게시된 해시와 대조 검증됩니다. 불일치 시 WARNING이 발생합니다
  5. 유지 관리 중단 및 오래된 패키지 -- 알려진 유지 관리 중단 패키지(예: paperclip, request, pycrypto, github.com/dgrijalva/jwt-go)는 대체 패키지 제안과 함께 즉시 하드 차단됩니다. 2년 이상 안정 릴리스가 없는 패키지는 권고 STALE: 경고를 받습니다. 하드 차단된 패키지는 매니페스트에서 제거되고 Claude가 진행 방법을 묻습니다. 오래된 패키지만 있는 경우는 그대로 둡니다.

문제가 발견되면 Claude가 경고를 발생시키고 더 안전한 버전으로 되돌아갈 수 있습니다. 모든 검사는 ~/.claude/safer-dependencies-audit-YYYY-MM.log에 기록됩니다(월별 파일 하나).

트리거 조건

이 스킬은 Claude가 다음 작업을 수행할 때 자동으로 실행됩니다:

매니페스트 / 설치 작업

  • package.json, requirements.txt, Gemfile, pom.xml, build.gradle, Cargo.toml, go.mod 또는 기타 지원되는 매니페스트에서 패키지를 추가하거나 업데이트
  • 매니페스트에 아직 선언되지 않은 패키지에 대한 import, require 또는 use 작성
  • 잠금 파일 생성 또는 업데이트(새 항목/변경 항목만 검사)
  • Bash를 통한 패키지 관리자 설치 실행(npm install, bundle install, poetry install, uv sync, go mod tidy 등) — 설치 전은 명령 인수를 감사하고, 설치 후는 결과 잠금 파일을 감사
  • 고정된 패키지 관리자 설치 단계가 포함된 Dockerfile 또는 CI 워크플로(.github/workflows/*.yml 등) 작성

선택 및 추천 질문

  • 라이브러리/프레임워크 비교: "axios와 node-fetch 중 무엇을 사용해야 하나요?", "moment vs dayjs?", "X와 Y 중 어느 것이 더 나은가요?"
  • 추천 요청: "Python용 좋은 HTTP 클라이언트는 무엇인가요?", "Go용 로깅 라이브러리를 추천해 주세요", "Node에서 CSV를 처리하는 패키지는 무엇인가요?"
  • 버전 선택: "어떤 Django 버전을 사용해야 하나요?", "최신 안정 Flask?"

사용 의도 표현(추가 전)

  • "이 프로젝트에 FastAPI를 사용하고 싶어요", "Celery를 추가할 생각이에요", "ORM으로 Prisma를 검토 중이에요", "Tailwind를 사용하자"

패키지 상태 및 신뢰 질문

  • "moment.js가 아직 유지 관리되나요?", "이 gem이 아직 활성인가요?", "X가 유지 관리 중단되었나요?", "X가 EOL인가요?", "이 패키지를 신뢰할 수 있나요?", "faker가 마지막으로 업데이트된 것은 언제인가요?"

스캐폴딩 명령

  • npx create-react-app, npm create vite@latest, django-admin startproject, rails new, cargo new + cargo add, "새 FastAPI 프로젝트 부트스트랩"

암시적 패키지 추가(새 의존성을 암시하는 기능 요청)

  • "앱에 Redis 캐싱 추가", "Postgres에 연결", "JWT 인증 추가", "이메일 전송 코드 작성" — 해당 기능에 대한 패키지가 매니페스트에 아직 없는 경우 실행됩니다

마이그레이션 및 포팅

  • "requests에서 httpx로 마이그레이션", "CRA에서 Vite로 이동", "moment에서 date-fns로 포팅" — 새로 도입되는 패키지를 감사합니다

다음 경우에는 실행되지 않습니다:

  • 표준 라이브러리 임포트(os, fs, java.util.* 등)
  • 변경되지 않는 이미 선언된 의존성
  • 패키지 내부 작동 방식에 대한 학술적 논의("React의 reconciler 설명", "webpack의 모듈 해석이 어떻게 작동하나요?") — 비교 및 선택 질문은 여전히 실행됩니다
  • OS 수준 앱, 런타임 또는 IDE 확장 설치(Python 자체, Docker, Homebrew, VS Code 확장)

이 저장소의 구성

이것은 스킬 + 훅 번들이며, 단일 스킬 파일이 아닙니다. 완전한 설치는 다음 구성 요소를 배포합니다:

파일역할
skills/safer-dependencies.md스킬(설치 시 SKILL.md). 감사 절차를 설명하고 설치/통계를 위한 관리 모드를 포함합니다.
skills/safer-dependencies-shim.shPostToolUse:Write/Edit 훅 — 매니페스트 및 잠금 파일 쓰기를 감사하고 취약한 버전을 제자리에서 자동 수정합니다(차단 모드).
skills/safer-dependencies-pretooluse-bash.shPreToolUse:Bash 훅 — 패키지 관리자 설치 명령의 사전 OSV 감사. 설치가 실행되기 전에 취약한 구체적 고정을 거부합니다(설치 전 모드).
skills/safer-dependencies-posttooluse-bash.shPostToolUse:Bash 훅 — Bash 명령 후 사후 감사. 새로 작성된 잠금 파일, sed/jq/스크립트로 편집된 매니페스트, 일반 pip install의 해석된 환경에서 전이적 CVE를 포착합니다(설치 후 모드).
skills/safer-dependencies-pretooluse-agent.sh + skills/safer-dependencies-posttooluse-agent.shPreToolUse:Agent + PostToolUse:Agent 훅 쌍 — 하위 에이전트 커버리지 격차를 해소합니다. 모드 2~4는 루트 세션 도구 호출에만 실행되므로 하위 에이전트가 작성하는 매니페스트는 이를 우회합니다. Post-Agent는 각 Agent 도구 호출이 반환된 후 하위 에이전트가 작성한 내용을 감사합니다(에이전트 후 모드).
skills/scripts/모든 훅이 사용하는 공유 Python 라이브러리(safedep/) 및 독립 실행형 해석기 스크립트.
skills/scripts/safer_dependencies_manager.py대화형 설치, 사용 통계 및 설정 검증을 위한 관리 모듈.

스킬 파일만으로는 충분하지 않습니다 — 훅이 없으면 자동 호출은 Claude가 스킬을 사용하기로 결정하는 데 의존합니다. 전체 커버리지를 위해 다섯 가지 구성 요소를 모두 설치하세요. 많은 스킬과 슬래시 명령이 내부적으로 하위 에이전트를 디스패치하므로, 명시적으로 하위 에이전트를 생성하지 않더라도 Post-Agent 쌍이 중요합니다. (스킬 단독으로 커버리지를 보장할 수 없는 이유는 FAQ.md를 참조하세요.)

지원 생태계

생태계매니페스트잠금 파일
npmpackage.jsonpackage-lock.json, yarn.lock, pnpm-lock.yaml
PyPIrequirements.txt, pyproject.toml, Pipfile, setup.py, setup.cfgPipfile.lock, poetry.lock, uv.lock
RubyGemsGemfile, *.gemspecGemfile.lock
Mavenpom.xml, build.gradle, libs.versions.toml--
Gogo.modgo.sum
RustCargo.tomlCargo.lock
PHP(Composer)composer.jsoncomposer.lock

설치

프로젝트가 처음이신가요? **GETTING-STARTED.md**부터 시작하세요. 간단히 요약하면:```bash git clone https://github.com/robert-auger/safer-dependencies /tmp/safer-dependencies python3 /tmp/safer-dependencies/skills/scripts/safer_dependencies_manager.py interactive_install

설치 프로그램은 범위(전역 vs 프로젝트)와 활성화할 훅을 묻고, 사용자를 위해 `settings.json`을 작성합니다 — 훅 항목 **및** 스킬의 검사 명령이 감사 때마다 승인 프롬프트 없이 실행되도록 하는 권한 허용 목록 모두를 포함합니다.
도구 다운로드