Skip to content

Commit 5e453cd

Browse files
Reconcile final merged delivery and exact merge-commit checks
1 parent 6940fe2 commit 5e453cd

3 files changed

Lines changed: 134 additions & 58 deletions

File tree

‎docs/CHECKER_STATUS.md‎

Lines changed: 100 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -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
139208
its existing result semantics, input bounds, standalone distribution and
140209
publication protections. Original issues remain the acceptance authority.
141210
Update the parent only after destination changes, meaningful synthetic tests,

0 commit comments

Comments
 (0)