fix(deps): High 脆弱性 3 件を解消し Renovate PR のブロックを解除(pypdf / nanoid / js-yaml) - #594
Conversation
…yaml) Renovate の PR 8 件(#586〜#593)が全件 tests/test-backend と tests/test-web で 落ちていた。GitHub Actions の digest 更新だけの #587 でも落ちるため原因はバンプ内容 ではなく、main に残っていた未対応の High 脆弱性だった。 - pypdf 6.14.2 → 6.15.0 CVE-2026-71852 / CVE-2026-71870 を解消。pip-audit が「No known vulnerabilities found」になることを CI と同一手順で確認。 - nanoid 3.3.16 → 3.3.18(lockfile 更新のみ) GHSA-2v37-7h3g-55p8 を解消。postcss の要求が ^3.3.16 なので override 不要。 - js-yaml 4.2.0 → 4.3.1(overrides で強制) GHSA-5p4m-2wfm-xmqj を解消。@redocly/openapi-core が js-yaml を exact pin しており通常の更新では上がらないため overrides を追加した。make codegen-types で 生成物に drift が出ないことを確認済み。 あわせて、js-yaml が 4.3.1 になったことで恒久解消となった allowlist の GHSA-52cp-r559-cp3m を削除した。audit-check.mjs の reviewBy 期限強制は advisory が 検出されたときにしか走らず、未マッチのエントリは死に設定として残り続けるため (別経路で 4.2.x が再混入した場合に fail-open になる)。 依存バージョン更新に伴い THIRD_PARTY_LICENSES.md を make licenses で再生成。 RV で検出した観点を .claude/rules/common/review.md の SSoT カテゴリに追記した。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (5)
💤 Files with no reviewable changes (1)
📝 WalkthroughWalkthroughThe PR updates ChangesDependency and audit updates
Estimated code review effort: 2 (Simple) | ~10 minutes Mergeability Score:⚪ Minimal · up to This PR updates vulnerable dependencies and audit configuration without changing application logic, and the reported checks pass; no actionable merge-blocking risk remains beyond normal review. Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Uh oh!
There was an error while loading. Please reload this page.
背景
Renovate の PR 8 件(#586〜#593)が 全件
tests / test-backendとtests / test-webで落ちてマージできない状態だった。原因はバンプ内容ではなく、
mainに残っていた未対応の High 脆弱性。GitHub Actions の digest 更新しかしていない #587 でも同じ 2 チェックが落ちることから切り分けた。この PR が先にマージされれば Renovate PR 8 件のブロックが解除される。変更内容
overridesで 4.3.1 を強制js-yaml に overrides を使った理由
@redocly/openapi-coreが js-yaml を exact pin(4.2.0) しており、通常の更新では上がらない。web/package.jsonのoverridesにjs-yaml: ^4.3.1を追加して解決した。codegen を壊すリスクがあるため
make codegen-typesを実行し、web/src/api/generated.tsに drift が出ないことを確認済み。allowlist の死んだエントリを削除
js-yaml が 4.3.1 になったことで
GHSA-52cp-r559-cp3m(脆弱範囲>=4.0.0 <4.3.0)も恒久解消となったため、web/scripts/audit-check.mjsの allowlist から削除した。audit-check.mjsのreviewBy期限強制は advisory が検出されたときにしか走らない(未マッチのエントリはexpired判定に到達しない)ため、残したままだと死に設定になり、別経路で js-yaml 4.2.x が再混入した際に期限切れ後も静かに握り潰される fail-open になる。随伴する SSoT 更新
THIRD_PARTY_LICENSES.md— 依存バージョン更新に伴いmake licensesで再生成.claude/rules/common/review.md— RV で検出した観点を SSoT カテゴリに 1 行追記検証
make ci: pass(EXIT=0。backend/web lint・test 51 files 383 tests・build)No known vulnerabilities foundnode web/scripts/audit-check.mjs:High/Critical の未許容 advisory はありません。make codegen-types:generated.tsに drift なしreport/RV_20260813_0810.md)レビュー観点
app/services/agent/resume_import/text_extract.py(PdfReader/PyPdfError)はtests/test_resume_import_text_extract.pyでカバーされ pass 済みマージ後
Renovate PR 8 件(#586〜#593)を rebase すれば CI が通る想定。
🤖 Generated with Claude Code
Summary by CodeRabbit
Chores
Security