{"id":22933,"date":"2026-07-30T23:48:01","date_gmt":"2026-07-30T23:48:01","guid":{"rendered":"https:\/\/scannn.com\/comparing-open-source-ai-code-security-harnesses\/"},"modified":"2026-07-30T23:48:01","modified_gmt":"2026-07-30T23:48:01","slug":"comparing-open-source-ai-code-security-harnesses","status":"publish","type":"post","link":"https:\/\/scannn.com\/lv\/comparing-open-source-ai-code-security-harnesses\/","title":{"rendered":"Comparing Open-Source AI Code Security Harnesses"},"content":{"rendered":"\n<div>\n<p>There&#8217;s a huge new wave of open-source AI security projects that point a large language model at a codebase to find vulnerabilities. We looked at some popular (or less popular, but from interesting companies) OSS tools and compared how they work, and when you&#8217;d reach for each.<\/p>\n<p>We find three complementary categories in the new world of harnesses: LLM-led exploitgen, LLM-skill-boosting, and SAST+LLM hybrids.<\/p>\n<h3><strong>LLM-led exploitgen<\/strong>\u00a0<\/h3>\n<\/p><\/div>\n<div>\n<p>For this category, the harness&#8217; goal is achieving to a crashing end-state as an oracle for vulnerabilities. I think of this as a new form of fuzzing. These have been the hardest harnesses to use in practice as model guardrails prevent LLMs from generating exploits, so you&#8217;ll need to be part of the inner circle of trusted access\/cyber verification. Additionally, they are usually very narrowly scoped, focusing on just a few different types of vulnerabilities with a reliable exploit condition. But there is a lot of low hanging fruit in that category!<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/anthropics\/defending-code-reference-harness\"><strong><u>defending-code-harness<\/u><\/strong><\/a> (6K stars, Apache license<strong>)<\/strong> (Anthropic&#8217;s harness is unmaintained, see also <a href=\"https:\/\/github.com\/semgrep\/defending-code-harness\"><u>our Semgrep fork<\/u><\/a>): finds C\/C++ memory bugs by crashing them in a sandbox and builds a verified patch<\/p>\n<\/li>\n<\/ul>\n<h3><strong>LLM-skill-boosting vulnerability research<\/strong><\/h3>\n<p>This approach adds skills <em>inside<\/em> LLMs to get them to reason about code the way a human vulnerability researcher would to identify vulnerabilities.<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/cloudflare\/security-audit-skill\"><strong><u>security-audit-skill<\/u><\/strong><\/a> (Cloudflare, 2K stars, MIT license): 6-phase multi-agent audit with adversarial validation<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/trailofbits\/skills\"><strong><u>skills<\/u><\/strong><\/a> (Trail of Bits, 6K stars, CC-BY-SA license): ~40 plugins designed to distill the expert knowledge of a security consultant<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/capitalone\/vulnhunter\"><strong><u>vulnhunter<\/u><\/strong><\/a><strong> <\/strong>(CapitalOne, 500 stars, Apache license): 3 (find, fix, verify) composable Claude Code skills that form an automated remediation loop<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/google\/mantis\"><strong><u>mantis<\/u><\/strong><\/a> (Google,\u00a0 400 stars, Apache license): ~15 security-focused skills. &#8220;Intended to be a starting point rather than a rigid set of instructions.&#8221;<\/p>\n<\/li>\n<\/ul>\n<h3><strong>SAST+LLM hybrids<\/strong><\/h3>\n<p>Using deterministic program analysis tools (e.g.: Semgrep, CodeQL) as inputs to LLMs to guide the search space.<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/gadievron\/raptor\"><strong><u>raptor<\/u><\/strong><\/a> (Community, 3K stars, MIT license)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/vercel-labs\/deepsec\"><strong><u>deepsec<\/u><\/strong><\/a> (Vercel Labs, 5K stars, Apache license)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/cisco-open\/ai-deep-sast\"><strong><u>ai-deep-sast<\/u><\/strong><u> <\/u><\/a>(Cisco, 50 stars, Apache license)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/visa\/visa-vulnerability-agentic-harness\"><strong><u>VVAH<\/u><\/strong><\/a> (Visa, 600 stars, Apache license)<\/p>\n<ul>\n<li>\n<p>A broad, deeply-agentic 11-stage SAST pipeline (42 languages) that threat-models, verifies adversarially, then proposes and validates fixes (without executing code)<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>Ideal use cases<\/h3>\n<p>There&#8217;s a lot of overlap between these harnesses, and it&#8217;s not clear that all of them will continue to be maintained. Still, I did my best to come up with some categorization of when each of these might make the most sense.<\/p>\n<p>If you care about running fully local and offline:<\/p>\n<ul>\n<li>\n<p><strong>ai-deep-sast<\/strong> \u2014 fast, cheap, broad coverage. The only one that can run <strong>fully local<\/strong>. Trades depth\/proof for breadth\/speed.<\/p>\n<\/li>\n<\/ul>\n<p>If you&#8217;re a vulnerability hunter:<\/p>\n<ul>\n<li>\n<p><strong>raptor<\/strong> \u2014 one platform spanning scanning, dataflow, fuzzing, exploit feasibility, and SCA, if you have the operational appetite.<\/p>\n<\/li>\n<li>\n<p><strong>google\/mantis \u2013 <\/strong>if you are going to invest a lot of time and want a starting point to iterate and develop your own skills.<\/p>\n<\/li>\n<\/ul>\n<p>If you&#8217;re a C\/C++ maintainer who wants high-confidence exploitable findings with verified patches:<\/p>\n<p>If you&#8217;re running an appsec program and trying to optimize for time-to-reviewed-fix:<\/p>\n<ul>\n<li>\n<p><strong>VVAH<\/strong>: broad-language SAST with some real triage rigor (threat modeling, adversarial verify, exploit-chain synthesis, propose-and-validate-the-fix). Accepts a frontier-model dependency. No runnable PoC.<\/p>\n<\/li>\n<\/ul>\n<p>If you&#8217;re a Next.js\/Vercel shop:<\/p>\n<p>If you are already using Claude Code \/ Codex \/ another coding harness for vulnerability hunting, why not install all the skills?<\/p>\n<ul>\n<li>\n<p><strong>cloudflare\/security-audit-skill<\/strong> \u2014 you already live in Claude Code and want a rigorous, adversarially-validated audit methodology with near-zero setup and no new infra.<\/p>\n<\/li>\n<li>\n<p><strong>trailofbits\/skills<\/strong> \u2014 you want a <em>toolbox<\/em> of specialist reviewers (native code, crypto constant-time, smart contracts) to compose into your own workflow, inside Claude Code or Codex.<\/p>\n<\/li>\n<li>\n<p><strong>capitalone\/vulnhunter<\/strong> \u2013 explicitly optimized for Claude Code specifically<\/p>\n<\/li>\n<\/ul>\n<h3>What&#8217;s similar and different across these harnesses?\u00a0<\/h3>\n<ul>\n<li>\n<p><strong>Separation of vulnerability discovery from validation<\/strong>: almost every LLM+SAST harness does this, with many explicitly using separate models to do so. But Exploitgen harnesses tend to use the same model to both discover and generate the exploit.<\/p>\n<\/li>\n<li>\n<p><strong>Blurring line between traditional static and dynamic analysis: <\/strong>ai-deep-sast, VVAH, and deepsec reason completely statically. defending-code-harness and raptor can reason and also compile and execute binaries to validate. The latter is a new hybrid analysis that is much closer to how human vulnerability research looks.<\/p>\n<\/li>\n<li>\n<p><strong>Adversarial validation:<\/strong> where a second independent agent tries to falsify each finding (Cloudflare&#8217;s Phase 3, VVAH S6, ToB&#8217;s fp-check, and defending-code-harness fresh-container grader). This seems widely adopted as a good way to increase accuracy, especially when having a different model attempt to disprove findings.<\/p>\n<\/li>\n<li>\n<p><strong>Language support is less of a differentiator: <\/strong>traditional SAST tools took a lot of time to add language support but LLMs generally support almost all languages out of the box. Although exploit-gen class of harnesses is more narrow in language support, the bottleneck is more the language-specific toolchain to build a binary than the language itself.<\/p>\n<\/li>\n<li>\n<p><strong>The definition of &#8220;findings&#8221; varies<\/strong> across the harnesses. E.g.:<\/p>\n<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<th rowspan=\"1\" colspan=\"1\">\n<p><strong>Tool<\/strong><\/p>\n<\/th>\n<th rowspan=\"1\" colspan=\"1\">\n<p><strong>Primary method<\/strong><\/p>\n<\/th>\n<th rowspan=\"1\" colspan=\"1\">\n<p><strong>&#8220;Finding&#8221; is\u2026<\/strong><\/p>\n<\/th>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>ai-deep-sast<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Semgrep + LLM triage<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>A triaged static match<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>VVAH<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>11-stage agentic LLM pipeline<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>A verified candidate from LLM pipeline<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>raptor<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Semgrep+CodeQL+AFL+++LLM<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>A verified static finding or LLM pipeline candidate (\u00b1 PoC)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>defending-code-harness<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>LLM agents craft crashing inputs<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>A reproducible crash (ASAN)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>deepsec<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>regex prefilter + AI + revalidate<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>A re-validated static match<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li>\n<p><strong>Patch generation is a cool capability but still less common: <\/strong>LLM-led exploit generation tools are (obviously) executing code, producing POCs, and (less obviously) patches. Most of the SAST+LLM hybrids are not:<\/p>\n<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<th rowspan=\"1\" colspan=\"1\">\n<p><strong>Tool<\/strong><\/p>\n<\/th>\n<th rowspan=\"1\" colspan=\"1\">\n<p><strong>Executes code?<\/strong><\/p>\n<\/th>\n<th rowspan=\"1\" colspan=\"1\">\n<p><strong>PoC<\/strong><\/p>\n<\/th>\n<th rowspan=\"1\" colspan=\"1\">\n<p><strong>Patch<\/strong><\/p>\n<\/th>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>ai-deep-sast<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>No<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>\u2717<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>\u2717 (advice)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>VVAH<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>No<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>\u2717<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>\u2713 propose + LLM-validate<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>raptor<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Yes<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>\u2713 (fuzz\/feasibility)<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>\u2713<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>defending-code-harness<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Yes<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>\u2713<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>\u2713 execution-verified<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>deepsec<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>No<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>\u2717<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>\u2717<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>A market leader emerges?<\/h3>\n<p>Will there be a reference open source LLM harness for the new era? We think not today, and likely many companies will build their own &#8220;shop jigs&#8221; (<u>thanks to tptacek on HN for the anology)<\/u> for vulnerability finding. An OSS leader may emerge later, but the field is moving too fast right now. That&#8217;s also why some of these harnesses are being released but marked as &#8220;no external contributions accepted&#8221; or unmaintained; the field is simply moving too fast.\u00a0<\/p>\n<p>We at Semgrep do have something we&#8217;re planning to announce here at Black Hat in August. Stay tuned!\u00a0<\/p>\n<p><em>The above was human-written; see below for LLM-generated summaries of some of the repos involved!<\/em><\/p>\n<hr\/>\n<h3>Reference 1: LLM summaries of the LLM+SAST tools<\/h3>\n<h4>ai-deep-sast (Cisco)<\/h4>\n<p><em>LLM summary: <\/em>Hybrid SAST in Python. Semgrep does fast rule-based detection; an LLM triages each finding behind an &#8220;evidence gate&#8221; meant to surface only true positives. A <strong>fast scan<\/strong> can run a fully local, security-tuned 8B model (Foundation-Sec-8B) so no code leaves the machine; a <strong>deep scan<\/strong> hands function-level context to a frontier model. Markdown\/JSON\/JUnit output, CI severity gates. Its optional fully-local mode is a genuine privacy differentiator. Brand new (v1.0.0).<\/p>\n<h4>VVAH \u2014 visa-vulnerability-agentic-harness (Visa)<\/h4>\n<p><em>LLM summary:<\/em> An agentic SAST pipeline (built on learnings from Anthropic&#8217;s Project Glasswing) running an 11-stage flow: threat-model (STRIDE) \u2192 decompose into taint chunks \u2192 deep-dive with optional majority voting \u2192 adversarially verify each finding (a second reviewer tries to falsify it, assigns CVSS) \u2192 dedup \u2192 synthesize exploit chains \u2192 SARIF \u2192 propose a minimal fix \u2192 score that fix with an agentic panel (security-architect + pen-tester + cross-repo-analyzer). Vendor-neutral backends; default Sonnet 4.6 for detection, Opus 4.8 for remediation\/validation. 42 languages + 6 specialist lenses. No code execution. Optimizes &#8220;Mean Time to Adapt&#8221; (discovery \u2192 validated fix). Apache 2.0; closed to external contributions.<\/p>\n<h4>raptor (community, MIT)<\/h4>\n<p><em>LLM summary: <\/em>The maximalist \u2014 ~107K lines of Python orchestrating Semgrep, CodeQL, AFL++ fuzzing, Z3-based exploit feasibility, SCA, and multi-model consensus, fronted by Claude Code with loadable &#8220;expert personas.&#8221; A six-stage exploitability-validation pipeline filters false positives before investing in exploit dev. Broadest capability surface; heaviest to operate.<\/p>\n<h4>defending-code-harness (Semgrep)<\/h4>\n<p><em>LLM summary: <\/em>Agentic, execution-verified, focused on <strong>C\/C++ memory-safety bugs<\/strong>. Agents craft malicious inputs; a &#8220;find&#8221; only counts once it crashes under AddressSanitizer and <strong>reproduces 3\/3 times in an isolated container<\/strong>. An independent grader re-confirms in a fresh container, an LLM judge dedups semantically, and a patch agent produces a fix verified on a <strong>T0\u2013T3 ladder<\/strong> (compiles \u2192 PoC stops \u2192 tests pass \u2192 survives re-attack). gVisor sandbox + egress allowlist. Narrow scope, but findings are real crashes, not opinions.<\/p>\n<h4>deepsec (Vercel Labs)<\/h4>\n<p><em>LLM summary: <\/em>TypeScript monorepo (~37K LOC). A 198-matcher regex prefilter (gated by auto-detected tech stack) finds candidate sites for free; an AI investigation loop then reasons over context and auth boundaries; a revalidation pass cuts false positives ~50%. Read-only agent tools (no execution), sandboxed with bubblewrap\/Seatbelt locally or Vercel microVMs for distributed runs. Multi-backend: default Codex GPT-5.5, or Claude Opus 4.8, or Pi (GLM 5.2). Strong web\/app-framework coverage (Next.js, Django, etc.) plus IaC. &#8211;diff mode for PR review; reports per-batch token cost. No SARIF yet; findings as JSON\/Markdown, no patches.<\/p>\n<hr\/>\n<h3>Reference 2: LLM-summaries of the LLM-skill-boosting group<\/h3>\n<h4>security-audit-skill (Cloudflare)<\/h4>\n<p><em>LLM summary: <\/em>A Claude Code skill: ~1,200 lines of Markdown methodology + a zero-dependency Node validator, installed via npx skills add. Runs a <strong>6-phase<\/strong> audit \u2014 recon \u2192 parallel hunt (8\u201312+ agents by attack class) \u2192 adversarial validation (separate agents try to <em>disprove<\/em> each finding) \u2192 report \u2192 schema-validated findings.json \u2192 independent Phase-6 verification against source. Language-agnostic; domain playbooks for memory-safety\/binary, AI\/LLM, web-protocol\/auth, and client-side. May optionally build and run code to confirm. Output is a human report + a SARIF-like custom JSON schema (payloads and repro steps, not standalone exploits). MIT. The intelligence is whatever model hosts it; the skill is the methodology.<\/p>\n<h4>trailofbits\/skills (Trail of Bits)<\/h4>\n<p><em>LLM summary: <\/em>A marketplace of <strong>~40 plugins (~15 security-focused)<\/strong> for Claude Code and Codex (CC-BY-SA). Standouts: <strong>c-review<\/strong> and <strong>rust-review<\/strong> use a deterministic Python planner to orchestrate parallel Claude workers (haiku\/sonnet\/opus) with shared prompt caching, then sequential dedup\/false-positive judges, emitting <strong>SARIF 2.1.0<\/strong>; <strong>static-analysis<\/strong> wraps Semgrep + CodeQL; <strong>constant-time-analysis<\/strong> and <strong>zeroize-audit<\/strong> drop to assembly\/LLVM-IR to catch crypto timing leaks and compiler-eliminated secret wiping; <strong>fp-check<\/strong> and <strong>variant-analysis<\/strong> are triage\/expansion methodologies. Deep bench for <strong>native code, cryptography, and smart contracts<\/strong> (6 blockchains). Strength is breadth and domain depth; it&#8217;s a toolbox, not one pipeline.<\/p>\n<hr\/>\n<h3>Reference 3: LLM-generated &#8220;Pipelines vs. skills, at a glance&#8221;<\/h3>\n<table>\n<tbody>\n<tr>\n<th rowspan=\"1\" colspan=\"1\"\/>\n<th rowspan=\"1\" colspan=\"1\">\n<p><strong>Standalone pipelines<\/strong><\/p>\n<\/th>\n<th rowspan=\"1\" colspan=\"1\">\n<p><strong>Agent-native skills<\/strong><\/p>\n<\/th>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Deploy as<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Installed program \/ CI job<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Prompt pack inside Claude Code \/ Codex<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Brings its own model calls<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Yes<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>No \u2014 uses the host agent&#8217;s model<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Runs unattended in CI<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Yes<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Partially (agent must drive)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Sandbox<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Its own (gVisor, microVM, OS-level)<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Inherits the host agent&#8217;s<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Cost model<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Per-run infra + tokens<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Just tokens on your existing agent<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Examples<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>ai-deep-sast, VVAH, raptor, DCH, deepsec<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Cloudflare security-audit, ToB skills<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr\/>\n<h3>Reference 4: LLM-generated Capability matrix<\/h3>\n<p>&#8220;Skill&#8221; rows inherit host-agent behavior where noted.<\/p>\n<table>\n<tbody>\n<tr>\n<th rowspan=\"1\" colspan=\"1\">\n<p><strong>Tool<\/strong><\/p>\n<\/th>\n<th rowspan=\"1\" colspan=\"1\">\n<p><strong>Kind<\/strong><\/p>\n<\/th>\n<th rowspan=\"1\" colspan=\"1\">\n<p><strong>Vuln scope<\/strong><\/p>\n<\/th>\n<th rowspan=\"1\" colspan=\"1\">\n<p><strong>Languages<\/strong><\/p>\n<\/th>\n<th rowspan=\"1\" colspan=\"1\">\n<p><strong>Output<\/strong><\/p>\n<\/th>\n<th rowspan=\"1\" colspan=\"1\">\n<p><strong>Isolation<\/strong><\/p>\n<\/th>\n<th rowspan=\"1\" colspan=\"1\">\n<p><strong>Default model(s)<\/strong><\/p>\n<\/th>\n<th rowspan=\"1\" colspan=\"1\">\n<p><strong>License<\/strong><\/p>\n<\/th>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>ai-deep-sast<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Pipeline<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>OWASP\/CWE Top 25, secrets, AI\/ML<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>30+<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>MD\/JSON\/JUnit<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>n\/a (static)<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Foundation-Sec-8B (local) \/ frontier<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Apache 2.0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>VVAH<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Pipeline<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>77+ CWEs, 6 lenses<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>42<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>MD + SARIF<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>tool sandbox (no Bash)<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Sonnet 4.6 \/ Opus 4.8<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Apache 2.0\u00b9<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>raptor<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Pipeline<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>22 classes: mem+web+auth+logic<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>many + binaries<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>JSON+SARIF+SBOM<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Landlock+seccomp+ns<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>multi-model (Claude\/GPT\/\u2026)<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>MIT<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>defending-code-harness<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Pipeline<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>C\/C++ memory safety<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>C\/C++ (ext.)<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>SARIF+patches<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>gVisor + egress allowlist<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Claude (Opus\/Sonnet)<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Apache 2.0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>deepsec<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Pipeline<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>web\/app + IaC + agentic-AI<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>10+<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>JSON\/MD<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>bubblewrap\/Seatbelt\/microVM<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Codex GPT-5.5 (or Claude\/Pi)<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>see repo\u00b2<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>security-audit-skill<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Skill<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>broad + native\/AI\/web\/client playbooks<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>agnostic<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>MD + JSON schema<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>host agent&#8217;s<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>host model<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>MIT<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"1\" colspan=\"1\">\n<p>trailofbits\/skills<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>Skills<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>native, crypto, smart-contract, +more<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>many + 6 chains<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>SARIF\/MD\/JSON<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>host agent&#8217;s<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>haiku\/sonnet\/opus<\/p>\n<\/td>\n<td rowspan=\"1\" colspan=\"1\">\n<p>CC-BY-SA 4.0<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><sub>\u00b9 closed to external contributions. \u00b2 confirm license in-repo before relying on it. \u00b3 certain skills (e.g. constant-time, zeroize) compile\/inspect assembly; most are read-only.<\/sub><\/p>\n<\/p><\/div>\n<p><a href=\"https:\/\/semgrep.dev\/blog\/2026\/comparing-open-source-ai-code-security-harnesses\/?utm_source=tldrinfosec\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>There&#8217;s a huge new wave of open-source AI security projects that point a large language model at a codebase to find vulnerabilities. We looked at some popular (or less popular, but from interesting companies) OSS tools and compared how they work, and when you&#8217;d reach for each. We find three complementary categories in the new [&hellip;]<\/p>\n","protected":false},"author":16,"featured_media":22934,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[143],"tags":[],"class_list":["post-22933","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai"],"_links":{"self":[{"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/posts\/22933","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/comments?post=22933"}],"version-history":[{"count":0,"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/posts\/22933\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/media\/22934"}],"wp:attachment":[{"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/media?parent=22933"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/categories?post=22933"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/tags?post=22933"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}