
CISA 都中招:公開 GitHub secrets 點樣拖慢事件應變
一個 contractor repo,暴露咗 secrets 管理有幾易出事
一個「私人 repo」拖出大問題
TechCrunch 引述 CISA 事後報告指,5 月 15 日 CISA 收到記者查詢,先知道有 contractor 連內部 AWS GovCloud keys 同其他 credentials 放咗上公開 GitHub。CISA 話嗰個 repo 唔屬於官方 GitHub,而係 contractor 個人 repo;事後佢哋下架 repo、保存副本分析、停用開發環境、重設相關 credentials,亦撤銷嗰名人員嘅系統權限。官方結論係冇 customer 或 mission data 外洩,log 亦冇見到 leaked credentials 喺 CISA 環境外使用。
呢單唔應該只當美國政府出糗聞。香港公司做 app、雲端、SI、managed service,成日都會有 agency、外判 IT、freelance DevOps 同遠端 contractor 摸到 repo、CI/CD、SaaS admin。出事位通常好平凡:有人貪方便,用個人 GitHub 當同步硬碟,順手連 secrets、build code、部署設定同內部文件一齊推咗出去。

圖片:GitGuardian
刪 repo 之後先開始計時
GitGuardian 話佢哋 5 月 14 日發現 Private-CISA repo,資料量有 844MB,repo 由 2025 年 11 月 13 日起已經公開;CISA 直接收到通報後,約 26 小時內令 repo 下架。呢個速度其實唔差,但安全上最麻煩嘅位喺後面:公開 GitHub commit 會俾研究員同防護工具掃描,亦會俾攻擊者、archive 同各種 bot 記低。repo 消失咗,唔代表曾經喺入面嘅 credentials 自動失效。
Truffle Security 後續話,部分高權限 GitHub App key 到 Krebs 報道後兩日仍然有效,之後先撤銷。呢個 lesson 好貼地:你可以即刻按下 delete,但 rotation 要跨雲端、GitHub、artifact registry、database、certificate、CI/CD runner;每一類 credential 都有自己 owner、依賴同 rollback 風險。公司平日冇練過,真事故嚟到就會一邊止血、一邊查邊支 key 其實仲用緊。
Playbook 要細到 credential 類型
CISA 今次最尷尬嘅一句,係官方承認冇 GitHub/Cloud playbook,早段應變要即場砌。講真,playbook 唔可以只寫「發現外洩就輪換密碼」咁粗。佢要寫清楚邊個有權停用 repo、邊個保留 forensic copy、邊個暫停 developer access、邊個逐個 vendor 撤 key、點驗證 token 已失效、邊段時間要翻 log、邊類 customer 或 mission data 要列入 impact assessment。呢啲字眼悶,但真係跑起上嚟,少一格都會拖慢。
Secrets scanning 唔可以淨靠 GitHub 預設
GitHub Docs 寫得好直接:secret scanning 會掃 Git history 入面嘅 API keys、passwords、tokens,public repos 會自動有基本掃描;push protection 亦可以喺 push 前攔住 hardcoded credentials。問題係,大公司最危險嗰批資料,未必喺你公司 org 入面。contractor 個人帳號、舊 fork、臨時 demo repo、CI log、壓縮 backup,同埋 encoded config,都可能走甩。企業級做法要加 public monitoring、pre-commit hook、CI 掃描、custom patterns 同 validity checks,仲要記低 bypass 理由,唔好畀人關咗就當冇事。
最小權限要真係最小
報道最嚇人嘅位好具體:部分 key 一旦有效,影響範圍可以大到讀 private repos、改 repo 設定、碰到 self-hosted runner,甚至牽涉部署鏈。呢度對公司 IT 好有啟發:admin key 唔應該長期有效,GitHub App 權限要拆到用到先開,CI/CD 用 OIDC 或短命 token 接駁雲端,developer repo 入面唔好放 static credential。就算有人手快推錯,權限細同有效期短,出事時影響範圍都細好多。
香港團隊點樣落手
如果你係香港 startup、agency 或企業 IT contractor,呢單可以變成一張實用 checklist。第一,所有 repo 預設開 secret scanning 同 push protection,bypass 要有人批。第二,雲端同 SaaS admin 改用最小權限、短命 credential,同定期 rotation drill。第三,incident playbook 要包含外部 researcher 通報:security.txt、專用 inbox、輪值 owner、升級路線同 SLA 都要寫明。第四,repo 下架後要當資料已經公開過,先做 rotation、log review 同 customer impact 判斷,唔好用「刪咗」當結案。
CISA 今次肯公開檢討值得記一筆,但真正值錢嘅地方,係佢示範咗應變慢通常死喺流程細節:邊個收報、邊個停權、邊個撤 key、邊個證明冇 misuse。開發團隊而家可以做嘅嘢好實際,唔使等大事故先補功課:先搵出 repo 入面有冇 secrets,權限要縮細,跟住練一次完整 credential rotation。
參考來源
- TechCrunch — US cybersecurity agency CISA had to build its incident playbook during the incident, agency reveals — original report
- Lessons from CISA’s Cyber Incident — CISA 官方 after-action,用嚟核對 repo 性質、補救動作、log 結論同 lessons。
- CISA Admin Leaked AWS GovCloud Keys on Github — 首篇揭露事件,用嚟核對 contractor 個人 GitHub、公開時間線同初步影響。
- How We Got a CISA GitHub Leak Taken Down in Under a Day — 發現方自述,用嚟核對 2026 年 5 月 14 日發現、844MB 同約 26 小時下架。
- CISA's Leaked Admin GitHub Token Remained Live 2 Days After Krebs Reported It Leaked — 後續驗證,用嚟核對 repo 下架後仍要做 key rotation 同 scope analysis。
- Secret scanning - GitHub Docs — GitHub 官方文件,用嚟核對 secret scanning、public monitoring 同 validity checks。
- Push protection - GitHub Docs — GitHub 官方文件,用嚟核對 push protection 點樣喺 push 前攔截 hardcoded credentials。
本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。







