You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A fresh direct-develop PR run exposed a hard scanner false-negative mode that is distinct from both the protected Jackson dependency defect and the separate literal-source checkout defect.
On PR #192 exact source head 58e21a9bda5aa1fe3fa2654f1f70f6c45bd3bbfd, Security Scan run 31347862957, Trivy job 93333070855, checked out synthetic merge 910958c403635583ce2c353f04d033741cb6114e and printed:
WARN [pom] Dependency version cannot be determined. Child dependencies will not be found.
...
Trivy filesystem scan completed with 0 CRITICAL/HIGH/MEDIUM findings in trivy-results.sarif.
That integration tree still inherits Spring Boot dependency management from protected develop@622e5e6c3d534f230c390f10e3832efadfc01825; the root POM has no Jackson override. The currently reviewed FasterXML/GitHub advisory for CVE-2026-54515 states that com.fasterxml.jackson.core:jackson-databind versions >=2.19.0,<2.21.5 are affected and 2.21.5 is patched. The existing shared remediation #160 intentionally moves the 2.21 line to 2.21.5.
Earlier Trivy runs against the same protected dependency family reported the Jackson advisories, while this fresh run downloaded a new vulnerability DB and returned zero findings immediately after warning that BOM-managed child dependency versions could not be resolved. A green aggregate therefore cannot currently prove absence of vulnerable transitive Maven components.
Status: known_gap / read_only_dependency for the central scanner implementation; the mightyETL acceptance contract must fail closed locally rather than reinterpret this result as security proof.
RCA
Immediate cause: Trivy static filesystem POM analysis cannot determine one or more BOM-managed child dependency versions, but the workflow's hard findings gate evaluates only the resulting SARIF findings count.
Technical root cause: scanner-completeness evidence and vulnerability-findings evidence are conflated. 0 findings is treated as comprehensive even when the scanner itself says dependency resolution is incomplete.
Systemic/control cause: the central Security Scan has no repository-consumer invariant requiring Java/Maven dependency-resolution completeness before its Trivy result can qualify as a hard dependency/vulnerability gate.
Detection success: the Trivy warning and cross-run A/B behavior make the false-green mode observable; this issue records that warning as non-passing evidence rather than suppressing it.
Separate source-identity gap: this run also scans GitHub's synthetic PR merge, not literal source head. Fixing dependency completeness does not fix source identity, and vice versa.
Distinct remediation classes
Preferred central control-plane repair — read-only dependency for this writer
The separately leased ContextualWisdomLab/.github scanner should require a complete, identity-bound dependency input for Maven projects before declaring the hard dependency/vulnerability gate clean. Feasible implementation classes include, after current-tool verification:
build/resolve an exact-head Maven dependency graph or CycloneDX SBOM and scan that resolved artifact rather than relying only on static unresolved POM traversal;
make recognized Trivy Java/POM incomplete-resolution warnings hard failures unless an independently complete resolved dependency scanner on the same exact source revision succeeds;
combine static filesystem scanning with a deterministic resolved-dependency gate whose completeness can be machine-proven.
This mightyETL loop must not mutate central workflow code.
Repository-local acceptance control
Until the central repair integrates, mightyETL must classify a Trivy run containing Dependency version cannot be determined. Child dependencies will not be found. as incomplete / non-passing security evidence, even if the workflow aggregate is green. Do not merge/release by reinterpreting zero SARIF findings as comprehensive.
Reject
suppressing the warning;
adding a Trivy ignore for Jackson or changing severity to make the run look clean;
deleting/transitively excluding a dependency merely to satisfy static resolution;
treating Dependency Review, OSV, SBOM or another scanner as an automatic semantic substitute without proving complete same-revision coverage;
copying the central scanner into feature PRs to manufacture acceptable evidence.
Acceptance criteria
Close only when an unchanged accepted source revision proves:
Maven/BOM-managed runtime dependencies are completely resolved by at least one hard vulnerability-evidence path;
any incomplete-resolution warning from a hard scanner fails closed or is paired with an independently complete same-revision resolved dependency scan;
known-vulnerable fixture/dependency input produces a deterministic non-green result;
patched input produces zero accepted findings without incomplete-resolution warnings;
exact source identity is independently verified for the scanning input;
SBOM/dependency graph and vulnerability result bind to the same exact source head/artifact identity;
scanner DB/tool/action identities are recorded and immutably versioned according to repository policy;
documentation/test strategy/traceability state that 0 findings plus incomplete resolution is not clean evidence;
current review and protected merge/release governance remain unchanged.
Current product implication
#160 remains a valid shared dependency-remediation candidate; its necessity must be decided from resolved dependency/advisory evidence, not from the incomplete Trivy false-green above. #162/#164 separately owns non-vacuous code coverage, and #121/central scanner work separately owns literal-source identity. These are independent evidence dimensions and none may substitute for another.
Security-evidence defect
A fresh direct-
developPR run exposed a hard scanner false-negative mode that is distinct from both the protected Jackson dependency defect and the separate literal-source checkout defect.On PR #192 exact source head
58e21a9bda5aa1fe3fa2654f1f70f6c45bd3bbfd, Security Scan run31347862957, Trivy job93333070855, checked out synthetic merge910958c403635583ce2c353f04d033741cb6114eand printed:That integration tree still inherits Spring Boot dependency management from protected
develop@622e5e6c3d534f230c390f10e3832efadfc01825; the root POM has no Jackson override. The currently reviewed FasterXML/GitHub advisory for CVE-2026-54515 states thatcom.fasterxml.jackson.core:jackson-databindversions>=2.19.0,<2.21.5are affected and 2.21.5 is patched. The existing shared remediation #160 intentionally moves the 2.21 line to 2.21.5.Earlier Trivy runs against the same protected dependency family reported the Jackson advisories, while this fresh run downloaded a new vulnerability DB and returned zero findings immediately after warning that BOM-managed child dependency versions could not be resolved. A green aggregate therefore cannot currently prove absence of vulnerable transitive Maven components.
Status:
known_gap / read_only_dependencyfor the central scanner implementation; the mightyETL acceptance contract must fail closed locally rather than reinterpret this result as security proof.RCA
0 findingsis treated as comprehensive even when the scanner itself says dependency resolution is incomplete.Distinct remediation classes
Preferred central control-plane repair — read-only dependency for this writer
The separately leased
ContextualWisdomLab/.githubscanner should require a complete, identity-bound dependency input for Maven projects before declaring the hard dependency/vulnerability gate clean. Feasible implementation classes include, after current-tool verification:This mightyETL loop must not mutate central workflow code.
Repository-local acceptance control
Until the central repair integrates, mightyETL must classify a Trivy run containing
Dependency version cannot be determined. Child dependencies will not be found.as incomplete / non-passing security evidence, even if the workflow aggregate is green. Do not merge/release by reinterpreting zero SARIF findings as comprehensive.Reject
Acceptance criteria
Close only when an unchanged accepted source revision proves:
0 findingsplus incomplete resolution is not clean evidence;Current product implication
#160 remains a valid shared dependency-remediation candidate; its necessity must be decided from resolved dependency/advisory evidence, not from the incomplete Trivy false-green above. #162/#164 separately owns non-vacuous code coverage, and #121/central scanner work separately owns literal-source identity. These are independent evidence dimensions and none may substitute for another.
Primary references
>=2.19.0,<2.21.5; patched 2.21.5. GHSA-5jmj-h7xm-6q6vRelationships: #160 Jackson fixed baseline; #121 literal-source controls; #162/#164 coverage non-vacuity; #159 canonical documentation/evidence semantics.