Skip to content
| Marketplace
Sign in
Visual Studio Code>Linters>WhiteSniperNew to Visual Studio Code? Get it now.
WhiteSniper

WhiteSniper

whitesniper

| (0) | Free
Verify every agent's work: WhiteSniper findings, recheck, and evidence in the editor.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

WhiteSniper for VS Code

WhiteSniper brings your workspace's findings — security, code quality, supply-chain, and the rest of the Production Readiness Pack — into the editor: diagnostics as you work, a findings view grouped by severity and file, one-click rechecks, and an agent-ready fix hand-off. It works in VS Code and in any Code-OSS-based editor (Cursor, Windsurf, VSCodium, and the like).

WhiteSniper never reimplements its own scanning: this extension is a thin client over two local processes it launches for you — a language server (@whitesniper/lsp) that produces diagnostics and code actions, and an MCP server (@whitesniper/mcp) that gives your agent the same findings, fix context, and recheck commands as tools.

What it does

  • Diagnostics as you work. The language server reports findings as standard diagnostics with Quick Fix actions, so they show up like any other compiler warning.
  • Findings view. A dedicated view in the activity bar lists every finding, grouped by severity (critical to info) and then by file. Selecting one opens the file at the exact location.
  • Recheck. Re-runs a finding's original detectors and reports whether it is resolved, still present, or inconclusive — the same rule the CLI and CI use to close a finding.
  • Explain Finding. Opens a finding's full detail — description, remediation, baseline state, and the recheck command — in the editor's own Markdown preview. No custom webview.
  • Fix with Agent. Builds the finding's fix prompt (its context, its constraints, and the recheck command that closes it) and hands it to whatever you use to make the change: your editor's chat view when one is open, or the clipboard otherwise. WhiteSniper never assumes a particular AI extension is installed.
  • MCP server. WhiteSniper registers itself as an MCP server definition provider, so any agent that talks MCP in your editor gets the same findings, fix context, and recheck tools without extra setup.

The cockpit

WhiteSniper: Open Cockpit opens two panes beside your code (see docs/cockpit.md in the repository):

  • Plan & Task Contract. Reads whitesniper.plan.yml: the goal, the tasks, and the proofs that show each one done. A task claimed done whose proofs do not all hold shows as unproven. Findings under a proof open in the editor or go to your agent.
  • Live Quality Twin. Your app running on this machine (whitesniper.twin.url): whether it answers, what the probe finds on each page, which contracts hold, and the readiness pillars. It probes every 15 seconds while visible, only in a trusted workspace, and opens the app in the Simple Browser beside it.

Both panes follow your theme, work by keyboard, and load nothing from the network.

Workspace Trust

In a restricted (untrusted) workspace, WhiteSniper never runs engines that execute repository code or its own configuration (ESLint using the project's eslint.config.js, Pyright using the project's pyproject.toml), and it launches the MCP server with --untrusted. Engines that only read files — secret scanning, dependency checks — still run. The findings view and status bar say when you're in restricted mode.

What data leaves the machine

By default, nothing does: every engine WhiteSniper runs works entirely on your local files, and the MCP server is launched with --offline. Turning on WhiteSniper: Allow Network Engines (whitesniper.allowNetworkEngines) lets a full workspace scan also run engines that look things up externally — for example, checking a dependency's advisories against a public database. That setting never applies to on-save scans, only to an explicit Scan Workspace.

Settings

Setting Scope Default Description
whitesniper.lspPath machine (unset) Absolute path to the language server executable. Machine-scoped so a repository's own settings can never redirect the extension to a file inside that repository.
whitesniper.mcpPath machine (unset) Absolute path to the MCP server executable. Same machine-scoped reasoning as lspPath.
whitesniper.scanOnSave resource true Scan a file with the fast engines when it is saved.
whitesniper.allowNetworkEngines resource false Allow network-using engines during a full workspace scan (see above).
whitesniper.exclude resource [] Repository-relative paths to leave out of scans.
whitesniper.twin.url machine http://localhost:3000 Your app on this machine, for the Live Quality Twin and the plan's probe proofs. Only loopback addresses are probed, and only in a trusted workspace. Machine-scoped so a repository's settings can never choose what the extension requests.

Privacy and telemetry

This extension sends no telemetry: no activation events, no scan counts, no crash reports, nowhere. The only network activity it can ever cause is the language server's or MCP server's own engines, and only when whitesniper.allowNetworkEngines is on and you run a full workspace scan.

Requirements

  • VS Code 1.101.0 or later (or a compatible Code-OSS editor).
  • Nothing else: the language server and the MCP server ship inside the extension, with their dependencies and core's rule and configuration files. Engines that WhiteSniper runs but does not ship (ESLint, Ruff, Pyright, Opengrep, Gitleaks, OSV-Scanner) are used when they are installed and reported as skipped when they are not.
  • To use another build of a server, set whitesniper.lspPath / whitesniper.mcpPath to its absolute path. From source: code --extensionDevelopmentPath=<repo>/packages/vscode <folder> after pnpm build.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft