AWS 被曝無預警刪除資深開源開發(fā)者十年賬戶,數(shù)據(jù)永久丟失引發(fā)行業(yè)震動。
2025 年 7 月 23 日,一位活躍于 Ruby 社區(qū)、使用 AWS 達十年的資深開源開發(fā)者 Abdelkader Boudih(網(wǎng)名 Seuros)公開披露,自己在 AWS 上運行超過十年的賬戶被 AWS MENA(中東與北非)區(qū)域團隊以“驗證失敗”為由突然永久刪除。
所有存儲數(shù)據(jù)、快照、備份乃至跨區(qū)域副本一并清空,無通知、無寬限期、無恢復選項。
這起事件在開源技術社區(qū)引發(fā)廣泛討論,被稱為“云平臺刪除權限濫用的典型案例”。
事件概況
據(jù) Seuros 本人描述:
事件發(fā)生于其生日當天(2025 年 7 月 23 日),AWS 刪除了其賬戶及其所有數(shù)據(jù);
刪除前 AWS 曾在 7 月 10 日發(fā)起身份驗證請求,設定 5 天截止;
他在 7 月 21 日提交清晰有效的身份證明與賬單,但 AWS 隨后以“文檔無法讀取”為由拒絕;
7 月 23 日賬戶被直接刪除,其后客服拒絕說明數(shù)據(jù)是否仍存在;
在 20 天內(nèi)反復溝通后,AWS 最終承認資源已全部終止,并請求其為客服支持評分。
值得注意的是,該賬戶中不僅存有關鍵測試數(shù)據(jù),還包括逾 20 個 Ruby gem 項目代碼、多年積累的教學內(nèi)容、書稿、未發(fā)布框架等。
Seuros 本人說法:
沒有違規(guī)使用;長期使用信用卡付費,沒有拖欠;唯一可能問題是“支付方式非本人名下”,AWS 要求驗證身份時操作流程混亂,客服說明不一致。
我也申請了只讀訪問權限以備份數(shù)據(jù)。
請記?。喝绻沂窃p騙分子,我早就在驗證截止前復制完全部內(nèi)容了。但 AWS 拒絕了這個請求。(因為很可能數(shù)據(jù)那時已經(jīng)被刪除)
AWS 將賬戶終止歸咎于一個“第三方支付人”的問題。
該支付人是一位 AWS 顧問,過去一年一直代為支付每月約 200 美元的測試費用。
Seuros 表示,這名顧問因 FTX 崩盤遭遇損失并失聯(lián)。
AWS 在要求支付人身份驗證失敗后,拒絕切換回 Seuros 原本綁定并長期啟用的 Wise 信用卡,理由是“隱私合規(guī)”,但同時將賬戶終止的后果完全歸咎于用戶。
Seuros 認為這并非真正的付款問題。
如果真的是賬單問題,AWS 原應切換回現(xiàn)有的用戶信用卡;暫停服務而非刪除數(shù)據(jù);遵循其官方文檔中承諾的“90 天數(shù)據(jù)保留期”。相反,AWS 利用支付人問題作為借口,掩蓋了其內(nèi)部測試操作誤刪賬戶的事實。
AWS 官方政策 vs 實際行為
根據(jù) AWS 官網(wǎng)公開文檔:
用戶主動關閉賬戶后,AWS 提供90 天寬限期,期間數(shù)據(jù)保留可恢復;
賬戶永久關閉前應發(fā)送明確通知;
含有付款糾紛或驗證問題的賬戶,并無明文規(guī)定立即刪除數(shù)據(jù)。
但在 Seuros 的案例中:
并非用戶主動關閉賬戶,而是 AWS 以“驗證失敗”直接終止賬戶;
未提供任何 90 天寬限期或臨時訪問權限;
跨區(qū)域備份、邏輯隔離 Vault、多副本快照在賬戶刪除后一并被清空。
該行為違反了 AWS 自身服務指南的基本容錯保障原則,引發(fā)外界對其“區(qū)域分部擁有絕對權限”以及“數(shù)據(jù)銷毀透明度缺失”的擔憂。
刪除范圍與后果詳解
Seuros 表示,他在賬戶中存放了下列關鍵數(shù)據(jù)與資源:
這些項目廣泛被用于生產(chǎn)系統(tǒng),也有部分組件可能在 AWS 內(nèi)部系統(tǒng)或客戶環(huán)境中運行。
數(shù)據(jù)全部丟失:所有 S3 存儲對象;所有 EC2 快照與實例;所有 AWS Backup 多區(qū)域備份; 所有數(shù)據(jù)庫、DNS(Route 53)、IAM 配置。
無任何保留期、無法恢復。
被刪除的不僅是主區(qū)域數(shù)據(jù),即使設置了跨區(qū)域備份、邏輯隔離、備份保留策略,也一并被徹底銷毀。
“我做了多區(qū)域備份,有冗余機制,數(shù)據(jù)在美國和歐洲都有鏡像,唯一沒考慮的失敗點就是——AWS 本身就是單點故障?!?/strong>
隨著賬戶銷毀,全部工作內(nèi)容“在數(shù)字意義上徹底湮滅”。
Java 參數(shù)誤用或為根因
事件曝光后,有匿名 AWS 內(nèi)部工程師聯(lián)系 Seuros,并指出:
MENA 區(qū)域正在運行一項“低活躍賬戶回收”試驗;
腳本原計劃 dry-run 測試,執(zhí)行參數(shù)應為 --dry;
但該腳本為 Java 編寫,僅識別 -dry,導致 --dry 被忽略,直接在生產(chǎn)中執(zhí)行了刪除;
該過程未設置人工審查、未提供可回滾機制。
上述爆料雖未經(jīng) AWS 官方證實,但社區(qū)認為極具可信度,亦解釋了為何多位用戶在同一時間段遭遇賬戶刪除。
在 Seuros 公開事件后,一位 AWS 內(nèi)部員工匿名透露,AWS MENA 區(qū)域當時正在測試一套針對“低活躍賬戶”的資源清理系統(tǒng)(PoC)。執(zhí)行腳本的開發(fā)者在命令中加入了 --dry 參數(shù),意圖執(zhí)行一次 dry-run(模擬運行),以預覽刪除效果、避免真實變更。
這種參數(shù)在現(xiàn)代命令行工具中廣泛使用,例如 Git、Terraform、AWS CLI 等,格式為雙破折號 --dry-run 或簡寫為 --dry,代表“僅做演練,不實際刪除”。
但問題在于,該內(nèi)部工具基于 Java 編寫,而 Java 的命令行解析機制通常只識別單破折號參數(shù)(如 -dry)。因此 --dry 參數(shù)被系統(tǒng)忽略,dry-run 功能根本沒有被激活,腳本最終在生產(chǎn)環(huán)境中真實刪除了用戶賬戶和數(shù)據(jù)。
接下來的部分進入技術細節(jié)。
負責測試的開發(fā)者在命令中輸入 --dry 參數(shù),意圖執(zhí)行 dry-run(模擬執(zhí)行),這在現(xiàn)代命令行工具中是通用的標準做法,例如:
ruby --version
npm --version
bun --version
terraform --dry-run
但 AWS 內(nèi)部工具是用 Java 編寫的。而 Java 使用的是單破折號參數(shù)格式:
java -version # 不是 --version
java -dry # 不是 --dry
因此,當開發(fā)者傳入 --dry 給 Java 應用時,該參數(shù)被忽略。最終腳本在生產(chǎn)環(huán)境中被真實執(zhí)行,導致賬戶被刪除。
一句話總結:“開發(fā)者本意是運行 dry-run 模擬測試,但因為 Java 1995 年風格的參數(shù)解析機制,模擬執(zhí)行被當成了真實刪除?!?/p>
比喻:在現(xiàn)代命令行工具里,輸入 --dry-run 意味著“演練一下,不動真東西”;但 AWS 內(nèi)部使用的工具基于老舊的 Java 風格,只識別 -dry。于是這枚看似安全的“假按鈕”,在后臺根本沒人接收命令,結果直接觸發(fā)了真操作 —— 把賬戶和數(shù)據(jù)炸成了灰。
AWS MENA 區(qū)域爭議由來已久
據(jù) Reddit、Facebook 等開發(fā)者社區(qū)大量記錄:
多年來,開發(fā)者不惜額外支付溢價,專門尋求非 MENA 區(qū)域賬單地址;
AWS MENA 曾被曝“可在無解釋情況下中止服務”、“客服響應緩慢”、“技術支持權限不足”;
一些受害者稱曾因小額賬單、身份驗證等問題遭遇類似封禁,但此前從未有公開記錄如此徹底的數(shù)據(jù)銷毀。
開發(fā)遷移工具,推動客戶集體轉移
Seuros 表示,他正在開發(fā)一款免費的 AWS 遷移與數(shù)據(jù)清理工具,幫助個人開發(fā)者和中小團隊快速導出數(shù)據(jù)與架構配置,并遷移至其他云平臺(OCI、Azure、GCP 等)。
他稱:“我手上管理的客戶每月 AWS 支出超過 40 萬美元,已有數(shù)個已同意遷移?!?/p>
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.