Let the Bot Review it - Reducing Toil with Fossabot
This presentation outlines the issues of manual pull request reviewing and highlights the benefits of using AI reviews in these scenarios with Fossabot and Claude.
a quality gate before code reaches production. Reviewers check for: ✅ Correctness — does it do what it should? ✅ Security — does it introduce vulnerabilities? ✅ Dependencies — are upgrades safe? ✅ Breaking changes — will it break existing behavior? ✅ Best practices — is the code maintainable? | The Basics 17.02.2026 WhizUs GmbH 4
updates — "just a version bump", but what changed upstream? ⏱️ Time pressure — reviewers skim diffs, approve quickly 🔗 Transitive dependencies — hidden changes deep in the tree 🧩 Context gaps — no one reads every changelog for every package 🔒 Security blind spots — CVEs introduced via minor/patch bumps The more "boring" a PR looks, the more dangerous it can be. | Manual Reviewing 17.02.2026 WhizUs GmbH 5
🔴 Prototype Pollution No fix available! qs 6.13.0 CVE-2025-15284 🔴 DoS via memory exhaustion Fixed in 6.14.1+ lodash 4.17.23 CVE-2025-13465 🟡 Prototype Pollution Fixed in this version webpack User info bypass 🟡 HttpUriPlugin Fixed in this version Upgrading jsonpath actually introduces a known, unfixed CVE! | Security Issues 17.02.2026 WhizUs GmbH 11
1. jsonpath 1.2.1 ships with CVE-2025-61140 — no patched version exists yet 2. The fix was pushed to master but not published to npm 3. Merging this PR puts a known vulnerable package into production 4. A human reviewer would never catch this from the diff alone Minor/patch bumps can introduce security vulnerabilities. | Patch Bumps ≠ Safe 17.02.2026 WhizUs GmbH 12
can: 🔍 Research upstream changelogs across all updated packages 🔒 Cross-reference CVE databases for every dependency version 📋 Analyze transitive dependency trees for hidden risks ⚠️ Flag breaking changes even in minor/patch bumps 🛠️ Suggest actionable fixes with specific commands 📝 Generate testing checklists tailored to the changes | The Concept 17.02.2026 WhizUs GmbH 14
that helps teams manage: 📦 Dependencies & licenses 🔒 Security vulnerabilities (CVE scanning) 📋 Compliance with licensing requirements 🐙 Requires GitHub.com Fossabot is Fossa’s AI-powered PR review assistant: 🤖 Automatically reviews dependency update PRs 🔍 Analyzes changelogs, CVEs, and breaking changes 💬 Comments directly on GitHub/GitLab PRs ⚡ Works for npm, Maven, PyPI, Go modules, and more 🔒 Uses LLM & AI services from Anthropic through an enterprise agreement - no training or data retention 17.02.2026 WhizUs GmbH 15
packages ✅ Whether packages are direct or transitive dependencies ✅ Actual usage in the application source code ✅ Breaking changes in changelogs ✅ Runtime compatibility (Node 20) ✅ Fix availability and timelines All of this — in 5-10 minutes, on every PR, automatically. | What It Checked 17.02.2026 WhizUs GmbH 18
Node.js, frontend dependencies ✅ CVE cross-referencing for npm packages ✅ Dependency usage analysis in JS/TS source But for DevOps artifacts, it falls short: ❌ No Helm chart changelog analysis ❌ No understanding of Kubernetes breaking changes ❌ No ArgoCD/Flux upgrade guide awareness ❌ No infrastructure-level impact assessment We need something for DevOps PRs. | DevOps Ecosystem 17.02.2026 WhizUs GmbH 22
reviews: 1. Feed the PR diff + upstream changelogs + upgrade guides 2. Ask for breaking changes, security risks, migration steps 3. Get a structured review with risk assessment Let’s see what Claude found for the ArgoCD bump… | Claude Opus 17.02.2026 WhizUs GmbH 24
should be used when reviewing Pull Requests - point out the changes on a surface level - point out security risks and issues. If possible, write full CVE name, which CVE's has been fixed and which new ones a - although this is a minor update, there could still be underlying breaking changes (e.g. from underlying dependencies). - do not use emojis - you can use gh cli - dump your results in a new file (naming convention PR-<number>-REVIEW.md). If a file is already existing, create a new
limit: ❌ kubectl apply will fail ✅ helm upgrade is not affected ⚠️ Self-managing ArgoCD must use SSA | CRD Size Limit The CustomResourceDefinition "applicationsets.argoproj.io" is invalid: metadata.annotations: Too long: may not be more than 262144 bytes 17.02.2026 WhizUs GmbH 29
unexpectedly: ceph.rook.io/CephCluster , CephObjectStore keda.sh/ScaledJob services.cloud.sap.com/ServiceBinding *.cnrm.cloud.google.com/* (GCP Config Connector) Impact: Apps previously marked "Healthy" may now show different statuses. This can trigger alerts and break automated workflows! | New Health Checks 17.02.2026 WhizUs GmbH 30
size limit (self-managed) 🔴 HIGH Requires SSA pre-config SSA default change � HIGH Fundamental behavioral shift Health check changes 🟡 MEDIUM Status transitions Kustomize namespace fix 🟡 MEDIUM May alter manifests Supply chain 🟡 MEDIUM Many transitive updates Stale appVersion 🟢 LOW Cosmetic but misleading
npm packages" — minor/patch versions ✅ "Bump argo-cd from 9.3.7 to 9.4.2" — 1 line changed ✅ What AI uncovers � Known CVEs introduced by the update 🚨 Breaking changes hidden behind semver 🔒 Security implications in transitive deps ⚠️ Migration requirements spanning multiple versions | Never Trust the Diff 17.02.2026 WhizUs GmbH 36