[audit] Security, AX compliance, missing tests, error handling #4
Labels
No labels
needs-review
athena
athena-gemini
audit
clotho
clotho-gemini
codex
darbs-claude
security
wiki
No milestone
No project
No assignees
1 participant
Notifications
Due date
-
Dependencies
No dependencies set.
Reference
core/go-rag#4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Full audit:
Report all findings with severity and file:line. Do NOT fix.
Codex Audit Findings
HIGH (1)
MEDIUM (4)
Fix Applied
Commit
2e8bc5a: fix(rag): harden ingest and command registrationVerification: FAIL (reproduced)
MEDIUM: Symlinked root dirs don't ingest — Ingest resolves real root into rootDir but WalkDir starts from absDir. filepath.WalkDir doesn't traverse symlink root. Needs: walk from rootDir not absDir (ingest.go:76/:104).
Fix Round 2
Commit
993a804: fix(ingest): walk resolved root dirDispatching verification.
Verification Round 2: FAIL
HIGH: TOCTOU race in Ingest — validates path during walk (ingest.go:104) but reopens cached pathname later with coreio.Local.Read (ingest.go:152). File can be swapped to symlink between check and read.
This is a fundamental TOCTOU — needs open-then-validate (open file first, then check fd's real path) or O_NOFOLLOW. Round 3 fix may not be sufficient for automated resolution — escalating to needs-human.