docs: add mysql credential hygiene (passwords not in argv) guide#121
docs: add mysql credential hygiene (passwords not in argv) guide#121weicao wants to merge 1 commit into
Conversation
Methodology body covers: - Why passwords in argv leak via ps / /proc/cmdline / events / log aggregation - Forbidden argv forms (-p$VAR, --password=$VAR, MYSQL_PWD environment) - Allowed forms: stdin or temp client config + chmod 700 + umask 077 + trap rm -rf "$tmp_dir" EXIT INT TERM + --defaults-file + bounded timeout - patch-gate 3 indicators (unsafe_mysql_argv_matches=0 / has_timeout=1 / has_trap_cleanup=1) only prove fix in place, NOT product / acceptance / release-ready - 5-point PR review checklist Appendix A is OceanBase enterprise addon oceanbase-physical-backup postReady case (live sha b74912857084451adbf707166a82bd8f55efce5ca74f3b2ce964c65451fc9925) with explicit "do not extrapolate" boundary; 6-sample observation across two runtime paths supports only that the three indicators were observed live and counted as 0 / 1 / 1.
|
Blocking review before merge. The topic is useful and should land after cleanup, but this PR is not public-ready yet.
Evidence from my check: |
Summary
New methodology doc
addon-mysql-credential-hygiene-no-argv-guide.mdcovering when addon lifecycle action / ActionSet hook / test script callsmysqlobclientand other MySQL-protocol clients, the password must not appear in argv.Body (generic methodology, version-agnostic, no engine binding):
-p$VAR,--password=$VAR,MYSQL_PWDenv fallback)mktemp -d+chmod 700+umask 077+trap 'rm -rf \"$tmp_dir\"' EXIT INT TERM+--defaults-file+ outertimeout -k 1 N)unsafe_mysql_argv_matches=0 / has_timeout=1 / has_trap_cleanup=1) only prove fix is in live ActionSet, NOT product / functional PASS / acceptance / release-readyaddon-evidence-discipline-guide.md/addon-bounded-eventual-convergence-guide.md/addon-test-acceptance-and-first-blocker-guide.mdAppendix A is OceanBase enterprise addon
oceanbase-physical-backuppostReady case (live shab74912857084451adbf707166a82bd8f55efce5ca74f3b2ce964c65451fc9925) with explicit boundary statement: 6-sample observation across two runtime paths supports only that the three indicators were0 / 1 / 1in those samples; does NOT extrapolate to PITR full coverage / addon acceptance / release-ready.SKILL-INDEX.md updated: added entry under section 1 (设计 / 开发新 addon) with single-line concise description, same wording-discipline as existing entries.
Test plan