An AI agent that bumps a vulnerable package version is not done. It has only made a guess. For engineering teams, the real definition of success is stricter: the vulnerability is gone, the build is still green, and the test suite still passes.
Context: Dependency remediation is a maintenance problem

Security teams often describe dependency fixes as vulnerability remediation. Developers experience them as software maintenance.
That distinction matters. A vulnerable dependency is rarely fixed in isolation. Upgrading a package can change APIs, transitive dependencies, build tooling, lockfiles, runtime behavior, or test expectations. In mature systems, especially those with years of accumulated framework and library history, a dependency upgrade can be closer to a small modernization project than a one-line patch.
This is why AI dependency-fix agents are attracting attention. They promise to reduce the manual work of triaging advisories, finding compatible versions, updating manifests, and opening pull requests. But if the agent only changes a version number, it may simply move work downstream to reviewers, CI systems, and production incident responders.
Snyk’s VulnBump benchmark, described in its post VulnBump: Can AI Agents Fix Vulnerable Dependencies Without Breaking the Build?, is useful because it tests that exact gap. VulnBump evaluates AI agents on 307 real dependency upgrades. Importantly, a fix only counts if the vulnerability is removed. The build and tests must also remain green for the fix to count.
That definition is the right direction for engineering leaders adopting AI-assisted maintenance. It focuses on production readiness, not just automated activity.
Why a version bump is not the same as a fix
For years, dependency automation has been measured by volume: number of alerts, number of pull requests opened, number of packages updated, or number of advisories closed. Those metrics are easy to count, but they can hide the actual engineering outcome.
A pull request that updates a vulnerable dependency can still fail in several ways:
- It may not actually remove the vulnerable version from the resolved dependency graph.
- It may upgrade the direct package but leave a vulnerable transitive dependency in place.
- It may compile locally but fail in CI because of environment or lockfile differences.
- It may pass a build but fail tests because of changed behavior.
- It may require code changes that the agent did not make.
- It may introduce a new vulnerability or incompatible license risk.
Developers know this pattern well. A dependency PR looks simple until the build fails on a deprecated API, a test fixture no longer matches, or a framework plugin expects a different major version. The security ticket says patch now. The engineering reality says patch safely.
That is why VulnBump’s scoring model is significant. By requiring the vulnerability to be gone and requiring build and test health, it treats dependency remediation as an engineering task with acceptance criteria.
The three-part success standard: patched, building, tested
AI agents need a definition of done that looks like a team’s actual merge policy. For dependency remediation, that definition should include three gates.
1. Patched: the vulnerability is actually removed
The first requirement sounds obvious, but it is easy to get wrong. A package manifest can show a newer version while the lockfile still resolves to a vulnerable transitive package. A project can contain multiple package managers or nested modules. A monorepo can include several versions of the same component.
A credible AI agent should verify the resolved dependency graph, not just edit a manifest. It should be able to explain which vulnerable component was present, which version removed it, and how the new dependency tree resolves.
This is where security scanning must be part of the loop. The agent should not declare success until a trusted scanner confirms that the relevant vulnerability is no longer present.
2. Building: the application still compiles and packages
A dependency fix that breaks the build is not production-ready. It may be a useful draft, but it is not complete.
Build failures are especially common around major upgrades, build plugins, native modules, framework packages, and language runtime changes. Even minor upgrades can expose stricter typing, different peer dependency requirements, or changed packaging behavior.
For an AI agent, build validation is a basic guardrail. The agent should run the same commands developers run in CI, capture failures, and iterate on the patch where appropriate. If it cannot resolve the issue, it should surface the failure clearly rather than presenting the PR as complete.
3. Tested: behavior remains intact
Passing tests are not a guarantee of correctness, but failing tests are a strong signal that the change is not ready.
Dependency upgrades often alter behavior in subtle ways: date handling, serialization, authentication flows, retry logic, database drivers, HTTP clients, or validation libraries. A green build only proves the code can be assembled. Tests provide evidence that important behavior still works.
This is the most important difference between security automation and maintenance automation. Security automation can identify the unsafe component. Maintenance automation must preserve the system.
What VulnBump gets right for agent evaluation
Snyk’s VulnBump benchmark is valuable because it evaluates agents against real dependency upgrade tasks rather than synthetic examples. Real projects contain the messiness that matters: imperfect tests, lockfiles, build scripts, framework constraints, and transitive dependency chains.
The headline fact is straightforward: VulnBump tests AI agents on 307 real dependency upgrades. But the more important contribution is the scoring discipline. A fix counts only if the vulnerability is removed, and the build and tests must also remain green.
That approach helps reduce a common source of AI noise. Sonatype has described AI noise as a growing development bottleneck, and dependency remediation can easily become part of that problem. If agents produce large numbers of low-quality PRs, developers spend more time reviewing, debugging, and closing them than they would have spent fixing the issue manually.
Benchmarks like VulnBump shift the conversation from how many fixes an agent attempts to how many fixes are actually mergeable.
Practical implications for engineering teams
For CTOs and engineering managers, the lesson is not to avoid AI agents. The lesson is to adopt them with production-grade guardrails.
Update your definition of done
If your current dependency automation marks a ticket complete when a PR is opened, tighten the policy. A remediation task should not be considered complete until:
- The vulnerable dependency is no longer present in the resolved graph.
- CI build steps pass.
- Automated tests pass.
- The lockfile is consistent.
- The PR includes enough context for reviewers to understand the change.
This definition should apply equally to human and AI-authored changes.
Separate attempted fixes from verified fixes
Dashboards should distinguish between activity and outcomes. Useful categories include attempted, build failing, tests failing, vulnerability still present, ready for review, and merged.
This prevents inflated remediation metrics. It also gives engineering leaders better insight into where maintenance work is getting stuck. If many AI-generated PRs remove vulnerabilities but fail tests, the issue may be compatibility. If many build but do not remove the vulnerability, the issue may be dependency graph understanding.
Keep humans in the review loop
AI agents can accelerate routine upgrades, but dependency changes still deserve review. Reviewers should look for major version jumps, unexpected transitive changes, security scanner output, test coverage gaps, and runtime risks that CI may not catch.
The goal is not manual rework of every agent PR. The goal is focused review of a change that has already met objective readiness criteria.
Invest in test health before scaling automation
AI remediation is only as useful as the validation environment around it. If builds are flaky or tests are unreliable, agents cannot confidently determine whether a patch is safe.
Before scaling automated dependency fixes, teams should improve CI reliability, reduce test flakiness, and make build commands consistent across local and CI environments. This is maintenance work, but it directly improves security throughput.
Treat upgrades as part of modernization
Dependency remediation becomes easier when systems are kept reasonably current. The longer a project sits on old frameworks, runtimes, or libraries, the more likely a security patch requires multiple intermediate upgrades.
At Vibgrate, we see dependency work as part of a broader modernization strategy. Smaller, continuous upgrades reduce the blast radius of each change. They also make AI assistance more effective because agents can operate within a healthier, more predictable codebase.
The future: agents that verify, not just edit
The next generation of AI AppSec tooling is already moving toward fix-and-verify workflows. Snyk’s Agentic AppSec positioning reflects this broader shift: security tooling must keep up with AI-driven development by finding, fixing, and verifying vulnerabilities.
That last word is the key. Verification is what separates useful automation from noisy automation.
Recent reports of actively exploited flaws, such as BleepingComputer’s coverage of attacks targeting a Collabora remote code execution issue in Nextcloud environments, reinforce the urgency. Teams need to patch faster. But speed without validation creates a different class of risk.
AI dependency-fix agents should be judged by the same standard as any responsible engineer: did the fix remove the vulnerability, does the software still build, and do the tests still pass? Anything less is not a completed remediation. It is an unfinished maintenance task with a nicer interface.
Conclusion
AI agents can become a major force multiplier for dependency maintenance, but only if teams measure the right outcome. The goal is not more automated pull requests. The goal is safe, verified, mergeable fixes.
VulnBump’s stricter definition of success gives engineering teams a practical benchmark for that future. As AI becomes more embedded in security and modernization workflows, the winning teams will be the ones that combine automation with disciplined validation: patched, building, tested, and ready to ship.
