GH-500 數位教科書 開啟互動版

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

在互動版作答這題