Senha do Postgres hardcoded em api/llm_stats.py #8

Open
opened 2026-04-30 04:04:17 -03:00 by navigator · 0 comments
Owner

Contexto

api/llm_stats.py:39 tem fallback password=os.environ.get("PGPASSWORD", "soberania2026") — senha em texto plano no código fonte público.

Risco

  • Repo é público em git.pop.coop
  • Senha "soberania2026" está em pelo menos 3 arquivos no servidor (também em /tmp/*.py que escrevi nesta sessão)
  • Como o Postgres só escuta em 127.0.0.1, dano direto requer SSH primeiro — mas exposição é desnecessária

Tarefas

  • Remover o fallback hardcoded em api/llm_stats.py:39 — falhar se PGPASSWORD não estiver no env
  • Adicionar a senha em /etc/soberania/secrets.env (chmod 600 root) carregado pelo systemd unit
  • Rotacionar a senha atual (ALTER USER soberania PASSWORD 'nova';) já que está exposta
  • Adicionar secrets.env ao .gitignore (já está em /etc, fora do repo, mas explicitar)
  • Auditar git log -p por outras menções da senha
## Contexto `api/llm_stats.py:39` tem fallback `password=os.environ.get("PGPASSWORD", "soberania2026")` — senha em texto plano no código fonte público. ## Risco - Repo é público em git.pop.coop - Senha "soberania2026" está em pelo menos 3 arquivos no servidor (também em `/tmp/*.py` que escrevi nesta sessão) - Como o Postgres só escuta em `127.0.0.1`, dano direto requer SSH primeiro — mas exposição é desnecessária ## Tarefas - [ ] Remover o fallback hardcoded em `api/llm_stats.py:39` — falhar se `PGPASSWORD` não estiver no env - [ ] Adicionar a senha em `/etc/soberania/secrets.env` (chmod 600 root) carregado pelo systemd unit - [ ] **Rotacionar a senha atual** (`ALTER USER soberania PASSWORD 'nova';`) já que está exposta - [ ] Adicionar `secrets.env` ao `.gitignore` (já está em `/etc`, fora do repo, mas explicitar) - [ ] Auditar `git log -p` por outras menções da senha
Sign in to join this conversation.
No description provided.