Audit your dependencies without leaving the window.
Real scanners, run locally, with an agent that can then do the upgrades and show you the diff.
The Audit tab discovers dependency manifests across your repository, runs whichever scanners are installed on your machine, and merges the results into one report you can read per backend. It prefers osv-scanner because it covers every ecosystem from lockfiles, and falls back to the per-ecosystem tools: npm audit, cargo audit and pip-audit. Snyk and Socket are used when their CLIs are present. Clicking Apply fixes puts the agent into an editing mode where it makes the upgrades in your working tree, which you review as a normal diff.
What it is and what it is not
Worth being exact about the boundary, because the category name is crowded. This reads dependency manifests and lockfiles, not your source code. It will tell you that a package you depend on has a known vulnerability. It will not find an injection flaw, a broken authorisation check or a hardcoded credential in a file you wrote, because it never opens those files. For that you want a static analysis tool, and the two are complements rather than substitutes.
Bring your own scanners
The scanners are not bundled. Each backend is probed on PATH before it runs, and a missing one becomes an entry telling you what to install rather than a silent gap in the report. That keeps the download small and means you are running the same scanner versions your CI runs, but it does mean a machine with none of them installed gets an inventory and the agent-config findings rather than a vulnerability list.
Manifest discovery across the repository
It walks the tree for package.json, Cargo.toml, go.mod, pyproject.toml, Pipfile, requirements files, Gemfile, composer.json, pom.xml, Gradle build files and pubspec.yaml, pairing each with its lockfile when one exists. A monorepo with several ecosystems in it produces one report covering all of them rather than one run per subdirectory.
The fix step is a diff, not a pull request
Apply fixes hands the findings to the agent with editing tools enabled, and the upgrades land in your working tree. There is no branch, no commit and no pull request, which means you review the change the same way you review any other agent edit, and you decide what to do with it. If you want a PR, you make one, because the changes are simply there in your checkout.
Reading the report honestly
Severity comes from whatever the underlying scanner reported. Some of them do not report one, so findings can arrive graded unknown, and unknown does not mean safe. The per-backend tabs exist so you can see which tool said what rather than trusting a merged number that hides disagreement between them.
Backends and what they cover
| Backend | Covers | Needs installed |
|---|---|---|
| osv-scanner | Every ecosystem, from lockfiles | osv-scanner |
| npm audit | npm | npm |
| cargo audit | Rust crates | cargo-audit |
| pip-audit | Python | pip-audit |
| Snyk | Multi-ecosystem | snyk, authenticated |
| Socket | Supply chain signals | socket |
| Agent config | MCP server trust | Nothing, built in |
Questions
Related
- Offline Dependency AuditFor the repositories that are the reason your team cannot use a hosted scanner.
- Security Audit Inside a Coding AgentScanning where the code is, rather than reporting to somewhere the code is not.
- Software Supply Chain AuditThe packages you import are audited by everyone. The programs your agent launches are audited by almost no one.
- MCP Server Security ScanningAn MCP server is a program with your agent's permissions. Most people install one without reading what it launches.
Last updated