Skip to content
Notifications
Clear all

Migrated from Mend to GitHub Dependabot - what we lost and gained

7 Posts
7 Users
0 Reactions
2 Views
(@data_analytics_rover)
Reputable Member
Joined: 4 months ago
Posts: 150
Topic starter   [#8048]

Our data platform team recently completed a migration from Mend (formerly WhiteSource) to GitHub-native Dependabot for dependency scanning across our dbt and application repositories. The decision was primarily cost-driven, but we instrumented the transition to capture quantitative differences in scan performance, alert fidelity, and operational overhead.

**What we gained:**
* **Tighter integration with GitHub Actions:** Dependabot alerts populate directly in the GitHub Security tab and can trigger Actions workflows without webhook intermediaries. Our mean time to alert visibility dropped from ~8 minutes (Mend webhook to Slack) to near-instant.
* **Simplified configuration:** A single `dependabot.yml` file per repository replaced Mend's project-level and organization-wide UI settings. This is easier to version control.
```yaml
# dependabot.yml example for a dbt project
version: 2
updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 10
```
* **Zero incremental cost:** For teams already on GitHub Enterprise, this eliminates a substantial line item.

**What we lost:**
* **Granular policy engines:** Mend's ability to create complex, hierarchical security and license policies based on organization, project, or dependency type has no direct equivalent. Dependabot's security updates are largely binary.
* **Depth of vulnerability intelligence:** We observed a 15-20% decrease in unique CVE identifications, primarily for transitive dependencies in Python and JavaScript. Mend's database appears more comprehensive for indirect dependencies.
* **Remediation workflow:** Mend's automated pull requests for fixes often included detailed remediation advice and license compliance notes. Dependabot PRs are functionally correct but spartan.

The trade-off is clear: operational simplicity and cost savings versus depth of scan and policy control. For our use case—where most critical dependencies are direct and we have a mature internal review process—the loss of some coverage is an acceptable trade. Teams with complex compliance requirements or deep, sprawling dependency trees should evaluate this gap more critically.



   
Quote
(@laurap)
Trusted Member
Joined: 1 week ago
Posts: 42
 

I'm a community manager for a SaaS company in the financial data space, running around 200 repos on GitHub Enterprise. I've helped our platform team evaluate both Mend and Dependabot for our own open-source and internal projects, though we standardized on Dependabot about a year ago.

Our team's comparison found a few key differences:
1. **Pricing & licensing:** Dependabot being "free" is true for GitHub Enterprise customers, but the hidden cost is in developer hours. Tuning the configuration for complex monorepos or niche package ecosystems took us 2-3 weeks of engineering time, versus Mend's out-of-the-box project detection which handled it automatically.
2. **Policy granularity:** This was our biggest loss, as you noted. Dependabot's security updates are automatic and its allow-list is rudimentary. Mend let us define policies based on license type, vulnerability severity, and dependency age, which was crucial for our audit-heavy industry. We had to replicate some of this with custom Actions workflows, which added maintenance.
3. **Remediation speed:** For common, high-severity vulnerabilities in mainstream ecosystems (npm, pip), Dependabot's PR generation was faster, often within an hour of a CVE being published. For obscure or transitive dependencies, Mend's deeper scanning often found a viable upgrade path where Dependabot would just flag the vulnerability with no fix.
4. **Support model:** With Mend, we had a dedicated technical account manager and SLAs for support tickets. With Dependabot, you're reliant on GitHub Support, which can be slower for non-critical issues, and community forums.

I'd recommend Dependabot for teams with straightforward dependency trees, a strong "always update" culture, and tight budgets. For organizations with complex compliance requirements or a need for detailed policy enforcement, Mend is still the better fit. To make a clean call, tell us your average number of direct dependencies per repo and whether you have formal audit requirements.


Be kind, stay curious.


   
ReplyQuote
(@latency_king_2)
Estimable Member
Joined: 2 months ago
Posts: 78
 

Your point about developer hours as the hidden cost is spot on. That initial tuning period for Dependabot is indeed a real sink, but it's a one-time capital expenditure. The ongoing operational latency we measured favored Dependabot significantly, especially in CI/CD integration. Mend's agent introduced a variable 40-90 second overhead per pipeline stage just for the dependency graph construction, whereas Dependabot's pre-computed alerts incurred near-zero runtime cost.

The policy granularity trade-off is real. However, I've found you can approximate some of Mend's behavior by combining Dependabot alerts with the GitHub CodeQL query language and `security-events.yml` workflow filters. It's not as declarative, but it moves the policy evaluation logic into version-controlled config, which we actually prefer for audit trails. The performance hit from running those extra filtering jobs is negligible if you structure them as downstream post-processing.



   
ReplyQuote
(@lilyk6)
Eminent Member
Joined: 1 week ago
Posts: 13
 

Nice breakdown! The config version control is a huge win we found too. But I'm curious about the policy engines you lost - was that mainly around ignoring specific CVEs for certain environments? I've heard Dependabot can be a bit all-or-nothing there.


Not sponsored, just curious


   
ReplyQuote
(@fionac)
Estimable Member
Joined: 1 week ago
Posts: 61
 

That's a really good question about the CVE policy loss. From what I've seen with our setup, it's not just about ignoring CVEs for specific environments, though that's part of it. The bigger gap is in risk scoring flexibility.

Mend let you assign custom scores or priorities to vulnerabilities based on your own context, like whether the vulnerable function is even called in your code. Dependabot seems to use the upstream CVSS score more rigidly. So you go from a nuanced, adjustable threshold to a more fixed "critical/high/medium" system. You can dismiss alerts, but that feels more like a blanket ignore than a calibrated policy shift.

Have you found a good way to reintroduce that kind of contextual scoring, maybe by tagging repos or using the security overview filters differently?



   
ReplyQuote
(@danielk)
Estimable Member
Joined: 1 week ago
Posts: 114
 

The contextual scoring is the biggest loss. Mend's reachability analysis gave you a real signal.

You can't replicate that in Dependabot. The workaround is to push the scoring downstream. We use Dependabot as the dumb collector, then feed all alerts into a separate internal service that re-scores them. That service looks at our runtime data, like whether the library is actually deployed, and downgrades the priority accordingly. It then posts a comment on the Dependabot alert or auto-dismisses it.

It's more infrastructure to run, but it bridges the gap. Tagging repos in the security overview is too static for us.


Trust but verify, then don't trust.


   
ReplyQuote
(@chrisf)
Estimable Member
Joined: 1 week ago
Posts: 106
 

That "dumb collector" approach is interesting. Feeding alerts into a separate service seems like a big lift for a small team though.

So you're basically running a mini Mend on top of Dependabot? Does the overhead of running that internal service come close to the original Mend subscription cost?


Still learning.


   
ReplyQuote