소스 정보
- 저장소
- getsentry/sentry-changelog
- 최근 소스 활동
- 2026년 2월 12일 13:46
- 감지된 SKILL.md 언어
- 영어
- 스타
- 4
- 포크
- 3
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/getsentry/sentry-changelog --skill fix-security-vulnerability명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | fix-security-vulnerability |
| description | Analyze and propose fixes for Dependabot security alerts |
| argument-hint | <dependabot-alert-url> |
Analyze Dependabot security alerts and propose fixes for the sentry-changelog Next.js app. Does NOT auto-commit - always presents analysis first and waits for user approval.
https://github.com/getsentry/sentry-changelog/security/dependabot/1212gh api repos/getsentry/sentry-changelog/dependabot/alerts/<alert-number>
Extract: package name, vulnerable/patched versions, CVE ID, severity, description.
pnpm why <package-name>
Determine if it's a direct or transitive dependency, and whether it's production or dev.
Some dependencies are intentionally pinned due to compatibility constraints. Check package.json comments (the "//" field) for pin reasons before bumping.
Known pins:
google-auth-library - Pinned to v9.x to match @google-cloud/storage's bundled version (v10.x breaks Vercel OIDC auth)| Type | Action |
|---|---|
| Patch bump available | Preferred - lowest risk |
| Minor bump needed | Usually safe |
| Major bump needed | Analyze breaking changes first |
| Transitive dependency | Bump the parent package (see below) |
If the vulnerable package is pulled in by another package:
1. Identify and check the parent:
pnpm why <vulnerable-package>
npm view <parent-package>@latest dependencies.<vulnerable-package>
2. Fix approach:
| Scenario | Action |
|---|---|
| Parent has newer version with fix | Bump the parent |
| Parent hasn't released fix | Wait, or open an issue upstream |
AVOID pnpm.overrides. Forcing a transitive dependency version can break the parent package silently. Only consider overrides if:
Present findings and wait for user approval before making changes:
## Security Vulnerability Analysis
**Package:** <name> | **Severity:** <severity> | **CVE:** <id>
**Vulnerable:** <range> | **Patched:** <version>
### Dependency Chain
<pnpm why output>
### Recommendation
<One of: Safe to bump / Intentionally pinned - do not bump / Bump parent package>
### Proposed Fix
1. Update package.json: "<package>": "<new-version>"
2. pnpm install
3. Verify with: pnpm why <package>
Proceed?
# 1. Edit package.json
# 2. Update lockfile
pnpm install
# 3. Verify
pnpm why <package>
# 4. Run tests
pnpm test:run
# 5. Show changes
git diff
Do NOT commit - let the user review first.
For alerts that should not be fixed, offer to dismiss instead.
Always get user approval first. Present the dismissal option:
This alert should be dismissed rather than fixed because:
- <reason: intentionally pinned / dev-only acceptable risk / etc.>
Dismiss with reason: <suggested reason>
Comment: "<suggested comment>"
Proceed with dismissal?
After user approval, dismiss via GitHub API:
gh api --method PATCH repos/getsentry/sentry-changelog/dependabot/alerts/<number> \
-f state=dismissed \
-f dismissed_reason=<reason> \
-f dismissed_comment="<comment>"
Dismissal reasons:
| Reason | When to use |
|---|---|
tolerable_risk | Dev-only dependency, risk accepted |
no_bandwidth | Will fix later, not urgent |
inaccurate | False positive, not actually vulnerable |
not_used | Vulnerable code path is not used in our code |
| Command | Purpose |
|---|---|
pnpm why <pkg> | Show dependency tree |
gh api repos/getsentry/sentry-changelog/dependabot/alerts/<n> | Fetch alert |
gh api --method PATCH .../dependabot/alerts/<n> -f state=dismissed -f dismissed_reason=<reason> | Dismiss alert |
npm view <pkg>@latest dependencies.<dep> | Check transitive dep version |
pnpm test:run | Run tests |
Package: contentful
Severity: moderate
Type: Production dependency (direct)
Recommendation: Safe to bump 10.15.0 → 10.16.0
- Patch version, low risk
- No breaking changes expected
Package: google-auth-library
Severity: high
Recommendation: DISMISS (do not bump to v10.x)
This package is intentionally pinned to v9.x for compatibility
with @google-cloud/storage's bundled ExternalAccountClient.
Bumping to v10.x breaks Vercel OIDC authentication.
Proposed dismissal:
Reason: tolerable_risk
Comment: "Pinned to v9.x for @google-cloud/storage compat - see package.json comments"
Proceed with dismissal?
Package: vulnerable-lib@1.9.0 (needs >=2.0.1)
Chain: @sentry/nextjs → @sentry/node → vulnerable-lib
Check: npm view @sentry/nextjs@latest dependencies
Result: Uses patched version ✓
Recommendation: Bump @sentry/nextjs 10.32.1 → 10.33.0
This pulls in the patched vulnerable-lib automatically.
Package: deep-lib@2.9.0 (needs >=3.0.0)
Chain: next → some-pkg → deep-lib
No upstream fix available yet. Options:
1. Wait for upstream fix (preferred)
2. Accept risk if dev-only
3. Consider pnpm.overrides as last resort for production-critical issues
AVOID using overrides unless absolutely necessary.
"//" in package.json)pnpm.overrides - They bypass the parent's dependency constraints and can cause subtle breakagepnpm why <pkg> after fixing to confirm the patched version is installedpnpm test:run after fixing to make sure nothing broke