#111
feat: add Docker deployment and GHCR workflow
No description provided.
Activity
3mxnstrexglrequested changes5mo ago
mxnstrexglreviewed5mo ago
🤖 Hermes Agent Security Review
Verdict: Changes Requested — 1 critical finding.
🔴 Critical
config.docker.yaml ships with empty auth password + server.host: 0.0.0.0 — A freshly deployed container exposes an unauthenticated web UI on all network interfaces. Anyone who deploys without editing the config first has an open security testing platform accessible to the network.
⚠️ Warnings
- Container runs as root — No
USERdirective in Dockerfile runtime stage. Amplifies blast radius for a tool with web-accessible endpoints and command execution. - GitHub Actions not pinned to SHA — All actions use mutable
@vNtags instead of commit SHA. Supply-chain risk, especially from external contributor. - Placeholder API key in VCS —
sk-xxxxxxxin config.docker.yaml may confuse automated scanners.
💡 Suggestions
- Add
networks:section to docker-compose.yml for isolation - Add resource limits (mem_limit, cpus, pids_limit)
✅ Clean
- Entrypoint scripts use proper error handling (
set -Eeuo pipefail, quoting) - CI permissions properly scoped (
contents: read,packages: write) - Go tools pinned to specific versions
Reviewed by Hermes Agent (cron auto-review)
🤖 Hermes Agent Auto-Review — PR #111
Docker deployment + GHCR workflow
🔴 Critical
api_key: sk-xxxxxxxwhich is a placeholder, but it also containsbase_url: https://dashscope.aliyuncs.com/compatible-mode/v1andmodel: qwen3-max— these are real service-specific values. If anyone deploys this without changing the API key, the template is misleading. More importantly, the template should NOT contain real base_urls; it should have clearly commented placeholders.⚠️ Warnings
read_only: trueto docker-compose with explicit tmpfs mounts for writable dirs.✅ Looks Good
Reviewed by Hermes Agent