
CVE를 평이한 영어로 설명하고 리포지토리를 스캔하여 영향을 확인하는 CLI 도구입니다. Claude 기반.
"이 CVE가 나에게 영향을 미칠까?" — 몇 분이 아닌 몇 초 만에 답을 얻으세요.
Sentinel은 CVE ID를 받아 NVD, OSV.dev, MITRE에서 데이터를 가져온 후 Claude를 사용하여 명확하고 실행 가능한 5개 섹션의 취약점 브리핑을 생성합니다.
cd sentinel/
pip install -e .
# Required: Anthropic API key
sentinel config set api-key sk-ant-...
# Optional: NVD API key (higher rate limits)
sentinel config set nvd-key xxxxxxxx-xxxx-...
# Or use environment variables
export ANTHROPIC_API_KEY=sk-ant-...
export NVD_API_KEY=xxxxxxxx-xxxx-...
# Explain a CVE (5-section report with colored terminal output)
sentinel cve CVE-2024-3094
# Choose output persona (see Personas below)
sentinel cve CVE-2024-3094 --format exec # Executive / CISO summary
sentinel cve CVE-2024-3094 -f engineer # Deep technical advisory
sentinel cve CVE-2024-3094 -f devops # Infrastructure-focused
sentinel cve CVE-2024-3094 -f security # Default 5-section report
# Also works with scan
sentinel scan . --cve CVE-2024-3094 --format exec
# JSON output
sentinel cve CVE-2024-3094 --json
# Markdown output
sentinel cve CVE-2024-3094 --markdown
# Brief one-paragraph summary
sentinel cve CVE-2024-3094 --brief
# Skip cache, fetch fresh data
sentinel cve CVE-2024-3094 --no-cache
# Verbose mode (show timing and source details)
sentinel cve CVE-2024-3094 -v
--format / -f)security (기본값) — 보안 분석가클래식한 5개 섹션 취약점 브리핑:
exec — 경영진 / CISO바쁜 경영진을 위한 10초 요약. 신호등 심각도, 비즈니스 영향, 한 가지 조치 사항. 전문 용어 없음.
🔴 CRITICAL — CVE-2024-3094 (XZ Backdoor)
A backdoor was planted in a core Linux compression library used across most servers.
Attackers can intercept and modify data on any system running xz 5.6.0-5.6.1.
Immediate downgrade required — estimated 15-30 min per server, no downtime expected.
Risk: Supply chain compromise — high severity, active exploitation
Impact: All Linux infrastructure running affected versions
Action needed: Downgrade xz to 5.4.6. Verify with `xz --version`.
engineer — 소프트웨어 엔지니어정확한 버전, 업그레이드 명령어, grep 패턴 및 테스트 단계를 포함한 심층 기술 분석:
devops — 데브옵스 / SRE컨테이너, K8s, CI/CD 및 모니터링에 초점을 맞춘 인프라:
Sentinel은 표준 스캐너가 놓치는 모바일 앱 빌드 구성의 종속성을 탐지합니다:
# Scan an Android project
sentinel scan ./my-android-app --cve CVE-2024-XXXX
# Scan an iOS project
sentinel scan ./my-ios-app --cve CVE-2024-XXXX
# Scan a Flutter project
sentinel scan ./my-flutter-app
기능:
gradle.properties 및 ext {} 블록에서 Gradle 변수 참조($firebaseBomVersion)를 해석합니다libs.versions.toml)를 파싱합니다Firebase/Analytics)을 처리합니다Kubernetes 클러스터에서 취약한 컨테이너 이미지를 스캔합니다:
# Scan all namespaces
sentinel scan --k8s
# Scan specific namespace
sentinel scan --k8s --namespace production
# Check specific CVE across cluster
sentinel scan --k8s --cve CVE-2024-3094
# Generate SBOM for all running images
sentinel scan --k8s --sbom
# Scan a specific image (no cluster connection needed)
sentinel scan --k8s --image nginx:1.25
Sentinel은 읽기 전용 액세스가 필요합니다. 최소 RBAC 매니페스트를 적용하세요:
kubectl apply -f config/k8s-rbac.yaml
이것은 pods, namespaces, deployments, replicasets, daemonsets, statefulsets에 대해 get 및 list 권한만 있는 sentinel-readonly ServiceAccount를 생성합니다. 쓰기 권한 없음.
취약한 함수가 진입점에서 도달 가능한지 추적하여 CVE가 실제로 코드에 영향을 미치는지 확인합니다:
# Full analysis with Claude interpretation
sentinel scan . --cve CVE-2024-22195 --execution-path
# Local-only (no data sent externally)
sentinel scan . --cve CVE-2024-22195 --execution-path --local-only
결과:
| 모드 | 외부로 전송되는 데이터 |
|---|---|
--local-only | 없음 — 순수 로컬 AST 분석 |
| 기본값 | 살균된 메타데이터만: 함수 이름, 임포트 이름, 호출 그래프 엣지(노드/엣지 목록), CVE 설명. 소스 코드는 절대 전송되지 않음. |
Claude로 전송된 모든 데이터는 검토를 위해 ~/.sentinel/audit.log에 기록됩니다.
sentinel cache clear # Clear all cached data
구성은 ~/.sentinel/config.json에 저장됩니다. 캐시는 ~/.sentinel/cache.db에 저장됩니다.
sentinel config set api-key <key>
sentinel config set nvd-key <key>
sentinel config set model <model-name>
sentinel config get api-key
Sentinel은 Slack, Microsoft Teams, Telegram 및 일반 REST API로부터 명령을 수신하는 FastAPI 서버를 포함합니다.
sentinel server start # Default port 8080
sentinel server start --port 9090 # Custom port
sentinel server start --workers 4 # Multiple workers
sentinel server status # Check if running
# Explain a CVE
curl -X POST http://localhost:8080/api/cve \
-H "Content-Type: application/json" \
-d '{"cve_id": "CVE-2024-3094"}'
# Scan a repo
curl -X POST http://localhost:8080/api/scan \
-H "Content-Type: application/json" \
-d '{"repo_url": "https://github.com/user/repo", "cve_id": "CVE-2024-3094"}'
# Health check
curl http://localhost:8080/health
sentinel setup slack # Interactive setup guide
config/slack-manifest.yml을 사용하여 Slack 앱 생성export SLACK_SIGNING_SECRET=<signing-secret>
export SLACK_BOT_TOKEN=xoxb-<bot-token>
https://<your-domain>/slack/commands로 설정https://<your-domain>/slack/events로 설정/sentinel cve CVE-2024-3094 또는 @Sentinel cve CVE-2024-3094sentinel setup teams # Interactive setup guide
https://<your-domain>/teams/webhook으로 지정export TEAMS_WEBHOOK_SECRET=<base64-hmac-secret>
@Sentinel cve CVE-2024-3094sentinel setup telegram # Interactive setup guide
export TELEGRAM_BOT_TOKEN=<bot-token>
curl -X POST "https://api.telegram.org/bot<TOKEN>/setWebhook" -d '{"url":"https://<YOUR_DOMAIN>/telegram/webhook"}'/cve CVE-2024-3094, /scan <repo> --cve CVE-XXXXcd docker/
# Set env vars in .env file or export them
docker compose up -d
# With nginx reverse proxy:
docker compose --profile with-nginx up -d
| 섹션 | 설명 |
|---|
| 🔍 정의 | 일반 영어 설명 |
| 💥 악용 방법 | 공격 벡터, PoC 요약, 난이도 |
| 🚨 주의 대상 | 영향을 받는 소프트웨어, 버전, 생태계 |
| 🛡️ 안전한 패치 방법 | 수정 단계, 패치 링크 |
| ✅ 테스트 항목 | 패치 후 확인 단계 |
| 섹션 | 초점 |
|---|
| 📦 영향받는 라이브러리 및 버전 | 정확한 버전 범위, 종속성 체인 |
| 🔧 코드 수준 해결 방법 | 구체적인 업그레이드 명령어, 구성 변경 |
| 🔍 grep 대상 | 코드베이스에서 검색할 패턴 |
| 🧪 수정 사항 테스트 방법 | 확인 명령어, 회귀 테스트 |
| ⚠️ 호환성 깨짐 | 더 이상 사용되지 않는 기능, 동작 차이 |
| 섹션 | 초점 |
|---|
| 🏗️ 영향받는 인프라 | 기본 이미지, 컨테이너, 클라우드 서비스 |
| 🚀 배포 영향 | 롤링 업데이트 전략, 다운타임 평가 |
| 🔄 롤백 계획 | 패치로 문제 발생 시 되돌리는 방법 |
| 📊 모니터링 및 탐지 | 로그, 알림, 악용 탐지 |
| 🚨 사고 대응 단계 | 활발히 악용되는 경우 단계별 대응 |
| 생태계 | 파싱되는 파일 | 잠금 파일 (권장) |
|---|
| Android (Gradle) | build.gradle, build.gradle.kts, gradle/libs.versions.toml | — |
| iOS (CocoaPods) | Podfile | Podfile.lock |
| iOS (Swift PM) | Package.swift | Package.resolved |
| Flutter (Dart) | pubspec.yaml | pubspec.lock |
| 엔드포인트 | 메서드 | 설명 |
|---|
/health | GET | 상태 확인 |
/api/cve | POST | REST API — CVE 설명 |
/api/scan | POST | REST API — 저장소 스캔 |
/slack/commands | POST | Slack 슬래시 명령어 |
/slack/events | POST | Slack 이벤트 API |
/teams/webhook | POST | Teams 아웃고잉 웹훅 |
/telegram/webhook | POST | Telegram 봇 웹훅 |