Build1 distinct publisher3 min readUpdated
ONUS routes five numeric fields through one deterministic function and leaves its local Qwen 7B to write prose. The case for that line is a failure-mode argument, not a trust one.
The Engineer · Build desk
Compiled by The EngineerSomething wrong?How this is made
A severity label in a remediation queue is a decision record. Someone decided this finding waits until next sprint, and the number is the reason on file. If a language model produced that number, there is nothing to re-run when the decision is questioned later: the model may have been a different version, prompted differently, or unreachable and replaced by whatever stood in for it.
ONUS answers by naming the fields the model may not write. CVSS score, CVSS vector, severity, priority and aggregate risk score all come from a deterministic formula, so that running the same scan twice yields byte-identical numbers [3]. That is five scored fields walled off from the prose layer [16]. Every one of them traces to a single function [4], which is what makes the guarantee checkable rather than aspirational: a pure function, cvss_scorer.py::score_finding(), can be asserted against known CVSS vectors in a unit test [9]. There is no equivalent assertion available for "the model rated this Medium", because that output moves with the prompt, the model version, and whether the model answered at all [10].
The asymmetry cuts both ways. The 690 tests, with CVSS vector validation as an ongoing category [7], sit on the deterministic side of the line. The prose the operator actually reads sits on the other side, where by the write-up's own reasoning no comparable test can be written [10]. A correct High attached to a thin explanation still gets scheduled badly. The write-up says prose quality degrades when the local model is slow or unreachable while the numbers hold [5]; it does not describe any marker telling the reader which paragraphs came out degraded.
Provenance matters here, so state it plainly: this is the tool's author writing about his own tool, built and validated as a supervised project for the IIT Kanpur Computer Centre under Navpreet Singh before it was open-sourced [12]. The write-up does at least decline the usual currency, explicitly setting aside GitHub stars, scan counts and a listing in OWASP's vulnerability scanning tools directory as evidence that an architecture is sound [13].
The surrounding machinery is ordinary enough to make the design portable: eight modules in parallel, deduplication, passive re-verification, scoring against the official CVSS v3.1 formula, then a PDF and a live dashboard [14]. Every scanning tool it orchestrates is open source, so licensing cost is zero [15]. None of that is the interesting part. The interesting part is whether the scoring path in a given pipeline is reachable from the prompt path at all. If a model can edit a scored field, every assertion about that field expires the next time the model is upgraded, and the queue built on those fields stops being a record of the target's state and becomes a record of what one checkpoint said on one day.
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
ONUS's project report states as a core design objective that every numeric score in the final report (CVSS score, CVSS vector, severity, priority, aggregate risk score) must come from a deterministic formula and never from the language model, so that running the same scan twice produces byte-identical numbers.
ONUS's validation found that every scored field traces to a single function, so re-running a scan against an unchanged target reproduces identical numbers.
ONUS's test suite contains 690 tests as of the write-up, and validating the CVSS formula against known vectors is one specific, ongoing test category within it.
The test count cited in the write-up was independently verified against the live repository.
Every VAPT report ends in a handful of numbers: a CVSS score, a severity label, a priority rank, sometimes an aggregate risk score, and those are the numbers a remediation team acts on when deciding what gets patched this sprint and what waits.
ONUS is an open-source, self-hosted DAST (dynamic application security testing) platform.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Specific and partly checkable, but single-source and self-authored
The claims are unusually concrete for a self-published project write-up: a named pure function (cvss_scorer.py::score_finding()), an explicit list of five fields barred from the model, an ordering guarantee that scoring completes before LLM invocation, and a 690-test suite with CVSS-vector validation as a named category that the author says was independently verified against the live repository. Against that, the cluster contains exactly one item, written by the system's builder, and the behavioral results -- identical numbers on re-run, prose-only degradation under model outage -- are attributed to ONUS's internal project report and development-time scan data with no published dataset, harness output or third-party replication. The prompt-injection benefit is explicitly flagged as untested.
Open-sourced with one named institutional origin; no usage figures disclosed
Adoption signals in the supplied material are thin and mostly withheld by choice. ONUS exists publicly as an open-source, self-hosted release with a repository and project site, has one named institutional setting (the IIT Kanpur Computer Centre project it originated as), and appears in OWASP's Vulnerability Scanning Tools directory. The author explicitly declines to report GitHub stars, scan counts or any deployment tally, so there is no evidence of third-party operators running it, and no way to distinguish availability from uptake.
Slightly understated: claims scoped narrower than the evidence offered
The write-up argues against its own promotional signals, discarding stars, scan counts and a directory listing, scopes its thesis to a failure-mode argument rather than a trust or accuracy claim, and marks the prompt-injection benefit as outside what the project set out to test. That is the opposite of overreach. A small positive pull remains because 'validation confirms the design held in practice' is presented as a settled result on the strength of an internal report alone, and because determinism of the scoring function says nothing about whether the underlying findings or their CVSS vectors are correct -- a distinction the framing leaves implicit. Net: modestly understated.
Author is the project's builder, self-publishing about his own tool
The piece is written by the person who built and open-sourced ONUS and is publishing it on a developer platform under his own byline, so there is a clear reputational and project-promotion interest, reinforced by the disclosed academic provenance under a named supervisor. Mitigating factors keep this below the high band: the project is open-source and free with no pricing or licensing revenue at stake, the author discloses his authorship and supervision up front, and he pre-emptively rejects the traction metrics that would most benefit him. No sponsor, vendor funding or commercial counterparty appears in the supplied material.
Moderate-low: coherent, specific, but unreplicated and single-publisher
Confidence is held down by structure rather than by contradiction: nothing in the cluster disputes the account, but nothing corroborates it either, since there is one source and its author is the builder. The architectural claims are internally consistent and specific enough to be falsified by inspecting the repository, and one figure was independently checked, which supports moderate confidence in the design description. Confidence in the operational results -- byte-identical re-runs and prose-only degradation under outage -- is materially lower, and adoption beyond the originating deployment is unknown by the author's own choice.
build
The flash_attn error in llama.cpp is a layout constraint, and it decides your context window1 distinct publisher
security
A volunteer SOC for 45,000 water systems: what the Water Watch Center asks of operators1 distinct publisher
build
An AI reviewer called injectable SQL safe because it could not read the helper1 distinct publisher
build
Qwen 3.8's Apache-licensed 27B is the one you can actually own, and its KV cache is why1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 22, 2026