나는 PkgWatch를 구축하여 npm 패키지 포기를 예측하고 빌드가 깨지기 전에 방지합니다
Source: Dev.to
Colors와 faker가 2022년 1월에 수천 개의 빌드를 한 번에 깨뜨렸습니다.
Event‑stream은 암호화폐를 훔치는 악성코드에 의해 손상되었습니다.
악명 높은 left‑pad 사건은 React와 Babel을 중단시켰습니다.
이것들은 전통적인 보안 취약점이 아니었습니다. 유지보수자 문제였으며, npm audit 같은 도구로는 잡을 수 없었습니다.
여러 프로덕션 애플리케이션의 의존성을 관리하면서 다음과 같은 상황에 지쳤습니다:
- 갑자기 유지보수가 중단되는 패키지
- 한 사람이 모든 권한을 가지고 있는 단일 유지보수자 프로젝트
- 나중에야 명확해지는 미묘한 포기 징후
PkgWatch 소개
PkgWatch는 이러한 문제를 사전에 예측하는 의존성 건강 인텔리전스 플랫폼입니다. 여러 신호를 분석해 각 패키지에 건강 점수(0‑100)와 위험 수준(LOW, MEDIUM, HIGH, CRITICAL)을 부여합니다.
분석된 신호
| 구성 요소 | 측정 항목 |
|---|---|
| Maintainer Health | 커밋 최신성, 실제 버스 팩터(기여자 수만이 아니라) |
| Evolution | 릴리스 빈도, 커밋 활동 패턴 |
| Security | OpenSSF Scorecard, 취약점 이력 |
| Community | 기여자 다양성, 이슈 응답 시간 |
| Adoption | 다운로드 수, 의존 패키지 수, 스타 수 |
건강 점수
각 패키지는 다음을 받습니다:
- Health Score: 0‑100
- Risk Level: LOW, MEDIUM, HIGH, CRITICAL
설치
npm install -g @pkgwatch/cli
기본 사용법
단일 패키지 확인
pkgwatch check lodash
샘플 출력
lodash (npm)
Health Score: 72/100
Risk Level: MEDIUM
Maintainer Health: 65 (1 active maintainer in last 90 days)
Evolution: 58 (Last release: 8 months ago)
Security: 85 (OpenSSF: 6.2/10)
Community: 78 (142 contributors)
package.json의 모든 의존성 스캔
pkgwatch scan
고위험 패키지에 대해 CI 실패
pkgwatch scan --fail-on HIGH
GitHub Action 예시
- uses: Dlaranjo/pkgwatch/action@v1
with:
api-key: ${{ secrets.PKGWATCH_API_KEY }}
fail-on: HIGH
실시간 데모 및 가격
- Live Demo – 가입 없이 체험 가능(시간당 20 요청)
- Free Tier – 월 5,000 요청, 신용카드 필요 없음
- Documentation – 전체 API 레퍼런스
로드맵
- 추가 레지스트리 지원(Python PyPI는 이미 지원; Cargo/Go 곧 지원)
- 과거 추세 분석
- 건강 변화에 대한 Slack/Discord 알림
피드백
여러분의 의견을 듣고 싶습니다! 어떤 신호를 추가로 추적했으면 좋겠나요?
링크
- Website:
- GitHub:
- npm: