Whoobe Docsv0.3.3

Security results: v0.3.3 (patch of Operate: AI usage and the retention of the AI history)#

Recorded on 2026-10-27 from the public CI history, the reports of the runs and a check of the published images. Rules: README.md. Written before the GitHub Release was published (it was a draft), as rule 3 asks.

What was run, and on which commit#

Release commit (tag v0.3.3) 11d3d07, 2026-10-27
Commit the full security run was made on 58522c1 ("Release notes 0.3.3"), one commit before the release commit
What differs between the two the version number in 21 package.json files, the release entry of CHANGES.md and the alignment line of docs/release/README.md. No code.
The run workflow security, started by hand with the DAST scan ticked: run 40484236782, 2026-10-27
Result all jobs succeeded
The run on the release commit itself push run 40487448351: success
Other runs on the tag upgrade 40487447634 (v0.3.2 to this tree, migration 0073 included): success; release 40487447627 (six images for amd64 and arm64, cosign signature, build provenance, draft release): success
The feature, on its branch run 40417192395 on feat/ai-usage (DAST included): success
Job What it does Result
static scans dependency audit, secret scan of the tree and of the history, static analysis, shell lint, container and infrastructure configuration success (accepted findings in scripts/security/static/baseline.json, each with a reason and a review date)
API + browser suites on a disposable stack the API security suites, the unit tests, the browser tests, and the scan of the stack's images success
workspace isolation (two stacks) two workspaces started side by side; one must not reach the other success
DAST (OWASP ZAP) active scan of the running stack success (PASS)
TLS template (testssl.sh), two nginx images the TLS policy of the rendered proxy configuration success (both images)

Counts, read from the reports of run 40484236782 (commit 58522c1): API suites 2366 passed, 0 failed, 2 skipped (94 test files; 25 tests more than 0.3.2, mostly the new ai-usage suite and the usage meter tests); browser tests 56 passed, 0 failed, 5 skipped; isolation 14 passed, 0 failed.

The static report lists as warnings that do not fail the run the four semgrep hits named in the earlier records (three bypass-tls-verification in packages/core/src/db/client.test.ts, one react-dangerouslysetinnerhtml in packages/sdk/react/src/defaults.tsx). No high or critical advisory.

Image scan (trivy image, HIGH/CRITICAL, fixed only), run 40484236782: the six own images and garage 0; postgres:16-alpine 26, in the Go standard library of gosu (reported, not gating, decision of the owner 2026-10-23; F-050).

The published images. After the release run, the six images on ghcr.io were checked by the digests in the GitHub Release:

  • the cosign signature of each image (keyless, identity https://github.com/swina/whoobe_project/.github/workflows/release.yml@refs/tags/v0.3.3, issuer https://token.actions.githubusercontent.com, cosign 2.5.0): verified, 6 of 6;
  • the SLSA build provenance stored with each image (cosign verify-attestation --new-bundle-format --type slsaprovenance1, same workflow and tag): verified, 6 of 6;
  • trivy image 0.58.1 (HIGH/CRITICAL, fixed only) on the published digests, amd64: 0 for all six.

The reports of run 40484236782 (security-reports-v0.3.3.zip) and the CycloneDX SBOMs of the six images (generated by trivy 0.58.1 from the published digests, amd64) are attached to the GitHub Release, before publication.

The runs that failed first#

None: every run of the security workflow between the 0.3.2 record and the release commit succeeded.

What this run did not cover#

The list of v0.3.0 still holds. For this release in particular:

  • the AI functions were tested in CI with a fake OpenAI-compatible provider; against a real provider (OpenRouter) only images, a snippet and the text of an element were tried, on a development machine; the website wizard and the page translation were not;
  • the migration 0073 was run by the upgrade workflow on the test data and on a development database, not yet on the reference host;
  • arm64 was built only by the release workflow; no published arm64 image was scanned for this release.

Open items at the time#

Listed with owner and reason in status-summary.md, section 3: F-003 (moderate advisories; braces, high with no fix, accepted until 2027-01-31), F-008, F-014, F-050 (gosu in the postgres image), the TLS check on a live host. F-064 is fixed in this release. The register has no entry kept private under the disclosure policy.

Last updated