[Security] MEDIUM: 5 issue(s) found in devforge #36

Closed
opened 2026-05-14 23:23:58 +00:00 by Mark · 2 comments
Owner

Security Scan Results for devforge

Severity: MEDIUM
Findings: 5

1. docker_root_user

  • Details: Dockerfile does not set a non-root USER — container runs as root
  • File: templates/oh-my-opencode-lite/Dockerfile

2. docker_root_user

  • Details: Dockerfile does not set a non-root USER — container runs as root
  • File: templates/oh-my-opencode/Dockerfile

3. docker_root_user

  • Details: Dockerfile does not set a non-root USER — container runs as root
  • File: services/web/Dockerfile

4. docker_root_user

  • Details: Dockerfile does not set a non-root USER — container runs as root
  • File: services/orchestrator/Dockerfile

5. docker_root_user

  • Details: Dockerfile does not set a non-root USER — container runs as root
  • File: services/api/Dockerfile

This issue was auto-generated by the security sweep cron job.

## Security Scan Results for `devforge` **Severity:** MEDIUM **Findings:** 5 ### 1. docker_root_user - **Details:** Dockerfile does not set a non-root USER — container runs as root - **File:** `templates/oh-my-opencode-lite/Dockerfile` ### 2. docker_root_user - **Details:** Dockerfile does not set a non-root USER — container runs as root - **File:** `templates/oh-my-opencode/Dockerfile` ### 3. docker_root_user - **Details:** Dockerfile does not set a non-root USER — container runs as root - **File:** `services/web/Dockerfile` ### 4. docker_root_user - **Details:** Dockerfile does not set a non-root USER — container runs as root - **File:** `services/orchestrator/Dockerfile` ### 5. docker_root_user - **Details:** Dockerfile does not set a non-root USER — container runs as root - **File:** `services/api/Dockerfile` --- *This issue was auto-generated by the security sweep cron job.*
Author
Owner

GSD VERIFY phase failed after 3 attempts.
═══ Gate: verify-passed (devforge#36) ═══
Mode: Tier 1 (functional only)

GATE OK: All gates up to 'implement' pass
── Tier 1: Functional ────────────────────────────────
Running tests...
❌ Tests failed (exit 1)
 FAIL  services/web/src/utils/terminalUtils.test.ts > terminalUtils > decodeTerminalMessage > should return empty Uint8Array for Blob input in sync decoder
 FAIL  services/web/src/utils/terminalUtils.test.ts > terminalUtils > debug mode > should return false when debug is not enabled
 FAIL  services/web/src/utils/terminalUtils.test.ts > terminalUtils > debug mode > should return true when debug is enabled
 FAIL  services/web/src/utils/terminalUtils.test.ts > terminalUtils > debug mode > should disable debug mode
ReferenceError: localStorage is not defined
 ❯ services/web/src/utils/terminalUtils.test.ts:12:5
 10|  beforeEach(() => {
 11|  vi.restoreAllMocks();
 12|  localStorage.clear();
 |  ^
 13|  });
 14| 

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/9]⎯

 Test Files  4 failed | 1 passed (5)
 Tests  6 failed | 4 passed (10)
 Start at  15:37:08
 Duration  661ms (transform 439ms, setup 0ms, import 115ms, tests 9ms, environment 1ms)
Running linter...
✅ Lint clean
⚠️ No type checker discovered
No previous test result to compare

❌ GATE FAIL: verify-passed
- Tests failed with exit code 1
GATE FAIL: verify — blocked at 2026-05-20T22:37:10Z
Class: test-failure
Evidence: Verification failed: 1 failures
Git tag: devforge#36-gate-verify-fail-4aba53ac0ab2 (use gate-retry after fixing)

GSD VERIFY phase failed after 3 attempts. ═══ Gate: verify-passed (devforge#36) ═══ Mode: Tier 1 (functional only) GATE OK: All gates up to 'implement' pass ── Tier 1: Functional ──────────────────────────────── Running tests... ❌ Tests failed (exit 1)  FAIL  services/web/src/utils/terminalUtils.test.ts > terminalUtils > decodeTerminalMessage > should return empty Uint8Array for Blob input in sync decoder  FAIL  services/web/src/utils/terminalUtils.test.ts > terminalUtils > debug mode > should return false when debug is not enabled  FAIL  services/web/src/utils/terminalUtils.test.ts > terminalUtils > debug mode > should return true when debug is enabled  FAIL  services/web/src/utils/terminalUtils.test.ts > terminalUtils > debug mode > should disable debug mode ReferenceError: localStorage is not defined  ❯ services/web/src/utils/terminalUtils.test.ts:12:5  10|  beforeEach(() => {  11|  vi.restoreAllMocks();  12|  localStorage.clear();  |  ^  13|  });  14|  ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/9]⎯  Test Files  4 failed | 1 passed (5)  Tests  6 failed | 4 passed (10)  Start at  15:37:08  Duration  661ms (transform 439ms, setup 0ms, import 115ms, tests 9ms, environment 1ms) Running linter... ✅ Lint clean ⚠️ No type checker discovered No previous test result to compare ❌ GATE FAIL: verify-passed - Tests failed with exit code 1 GATE FAIL: verify — blocked at 2026-05-20T22:37:10Z Class: test-failure Evidence: Verification failed: 1 failures Git tag: devforge#36-gate-verify-fail-4aba53ac0ab2 (use gate-retry after fixing)
Author
Owner

Fixed: Added non-root USER to all 5 Dockerfiles:

  • templates/oh-my-opencode-lite/Dockerfile → appuser
  • templates/oh-my-opencode/Dockerfile → appuser
  • services/web/Dockerfile → nginx
  • services/orchestrator/Dockerfile → appuser
  • services/api/Dockerfile → appuser

Commit: ce70c11

Fixed: Added non-root USER to all 5 Dockerfiles: - templates/oh-my-opencode-lite/Dockerfile → appuser - templates/oh-my-opencode/Dockerfile → appuser - services/web/Dockerfile → nginx - services/orchestrator/Dockerfile → appuser - services/api/Dockerfile → appuser Commit: ce70c11
Mark closed this issue 2026-05-23 17:36:54 +00:00
Sign in to join this conversation.
No description provided.