Skip to content

build(deps): вдигни browserslist над двете нови уязвимости и махни изчерпаното игнориране - #339

Merged
todorkolev merged 1 commit into
mainfrom
chore/osv-browserslist
Sep 2, 2026
Merged

Conversation

@todorkolev

Copy link
Copy Markdown
Collaborator

Стъпката Dependency audit е червена на main от днес (2026-09-02) и блокира всички отворени PR-ове (#336, #337, #254, #220).

Какво пада

  • Две нови High уязвимости срещу browserslist 4.28.2 (GHSA-73wf-gq98-2v4g, GHSA-c83g-rgw3-j3cx, CVSS 7.5), поправени в 4.28.7. Транзитивна, през @babel/helper-compilation-targets — build-time toolchain, не се доставя на Worker-а.
  • osv-scanner отчита игнорирането на GHSA-qwww-vcr4-c8h2 (react-router) като неизползвано — react-router е на 7.18.2 и advisory-то вече не съвпада. Сканерът третира неизползвано игнориране като провал.

Какво прави

  • pnpm update browserslist -r → 4.28.2 → 4.28.8. Диапазонът на родителя (^4.24.0) вече допускаше поправката; lockfile-ът просто не беше мръднал. Lockfile-ът не е редактиран на ръка — той е изходът на pnpm.
  • По установената конвенция на overrides в pnpm-workspace.yaml (същият случай като undici): под browserslist: ^4.28.7, документиран, за да не може бъдещ dependent да върне уязвима версия.
  • Записът за GHSA-qwww-vcr4-c8h2 отпада по собствената политика на osv-scanner.toml („REMOVE WHEN … a 7.x patch ships").

Проверка

  • osv-scanner 2.4.0 със същия sha като CI: No issues found
  • pnpm install --frozen-lockfile: минава
  • lint, typecheck, целият тестов пакет (turbo): зелени

Само зависимости и конфигурация — нула продукционен код. Първи от три PR-а за подредба на зависимостите; следват catalog за споделените версии и единна версия на Node.

🤖 Generated with Claude Code

https://claude.ai/code/session_013pBk7JaPgpsgELYGZgnkwt

…черпаното игнориране

Dependency audit стъпката стана червена на main на 2026-09-02: две нови
High уязвимости срещу browserslist 4.28.2 (GHSA-73wf-gq98-2v4g и
GHSA-c83g-rgw3-j3cx, CVSS 7.5), поправени в 4.28.7. Пакетът е транзитивен,
през @babel/helper-compilation-targets - build-time toolchain, никога не
се доставя на Worker-а.

Диапазонът на родителя (^4.24.0) вече допускаше поправката; lockfile-ът
просто не беше мръднал. Затова lockfile-ът се преразрешава с pnpm update
(4.28.2 -> 4.28.8), а по конвенцията на overrides в pnpm-workspace.yaml
(същият случай като undici) се добавя и под '^4.28.7', за да не може
бъдещ dependent да върне уязвима версия.

Същото сканиране отчете игнорирането на GHSA-qwww-vcr4-c8h2 (react-router,
CSRF в unstable RSC пътищата) като неизползвано: react-router е на 7.18.2 и
advisory-то вече не съвпада - тоест поправка в 7.x е излязла, точно
сценарият, който записът сам предвиждаше ("REMOVE WHEN ... or a 7.x patch
ships"). По собствената политика на файла записът отпада; osv-scanner
третира неизползвано игнориране като провал, така че това е и част от
отпушването.

Проверено локално с osv-scanner 2.4.0 (същият sha като CI): No issues
found. pnpm install --frozen-lockfile минава; lint, typecheck и целият
тестов пакет са зелени.
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

Test coverage

Workspace Lines Δ Branches Δ Functions Statements
apps/etl 75.43% +1.43pp 63.52% +5.32pp 70.00% 74.11%
apps/web 91.50% +0.50pp 83.11% +0.71pp 92.00% 90.34%
packages/config 92.85% +0.05pp 72.22% +0.02pp 92.85% 89.18%
packages/db 94.67% +0.17pp 79.32% +0.02pp 87.50% 91.75%
packages/ingest 90.42% +4.12pp 85.82% +5.42pp 82.05% 88.65%
packages/shared 95.50% +0.00pp 80.83% +0.03pp 92.30% 89.56%
packages/test-support 100.00% +0.00pp 100.00% +0.00pp 100.00% 100.00%
Total (informational) 92.01% 81.94% 88.37% 90.02%

✅ No workspace dropped below its baseline (tolerance 0.5pp).

📈 Coverage rose by more than 1pp — run node scripts/check-coverage.mjs --update locally and commit coverage-baseline.json to ratchet the threshold up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant