AIVory Guard vs Semgrep: Scanning AI-Generated Code

I searched “AI code security scanner” and “LLM guardrails tool” before writing this. AIVory Guard shows up in neither. Semgrep shows up in both, usually near the top, next to Snyk, Checkmarx, Endor Labs, and GitHub Advanced Security. Nobody has written the comparison, so I did, and I tried to write the version I’d actually want to read if I were choosing between them.

Semgrep is the closer match of the two. It pitches the same line Guard does, that scanning should run where the AI agent runs, and it has native Cursor and Claude Code hooks to back that up. Everything below is checked against Semgrep’s own docs and GitHub repo as of August 2026, and against what AIVory Guard’s own documentation claims. Where the two products’ claims contradict each other or the product’s own docs disagree internally, I say so instead of picking whichever number sounds better.

What Semgrep actually is

Semgrep is open source. The core engine is LGPL-2.1, it has north of 16,000 GitHub stars, and it covers 30+ languages including Terraform, Solidity, and most of the mainstream stack. The public Registry has 2,000+ community-written rules, and the paid AppSec Platform adds another 20,000+ proprietary rules maintained by Semgrep’s own research team. The Free Edition covers Code (SAST) and Supply Chain (SCA) for up to 10 contributors at no cost, which is a genuinely usable free tier, not a crippled trial.

It runs as a local CLI first. semgrep scan executes on your machine, which means it works in CI/CD pipelines, pre-commit hooks, and offline, the same binary in every context. That CI-native story is Semgrep’s core use case, not an afterthought.

In June 2026 Semgrep shipped Guardian, a plugin built specifically for AI coding agents. It bundles an MCP server, IDE hooks, and Skills into one install, and it scans every file an agent writes the moment it’s written, for Claude Code, Cursor, GitHub Copilot, VS Code, Codex, Kiro, and Devin/Windsurf. The hook fires regardless of what the agent decides to do. Cursor and the other CLI-backed agents pull your org’s own Semgrep Policies; Claude Code, notably, talks to a hosted Guardian server by default and always runs Guardian’s default ruleset rather than your custom policy, since it needs no local CLI at all.

Semgrep also documents compliance-framework support (GDPR, HIPAA/HITRUST, PCI DSS, SOC 2, ISO 27001, ISO 27017, FedRAMP, NIST 800-171) on its AppSec Platform. From what’s published, this is policy configuration guidance for mapping SAST rules to auditor requirements, with an explicit disclaimer that Semgrep “does not guarantee compliance.” I could not confirm from the docs whether an individual finding gets labeled with its compliance framework inline in the editor, the way Guard’s does.

Semgrep’s JetBrains support, by contrast, is the weaker leg. The JetBrains extension is in beta, only supports Semgrep Community Edition, none of Supply Chain, Secrets, Pro rules, or the Pro Engine, requires IntelliJ Ultimate (not Community) because of LSP support, and needs the Semgrep CLI installed separately before it works at all. The VS Code extension is the mature one, described by Semgrep itself as “as fast as linting.”

What Guard actually is

AIVory Guard scans against named compliance standards, not just CWE categories, and shows the label inline: hover a violation in the JetBrains, VS Code, Cursor, or Antigravity extension and you get the standard it maps to plus a suggested fix, right there in the editor. Free tier is OWASP Top 10 only, 50 scans a week. Paid tiers ($19/mo Starter, $39/mo Pro) unlock the rest of the standard list plus unlimited scans and team collaboration.

For AI agents, Guard ships an MCP server (@aivorynet/guard on npm) that works with any MCP-compatible client, plus a dedicated Claude Code plugin with slash commands (/aiv:scan, /aiv:fix, /aiv:review, /aiv:dashboard) and four specialized subagents. Every scan call is a network request to app.aivory.net, there’s no offline mode and no local rule engine, which is the flip side of not needing to install or version a separate binary.

Guard’s own docs disagree with each other on whether Claude Code scans automatically. The Claude Code plugin page says the agent “won’t scan automatically unless you ask or configure it in your CLAUDE.md file.” The MCP usage guide says the opposite: “you don’t need to explicitly ask for scans, your AI assistant will automatically scan code as it generates.” I’m flagging that contradiction rather than picking the flattering half, and it’s the practical reason I don’t treat Guard’s AI-agent integration as hook-equivalent to Guardian’s: an MCP tool the agent chooses to call is not the same reliability guarantee as an IDE hook that fires on every file write no matter what the agent decides.

Side by side

AIVory GuardSemgrep
Scan locationCloud API call (app.aivory.net) from the IDE plugin or MCP tool. No documented standalone CLI for CI/CD.Local CLI engine, works offline for Community Edition. Also runs in CI/CD as its primary use case, plus a hosted AppSec Platform for policy and dashboards.
Languages~20 languages documented as fully supported (Java, Kotlin, Python, JS/TS, Go, PHP, C#, Rust, Swift, C/C++, Ruby, Scala, Groovy, Dart) plus HTML, SQL, JSON/YAML, XML, shell.30+ languages including Terraform, Solidity, and most mainstream languages.
Rule modelProprietary rules mapped to named standards, configured per project in settings. Enterprise plan can add private organization-specific rules.Open pattern-matching rule syntax, 2,000+ free community rules, 20,000+ proprietary rules on paid tiers, custom rule authoring is core to the product.
Compliance standard framingFindings labeled inline by named standard, 17 in total (OWASP, GDPR, DSGVO, HIPAA, CCPA, PCI-DSS, SOC 2, ISO 27001/27017/27018, TISAX, DORA, NIS2, EU AI Act, AML, GwG, HinSchG).Documents policy-mapping guidance for 8 named frameworks (GDPR, HIPAA/HITRUST, PCI DSS, SOC 2, ISO 27001, ISO 27017, FedRAMP, NIST 800-171) on the paid platform; explicitly does not guarantee compliance.
IDE integrationNative JetBrains (full IDE range, GA), VS Code, Cursor, Antigravity extensions with inline warnings.VS Code extension is mature and full-featured. JetBrains extension is in beta, Community Edition rules only, requires IntelliJ Ultimate and a separately installed CLI.
AI agent hooksMCP server (`@aivorynet/guard`) plus a dedicated Claude Code plugin with slash commands. Agent decides when to call the tool; Guard's own docs disagree on whether that's automatic by default.Guardian (June 2026) fires natively on every file write for Claude Code, Cursor, Copilot, VS Code, Codex, Kiro, and Devin/Windsurf, and can force the agent to regenerate until the scan is clean.
LicenseProprietary, hosted SaaS with client-side extensions.Core engine LGPL-2.1 (open source). Pro Engine, Pro rules, and Guardian are proprietary additions on paid tiers.
PriceFree (50 scans/week, OWASP Top 10 only) / Starter $19 mo / Pro $39 mo (unlimited, all standards, team collaboration).Free Edition (Code + Supply Chain, up to 10 contributors) / Teams from $30 per contributor/mo for Code ($15 for Secrets) / Enterprise, custom.

Where I’d actually pick one over the other

If your team already lives in CI/CD gates and pre-commit hooks, and wants a rule engine you can read, fork, and run offline, Semgrep is the more mature tool by a wide margin, and its free tier covers real usage for a 10-person team. I wouldn’t tell anyone to rip out an existing Semgrep pipeline for Guard, they solve overlapping but not identical problems.

Where Guard is doing something different is the JetBrains story and the standard-labeled inline UX: a violation shows up as “GDPR” or “HIPAA” in the editor itself, on JetBrains IDEs where Semgrep’s own extension is explicitly beta and CE-only. If your reviewers are non-security engineers who need “which regulation does this break” spelled out in plain language while they’re still writing the function, that’s the gap Guard is built to fill. If your reviewers are an AppSec team running Semgrep in CI already, that gap mostly doesn’t exist for them.

Neither tool replaces the other’s core use case. Semgrep doesn’t have a JetBrains-native, GA, all-standards experience today. Guard doesn’t have a documented CI/CD pipeline story or an offline mode. Pick based on which gap actually costs you something.

Frequently asked questions

Is AIVory Guard open source like Semgrep?
No. Guard is a proprietary, cloud-backed service with IDE and AI-agent client extensions. Semgrep's core scanning engine is open source under LGPL-2.1, with proprietary additions (Pro Engine, Pro rules, Guardian) on paid tiers.
Can Semgrep check code against GDPR and HIPAA the way Guard does?
Semgrep documents policy-mapping guidance for GDPR, HIPAA/HITRUST, PCI DSS, SOC 2, ISO 27001, ISO 27017, FedRAMP, and NIST 800-171 on its paid AppSec Platform, with an explicit disclaimer that it does not guarantee compliance. Guard labels individual findings inline in the editor by standard name. Both are real approaches to the same problem, framed differently.
Does Guard replace Semgrep in a CI/CD pipeline?
Not based on what's documented today. Guard's scanning surface is the IDE and AI-agent tool calls; there's no published standalone CLI or CI/CD integration for it. Semgrep's CLI-first design is built for exactly that use case.
Do both tools work with Claude Code?
Yes, through different mechanisms. Semgrep's Guardian uses a native hook that fires on every file write regardless of what the agent decides. Guard ships an MCP server and a dedicated Claude Code plugin with slash commands, where the agent calls the scan tool itself; Guard's own documentation is inconsistent about whether that happens automatically without being asked.
Which one is free for a small team?
Both have usable free tiers. Semgrep's Free Edition covers Code and Supply Chain scanning for up to 10 contributors. Guard's free tier is 50 scans a week, OWASP Top 10 only, uncapped by team size.

Try Guard’s free tier at aivory.net/guard, or read Semgrep’s own docs if the CI-native, open-source path fits your team better. Both are worth having.