返回 Bug 清单
BUG-0240project-13高需关注deploy-script
PowerShell 双引号内 $DEPLOY 本地展开为空 → 远程 rm -rf /* 删除 /etc/nginx /etc/ssl /etc/letsencrypt(critical 事故)
发现:2026-10-01验证:2026-10-31置信度:70%
症状
远程服务器 /etc/nginx /etc/ssl /etc/letsencrypt 消失;命令回显里本地变量名消失
根因
PowerShell 双引号字符串里的 $DEPLOY 在【本地】被展开(为空),SSH 过去的远程命令变成 rm -rf /*——Linux 管理员的肌肉记忆(单引号防展开)在 PowerShell 语义下反向失效。删除了 nginx/ssl/certbot 配置(事故处置与 BUG-0231 的 chattr 加固直接相关——加固反而增加了恢复难度)。
修复方案
PS→SSH 的远程命令一律单引号包裹(PS 单引号不展开)或转义 $;部署类高危命令先 echo 展开结果人工确认再执行;完整方法论见 .governance/reports/2026-09-28-deploy-safety-methodology.md。
[关联标注·scan_duplicate_bugs] 本条与 BUG-DSX-006(slug=dsx-006-powershell-ssh-var-expansion-rm-rf-incident)由相似度扫描发现关联(related-bug,相似度 0.455)。两者主题相关但触发面/修复手法不同,**建议保留为独立条目**;请勿因看起来重复而删除任一条。
错误签名
PowerShell 双引号 变量展开 $DEPLOY 为空 远程 rm -rf /* SSH 删除 /etc/nginx /etc/ssl /etc/letsencrypt技术信息
来源项目
project-13
涉及文件
.governance/bugs/BUG-LEDGER.md, .governance/reports/2026-09-28-deploy-safety-methodology.md
标签
critical, rm-rf, powershell, ssh, 变量展开...