D6 模擬題:GitHub 安全套件管理
D6「GitHub 安全套件管理」12 題原創模擬題,附正確答案、解析與常見陷阱。選項順序在互動版會隨機排列。
第 70 題(D6-O1)
repository 管理員改了一個與未強制 configuration 衝突的設定。該 repository 的狀態會是什麼?
單選題,選項:
- detached,已完全斷開關聯
- removed,仍關聯但不繼承全部
- failed,無法套用 configuration
- attached,繼續繼承全部設定
看答案與解析
正確答案:removed,仍關聯但不繼承全部
解析:removed 表示 repository 管理員改了與未強制 configuration 衝突的設定,configuration 仍關聯,但 repository 不再繼承全部設定,也不計入涵蓋指標。
常見陷阱:removed 與 detached 都像是「脫離管理」,但 detached 是完全斷開。
依據:Security configuration statuses
在互動版作答這題
第 71 題(D6-O1)
把 repository 從 security configuration 卸除(detach)時,會同時還原該 repository 原本的安全設定。
是非題:判斷敘述是否正確。
看答案與解析
正確答案:錯誤
解析:卸除不會改變 repository 現有的啟用設定;只是之後改為在 repository 層級個別管理。
常見陷阱:卸除聽起來像復原,其實只是不再受 configuration 管理。
依據:Detaching repositories from their security configurations
在互動版作答這題
第 72 題(D6-O1)
腳本用 REST API 修改已強制 configuration 所控制的功能。呼叫會有什麼結果?
單選題,選項:
- 回傳錯誤,因為該功能被鎖定
- 功能被改變,並記入稽核日誌
- 呼叫看似成功,但啟用狀態不變
- 只有企業管理員的呼叫會成功
看答案與解析
正確答案:呼叫看似成功,但啟用狀態不變
解析:對強制的 configuration,透過 REST API 的變更呼叫看似成功,但啟用狀態不會改變。
常見陷阱:以為被鎖定的設定會回傳錯誤;實際上是無聲不生效。
依據:Security configuration enforcement
在互動版作答這題
第 73 題(D6-O2)
組織建立了預設 security configuration,之後一個 repository 從其他組織轉移進來。這個 repository 會如何?
單選題,選項:
- 自動套用預設 configuration
- 自動套用,但狀態標示為 attaching
- 維持 detached,直到下次排程套用
- 需手動套用適合的 configuration
看答案與解析
正確答案:需手動套用適合的 configuration
解析:預設 configuration 只自動套用到新建立的 repository;轉移進組織的 repository 要手動套用。
常見陷阱:「預設」讓人以為所有進入組織的 repository 都會套用。
依據:Creating a custom security configuration
在互動版作答這題
第 74 題(D6-O2)
在 security configuration 中,可以在未啟用 validity checks 的情況下啟用 extended metadata checks。
是非題:判斷敘述是否正確。
看答案與解析
正確答案:錯誤
解析:只能在 validity checks 啟用時,才能啟用 extended metadata checks。
常見陷阱:兩者列在同一組選項中,容易以為可以獨立開關。
依據:Creating a custom security configuration
在互動版作答這題
第 75 題(D6-O2)
管理員要讓 Code Security 保持停用,卻把 Code scanning 區塊的「Prevent direct alert dismissals」改成 Not set。結果會是什麼?
單選題,選項:
- Code Security 自動切換為 Enabled
- Code Security 仍保持停用
- 僅 Dependabot alerts 被關閉
- configuration 無法儲存並顯示錯誤
看答案與解析
正確答案:Code Security 自動切換為 Enabled
解析:把該項改為 Not set 會自動把 Code Security 切換為 Enabled;為避免意外啟用付費功能,儲存與套用前要重新確認最上層的設定。
常見陷阱:「Not set」看似沒動作,但會觸發付費功能啟用。
依據:Managing your paid use of Advanced Security
在互動版作答這題
第 76 題(D6-O2)
組織把 Dependabot 的 runner 類型設為標籤 runner。公開 repository 的 Dependabot 更新會用哪種 runner?
單選題,選項:
- 符合標籤的自管 runner
- 符合標籤的 larger runner
- GitHub 代管的標準 runner
- 由 repository 管理員自選
看答案與解析
正確答案:GitHub 代管的標準 runner
解析:基於安全理由,公開 repository 一律用 GitHub-hosted runner,標籤 runner 對公開 repository 無效。
常見陷阱:組織層級設定看似涵蓋所有 repository,但公開 repository 是例外。
依據:Configuring global security settings for your organization
在互動版作答這題
第 77 題(D6-O2)
組織已在 global settings 啟用 AI Scan for pull requests。AI applications 掃描會怎麼樣?
單選題,選項:
- 一併啟用,因為屬於同一組偵測
- 不會啟用,需要另外選擇啟用
- 只對私有 repository 一併啟用
- 由 repository 管理員決定是否一併啟用
看答案與解析
正確答案:不會啟用,需要另外選擇啟用
解析:AI applications 掃描與 AI Scan 是各自獨立的設定,控制不同的偵測器;啟用 AI Scan 不會啟用 AI applications 掃描。
常見陷阱:名稱都含 AI,容易以為是同一個開關。
依據:Configuring global security settings for your organization
在互動版作答這題
第 78 題(D6-O3)
組織要建立一個能套用到所有 repository 的 configuration,其中一部分 repository 已經在跑 advanced setup。Default setup 應選哪個選項?
單選題,選項:
- Enabled with advanced setup allowed
- Not set,保持各 repository 現狀
- Disabled,改由 workflow 檔控制
- Enabled,覆蓋現有的 advanced setup
看答案與解析
正確答案:Enabled with advanced setup allowed
解析:「Enabled with advanced setup allowed」只在 CodeQL 分析目前沒有執行的 repository 啟用 default setup,因此可套用到所有 repository。
常見陷阱:直接選 Enabled 會與現有 advanced setup 衝突。
依據:Creating a custom security configuration
在互動版作答這題
第 79 題(D6-O3)
對不適用 default setup 的一批 repository,官方建議用什麼方式大規模啟用 advanced setup?
單選題,選項:
- 在組織設定頁面一鍵啟用全部
- 套用 security configuration 即可
- 用批次 script 把 workflow 加到各庫
- 由各 repository 管理員自行建立
看答案與解析
正確答案:用批次 script 把 workflow 加到各庫
解析:不適用 default setup 的 repository,用批次設定 script 把 CodeQL workflow 加到每個 repository;組織需啟用 GitHub Actions。
常見陷阱:security configuration 可啟用 default setup,但不負責把自訂 workflow 加到各 repository。
依據:Configuring advanced setup for code scanning with CodeQL at scale
在互動版作答這題
第 80 題(D6-O4)
管理員想追蹤 repository 的 security configuration 狀態何時變更。應該查稽核日誌的哪個事件?
單選題,選項:
- repository_security_configuration
- repository_vulnerability_alert
- org.update_security_configuration
- repo.security_status_change
看答案與解析
正確答案:repository_security_configuration
解析:狀態變更會記錄為 repository_security_configuration 事件,可用 action:repository_security_configuration 篩選。
常見陷阱:稽核日誌有多個 repository_ 開頭的事件,要記對各自的用途。
依據:Security configuration statuses
在互動版作答這題
第 81 題(D6-O4)
取得企業 code security configuration 的 REST 端點,可以使用 fine-grained personal access token。
是非題:判斷敘述是否正確。
看答案與解析
正確答案:錯誤
解析:該端點不適用 GitHub App user access token、installation access token 或 fine-grained personal access token;OAuth app 與 classic personal access token 需要 read:enterprise 範圍。
常見陷阱:fine-grained token 常被視為較新、較推薦的選擇,但這個端點不支援。
依據:REST API endpoints for code security configurations
在互動版作答這題