Security Review

Find the vulnerabilities that can actually be exploited.

Legacy SAST matches patterns and leaves you to decide what is real. Baz security agents investigate each change and post only what they can show is reachable.

Four layers of security review, one investigation

Every layer reports into one review, with severity, confidence, and OWASP and CWE mappings.

  1. NominateModel hypotheses plus SAST-inside signals
  2. InvestigateCallers, wrappers, and related repos via the Context Broker
  3. ProveReachable and relevant, or suppressed
  4. ReportSeverity, confidence, OWASP and CWE
  5. FixFixer opens a PR that keeps the invariant

Advanced Security

Cyber-capable models that pull in callers, wrappers, and related repos before deciding a finding is real.

Agent security reviewer

Reviews hooks, skills, plugins, MCP servers, and model SDK code against the OWASP LLM Top 10.

Basic Security Patterns

Secrets, PII in logs, injection, and missing validation on every PR.

Your security posture as code

Write your security invariants in markdown; review and scans enforce them.

From finding to fix

Fixer opens a PR that preserves the invariant. A human signs off.

An audit trail for AppSec

Every review and scan is a session AppSec can inspect.

What it catches that rules don't

From our vulnerability research and real agent code. In each, the vulnerable code looks correct to a rule.

Broken object-level authorization

Code An export route trusts workspaceId from the query string.

Baz finds The caller is authenticated but never proven to own the workspace.

A gate that fails open

Code Middleware skips token checks for an internal URL prefix.

Baz finds Every handler behind it inherits the bypass. One fix at the gate closes them all.

Build-plane provenance

Code A deploy job runs a script from object storage with cloud credentials.

Baz finds The script can change outside review and runs without an integrity check.

Path traversal in context

Code A file export joins a request parameter onto a root path.

Baz finds Checks normalization and symlink handling before calling it exploitable.

Untrusted context reaching an agent

Code Fetched page content lands in an agent's system prompt.

Baz finds Flags the injection path a text search for injection phrases would miss.

Agent supply chain on autopilot

Code A plugin auto-updates from a default branch; a job runs a latest image.

Baz finds Flags the upstream path into your environment and proposes pinning.

Baz compared with legacy SAST

Scanners like Semgrep and Snyk Code match known patterns. Baz investigates the change and treats static signals as one input.

Baz compared with legacy SAST
Legacy SAST (Semgrep, Snyk Code)Baz Security Review
How issues are foundSAST-inside Rules match known sources, sinks, and unsafe APIsAgents investigate the change; static matches become hypotheses to test
Authorization and tenant isolationVulnerability research Code that authorizes the wrong scope looks correct to a ruleReasons about caller, object, and ownership across files and services
False positivesAdvanced Security Rule hits are triaged after the factUnreachable or mitigated signals are suppressed before anything posts
Evidence in the findingDocs Rule ID, file, and lineExploit path, severity, confidence, OWASP and CWE, cross-repo references
CI/CD and supply chainModel vs. SAST Interpolation patterns and known-vulnerable packagesProvenance: mutable artifacts, floating tags, unverified binaries run with credentials
Agent codeAgent attack surface Prompt injection rarely appears as text a rule can matchDedicated agent security reviewer, mapped to the OWASP LLM Top 10
Org-specific policycyber.md Custom rules in a rule languageSecurity invariants in plain markdown your coding agents also read
Old risk already in the repoFull codebase scan Re-runs the same rulesFull scan with the same posture, findings fixed by Fixer PRs

Keep your scanner for dependencies and compliance. Baz decides which findings matter.

From alert queues to proven findings

Scanner-first AppSecBaz Security Review
A wall of pattern matches to triageFindings posted only with evidence they are reachable
Old risk waits for someone to touch the fileFull codebase scans find it with the same posture
AppSec reviews every merge or becomes the bottleneckDevelopers fix it in the PR while the change is fresh
Findings stop at a reportFixer opens the fix PR

Questions teams ask first

Does Baz replace Semgrep or Snyk?

Not necessarily. Keep a scanner for dependencies and compliance; Baz adds the reasoning rules cannot express.

Does it only review the diff?

No. A full codebase scan walks the whole repository.

Where does our code go?

Baz is SOC 2 Type II and runs as SaaS or self-hosted. Self-hosted, or SaaS with Private Mode, keeps code in your infrastructure.

Stop triaging. Start fixing what's real.

Turn on Advanced Security for a repository and see findings on your next PR, or run a full codebase scan with us on a repository you choose.