Progmune vs Semgrep: complementary, not competing
Last verified: 2026-09 · Facts about third-party tools are checked quarterly.
Quick comparison
| Dimension | Semgrep | Progmune |
|---|---|---|
| Core model | Pattern matching (trees), rules, taint mode, cross-file analysis | Deterministic protocol state machine over cross-function call sequences |
| What it catches | Known vulnerability patterns, dangerous sinks, tainted data reaching sinks, custom rule violations | Sequence-level lifecycle violations: missing handshake steps, unauthenticated session handling, payment confirmation without signature verification, unreleased resources |
| What it does NOT catch | Protocol temporal constraints (e.g., "must verify before confirm") — no state-machine semantics | Pattern-based vulnerabilities (SQLi, XSS patterns), CVE-level dependency issues |
| Determinism | Deterministic | Deterministic — an LLM never judges; outputs evidence chain |
| Languages | 30+ languages, no build step for most | TypeScript / Python production; C / Go annotation-driven Beta; Java in progress; 12 framework adapters |
| Generation-time interception | No | Yes — code generated through Progmune is validated before it lands on disk |
| Open source | OSS engine (LGPL), paid cloud platform | MIT; code stays local; masked fingerprints upload by default (opt-out) |
| Positioning | Used widely as a CI gate | Auxiliary checker — evidence for human review, not a deployment gate |
| Typical setup | CLI + CI + cloud dashboards, minutes | npm i progmune-runtime, one command, minutes |
Who should use which
Semgrep fits you if
You want fast, rule-based checks across many languages, quick custom rules, taint detection, or a mature CI gate with a rules ecosystem.
Progmune fits you if
Your team generates code with AI and wants lifecycle/sequence verification — proof that auth flows, payments, and resource handling follow valid protocol state machines — plus generation-time interception.
Bottom line: choose Semgrep for pattern-level findings at scale; choose Progmune for protocol-lifecycle verification as auxiliary evidence. Most teams serious about AI-generated code use both, since each is blind to the other's failure class.
Using both together
A pragmatic setup: keep Semgrep as your rule-based CI gate. Add Progmune alongside it as an auxiliary check — npm run trust -- --project . --json in the same pipeline, or via MCP in Claude Code — and enable generation-time interception for agent-produced code. Semgrep reports the pattern violations; Progmune reports the lifecycle violations with an evidence chain.
中文版
| 维度 | Semgrep | Progmune |
|---|---|---|
| 核心模型 | 模式匹配(树匹配)、规则、污点模式、跨文件分析 | 确定性协议状态机,作用于跨函数调用序列 |
| 能抓住 | 已知漏洞模式、危险 sink、污点数据到达 sink、自定义规则违规 | 序列级生命周期违规:握手步骤缺失、未认证会话处理、支付确认前未验签、资源未释放 |
| 抓不住 | 协议时序约束(如「确认前必须验签」)——无状态机语义 | 模式级漏洞(SQLi/XSS 模式)、依赖级 CVE |
| 确定性 | 确定性 | 确定性——LLM 不参与裁决,输出证据链 |
| 语言 | 30+ 语言,多数无需构建 | TS/Python 生产级;C/Go 注解驱动 Beta;Java 进行中;12 个框架适配器 |
| 生成时拦截 | 无 | 有——经 Progmune 生成的代码落盘前完成校验 |
| 开源 | 引擎开源(LGPL),云平台付费 | MIT;代码完全本地;脱敏指纹默认匿名上报(可关闭) |
| 定位 | 广泛用作 CI 门禁 | 辅助检查器——供人工审查的证据,非部署门禁 |
| 接入成本 | CLI + CI + 云端面板,分钟级 | npm i progmune-runtime,一条命令,分钟级 |
Semgrep 适合你,如果
你想要跨多语言的快速规则检查、快速自定义规则、污点检测,或成熟规则生态的 CI 门禁。
Progmune 适合你,如果
你的团队用 AI 产码,需要生命周期/序列验证——证明认证流、支付与资源处理遵循有效协议状态机——以及生成时拦截。
结论:大规模模式级发现选 Semgrep;协议生命周期验证作为辅助证据选 Progmune。认真对待 AI 代码的团队通常两者都用——彼此对对方的故障类别都是盲区。