VulnParse-Pin configuration is split into three primary policy files.
src/vulnparse_pin/resources/config.yamlsrc/vulnparse_pin/resources/scoring.jsonsrc/vulnparse_pin/resources/tn_triage.jsonAt runtime, defaults are copied into the active app config area if user versions are missing.
config.yamlControls feed/cache and runtime data behavior.
Typical sections:
feed_cache.defaults.ttl_hourskev, epss, exploit_db, nvd_yearly, nvd_modified)feeds.nvd options such as enablement, year range, SQLite protectionsOperationally important fields:
scoring.jsonDefines scoring policy behavior, including:
Use this file to align risk output with your organization’s tolerance and remediation policy.
Finding Risk (Raw) is a composite finding-level score used for ranking findings/CVEs.Asset Risk Score is an aggregate over findings (currently max-based in policy).Current scoring model combines:
epss * scale, with epss_high / epss_medium multipliers)kev points * w_kev)exploit points * w_exploit)With default policy values, a finding can legitimately exceed 15 raw points. Example worst-case shape:
7.50.9417 * 10 * 0.96 = 9.046 * 1.2 = 7.27 * 1.37 = 9.59≈ 33.33max_raw_risk is used as a normalization divisor for operational score scaling; it does not hard-cap raw score itself.
Operational score is then clamped to max_operational_risk.
Validated final tuning (balanced exploit-first posture):
evidence_points.kev = 2.5bands.critical = 13.35weights.epss_high = 0.6weights.epss_medium = 0.4Observed behavior on representative large validation (100k OpenVAS regression sample):
High inflation)This profile is intended for teams that want strong prioritization of known-exploited risk while avoiding broad “everything is urgent” output.
VulnParse-Pin now uses a balanced, exploit-first risk model (validated on 100k+ record samples):
tn_triage.jsonControls TopN ranking and inference behavior:
raw and policy-driven options)k and decay configuration for top findings contributionThis file is where triage prioritization style is tuned.
Path and config directory behavior is resolved through src/vulnparse_pin/core/apppaths.py.