Skip to content
New

DeepSeek V4.1 Flash free for 7 days: 10M tokens a day after a top-up of $10 or more. Until Nov 30.

How it works

Why the NotHoly VS Code extension for code review

Review the file or the git diff in your editor, with full context. The model takes the security question and turns a finding into a test or a rule.

Intermediate3 min readBy NotHoly

Reviewing code for security in a general assistant goes two ways, both bad. It hedges when you ask it to find the exploitable bug or write the proof that the bug is real, or you paste a function into a chat and lose the imports, the caller and the rest of the file that decide whether the bug is reachable. The NotHoly extension reviews the file and the diff where they live, in VS Code, Cursor, Windsurf or VSCodium, and the model behind it takes the security question. The code review use case has the workflow; this is about the extension.

Review the file or the diff

Open a file and run Review this file. The agent reads it, with any unsaved edits, and lists what it found in the Problems panel, each item a place to jump to. Review changes sends your git diff, the unstaged changes or the staged ones when nothing is unstaged, so a pull request gets a security pass before it leaves your branch. Explain selection takes a block you highlight, and Investigate a CVE fetches the record and explains it in the chat. The model does not stop to argue about whether reading for a vulnerability is allowed, because that is the work a reviewer does. The commands reference lists them all. The model picker lists the catalog with each model's price, and when a promotion makes one free for your account it shows a free tag with the list price struck through. Each answer shows its token counts, and the last thirty conversations stay on this machine under History.

From a finding to a test and a rule

A finding is more useful when it leaves something behind. Write a regression test for the selection asks the agent for a test that would catch the security bug in the code you picked, so the fix stays fixed. Write a detection rule for the selection returns a Sigma, Semgrep or YARA rule for the pattern, so the same mistake is caught elsewhere. Apply suggested fix opens the change as a diff with Accept and Reject, and a turn that wrote files ends with Undo changes, which puts back what it wrote. You read every edit and every command on a card before it runs. A shell block in the chat carries Run in terminal, which drops the command on your prompt and leaves Enter to you, so nothing runs by surprise, and attachments work only in a trusted workspace.

It stays in your editor, with guards

The extension respects Workspace Trust. In an untrusted folder the agent has no tools and only answers in text, so it does not read files or run commands until you trust the folder. Reading or writing outside the workspace asks first, and credential paths like .env, .ssh and .aws make you type the file name back, while grep skips them. After a file outside the workspace or a credential is read, a web or knowledge base search shows its query before it leaves your machine. A command you approve runs in your shell, in the workspace folder, with your permissions and without your NotHoly key in its environment. The key itself sits in the editor's secret storage, and for CI you set it in the environment.

bash
code --install-extension notholy-vscode-latest.vsix

Where it does not fit

It is not a static analyzer. The model can miss a real bug and flag one that is not there, so a clean review is not a guarantee and a finding is a lead to confirm. Zero Questions runs edits and commands without asking and can drain your balance, so it is for a sandbox, not a client repo. In an untrusted workspace the review tools are off by design, and the three editors that are not VS Code are untested on our side. The extension needs a login, so it is tied to an account and an e-mail, and the model can be wrong like any model.

Keep the review in the editor, next to the code that gives it context. Install from the extension page, then top up on pricing.

Sources

  1. NotHoly, Install the VS Code extension
  2. NotHoly, VS Code agent and commands
  3. OWASP Code Review Guide
  4. Sigma, detection format
  5. Semgrep, static analysis rules

More in Security tools

Security tools

The bug bounty toolkit and the NotHoly CLI

A small, honest bug bounty toolkit for beginners, plus the NotHoly CLI in the terminal with scope recorded so commands stay inside the program.

Beginner3 min read

Security tools

Nmap Basics on Your Own Lab

Nmap maps the open ports on your own machine. Learn connect and SYN scans, service detection and output files, then match each port to its process.

Beginner12 min read