D2 模擬題:設定與使用 Secret Protection
D2「設定與使用 Secret Protection」14 題原創模擬題,附正確答案、解析與常見陷阱。選項順序在互動版會隨機排列。
第 1 題(D2-O1)
某個 GitHub Team 組織尚未購買 Secret Protection 或 Code Security,擁有一個公開 repository 與一個私有 repository,都沒有做任何安全設定。關於這個私有 repository 的 secret scanning,哪項描述正確?
單選題,選項:
- 會自動掃描,而且不另外收費(公開 repository 的情況)
- 需要先取得並啟用 Secret Protection(組織私有的情況)
- 需要 Enterprise Managed Users 帳號(使用者私有 repository)
- 可在 Assessments 頁面免費評估組織(免費評估的情況)
看答案與解析
正確答案:需要先取得並啟用 Secret Protection(組織私有的情況)
解析:公開 repository 的 secret scanning 自動執行,不另外收費;組織擁有的私有與 internal repository 需要 GitHub Secret Protection,由 GitHub Team 或 GitHub Enterprise Cloud 提供。
常見陷阱:每個選項在官方文件裡都是真實的條件,但各自適用於不同情境;要先判斷是公開、組織私有還是使用者私有 repository,再選對應的條件。
依據:About secret scanning、Enabling secret scanning for your repository
在互動版作答這題
第 2 題(D2-O1)
Secret scanning 只檢查最新一次 commit 的程式碼,不會檢查過去的 Git 歷史。
是非題:判斷敘述是否正確。
看答案與解析
正確答案:錯誤
解析:Secret scanning 會掃描所有分支的完整 Git 歷史,另外也檢查 issue 與 pull request 的文字、Discussions、wiki 與 secret gist。
常見陷阱:掃描範圍常被想成「只有程式碼檔案」;實際上討論區與文字欄位裡貼出的憑證同樣會被找出來。
依據:About secret scanning
在互動版作答這題
第 3 題(D2-O1)
關於 partner patterns(合作夥伴樣式),下列哪些敘述正確?(選 2 項)
複選題,選項:
- 預設不偵測,需要管理員在設定頁開啟
- 屬於預設的偵測,不必先自訂樣式
- 偵測到的 secret 會列入警示清單,由管理員處理
- 偵測到的 secret 會通知供應商,由供應商處理
看答案與解析
正確答案:屬於預設的偵測,不必先自訂樣式;偵測到的 secret 會通知供應商,由供應商處理
解析:Partner patterns 屬於預設的偵測(官方稱 default detection);偵測到的合作夥伴 secret 會直接回報給服務供應商,由供應商採取行動,例如撤銷憑證,這類 secret 不會顯示在你的 repository 警示中。
常見陷阱:「看不到警示」不等於「沒有偵測」;合作夥伴 secret 的處理被轉交給供應商,所以管理員在警示清單上看不到它。
依據:About secret scanning
在互動版作答這題
第 4 題(D2-O1、D2-O3)
團隊找到的有效 secret 太多,想決定先處理哪些。哪項功能最直接協助排定處理順序?
單選題,選項:
- 有效性檢查,確認偵測到的 secret 是否仍然有效
- Custom patterns,新增組織專用的偵測樣式與規則
- Push protection,在推送時阻擋新的 secret
- Delegated bypass,指定可以繞過保護的人員
看答案與解析
正確答案:有效性檢查,確認偵測到的 secret 是否仍然有效
解析:有效性檢查(validity checks)確認偵測到的 secret 是否仍然有效,讓團隊先處理仍可被利用的憑證。檢查時可能需要連到發行該 secret 的服務。
常見陷阱:減少警示數量或清歷史都不會改變風險排序;真正能分出輕重的是 secret 是否仍有效。
依據:About secret scanning
在互動版作答這題
第 5 題(D2-O2)
開發者從命令列推送一個含有 partner pattern 偵測到的 API 金鑰的 commit。該 repository 已啟用 push protection,開發者不在任何繞過或豁免名單上。推送會發生什麼事?
單選題,選項:
- 推送被阻擋,開發者移除金鑰後重新推送(沒有繞過設定的情況)
- 推送完成並建立開啟中的警示(以 I'll fix it later 繞過的情況)
- 推送完成,而且完全不觸發 push protection(豁免者的情況)
- 推送被阻擋,待審查者核准繞過請求後放行(委派繞過的情況)
看答案與解析
正確答案:推送被阻擋,開發者移除金鑰後重新推送(沒有繞過設定的情況)
解析:Push protection 在推送當下攔截:阻擋推送、說明原因,要求貢獻者檢視被標記的內容、移除敏感資訊後重新推送。
常見陷阱:後三個選項都是真實的 push protection 結果,但各自對應繞過、豁免或委派審查;題幹明說沒有任何繞過設定,才會得到預設的阻擋行為。
依據:About push protection
在互動版作答這題
第 6 題(D2-O2)
貢獻者以「I'll fix it later」為理由繞過 push protection 時,會建立一個仍為開啟狀態的警示。
是非題:判斷敘述是否正確。
看答案與解析
正確答案:正確
解析:三個繞過理由中,只有「I'll fix it later」建立開啟中的警示;另外兩個理由建立的是已關閉的警示。
常見陷阱:容易把三個理由都當成建立已關閉的警示;實際上只有稱為測試用途或誤判的兩種才會直接關閉。
依據:About push protection
在互動版作答這題
第 7 題(D2-O2)
下列哪些推送途徑的 push protection 也涵蓋 AI 偵測的 secret?(選 3 項)
複選題,選項:
- 從命令列推送 commit 到遠端
- 透過 REST API 提交變更內容
- 在 GitHub 網頁介面提交變更
- 透過 GitHub MCP server 操作
- 把檔案上傳到 GitHub 的 repository
看答案與解析
正確答案:從命令列推送 commit 到遠端;在 GitHub 網頁介面提交變更;把檔案上傳到 GitHub 的 repository
解析:命令列推送、網頁介面提交與檔案上傳支援全部樣式類型,包含 AI 偵測的 secret;REST API 與 GitHub MCP server(僅限公開 repository)只支援 partner、generic 與 custom 樣式。
常見陷阱:「同樣是 push protection」不代表每個途徑的涵蓋範圍一樣;評估防護時要逐一核對途徑與樣式類型。
依據:About push protection
在互動版作答這題
第 8 題(D2-O3)
團隊發現三個月前的 commit 含有一個仍然有效、且正式環境正在使用的雲端 API 金鑰。處理這則警示的首要動作是什麼?
單選題,選項:
- 撤銷或輪替金鑰並更新使用它的服務(金鑰仍有效的情況)
- 以 used in tests 關閉警示(金鑰只用於測試的情況)
- 以 false positive 關閉警示(偵測結果不是真的 secret 的情況)
- 通報 GitHub 請其撤銷(私有 repository 中的 GitHub 權杖的情況)
看答案與解析
正確答案:撤銷或輪替金鑰並更新使用它的服務(金鑰仍有效的情況)
解析:已提交的 secret 應視為已外洩。憑證一旦撤銷或輪替,改寫 Git 歷史通常不必要,而且耗時,所以先讓憑證失效。
常見陷阱:每個選項都是官方文件中真實存在的處理方式,但適用情境不同;題幹寫明金鑰仍有效且正在使用,所以首要動作是讓它失效。
依據:About secret scanning、Resolving alerts from secret scanning
在互動版作答這題
第 9 題(D2-O3)
對私有 repository 中外洩的任何類型憑證,只要通報 GitHub,GitHub 就會代為撤銷。
是非題:判斷敘述是否正確。
看答案與解析
正確答案:錯誤
解析:通報撤銷的功能目前只針對仍有效或尚未確認的 GitHub personal access token,而且仍是公開預覽;其他類型的憑證要由使用者自行處理。
常見陷阱:「通報」容易被誤解成通用的撤銷服務;它只適用於特定類型的 GitHub 權杖,不涵蓋第三方供應商的憑證。
依據:Resolving alerts from secret scanning
在互動版作答這題
第 10 題(D2-O3)
通報私有 repository 中外洩的 GitHub 權杖前,官方提醒應先考慮什麼?
單選題,選項:
- 先通報,再輪替權杖,讓撤銷與服務更新同時完成
- 先關閉警示,再通報,避免同一個權杖重複通知
- 先輪替權杖,再通報,避免撤銷後工作流程中斷
- 先把警示指派給同事,再通報,由對方決定是否輪替
看答案與解析
正確答案:先輪替權杖,再通報,避免撤銷後工作流程中斷
解析:撤銷是單向動作:權杖一旦被撤銷,仍在使用它的服務就會失敗。先輪替並更新依賴它的服務,再通報,可以避免工作流程中斷。
常見陷阱:只想著「越快撤銷越安全」會忽略營運影響;官方的順序是先讓替代憑證就位,再讓舊憑證失效。
依據:Resolving alerts from secret scanning
在互動版作答這題
第 11 題(D2-O4)
組織要讓遷移機器人帳號的推送完全不被 push protection 阻擋。應該授予哪一種設定?
單選題,選項:
- Bypass privileges 繞過權限名單
- Exemption 豁免者名單設定
- Delegated alert dismissal
- Custom pattern 自訂偵測樣式
看答案與解析
正確答案:Exemption 豁免者名單設定
解析:Exemption 讓指定對象的推送完全不觸發 push protection,官方建議留給遷移機器人或服務帳號這類可信的自動化;bypass privileges 則是被阻擋時可以自行繞過,並能審查他人的繞過請求。
常見陷阱:繞過權限聽起來比較寬鬆,但持有者仍會被阻擋,只是被擋時可以自行繞過;只有豁免才是完全不觸發。
依據:About delegated bypass for push protection、About push protection
在互動版作答這題
第 12 題(D2-O4)
不在繞過名單上的貢獻者所提出的繞過請求,有 7 天的有效期限,逾期即失效。
是非題:判斷敘述是否正確。
看答案與解析
正確答案:正確
解析:委派繞過下,名單以外的貢獻者提出的請求進入審查流程,並且在 7 天後過期。
常見陷阱:容易以為請求會一直等到有人處理為止;有期限代表審查者若遲遲不處理,貢獻者必須重新提出。
依據:About delegated bypass for push protection
在互動版作答這題
第 13 題(D2-O4)
關於自訂樣式的「Save and dry run」,下列哪些敘述正確?(選 2 項)
複選題,選項:
- dry run 會建立警示,供團隊檢視結果
- dry run 找出符合項,但不會建立警示
- dry run 的結果最多顯示 100 筆
- dry run 的結果最多顯示 1,000 筆
看答案與解析
正確答案:dry run 找出符合項,但不會建立警示;dry run 的結果最多顯示 1,000 筆
解析:Dry run 找出符合項但不建立警示,結果最多顯示 1,000 筆,讓你檢視誤判、調整樣式後再跑;確認後才發佈。組織層級可涵蓋全部 repository,或最多 10 個選定的 repository。
常見陷阱:順序是先 dry run、後發佈;把發佈當成前提,會讓誤判的樣式直接影響貢獻者。
依據:Defining custom patterns for secret scanning
在互動版作答這題
第 14 題(D2-O4)
在組織層級對自訂樣式執行 dry run,可以選擇的範圍是什麼?
單選題,選項:
- 全部 repository,或最多 5 個選定的 repository
- 全部 repository,或最多 10 個選定的 repository
- 全部 repository,或最多 20 個選定的 repository
- 全部 repository,或最多 50 個選定的 repository
看答案與解析
正確答案:全部 repository,或最多 10 個選定的 repository
解析:組織層級的 dry run 可以涵蓋全部 repository,或最多 10 個選定的 repository;企業層級則是最多 10 個選定、且你擁有管理權限的 repository。
常見陷阱:兩個層級都有「10 個」的上限,但企業層級還要求對每個 repository 有管理權限;把兩個層級的規則混在一起,會選到錯誤的上限或遺漏權限條件。
依據:Defining custom patterns for secret scanning
在互動版作答這題