Repository navigation
test(denkraum): cover loopback binding and CSRF controls (DR-SEC-01b) - #793
Merged
Merged
Conversation
No-Test: coverage-only tests for existing controls (DR-SEC-01b)
Contributor
Merge Protections🟢 All 2 merge protections satisfied — ready to merge. Show 2 satisfied protections🟢 Paket-PR bringt seinen Bericht mitPackage branches (w<N>-, df<N>, ki-<N>, hq2-, dr-, z<N>-) must carry their report in the PR body, in a section that starts with "## Report".
🟢 🚦 Auto-queueWhen all merge protections are satisfied and these conditions match, this pull request will be queued automatically.
|
Cuarroc
marked this pull request as ready for review
October 9, 2026 01:16
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
34 of 50 tasks
Contributor
Merge Queue Status
This pull request spent 16 minutes 17 seconds in the queue, including 16 minutes 2 seconds running CI. Required conditions to merge
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Zwei neue Tests prüfen die lokale Bindung des Denkraums und die Abwehr fremder Webanfragen.
Sie bestätigen die vorhandenen Schutzmaßnahmen und prüfen, dass abgewiesene Schreibanfragen keine Daten verändern.
Für dich ist jetzt nichts zu tun; Root übernimmt die weitere Prüfung dieses Entwurfs.
Report
Package: DR-SEC-01b · Operator: UMSETZEN (tests only) · Tier: C.
Authority / parent / ticket / owner: Root dispatch dated 2026-10-09, TEMPO-KERN / DR-SEC-01,
b0221f4a,srv-dr-sec-01b.Base:
origin/main@b12ed64f38ae77328441ea5924e7ddfb81892be7, fetched before work; HEAD equalled this base.Candidate:
6de3696a1bba86bb74c7e25f9671980f7ea069ddoncodex/dr-sec-01b-tests.Observed: 2026-10-09 UTC; remote head verified at 00:59 UTC.
What changed
tools/denkraum/server-security.test.mjs: 129 added lines, within the 240-line budget. The existingtest:denkraumglob includes it; no package manifest change.DRSEC: production entrypoint binds only IPv4 loopbackexecutes the real server entrypoint synchronously in a bounded child process. Test instrumentation substitutes only an ephemeral port, preserves the production host argument, observes the actual socket address/family, then closes the server and waits for child exit. Complete synthetic startup configuration anticipates fix(denkraum): enforce full startup config and physical state boundary #750's preflight.DRSEC: CSRF guards reject cross-site and non-JSON mutations without writessends real HTTP requests: foreign/null Origin with valid agent header; cross-site Fetch Metadata with matching/absent Origin and valid agent header; missing Origin/agent; form, multipart, text and absent Content-Type; OPTIONS without CORS grants. Ten rejected cases preserve exact ledger bytes and revision. Same-origin JSON and local-agent positive controls persist two additional questions.No-Test: coverage-only tests for existing controls (DR-SEC-01b).Bestätigte Lücken
None for P1/P2 at the recorded base: both tests passed against unchanged production code. No failing test was committed. This is bounded coverage, not a general security approval.
Evidence
All shell commands completed before handover; no detached worker or server remains from this package. Foreground commands yielded by the harness were awaited to completion.
git fetch origin;git log origin/main -1;git rev-list --left-right --count HEAD...origin/main0 0before editsnode --test tools/denkraum/server-security.test.mjsnpm run test:denkraumnode --input-type=modulesensitivity probe usingregisterHooksandspawnSyncERR_ASSERTIONbash scripts/ci/secret-scan.shgit diff --cached --checkgit commitwith stated trailerbash scripts/ci/red-first.shbash scripts/ci/gates.sh lane prepush6de3696, 223 seconds; all listed gates green; Rust 1892 passed, 7 skippedPA_PREPUSH=light git push -u origin codex/dr-sec-01b-testsgit ls-remote origin codex/dr-sec-01b-testsgit status --shortInitial and pre-build
npm run dev:start-check: exit 0. After completed prepush, another check returned 1 for two other cargo builds, with 12.7 GB free; no additional compiler/test build was started. The supported light push hook ran without clippy or the Rust suite. Existing dependencies were sufficient.Native goal and context evidence
get_goalinitially returnedgoal: null;create_goalreturnedstatus: activefor this ticket's bounded test/PR handover, scope, acceptance and #750 dependency. Milestoneget_goalreturned that same active objective after full prepush. Worker completion is the checked draft handover; parent acceptance, reviews and merge remain Root's work. Objective editing is not exposed by the goal tools.lage-jetztand its mirror are unavailable here. STAND, relevant PLAN entries, current PRs and Git history were checked. The tracked PLAN has no DR-SEC entry; the explicit dispatch supplies package authority. Actual model and provider quota were not independently observable.NICHT ABGEDECKT
#[cfg(windows)]tests and Windows clippy branches do not compile here; the Windows lane belongs to the merge queue. Seven Rust tests and two HQ tests were skipped by their existing configuration.Reviews and handover
Review: ausstehend (Stufe C); pending Root dispatch. No review findings or disposition are claimed.
State: implemented, tested, committed, pushed and remote-verified; submitted as draft. Not independently reviewed, accepted, merged or released. Root owns the next review/acceptance step, any reconciliation with #750, and eventual queue integration. No confirmed P1/P2 follow-up defect.
Root-Abnahme (09.10.2026, head 6de3696)
Tier C — new test file only (tools/denkraum/server-security.test.mjs, DR-SEC-01b P1/P2); both tests pass on unchanged production code (coverage of existing controls), no confirmed gap. Gates suffice, no external review required; worker evidence: own
gates.sh lane prepushexit 0 and push verified withgit ls-remote(see Report).NICHT ABGEDECKT addendum: Windows lane comes from the merge queue.