Skip to content

chore(deps): fix open Dependabot alerts (npm + rubygems) - #27

Merged
jansroka merged 2 commits into
mainfrom
chore/dependabot-sweep-2026-08
Aug 23, 2026
Merged

chore(deps): fix open Dependabot alerts (npm + rubygems)#27
jansroka merged 2 commits into
mainfrom
chore/dependabot-sweep-2026-08

Conversation

@jansroka

Copy link
Copy Markdown
Contributor

Behebt 10 der 11 offenen Dependabot-Alerts. 11 Alerts → 6 Pakete → 2 Befehle (npm update, bundle update --conservative), aufgeteilt in einen Commit pro Ökosystem.

Alle betroffenen Pakete sind transitive Dev-Abhängigkeiten — sie landen nicht im ausgelieferten Site-Output, sondern nur im Build-/Test-Tooling (pa11y-ci, purgecss). Beide Änderungen sind reine Lockfile-Änderungen; package.json und Gemfile bleiben unverändert, weil die Constraints der Parent-Pakete die gepatchten Versionen bereits erlauben.

Paket Alerts Severity Version Weg
undici 3 medium 6.27.0 → 6.28.0 pa11y-ci → cheerio
ip-address 3 high, medium 10.2.0 → 10.5.0 pa11y-ci → puppeteer → socks
postcss 2 high, medium 8.5.16 → 8.5.26 purgecss
js-yaml 1 high 4.3.0 → 4.3.1 pa11y-ci → cosmiconfig
json (gem) 1 low 2.21.1 → 2.21.2 transitiv, nicht im Gemfile

Nicht behebbar: extract-zip (high)

GHSA-jmr9-qjv8-65gv (unvalidated symlink path traversal) betrifft <= 2.0.1 — das ist die gesamte Release-Historie, es gibt keine gepatchte Version. first_patched_version ist null, ein Versions-Bump kann den Alert also nicht schließen.

Einschätzung: geringes Risiko in diesem Repo. Der Pfad ist pa11y-ci → puppeteer → @puppeteer/browsers → extract-zip; entpackt wird ausschließlich der von Google signierte Chrome-Download während npm ci. Es werden keine nutzer- oder angreiferkontrollierten Archive verarbeitet. Vorschlag: als akzeptiertes Risiko dismissen (tolerable_risk), bis Upstream wechselt.

Befund: automatische Security-Updates sind deaktiviert

GET /repos/.../automated-security-fixes meldet {"enabled": false}.

.github/dependabot.yml deckt bundler, npm und github-actions vollständig ab — das sind Version-Updates und die laufen wöchentlich. Sie bumpen aber nur direkte Abhängigkeiten, weshalb genau diese transitiven CVEs liegen blieben, bis sie hier manuell aufgeräumt wurden. Security-Updates sind der separate Mechanismus, der dafür zuständig wäre.

Empfehlung: in den Repo-Settings aktivieren (Settings → Code security → Dependabot security updates). Das ist eine Einstellung, keine Datei-Änderung, und daher nicht Teil dieses PRs.

Verifikation

Lokal ausgeführt, alle grün:

  • bundle exec jekyll build — erfolgreich
  • npm run purge-css — erfolgreich
  • npm run test-links (html-proofer) — 28 interne Links, keine Fehler
  • npx prettier --check . — sauber

npm run test-a11y meldet 6/8 URLs passed. Vorbestehend, keine Regression: ein frischer Clone von main ohne diese Änderungen liefert exakt dasselbe Ergebnis. Es sind die bekannten Webflow-Kontrastfehler, weshalb der Schritt in CI auf continue-on-error steht.

Behebt 9 von 11 offenen Dependabot-Alerts. Alle betroffenen Pakete sind transitive Dev-Abhängigkeiten unter pa11y-ci und purgecss:

- undici    6.27.0 → 6.28.0   (3 Alerts, medium) — via cheerio
- ip-address 10.2.0 → 10.5.0  (3 Alerts, high/medium) — via socks-proxy-agent
- postcss   8.5.16 → 8.5.26   (2 Alerts, high/medium) — via purgecss
- js-yaml    4.3.0 → 4.3.1    (1 Alert, high) — via cosmiconfig

Reine Lockfile-Änderung: die Constraints der Parent-Pakete erlauben die gepatchten Versionen bereits, `package.json` bleibt unverändert.

Verifiziert: jekyll build, purge-css, html-proofer (28 Links) und prettier --check alle sauber.
Behebt den verbleibenden Dependabot-Alert (low) im rubygems-Ökosystem. `json` ist eine transitive Abhängigkeit und steht nicht im Gemfile, daher `bundle update json --conservative` — reine Lockfile-Änderung.

Verifiziert: bundle install und jekyll build erfolgreich.
@jansroka
jansroka merged commit 1f825fc into main Aug 23, 2026
1 check passed
@jansroka
jansroka deleted the chore/dependabot-sweep-2026-08 branch August 23, 2026 22:03
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