fix(security): keep database passwords out of every argv

MariaDB dumps and restores read the password from MYSQL_PWD, and docker exec forwards env variables by name only, so no process listing shows a password. baudolo-restore gains --db-password-stdin; --db-password still works but warns.

🎯 Fix: 96 %
💥 Break: 3 %
💸 Cost: –
⏱️ Time: –
🛡️ Security: ~100 %
🏆 Score: 93
🚦 Gate: ✅ 90/5, cost and time <= 100, security 100 %

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kevin Veen-BirkenbachandClaude Opus 5.5 committed 2026-11-05 18:37:04 +00:00
1 parent d672388f63
commit 328520169b
15 files changed
+320 -67

No files matched your search

+8 -4
View File
@@ -174,10 +174,14 @@ baudolo-restore postgres \
<version> \
--container postgres \
--db-name appdb \
--db-password secret \
--empty
--db-password-stdin \
--empty < password-file
```
`--db-password-stdin` reads the password from stdin. The older
`--db-password <value>` still works but warns: it is visible in the process
list.
### Restore MariaDB / MySQL
```bash
@@ -187,8 +191,8 @@ baudolo-restore mariadb \
<version> \
--container mariadb \
--db-name shopdb \
--db-password secret \
--empty
--db-password-stdin \
--empty < password-file
```
> `baudolo` automatically detects whether `mariadb` or `mysql`