@@ -6,35 +6,104 @@ these commits as current-state evidence.
66
77## Continued delivery after the initial audit
88
9- The baseline below is historical evidence from before the implementation work;
10- its statements about absent adapters/repositories are superseded by this section.
11- The initial 48-repository inventory is preserved rather than rewritten as a live
12- claim. New OCI inventory and report bridge repositories are optional support.
13-
14- - vm2 source inspection and simple-git dependency/source adapters are merged;
15- subsequent Copilot-reviewed line-ending/arrow-regex corrections are merged at
16- vm2 ` 57c2448c32d82894d3ddd1af1b184436d97ddf3e ` and simple-git
17- ` 38d2ae97b73d00992c979ba92800434e3f4cb3bd ` . Hosted merge-commit checks passed.
18- - Sharp's package/SBOM/ELF/source adapters are merged in [ PR #10 ] ( https://github.com/CompleTetech-Security/sharp-rsvg-rce-check/pull/10 )
19- at ` 7da460876c45a5304041ca20ef1b540021c0d06e ` ; [ all six merge-commit jobs passed] ( https://github.com/CompleTetech-Security/sharp-rsvg-rce-check/actions/runs/40244824335 ) .
20- A namespaced-SBOM identity follow-up is [ PR #11 ] ( https://github.com/CompleTetech-Security/sharp-rsvg-rce-check/pull/11 ) , still under review.
21- - CopyEscape workflow/export adapters, OCI archive/SBOM inventory, SARIF/NDJSON
22- conversion, Atlassian version-file/confidence and Flowise deployment grouping
23- are implemented in separate open PRs; tests and Copilot remediation continue.
24- - [ Optional TUF verification PR #21 ] ( https://github.com/CompleTetech-Security/node2shell-check/pull/21 )
25- tests synthetic publisher trust, expiration, rotation and rollback separately
26- from the checker. No production trust root, hosted feed or automatic rule
27- application is provisioned. Production publisher custody remains outstanding.
28- - [ Node metadata PR #22 ] ( https://github.com/CompleTetech-Security/node2shell-check/pull/22 )
29- adds optional builtin capability and npm declaration context without changing
30- the legacy collector or treating API availability as an advisory precondition.
31- - The [ Node advisory matrix] ( NODE_ADVISORY_MATRIX.md ) maps all 21 named July/October
32- CVEs. The [ edge matrix] ( EDGE_ADVISORY_MATRIX.md ) reconciles all 17 actual CSV and
33- configuration paths and links 15 separate dated-KEV metadata PRs under review.
34-
35- A requested Copilot review is not a completed review. Local tests, hosted tests,
36- Copilot findings, merge state and production trust are tracked separately. Open
37- issues are closed only after their implemented scope is reviewed and merged.
9+ Delivery receipt updated ** 2026-10-26 UTC** (October 25 in America/New_York).
10+ The initial 48-repository audit below is historical. Its missing-adapter and
11+ missing-repository statements are superseded by this delivery section. Two new
12+ optional support repositories bring the current family inventory to 50.
13+
14+ Implemented and merged with GitHub Copilot review and passing hosted checks:
15+
16+ - All 17 edge checkers' actual CSV/configuration paths are reconciled in the
17+ [ edge matrix] ( EDGE_ADVISORY_MATRIX.md ) . Fifteen separate metadata PRs add dated
18+ KEV fields; the two initial NetScaler tools already had dated threat metadata.
19+ The full pinned CISA catalog digest, CVE presence/absence and listing dates
20+ were checked independently. No threshold changes or target scans were made.
21+ - The [ Node matrix] ( NODE_ADVISORY_MATRIX.md ) maps all 21 named July/October CVEs
22+ to separate checkers. [ Optional Node metadata] ( NODE_METADATA.md ) reports
23+ builtin capability shape and npm engine declarations; neither establishes
24+ application use, reachability, installed runtime identity or advisory exposure.
25+ - Sharp adds npm/SBOM metadata, bounded ELF observations and lexical SVG/source
26+ mitigation candidates. Namespaced SBOM packages cannot impersonate unscoped
27+ packages. vm2 and simple-git add bounded dependency/source candidates, with
28+ line-ending and arrow-regex corrections. These are syntax hints, not taint
29+ analysis or proof of runtime behavior.
30+ - CopyEscape adds Docker export observations and bounded shell/YAML copy-command
31+ candidates. Unsupported syntax emits unresolved coverage. Export input-slot
32+ identities do not encode absolute paths; argument order matters for comparison.
33+ - Atlassian adds explicit local version files, evidence confidence and input
34+ ordinals. Files are independent observations; conflicts within a file remain
35+ unknown. Flowise adds allowlisted deployment/owner/package metadata and
36+ independent instance grouping. Unverified deployment exports remain unknown,
37+ including affected-range versions; ` --fail-on-finding ` does not flag unknowns.
38+ - [ OCI inventory] ( https://github.com/CompleTetech-Security/oci-runtime-inventory )
39+ parses bounded local archives/SBOMs without extraction or execution, preserving
40+ provenance and incomplete coverage. Its consumer profiles use actual checker
41+ input contracts and retain unverified build provenance. Docker config identity
42+ does not authenticate supplied layers or attest a running image.
43+ - [ Result bridge] ( https://github.com/CompleTetech-Security/scan-results-bridge )
44+ converts explicit versioned canonical/legacy reports to SARIF/NDJSON, retaining
45+ unknown/not_tested, completion, conflicts and observation counts. Relative
46+ source paths require opt-in; privacy hashes remain linkable and guessable.
47+ - [ Optional offline TUF verification] ( ../tools/signed_rules/README.md ) is merged
48+ in [ PR #21 ] ( https://github.com/CompleTetech-Security/node2shell-check/pull/21 ) .
49+ Real synthetic signatures test expiry, rotation/revocation, rollback and
50+ protected output separately from the standalone core. This authenticates a
51+ local artifact for subsequent review/release preparation; it does not install
52+ rules automatically or provision a hosted feed.
53+
54+ ** Remaining:** [ #13 ] ( https://github.com/CompleTetech-Security/node2shell-check/issues/13 )
55+ requires production publisher custody, an independently distributed public trust
56+ root and an authenticated release/feed channel with recovery ownership. The
57+ recommendation is an offline Ed25519 2-of-3 root with separate release-role keys.
58+ No production keys or feed are provisioned. Keep the parent #2 open for that work.
59+ Other child implementation scopes are fulfilled by the merged work and matrices;
60+ this documentation does not assert production deployment or assessment.
61+
62+ Local suites on the final implementations: Node2Shell/metadata 65, optional TUF
63+ 13, Sharp 73, vm2 31, simple-git 32, CopyEscape 78, Atlassian 58, Flowise 70,
64+ OCI 19 and bridge 13. Platform skips are reported by each suite. The two initial
65+ NetScaler suites also pass locally (52 and 64). All 15 KEV-update suites passed
66+ locally with 40–72 cases each. Bridge output passed five variants against the
67+ vendored official OASIS SARIF schema. No real targets were assessed.
68+
69+ Copilot's hosted findings and independent CLI reviews informed fixes. The hosted
70+ review quota was exhausted during final revisions; completed Copilot CLI reviews
71+ provided the remaining review receipts. Review scope is recorded in each PR;
72+ reviewers did not execute tests. Local checks, exact-head hosted checks, actual
73+ merge-commit checks and production trust are separate evidence.
74+
75+ ### Actual merge-commit CI receipts
76+
77+ Every job below completed successfully on the listed default-branch commit,
78+ not only on its pre-merge PR head. Node2Shell has six core and six optional TUF
79+ jobs; each other listed repository has six Linux/Windows/macOS jobs.
80+
81+ | Repository | Default-branch delivery commit | Hosted merge-commit checks |
82+ | --- | --- | --- |
83+ | [ atlassian-cve-2026 -21589-check] ( https://github.com/CompleTetech-Security/atlassian-cve-2026-21589-check ) | [ ` d729faa6d81f1e010f739d61aa6fb5355f7517f9 ` ] ( https://github.com/CompleTetech-Security/atlassian-cve-2026-21589-check/commit/d729faa6d81f1e010f739d61aa6fb5355f7517f9 ) | [ 6 passed] ( https://github.com/CompleTetech-Security/atlassian-cve-2026-21589-check/actions/runs/40250003806 ) |
84+ | [ beyondtrust-remote-support-cve-2026 -102764-check] ( https://github.com/CompleTetech-Security/beyondtrust-remote-support-cve-2026-102764-check ) | [ ` 221fbffbbd4347cade806f9f70a2253303f016ff ` ] ( https://github.com/CompleTetech-Security/beyondtrust-remote-support-cve-2026-102764-check/commit/221fbffbbd4347cade806f9f70a2253303f016ff ) | [ 6 passed] ( https://github.com/CompleTetech-Security/beyondtrust-remote-support-cve-2026-102764-check/actions/runs/40249630072 ) |
85+ | [ copyescape-check] ( https://github.com/CompleTetech-Security/copyescape-check ) | [ ` 2b73e559dcc0ab5a4183008410c4eb9fd78715ab ` ] ( https://github.com/CompleTetech-Security/copyescape-check/commit/2b73e559dcc0ab5a4183008410c4eb9fd78715ab ) | [ 6 passed] ( https://github.com/CompleTetech-Security/copyescape-check/actions/runs/40250065787 ) |
86+ | [ flowise-cve-2026 -69254-check] ( https://github.com/CompleTetech-Security/flowise-cve-2026-69254-check ) | [ ` 4cbf661bcb148cf132b4cd38635f2bd453da2961 ` ] ( https://github.com/CompleTetech-Security/flowise-cve-2026-69254-check/commit/4cbf661bcb148cf132b4cd38635f2bd453da2961 ) | [ 6 passed] ( https://github.com/CompleTetech-Security/flowise-cve-2026-69254-check/actions/runs/40250011163 ) |
87+ | [ fortimail-cve-2026 -104286-check] ( https://github.com/CompleTetech-Security/fortimail-cve-2026-104286-check ) | [ ` 9cdca2e3851d89502bdc30b7ae53b9ac0622a91c ` ] ( https://github.com/CompleTetech-Security/fortimail-cve-2026-104286-check/commit/9cdca2e3851d89502bdc30b7ae53b9ac0622a91c ) | [ 6 passed] ( https://github.com/CompleTetech-Security/fortimail-cve-2026-104286-check/actions/runs/40249104350 ) |
88+ | [ ivanti-connect-secure-cve-2026 -104935-check] ( https://github.com/CompleTetech-Security/ivanti-connect-secure-cve-2026-104935-check ) | [ ` 810cd49573a6ef73b76bca28b9f62993549539c6 ` ] ( https://github.com/CompleTetech-Security/ivanti-connect-secure-cve-2026-104935-check/commit/810cd49573a6ef73b76bca28b9f62993549539c6 ) | [ 6 passed] ( https://github.com/CompleTetech-Security/ivanti-connect-secure-cve-2026-104935-check/actions/runs/40249640225 ) |
89+ | [ netscaler-cve-2026 -19489-check] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-19489-check ) | [ ` e74795c6d4d113f5e0d60aad318b73f3562997e7 ` ] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-19489-check/commit/e74795c6d4d113f5e0d60aad318b73f3562997e7 ) | [ 6 passed] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-19489-check/actions/runs/40249092298 ) |
90+ | [ netscaler-cve-2026 -19490-check] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-19490-check ) | [ ` 31f088d1d14ee5527b1401931f64025178b5f4c2 ` ] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-19490-check/commit/31f088d1d14ee5527b1401931f64025178b5f4c2 ) | [ 6 passed] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-19490-check/actions/runs/40249635376 ) |
91+ | [ netscaler-cve-2026 -88773-check] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-88773-check ) | [ ` 08d1907c825cbdb8eb98538444e56b41264aef91 ` ] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-88773-check/commit/08d1907c825cbdb8eb98538444e56b41264aef91 ) | [ 6 passed] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-88773-check/actions/runs/40249086762 ) |
92+ | [ netscaler-cve-2026 -88774-check] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-88774-check ) | [ ` 36e3f129f33153d241830be42e3f0b40a8140c92 ` ] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-88774-check/commit/36e3f129f33153d241830be42e3f0b40a8140c92 ) | [ 6 passed] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-88774-check/actions/runs/40249081563 ) |
93+ | [ netscaler-cve-2026 -88775-check] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-88775-check ) | [ ` 77404ae39999875528c478b6cb69c6f5b2dfb355 ` ] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-88775-check/commit/77404ae39999875528c478b6cb69c6f5b2dfb355 ) | [ 6 passed] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-88775-check/actions/runs/40249076566 ) |
94+ | [ netscaler-cve-2026 -88776-check] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-88776-check ) | [ ` bd2c814e372178c6b36ea913427e0c270a0ae33b ` ] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-88776-check/commit/bd2c814e372178c6b36ea913427e0c270a0ae33b ) | [ 6 passed] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-88776-check/actions/runs/40249070881 ) |
95+ | [ netscaler-cve-2026 -88777-check] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-88777-check ) | [ ` 7ed1bec538682daf14468fead12e6e4f43b93780 ` ] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-88777-check/commit/7ed1bec538682daf14468fead12e6e4f43b93780 ) | [ 6 passed] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-88777-check/actions/runs/40249065579 ) |
96+ | [ netscaler-cve-2026 -88778-check] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-88778-check ) | [ ` a4a5123c137c09b48c599a98857a47a1bcf2bcb1 ` ] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-88778-check/commit/a4a5123c137c09b48c599a98857a47a1bcf2bcb1 ) | [ 6 passed] ( https://github.com/CompleTetech-Security/netscaler-cve-2026-88778-check/actions/runs/40249059659 ) |
97+ | [ node2shell-check] ( https://github.com/CompleTetech-Security/node2shell-check ) | [ ` 5bfd4caee620543889e11c4b6c3af7a0e57a1965 ` ] ( https://github.com/CompleTetech-Security/node2shell-check/commit/5bfd4caee620543889e11c4b6c3af7a0e57a1965 ) | [ 12 passed] ( https://github.com/CompleTetech-Security/node2shell-check/actions/runs/40250130777 ) |
98+ | [ oci-runtime-inventory] ( https://github.com/CompleTetech-Security/oci-runtime-inventory ) | [ ` f04bc7a5729e26dc9c067b0d610e35cd51633435 ` ] ( https://github.com/CompleTetech-Security/oci-runtime-inventory/commit/f04bc7a5729e26dc9c067b0d610e35cd51633435 ) | [ 6 passed] ( https://github.com/CompleTetech-Security/oci-runtime-inventory/actions/runs/40250072619 ) |
99+ | [ scan-results-bridge] ( https://github.com/CompleTetech-Security/scan-results-bridge ) | [ ` a9bd1b7af01d2cbde8c8923da9bd96021a3adab7 ` ] ( https://github.com/CompleTetech-Security/scan-results-bridge/commit/a9bd1b7af01d2cbde8c8923da9bd96021a3adab7 ) | [ 6 passed] ( https://github.com/CompleTetech-Security/scan-results-bridge/actions/runs/40249851847 ) |
100+ | [ sharp-rsvg-rce-check] ( https://github.com/CompleTetech-Security/sharp-rsvg-rce-check ) | [ ` b4283ed0deb12e7b0568ff3c4b232f96935dfe4a ` ] ( https://github.com/CompleTetech-Security/sharp-rsvg-rce-check/commit/b4283ed0deb12e7b0568ff3c4b232f96935dfe4a ) | [ 6 passed] ( https://github.com/CompleTetech-Security/sharp-rsvg-rce-check/actions/runs/40249169474 ) |
101+ | [ simplegit-rce-check] ( https://github.com/CompleTetech-Security/simplegit-rce-check ) | [ ` 38d2ae97b73d00992c979ba92800434e3f4cb3bd ` ] ( https://github.com/CompleTetech-Security/simplegit-rce-check/commit/38d2ae97b73d00992c979ba92800434e3f4cb3bd ) | [ 6 passed] ( https://github.com/CompleTetech-Security/simplegit-rce-check/actions/runs/40244875480 ) |
102+ | [ sonicwall-sma1000-cve-2026 -102255-check] ( https://github.com/CompleTetech-Security/sonicwall-sma1000-cve-2026-102255-check ) | [ ` fb2c56c690f03b0cd35208a7a916944f1635f592 ` ] ( https://github.com/CompleTetech-Security/sonicwall-sma1000-cve-2026-102255-check/commit/fb2c56c690f03b0cd35208a7a916944f1635f592 ) | [ 6 passed] ( https://github.com/CompleTetech-Security/sonicwall-sma1000-cve-2026-102255-check/actions/runs/40249098500 ) |
103+ | [ sonicwall-sma1000-cve-2026 -102256-check] ( https://github.com/CompleTetech-Security/sonicwall-sma1000-cve-2026-102256-check ) | [ ` 79b125a99fd8308c47703823543c2c462a4b5206 ` ] ( https://github.com/CompleTetech-Security/sonicwall-sma1000-cve-2026-102256-check/commit/79b125a99fd8308c47703823543c2c462a4b5206 ) | [ 6 passed] ( https://github.com/CompleTetech-Security/sonicwall-sma1000-cve-2026-102256-check/actions/runs/40249054122 ) |
104+ | [ sonicwall-sma1000-cve-2026 -102257-check] ( https://github.com/CompleTetech-Security/sonicwall-sma1000-cve-2026-102257-check ) | [ ` 8e4d0af8dba5a7ff0bfa97c78ffe67cd8fa0bf31 ` ] ( https://github.com/CompleTetech-Security/sonicwall-sma1000-cve-2026-102257-check/commit/8e4d0af8dba5a7ff0bfa97c78ffe67cd8fa0bf31 ) | [ 6 passed] ( https://github.com/CompleTetech-Security/sonicwall-sma1000-cve-2026-102257-check/actions/runs/40249048581 ) |
105+ | [ sonicwall-sma1000-cve-2026 -102258-check] ( https://github.com/CompleTetech-Security/sonicwall-sma1000-cve-2026-102258-check ) | [ ` f511b0a2f507777084a1f3322ff07e16ee02a7cb ` ] ( https://github.com/CompleTetech-Security/sonicwall-sma1000-cve-2026-102258-check/commit/f511b0a2f507777084a1f3322ff07e16ee02a7cb ) | [ 6 passed] ( https://github.com/CompleTetech-Security/sonicwall-sma1000-cve-2026-102258-check/actions/runs/40249043155 ) |
106+ | [ vm2-nesting-check] ( https://github.com/CompleTetech-Security/vm2-nesting-check ) | [ ` 57c2448c32d82894d3ddd1af1b184436d97ddf3e ` ] ( https://github.com/CompleTetech-Security/vm2-nesting-check/commit/57c2448c32d82894d3ddd1af1b184436d97ddf3e ) | [ 6 passed] ( https://github.com/CompleTetech-Security/vm2-nesting-check/actions/runs/40244871958 ) |
38107
39108## Initial audit: what was verified
40109
@@ -133,9 +202,9 @@ are repository build/test evidence only. No live targets were scanned.
133202| [ tinypool-options-rce-check] ( https://github.com/CompleTetech-Security/tinypool-options-rce-check ) | [ ` 9b603d37d15f259189a3df030a7d210366aec9b8 ` ] ( https://github.com/CompleTetech-Security/tinypool-options-rce-check/commit/9b603d37d15f259189a3df030a7d210366aec9b8 ) | [ passed] ( https://github.com/CompleTetech-Security/tinypool-options-rce-check/actions/runs/40111902229 ) |
134203| [ vm2-nesting-check] ( https://github.com/CompleTetech-Security/vm2-nesting-check ) | [ ` 575ea16f8763f27a6e58dd708f46fe26112ea701 ` ] ( https://github.com/CompleTetech-Security/vm2-nesting-check/commit/575ea16f8763f27a6e58dd708f46fe26112ea701 ) | [ passed] ( https://github.com/CompleTetech-Security/vm2-nesting-check/actions/runs/40111911270 ) |
135204
136- ## Continuing delivery
205+ ## Future delivery procedure
137206
138- Implement each missing parser in its exploit-specific destination, preserving
207+ Implement future parsers in its exploit-specific destination, preserving
139208its existing result semantics, input bounds, standalone distribution and
140209publication protections. Original issues remain the acceptance authority.
141210Update the parent only after destination changes, meaningful synthetic tests,
0 commit comments