Case 01 · CVE triage
Is Log4Shell worth patching?
Memory knows CVSS is 10.0. It does not know whether anyone is actually using it. The index does.
CVE-2021-44228 CRIT 10.0 KEV epss 1.00 ssvc=active
affects apache:log4j >=2.0.1 <2.3.1, >=2.13.0 <2.15.0 ...
KEV added 2021-12-10 ransomware=Known
Exploit-DB (3) Nuclei (44) Metasploit (4)
- crowbar returns
- The exploitation signals, the affected ranges and the count of existing proof-of-concept code.
- You get
- That it is being exploited, that the fix is 2.17.1 or later, and that the rows say nothing about your own host.
The order matters. KEV leads, EPSS follows, CVSS is read last as the impact if it lands.
Case 02 · Applicability
Which nginx CVEs affect 1.18.0?
The same product, the same question, and a list two hundred entries shorter.
$ crowbar search --product nginx
412 CVEs mention nginx
nginx 1.14.0 CRIT 7.5
nginx 1.17.0 HIGH 6.1
nginx 1.20.0 MED 4.3
… every version in the index
$ crowbar product nginx --version 1.18.0
2 real hits (version-matched)
CVE-2021-23017 HIGH 7.7 epss 0.53
matched f5:nginx >=0.6.18 <1.20.1
CVE-2019-15517 MED 5.5
matched jc21:nginx_proxy_manager <2.0.13
Each row carries the range that matched, so the agent can show its work and you can check it.
See the ranking rule
Rows are ordered by KEV, then SSVC exploitation state, then EPSS, then whether a working exploit exists. CVSS is included, but it never decides the order on its own.
Case 03 · Ecosystems
Which lodash version fixed the prototype pollution?
Package advisories carry the range that introduced the problem and the version that fixed it, so the answer can name the upgrade.
GHSA-jf85-cpcp-j695 prototype pollution in lodash
range introduced 0.0.0 fixed 4.17.12
GHSA-p6mc-m468-83gw lodash.set prototype pollution
range introduced 0.0.0 fixed 4.17.17
The same advisory ids travel with the CVE record, so a triage answer and a package answer never disagree.
Case 04 · Proof of concept
Is there public exploit code for this?
Search by CVE, by description, or by a fragment of the code itself. Crowbar hands over the source; it never runs it.
data/exploitdb/full/.../50592.java
… Payload.createBase64("ldap://…/Exploit") …
… new JndiLookupHandler().lookup(…) …
The Nuclei templates and Metasploit modules for the same CVE are one command away, and public repository metadata is indexed too, so an agent can point at a reproduction without cloning anything.
Treat every downloaded exploit as untrusted code. Use a disposable VM.