[audit] Security, code quality, missing tests, error handling #2

Open
opened 2026-03-22 16:41:40 +00:00 by Virgil · 3 comments
Member

Full audit:

  1. Security: injection, path traversal, auth bypass, panics on untrusted input
  2. Code quality: missing types, dead code, unused exports
  3. Missing tests: untested functions, edge cases
  4. Error handling: silently dropped errors, missing nil checks
  5. Documentation: missing CLAUDE.md, CODEX.md, usage examples
  6. Licence: SPDX headers (EUPL-1.2)

Report all findings with severity and file:line. Do NOT fix.

Full audit: 1. Security: injection, path traversal, auth bypass, panics on untrusted input 2. Code quality: missing types, dead code, unused exports 3. Missing tests: untested functions, edge cases 4. Error handling: silently dropped errors, missing nil checks 5. Documentation: missing CLAUDE.md, CODEX.md, usage examples 6. Licence: SPDX headers (EUPL-1.2) Report all findings with severity and file:line. Do NOT fix.
Author
Member

Gemini Audit Findings

HIGH (4)

  1. Path traversal in CheckFsRead (permissions.go:22)
  2. Path traversal in CheckFsWrite (permissions.go:38)
  3. Path traversal in CheckFsList (permissions.go:54)
  4. Path traversal in CheckFsDelete (permissions.go:70)
  5. Missing path traversal tests (permissions_test.go)

MEDIUM (1)

  1. Potential command injection via opts.DenoPath (coredeno.go:69)

LOW (4)

  1. Guessable socket path (coredeno.go:28)
  2. DoS via malformed JSON (listener.go:42)
  3. Missing SPDX headers (project-wide)
  4. Missing CODEX.md
## Gemini Audit Findings ### HIGH (4) 1. Path traversal in CheckFsRead (permissions.go:22) 2. Path traversal in CheckFsWrite (permissions.go:38) 3. Path traversal in CheckFsList (permissions.go:54) 4. Path traversal in CheckFsDelete (permissions.go:70) 5. Missing path traversal tests (permissions_test.go) ### MEDIUM (1) 6. Potential command injection via opts.DenoPath (coredeno.go:69) ### LOW (4) 7. Guessable socket path (coredeno.go:28) 8. DoS via malformed JSON (listener.go:42) 9. Missing SPDX headers (project-wide) 10. Missing CODEX.md
Author
Member

Gemini Audit Findings

HIGH (5)

1-4. Path traversal in CheckFs{Read,Write,List,Delete} (permissions.go:22-70)
5. Missing path traversal tests

MEDIUM

  1. Command injection via opts.DenoPath (coredeno.go:69)

LOW

  1. Guessable socket, missing SPDX headers
## Gemini Audit Findings ### HIGH (5) 1-4. Path traversal in CheckFs{Read,Write,List,Delete} (permissions.go:22-70) 5. Missing path traversal tests ### MEDIUM 6. Command injection via opts.DenoPath (coredeno.go:69) ### LOW 7. Guessable socket, missing SPDX headers
Author
Member

Codex Audit Findings

CRITICAL (1)

  1. Build broken — service.go:137 uses old marketplace.NewInstaller API from go-scm v0.3.6, go test/vet fail

HIGH (3)

  1. Sidecar health check broken — runtime probes _coredeno but server rejects _-prefixed store groups (runtime/main.ts:58, server.go:141)
  2. Store RPCs lack module_code — any module can read/overwrite another module's non-reserved store data (coredeno.proto:50, server.go:140, modules.ts:151, worker-entry.ts:26)
  3. Additional store RPC isolation issues (coredeno.proto:59, server.go:198)
## Codex Audit Findings ### CRITICAL (1) 1. Build broken — service.go:137 uses old marketplace.NewInstaller API from go-scm v0.3.6, go test/vet fail ### HIGH (3) 2. Sidecar health check broken — runtime probes _coredeno but server rejects _-prefixed store groups (runtime/main.ts:58, server.go:141) 3. Store RPCs lack module_code — any module can read/overwrite another module's non-reserved store data (coredeno.proto:50, server.go:140, modules.ts:151, worker-entry.ts:26) 4. Additional store RPC isolation issues (coredeno.proto:59, server.go:198)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

-

Dependencies

No dependencies set.

Reference: core/ts#2
No description provided.