S00-027: Approve registry connectivity after independent HTTPS checks
Changes: Accept the bounded S00-027 connectivity record and add independent security review evidence and handoff. Validation: Fresh-cache control, candidate and pinned npm queries exited 0; fresh HTTPS artifact SHA512 SRI, size and SHA256 matched. make check exited 0 with 72 tests; executor patch/message, owner confirmation, scope and whitespace checked. No crypto/backend or distribution acceptance. Task: S00-027 Agent: auto-security-ccce71646176 Role: security Action: review Status: done Task title: Restore approved npm registry connectivity for the OMEMO2 backend investigation
This commit is contained in:
1 parent
0b60f3d84e
commit
8bfaa06e64
8 files changed
+93
-20
No files matched your search
@@ -0,0 +1,4 @@
|
||||
Approve registry connectivity after independent HTTPS checks
|
||||
|
||||
Changes: Accept the bounded S00-027 connectivity record and add independent security review evidence and handoff.
|
||||
Validation: Fresh-cache control, candidate and pinned npm queries exited 0; fresh HTTPS artifact SHA512 SRI, size and SHA256 matched. make check exited 0 with 72 tests; executor patch/message, owner confirmation, scope and whitespace checked. No crypto/backend or distribution acceptance.
|
||||
@@ -0,0 +1,38 @@
|
||||
# S00-027 independent security review
|
||||
|
||||
Reviewer: auto-security-ccce71646176 (security). Executor: auto-ci-cd-40ae46e8efe7 (ci-cd).
|
||||
Date: 2026-10-15. Decision: APPROVE connectivity record only.
|
||||
|
||||
Input: assigned card/packet, required startup/workflow/TESTING/crypto/ADR index reads, both blocker reports, exact ENC-003/009/011, accepted ADR 0000/0001 and all direct dependency evidence/reviews/handoffs. Output: accepted connectivity metadata and this independent report. Focused acceptance: actual control/candidate registry responses, pinned HTTPS download with matching SRI, no policy bypass or crypto/backend acceptance.
|
||||
|
||||
## Patch and boundaries
|
||||
|
||||
Read implementation commit 0b60f3d84e860cb71ae783d820ebd726bbad76ad and external-input checkpoint 927728daf1f8661ba05114800a36e0dfe5066e2f. Executor message accurately describes the document, live probes, checks and limits. The implementation changes only the allowed connectivity document plus workflow/generated artifacts. Initial working tree was clean. Revision 74 of canonical history confirms approved sandbox outbound access while retaining configured proxy, TLS and filesystem restrictions; supplied prior caches/archives were not reused.
|
||||
|
||||
No credentials, private proxy details or real conversations appear in the task artifacts. Metadata was treated as data; pinned URL was asserted to the official HTTPS tarball before retrieval and final URL remained identical. TLS verification stayed enabled (npm strict-ssl=true, Python default SSL context). No install, extraction, package execution, custom crypto, system/network/Git configuration change, plaintext fallback, immutable spec or shared contract edit occurred. Host Node/npm were used solely for metadata connectivity, with accepted build pins unchanged.
|
||||
|
||||
## Independent commands and actual results
|
||||
|
||||
- `python3 scripts/tasks.py resume --agent auto-security-ccce71646176`, `show S00-027`, `packet S00-027 --agent auto-security-ccce71646176`: exit 0 each. Reviewer did not claim; owner differs and direct prerequisites are done.
|
||||
- Read-only git log/show/status and canonical history inspection: exit 0; patch and executor message agree.
|
||||
- `node --version`: exit 0.
|
||||
- `npm --version`: exit 0.
|
||||
- `npm config get strict-ssl`: exit 0.
|
||||
- `npm view @signalapp/libsignal-client version --json --fetch-retries=0 --fetch-timeout=15000 --cache=/tmp/luma-s00-027-review-4ngu6s8g/cache --strict-ssl=true`: exit 0.
|
||||
- `npm view libomemo.js version license dist.integrity dist.tarball --json --fetch-retries=0 --fetch-timeout=15000 --cache=/tmp/luma-s00-027-review-4ngu6s8g/cache --strict-ssl=true`: exit 0.
|
||||
- `npm view libomemo.js@3.0.0 version license dist.integrity dist.tarball --json --fetch-retries=0 --fetch-timeout=15000 --cache=/tmp/luma-s00-027-review-4ngu6s8g/pinned-cache --registry=https://registry.npmjs.org/ --strict-ssl=true`: exit 0.
|
||||
|
||||
Python tempfile/subprocess/urllib/ssl/hashlib/base64 wrapper: exit 0. Fresh root `/tmp/luma-s00-027-review-4ngu6s8g`; cache absent before first query, separate pinned-cache also new. Control returned 0.105.0; candidate and pinned candidate returned 3.0.0, GPL-3.0 and the documented official tarball/SRI. No EAI_AGAIN or E404. Wrapper asserted metadata version and exact public HTTPS URL, required HTTP 200 and unchanged final URL, downloaded using ssl.create_default_context(), computed SHA512 SRI and asserted equality with registry metadata. Archive and public verification.json were saved only under the fresh temporary root; no package code ran.
|
||||
|
||||
- Archive size: 1,061,939 bytes.
|
||||
- SHA512 SRI: `sha512-B4he9DOS+1LQrut+b2xjOjuSkKMAkZGes7ckB5JgVk/EHVNyxLIHx6NvQ3eJVaT1XeNJaWZBonXw3Nl5YKEbig==`.
|
||||
- SHA256: `be30116eca7014a35b3372dc1270d462cf5392ae6affc92c4f4778d003e7bbf8`.
|
||||
|
||||
These results match the executor record exactly.
|
||||
|
||||
- `make check > /tmp/luma-s00-027-review-check.log 2>&1`: exit 0, 72 tests in 18.796s, OK. Foundation integrity only.
|
||||
- `git diff --check`: exit 0 before report; final authored metadata/diff inspected for whitespace and scope before approval.
|
||||
|
||||
## Acceptance and limits
|
||||
|
||||
All three card acceptance conditions pass independently. Registry SRI proves agreement between retrieved bytes and registry metadata, not independent provenance, vulnerability clearance, license distribution approval or crypto suitability. Browser/WASM/worker execution, OMEMO2/SCE mapping, interoperability, audited engine/persistence compatibility and application readiness were not checked or accepted. Existing crypto ADR and experiments remain unchanged. Approval permits only S00-022 to return to the queue for a fresh executor through CLI workflow. Coordinator must commit this review transition; reviewer ends after approve.
|
||||
@@ -7,3 +7,5 @@ Result: fresh-cache live npm metadata queries succeeded for @signalapp/libsignal
|
||||
Output: docs/decisions/0003-registry-connectivity.md. Exact commands/results and limits: state/evidence/S00-027-auto-ci-cd-40ae46e8efe7.md. Temporary archive/verification: /tmp/luma-s00-027-kdeu0fv9. make check exit 0, 72 tests. Host Node 24.1.0/npm 11.3.0 were used only for connectivity metadata probes, not project build or replacement of accepted pins.
|
||||
|
||||
Next: assigned fresh security reviewer repeats both queries with a new empty cache, pinned artifact download and SRI check under approved HTTPS/TLS; reviews scope, evidence and commit message. Record review via tasks.py. Coordinator commits; executor exits after submit. Only reviewed resolver completion returns S00-022 for a new executor. This record accepts no crypto/backend/library, license distribution, browser/WASM/worker/SCE, audited interoperability or persistence compatibility result.
|
||||
|
||||
Independent security review: auto-security-ccce71646176, 2026-10-15. Approved bounded registry connectivity after new-cache live control/candidate/pinned queries and fresh validated HTTPS artifact retrieval; SHA512 SRI, size and SHA256 match executor record. make check exit 0, 72 tests. Report: state/evidence/S00-027-review.md. No blocker. Crypto/backend/browser/WASM/worker/SCE/interoperability and license distribution remain unaccepted. Coordinator commits this review transition before a new executor resumes S00-022; reviewer exits after approve.
|
||||
+36
-12
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"revision": 88,
|
||||
"revision": 89,
|
||||
"tasks": {
|
||||
"S00-001": {
|
||||
"status": "done",
|
||||
@@ -1311,18 +1311,18 @@
|
||||
"completed_at": "2026-10-15T08:40:27+00:00"
|
||||
},
|
||||
"S00-022": {
|
||||
"status": "blocked",
|
||||
"owner": "auto-crypto-316a193d6c3e",
|
||||
"status": "todo",
|
||||
"owner": null,
|
||||
"external_wait": false,
|
||||
"reason": "All ten live npm metadata queries fail with EAI_AGAIN resolving the configured proxy, including the known libsignal-client control. Required release and artifact verification for S00-022 cannot proceed; failures are not E404 evidence.",
|
||||
"reason": null,
|
||||
"started_at": "2026-10-15T09:39:15+00:00",
|
||||
"updated_at": "2026-10-15T09:41:11+00:00",
|
||||
"blocked_by": [
|
||||
"S00-027"
|
||||
],
|
||||
"updated_at": "2026-10-15T10:14:41+00:00",
|
||||
"blocked_by": [],
|
||||
"resume_status": "in_progress",
|
||||
"blocker_report": "state/blockers/S00-027.md",
|
||||
"handoff": "state/handoffs/S00-022.md"
|
||||
"handoff": "state/handoffs/S00-022.md",
|
||||
"previous_owner": "auto-crypto-316a193d6c3e",
|
||||
"resumed_after_blocker": true
|
||||
},
|
||||
"S00-023": {
|
||||
"status": "blocked",
|
||||
@@ -1384,14 +1384,17 @@
|
||||
"completed_at": "2026-10-15T10:00:12+00:00"
|
||||
},
|
||||
"S00-027": {
|
||||
"status": "review",
|
||||
"status": "done",
|
||||
"owner": "auto-ci-cd-40ae46e8efe7",
|
||||
"external_wait": false,
|
||||
"reason": null,
|
||||
"started_at": "2026-10-15T10:09:30+00:00",
|
||||
"updated_at": "2026-10-15T10:12:28+00:00",
|
||||
"updated_at": "2026-10-15T10:14:41+00:00",
|
||||
"evidence": "state/evidence/S00-027-auto-ci-cd-40ae46e8efe7.md",
|
||||
"handoff": "state/handoffs/S00-027.md"
|
||||
"handoff": "state/handoffs/S00-027.md",
|
||||
"reviewer": "auto-security-ccce71646176",
|
||||
"review_evidence": "state/evidence/S00-027-review.md",
|
||||
"completed_at": "2026-10-15T10:14:41+00:00"
|
||||
},
|
||||
"S00-028": {
|
||||
"status": "todo",
|
||||
@@ -2513,6 +2516,27 @@
|
||||
"to": "review",
|
||||
"reason": null,
|
||||
"evidence": "state/evidence/S00-027-auto-ci-cd-40ae46e8efe7.md"
|
||||
},
|
||||
{
|
||||
"revision": 89,
|
||||
"at": "2026-10-15T10:14:41+00:00",
|
||||
"action": "auto-unblock",
|
||||
"task": "S00-022",
|
||||
"resolved_by": "S00-027",
|
||||
"to": "todo",
|
||||
"fresh_agent_required": true
|
||||
},
|
||||
{
|
||||
"revision": 89,
|
||||
"at": "2026-10-15T10:14:41+00:00",
|
||||
"action": "approve",
|
||||
"task": "S00-027",
|
||||
"agent": "auto-security-ccce71646176",
|
||||
"role": "security",
|
||||
"from": "review",
|
||||
"to": "done",
|
||||
"reason": null,
|
||||
"evidence": "state/evidence/S00-027-review.md"
|
||||
}
|
||||
],
|
||||
"retired_agents": [
|
||||
|
||||
Reference in new issue
Block a user