Security tools are easy to run.
What’s hard is making sense of their output.
If you’ve ever tried combining results from multiple scanners, you already know the problem:
duplicated findings inconsistent severity models noisy reports no clear way to prioritize risk
Signal Engine 0.3.0 is a step toward fixing that.
Not by adding more scanners — but by turning raw findings into something you can actually reason about.
At the core of this release is one fundamental change: signal engine now speaks SARIF natively.
This means it can ingest results from tools like:
All normalized into a consistent internal model.
Different tools. Different formats. One pipeline.
Running multiple tools usually creates overlap. Same issue. Slightly different location. Different tool.
Before 0.3.0, that noise was your problem. Now it’s handled by the engine.
A new dedup command introduces proximity-based deduplication, powered by a
clustering algorithm that groups findings within a configurable line threshold.
This is not string matching. This is context-aware deduplication.
Because in real codebases, the same vulnerability rarely appears exactly on the same line.
The new smart_cluster algorithm changes how findings are interpreted.
Instead of treating each issue as isolated, Signal Engine groups them into clusters of related risk.
This enables:
It’s the difference between:
“You have 37 issues”
and
“You have 3 risky zones in your codebase”
One of the most important additions in this release is the hotspots command.
It introduces a simple but powerful idea: risk is not just severity; it’s density.
Signal Engine now calculates a risk score per 1000 lines of code, combining:
This surfaces the areas where:
Not all files are equal. Now you can see which ones matter.
Severity is no longer just a label.
It’s now part of a weighted scoring model:
This feeds directly into hotspot detection and analytics. A single critical issue is not the same as ten informational warnings, and your tooling should reflect that.
Real-world tool output is messy.
This release improves ingestion across the board:
runs[])In short: less preprocessing, more analysis.
Signal Engine is still a CLI tool — but now it’s one you actually want to use.
The goal wasn’t aesthetics. It was readability under pressure.
A lot changed to support this direction:
Less duplication. More coherence.
Signal Engine is evolving toward a clear goal: make multi-tool security analysis understandable.
Not louder. Not bigger. Sharper.