Cognium Dev
Open-source semantic security analysis for your code, terminal, CI, and AI agents.
Start your first scanLocal, deterministic, MCP-native. Trace tainted data across functions, files, and frameworks — from your terminal, your CI, your product, or Claude's tools. No server, no phone-home, no LLM tokens burned per scan.
$ npm install -g cognium-dev
100 %
OWASP · Synthetic
13
Upstream fixes shipped
9
Languages
19
CWE types
Traditional scanners match dangerous text. Cognium builds a flow graph, follows values through the program, and only reports when tainted input reaches a sensitive sink without a sanitizer.
HTTP parameters, headers, cookies, file uploads, environment variables, CLI args, and framework-specific request objects.
Flows are followed across function calls, return values, object fields, map keys, array indexes, conditionals, and common framework abstractions.
Prepared statements, HTML escaping, URL validation, framework encoders, and custom YAML definitions reduce noise without hiding risk.
The figures below are from the April 22, 2026 static-only snapshot. Machine-readable results are published for independent review; the static engine runs without an LLM.
Cognium (static) 50.8% 61 / 120 CVEs IRIS + GPT-4 45.8% 55 / 120 CVEs CodeQL 22.5% 27 / 120 CVEs Dated static-only snapshot; public result artifacts available.
Cognium ships with source, sink, and sanitizer definitions for popular server frameworks, plus YAML configuration for teams adding their own architecture patterns.
Java
Spring, JAX-RS, Servlet
JavaScript
Express, Fastify, Koa
TypeScript
Express, Fastify, Koa
Python
Flask, Django, FastAPI
Go
net/http, Gin, Echo
Rust
Actix-web, Rocket, Axum
Bash
Shell scripts
HTML
Security attributes
C# / .NET
ASP.NET Core, ADO.NET, EF Core Preview
SQL injection, command injection, XSS, path traversal, SSRF, deserialization, XXE, LDAP injection, NoSQL injection, response splitting, weak randomness, weak crypto, and more.
Tainted data flowing into SQL queries without parameterization.
Unsanitized user input passed to OS command executors.
Reflected or stored tainted content rendered in browsers without escaping.
User-controlled paths reaching file system operations without normalization.
Server-side request forgery from tainted URLs in HTTP client calls.
Untrusted data passed to object deserialization sinks.
The cogniumhq/cognium-dev monorepo ships the cognium-dev CLI, the circle-ir Node/browser library, and the @cognium/mcp-server package — so the same deterministic engine
runs from your terminal, inside your product, or as a tool your AI agent can call.
@cognium/mcp-server
exposes the deterministic cognium-dev pipeline as eleven Model Context Protocol tools — scan, taint
paths, entry points, sink descriptions, sanitizer checks. The LLM never
guesses the engine's state; it calls a tool and gets a grounded answer.
scan
Full polyglot SAST on a
file
or directory. Returns findings, taint flows, cross-file paths.
taint_paths
Cross-file
taint flows, filterable by source, sink, or sink type.
explain_finding
CWE
metadata, remediation, severity, sanitizer suggestions for one finding.
list_entry_points
Every
attacker-reachable handler grouped by framework.
list_reachable_sinks
Sinks
of a category that have a real taint flow reaching them.
attack_surface_summary
Roll-up:
entry points × sinks × cross-file paths + top files by finding count.
check_sanitizer
Deterministic
yes/no on whether a function sanitizes for a given sink category.
describe_sink
CWE,
remediation, severity, and sanitizer list for a sink category.
describe_source
Framework
API patterns treated as a source of a category.
find_similar
Given a
finding id, return other findings sharing the same rule or sink type.
refresh
Invalidate the cached
analysis for one project or every project.
Looking for more agent tools? Browse SkillsRegistry and inspect available trust information.
{
"mcpServers": {
"cognium": {
"command": "npx",
"args": ["-y", "@cognium/mcp-server"]
}
}
}
Local, in pre-commit hooks, or in CI. SARIF output plugs into GitHub code scanning and every review workflow that already reads the format.
$ npm install -g cognium-dev
$ cognium-dev scan ./src
src/controllers/AuthController.java
[!!!] sql_injection (Critical) [CWE-89]
Line 45: sql_injection vulnerability:
tainted data flows from line 12 to line 45
→ Fix: Use PreparedStatement with parameterized
queries instead of string concatenation
Found 1 security finding(s) in 1 file(s)
Scan code locally with Cognium Dev. Explore related tools for software verification and validation, agent-skill discovery, and structured specifications.
Open-source semantic security analysis for your code, terminal, CI, and AI agents.
Start your first scanVerify and validate software behavior against requirements, with supporting evidence for each finding.
Explore verification & validationDiscover agent skills and inspect their available security and trust information.
Browse agent skillsKeep requirements, design decisions, and tasks together in version-controlled Markdown.
Explore the formatContribute framework definitions, benchmark cases, editor integrations, and CI examples. MIT licensed and built in the open — jump into the community hub or head straight to Discussions.
Planning a contribution? Organize requirements and implementation plans with Specifica.