
다중 생태계 악성 패키지 탐지 및 공급망 보안 스캐너
다중 생태계 악성 패키지 탐지 및 공급망 보안 스캐너
npm, PyPI, Maven, RubyGems, Go, Cargo 생태계 전반에서 악성 패키지와 공급망 위협을 탐지하는 프로덕션 등급 보안 도구입니다. 신뢰할 수 있는 보안 출처의 자동화된 위협 인텔리전스 수집을 활용하여 프로젝트의 손상된 의존성을 식별합니다.
OreWatch는 제품 및 PyPI 패키지 이름입니다. 현재 소스 저장소 경로는 여전히 ore-mal-pkg-inspector를 사용합니다.
https://github.com/rapticore/ore-mal-pkg-inspector/issues/2#issue-4215016110
https://github.com/rapticore/ore-mal-pkg-inspector/issues/3#issue-4215017945
https://github.com/rapticore/ore-mal-pkg-inspector/issues/4#issue-4215019385
https://github.com/rapticore/ore-mal-pkg-inspector/issues/5#issue-4215021599
공급망 공격은 이제 소프트웨어 손상의 주요 위협 벡터입니다. 2024년에만 수천 개의 악성 패키지가 npm, PyPI 및 기타 패키지 레지스트리에 게시되어 개발자들을 대상으로 타이포스쿼팅, 의존성 혼동 및 Shai-Hulud와 같은 정교한 멀웨어 캠페인을 펼쳤습니다.
도전 과제: 조직과 개발자는 다음을 필요로 합니다:
격차: 기존 솔루션은 종종 다음과 같습니다:
OreWatch는 다음을 제공함으로써 이러한 문제를 해결합니다:
포괄적인 다중 생태계 지원: npm, PyPI, Maven, RubyGems, Go, Cargo 패키지를 위한 단일 도구
자동화된 위협 인텔리전스: 신뢰할 수 있는 보안 연구 출처의 데이터를 동적으로 수집 및 병합
활성 IoC 탐지: 패키지 이름 매칭을 넘어 Shai-Hulud 공격 패턴 및 기타 악성 코드 지표 식별
CI/CD 준비: GitHub Actions, GitLab CI, Jenkins 및 기타 자동화 플랫폼과의 원활한 통합을 위해 설계됨
오픈 소스 및 투명성: 탐지 로직, 데이터 소스 및 스캔 방법론에 대한 완전한 가시성 제공
다중 생태계 지원 npm, PyPI, Maven, RubyGems, Go, Cargo 패키지를 스캔하며, 프로젝트 구조에서 자동 생태계 탐지.
통합 위협 인텔리전스 데이터베이스 신뢰할 수 있는 보안 연구 출처에서 동적으로 수집된 악성 패키지 데이터베이스와 대조 확인.
자동 생태계 탐지 디렉터리 구조, 파일 이름에서 생태계를 지능적으로 식별하며, 한 번의 실행으로 여러 생태계 스캔 가능.
손상 지표(IoC) 탐지 Shai-Hulud 공격 패턴(원본 및 2.0 변종), 악성 훅, 의심스러운 워크플로우, 알려진 페이로드 파일 스캔.
Shai-Hulud 통합 OreNPMGuard의 포괄적인 Shai-Hulud 영향 패키지 목록과 npm 패키지 교차 참조.
구조화된 JSON 보고서 명시적 위협 데이터 메타데이터 및 발견 사항에 대한 SARIF 스타일 파일 위치가 포함된 기계 판독 가능 JSON 보고서 생성.
유연한 입력 형식 표준 의존성 파일(package.json, requirements.txt 등) 및 일반 패키지 목록(텍스트, JSON, YAML) 지원.
프로덕션 준비 로깅
문제 해결 및 감사 추적을 위한 --verbose 및 --debug 플래그로 구성 가능한 상세 수준.
안전하고 빠름 코드를 수정하지 않는 읽기 전용 작업, 대규모 코드베이스 효율적 스캔에 최적화됨.
vs. 단일 생태계 도구 대부분의 보안 스캐너는 하나의 패키지 관리자에 집중합니다. OreWatch는 현대적인 다중 언어 개발 환경에서 필수적인 6개 주요 생태계에 걸친 통합 보호를 제공합니다.
vs. 수동 위협 목록 정적 악성 패키지 목록은 빠르게 구식이 됩니다. 자동화된 수집기는 여러 권위 있는 출처에서 매일 새로운 위협 인텔리전스를 가져옵니다.
vs. 패키지 이름만 탐지 패키지 이름만 확인하면 정교한 공격을 놓칩니다. IoC 탐지는 차단 목록에 없는 패키지에서도 악성 코드 패턴을 식별합니다.
vs. 수동 보안 감사 수동 의존성 검토는 시간이 많이 소요되고 오류가 발생하기 쉽습니다. 자동화된 스캔은 모든 빌드에서 지속적인 보안 검증을 가능하게 합니다.
vs. 상용 블랙박스 도구 독점 도구는 탐지 로직에 대한 투명성이 부족합니다. 오픈 소스 프로젝트로서 모든 탐지 규칙과 데이터 소스를 감사할 수 있습니다.
기원 이야기 OreWatch는 OreNPMGuard(Shai-Hulud npm 공격 전용 스캐너) 개발 과정에서 탄생했습니다. 해당 프로젝트에서 npm을 넘어 더 넓은 다중 생태계 지원의 필요성을 인식했습니다. 2025년 12월, 다중 생태계 탐지 기능을 추출 및 개선하여 이 독립형 도구를 만들었으며, OreNPMGuard의 npm 집중도를 유지하면서 OreWatch가 모든 주요 패키지 생태계 전반의 더 넓은 개발자 커뮤니티를 지원할 수 있게 했습니다.
처음으로 OreWatch를 도입하는 경우, 워크플로우에 맞는 가장 간단한 경로를 선택하세요:
| 원하는 작업 | 사용 경로 | 시작 방법 |
|---|---|---|
| 지금 바로 하나의 저장소 스캔 | CLI 스캔 | orewatch /path/to/project |
| 백그라운드에서 로컬 개발 보호 | 싱글톤 모니터 | orewatch monitor quickstart /path/to/project --client claude_code |
| Cursor, Claude Code, Codex에서 OreWatch 사용 | MCP 브리지 | `orewatch monitor quickstart /path/to/project --client <cursor |
| VS Code, PyCharm, Xcode와 통합 | localhost API | orewatch monitor quickstart /path/to/project --client vscode |
| 눈에 보이는 macOS 알림 및 네이티브 검토 화면 얻기 | 메뉴 표시줄 앱 | orewatch monitor menubar |
| CI에서 빌드 검증 | 일회성 CLI 스캔 | orewatch . --strict-data |
대부분의 개발자에게 권장되는 첫 실행 순서:
pip install . 또는 게시된 패키지로 OreWatch 설치.orewatch monitor quickstart /path/to/project --client <your-client> 실행.orewatch monitor status로 데몬 확인.orewatch monitor menubar 실행.복사하여 붙여넣기 가능한 명령어가 포함된 더 짧은 설정 가이드는 docs/adoption-guide.md를 참조하세요.
OreWatch는 pipx(권장), Homebrew(macOS), pip, 또는 소스를 통해 설치할 수 있습니다. 모든 방법으로 orewatch CLI 명령어가 제공됩니다.
pipx는 OreWatch를 자체 격리 환경에 설치하면서 orewatch 명령어를 전역에서 사용할 수 있게 합니다. 대부분의 개발자에게 가장 좋은 옵션입니다.```bash
python3.14 -m pip install --user pipx python3.14 -m pipx ensurepath
pipx install --python python3.14 orewatch
orewatch --help
orewatch monitor menubar
이미 `orewatch`를 pipx로 설치했고 나중에 macOS 메뉴 바 앱을 추가하려면, 동일한 pipx 환경에 Cocoa 바인딩을 주입하세요:```bash
pipx inject orewatch pyobjc-framework-Cocoa
업그레이드:```bash pipx upgrade orewatch
**제거:**```bash
pipx uninstall orewatch
macOS 사용자 중 Homebrew 관리 설치를 선호하는 분들을 위한 방법:```bash
brew tap rapticore/tap
brew install rapticore/tap/orewatch
orewatch --help
orewatch monitor menubar
**업그레이드:**```bash
brew update && brew upgrade orewatch
제거:```bash brew uninstall orewatch brew untap rapticore/tap # optional — removes the tap
> **참고:** Homebrew 수식에는 `orewatch monitor menubar`가 필요로 하는 Cocoa 바인딩이 포함되어 있습니다. 이전 Homebrew 설치에서 `ModuleNotFoundError: No module named 'AppKit'` 오류가 보고된다면 `brew update && brew reinstall rapticore/tap/orewatch`를 실행하여 수식이 메뉴 막대 지원과 함께 격리된 Python 환경을 다시 빌드하도록 하십시오.
#### 옵션 3 — pip
CI 파이프라인, Docker 이미지 또는 자체 virtualenv를 관리하는 경우 `pip`를 사용하십시오:```bash
# Install into an active Python 3.14 virtualenv or user site
python3.14 -m pip install orewatch
# Pin a version for reproducible CI builds
python3.14 -m pip install orewatch==1.3.0
# If you want the macOS menu bar app on a fresh install, use this instead:
# python3.14 -m pip install 'orewatch[mac-menubar]'
# Verify
orewatch --help
업그레이드:```bash python3.14 -m pip install --upgrade orewatch
#### 옵션 4 — 소스 체크아웃 (기여자)```bash
# Clone the repository
git clone https://github.com/rapticore/ore-mal-pkg-inspector.git
cd ore-mal-pkg-inspector