GitHub Advanced Security 模擬試験
### CodeQLとは何ですか?
> https://codeql.github.com/
1. [x] コード解析ツール
1. [ ] プログラミング言語
1. [ ] テキストエディタ
1. [ ] バージョン管理システム
### セキュリティの文脈での「shifting left」とは何を意味しますか?
> https://github.com/readme/guides/github-advanced-security-telus
1. [x] 開発サイクルの早期にセキュリティ対策を取り入れること
1. [ ] 一般的に使われている言語でコードを書くこと
1. [ ] 本番直前にセキュリティ対策を組み込むこと
1. [ ] セキュリティを気にせずコードを書くこと
### Repository Security Advisoriesとは何ですか?
> https://docs.github.com/en/code-security/security-advisories/working-with-repository-security-advisories/about-repository-security-advisories
1. [x] リポジトリのメンテナがコードベースの脆弱性やセキュリティ問題について議論するためのプライベート空間
1. [ ] GitHubのセキュリティ専門家がGitHub Enterpriseユーザーを支援するサービス
1. [ ] 公開され誰でも閲覧できる脆弱性のリスト
1. [ ] オープンソースコミュニティでセキュリティ問題を公開討論する場
### リポジトリの依存関係を最新に保つのに役立つツールはどれですか?
> https://docs.github.com/en/code-security/dependabot
1. [x] Dependabot
1. [ ] Security Advisories
1. [ ] CodeQL
1. [ ] GitHub Actions
### オープンソースプロジェクトで発見されたセキュリティ脆弱性のキュレーションリストはどれですか?
> https://docs.github.com/en/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-the-github-advisory-database
1. [x] GitHub Advisory Database
1. [ ] CodeQL
1. [ ] Dependabot
1. [ ] GitHub Security Journal
### パブリックおよびプライベートの個人リポジトリで無料で利用できるGitHubのセキュリティ機能はどれですか?(4つ選択)
> https://docs.github.com/en/code-security/getting-started/github-security-features
- [x] Security Policy
- [x] Security advisories
- [x] Dependabot alerts and security updates
- [x] Dependabot version updates
- [ ] Dependabot code scanning
> Dependabotはコードスキャンツールではなく依存関係管理ツールです
- [ ] Dependabot secret scanning
> Dependabotはシークレットスキャンツールではなく依存関係管理ツールです
- [ ] Secret scanning
> シークレットスキャンはパブリックリポジトリとGitHub Advanced Securityライセンスを持つ組織向けであり、個人のプライベートリポジトリでは利用できません
- [ ] Code scanning
> コードスキャンはパブリックリポジトリとGitHub Advanced Securityライセンスを持つ組織向けであり、個人のプライベートリポジトリでは利用できません
### Secret scanningとは何ですか?
> https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning
1. [x] Secret scanningはリポジトリ内のプライベートキーやトークンなどの秘密情報を検出するスキャン機能です
1. [ ] Secret scanningは秘密情報を漏洩させる可能性のあるコード脆弱性を検出するスキャン機能です
1. [ ] Secret scanningは安全な秘密情報の保管・管理のためのツールです
1. [ ] Secret scanningはGitHubにプッシュされる前のコミットをスキャンするgitフックです
### Secret scanningがスキャンするリポジトリの部分はどこですか?(2つ選択)
> https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning#about-secret-scanning
- [x] リポジトリ内のすべてのブランチのgit履歴全体
- [x] 過去のオープンおよびクローズ済みIssueのタイトル、説明、コメント
- [ ] GitHubリポジトリのシークレット
> https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-a-repository
- [ ] GitHub環境のシークレット
> https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-an-environment
- [ ] リポジトリ内のすべての保護されたブランチのgit履歴全体
### Secret scanningパートナープログラムの目的は何ですか?
> https://docs.github.com/en/code-security/secret-scanning/secret-scanning-partner-program
1. [x] サービスプロバイダーがGitHubと提携し、自身が発行するシークレットのフォーマットをGitHubのSecret scanningが認識できるようにするためのプログラム
1. [ ] GitHubパートナープログラムは、GitHub Advanced Securityライセンスを持つエンタープライズや組織がGitHubのSecret scanningを使ってリポジトリをスキャンできるようにするもの
1. [ ] GitHubが外部のセキュリティ企業と提携してGitHubリポジトリのSecret scanningを提供するもの
1. [ ] 登録されたセキュリティ専門家が善意でGitHubリポジトリ内のシークレットを報告し、報酬を得るプログラム
### 個人ユーザー所有のパブリックリポジトリと組織所有のパブリックリポジトリは、Secret scanningを無料で利用できますか?
> https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning#about-secret-scanning
1. [x] はい
1. [ ] いいえ
### クラウドプロバイダーの資格情報を含むコミットがGitHubにプッシュされるのを防ぐにはどうすればよいですか?
> https://docs.github.com/en/code-security/secret-scanning/push-protection-for-repositories-and-organizations
1. [x] リポジトリまたは組織に対してSecret scanningのプッシュ保護ルールを有効化する
1. [ ] シークレットを含むファイルを無視する`.gitignore`ファイルをリポジトリに含める
1. [ ] プッシュ前にコミット内のシークレットをスキャンするGitHub Actionsを作成する
1. [ ] リポジトリにブランチ保護ルールを有効にする
### GitHub Secret scanningパートナープログラムについて正しいものはどれですか?(3つ選択)
> https://docs.github.com/en/code-security/secret-scanning/secret-scanning-partner-program
- [x] サービスプロバイダーは発行するシークレットの正規表現パターンをGitHubに提供し、GitHub Secret scanningがそれらを認識できるようにするプログラム
- [x] GitHubがパートナーサービスのシークレットを検知すると、サービスプロバイダーに漏洩したシークレットを通知する
- [x] パートナーはGitHubから漏洩通知を受けると、シークレットの無効化や所有者への通知などの対応を行う
- [ ] パートナーがGitHubのSecret scanning APIにアクセスして、自社のフォーマットに合致するシークレットをGitHubリポジトリ内でスキャンできるようにする
> GitHubがSecret scanningを実行し、パートナーは実行しない
- [ ] GitHubが漏洩したシークレットを自動無効化し、サービスプロバイダーに通知する
> GitHubはシークレットの無効化には関与せず、サービスプロバイダーが対応可能
### Secret scanningから特定のディレクトリやファイルを除外するにはどうすればよいですか?
> https://docs.github.com/en/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories#excluding-directories-from-secret-scanning-alerts-for-users
1. [x] `secret_scanning.yml`ファイルを作成し、スキャン対象から除外したいパスを記述する
1. [ ] 特定のファイルやディレクトリをスキャンから除外することはできません。Secret scanningを有効にすると全ファイル・ディレクトリがスキャン対象になります。
1. [ ] `.gitignore`ファイルに除外したいファイルを記述する
1. [ ] `dependabot.yml`ファイルを作成し、スキャン対象から除外したいパスを記述する
### テストコードに偽のシークレットを含めていて、GitHubのSecret scanningで検出されました。これらはテスト用の偽シークレットで無視して良いことをGitHubに伝えるにはどうすれば良いですか?(2つ選択)
> https://docs.github.com/en/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/excluding-folders-and-files-from-secret-scanning
- [x] 偽シークレットを含むパスを宣言した`secret_scanning.yml`ファイルを作成してスキャン対象から除外する
- [x] Secret Scanning Alertを「Used in tests」(テストで使用)クローズ理由で閉じる
- [ ] テストファイルの偽シークレットがある行に`#gh_ignore: fake secret`コメントを追加する
- [ ] 偽シークレットを含むパスを宣言した`.github/codeql.yml`ファイルを作成してスキャン対象から除外する
### GitHubのPersonal Access Tokenを誤ってパブリックリポジトリにコミットしてしまいました。アカウントの乗っ取りを防ぐために取るべき行動は?
> https://docs.github.com/en/code-security/secret-scanning/managing-alerts-from-secret-scanning#securing-compromised-secrets
1. [x] トークンは漏洩したと見なし、即座に削除する
1. [ ] トークンの権限を読み取り専用に変更する
1. [ ] トークンを覆い隠すためにgit履歴を書き換える
1. [ ] そのトークンが使用されているアプリケーションがあれば確認して削除する
### GitHub Secret scanningパートナープログラムに新しいシークレットパターンが追加または更新された場合の挙動は?
> https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning#accessing-secret-scanning-alerts
1. [x] Secret scanningが有効なパブリックリポジトリの過去のすべてのコードコンテンツをGitHubがスキャンする
1. [ ] Secret scanningが有効なリポジトリで新たにプッシュされたコミットのみ新パターンをスキャンする。既存のシークレットは検出されない。
1. [ ] GitHubパートナーが過去に漏洩したシークレットに対応し、GitHubは新コミットのみ新パターンでスキャンする
1. [ ] Secret scanningが有効なすべてのリポジトリにIssueを作成し、管理者が新パターンに合致するシークレットを確認できるようにする
### リポジトリに新しいシークレットがプッシュされ検出された場合、誰に通知されますか?(5つ選択)
> https://docs.github.com/en/code-security/secret-scanning/managing-alerts-from-secret-scanning/monitoring-alerts#incremental-scans
- [x] リポジトリ管理者
- [x] セキュリティマネージャー
- [x] 読み書きアクセス権を持つカスタムロールのユーザー
- [x] シークレットが漏洩したリポジトリの管理者である組織オーナーおよびエンタープライズオーナー
- [x] コミット作成者
- [ ] リポジトリへの書き込み権限を持つ全員
- [ ] すべての組織オーナーおよびエンタープライズオーナー
### GitHubがエンタープライズリポジトリの過去のすべてのコードをスキャンする際の通知の挙動は?(2つ選択)
> https://docs.github.com/en/code-security/secret-scanning/managing-alerts-from-secret-scanning/monitoring-alerts#historical-scans
- [x] シークレットが見つからなくてもエンタープライズオーナーとセキュリティマネージャーに通知される
- [x] シークレットが検出されると、リポジトリ管理者、セキュリティマネージャー、読み書きアクセス権を持つカスタムロールのユーザーに通知される
- [ ] シークレットが見つかった場合のみエンタープライズオーナーとセキュリティマネージャーに通知される
- [ ] シークレットを含むコミットの作成者に通知される
### GitHubはユーザーアラートとプッシュ保護アラートの両方で同じシークレットスキャンパターンを使っていますか?
> https://docs.github.com/en/code-security/secret-scanning/secret-scanning-patterns#about-secret-scanning-patterns
1. [x] いいえ、それぞれ異なるパターンセットを使用している
1. [ ] はい、同じパターンセットを使っている
> シークレットスキャンパターンは3種類あり、一部重複はあるが同じではない。
### GitHubが管理する3種類の異なるシークレットスキャンパターンは何ですか?(3つ選択)
> https://docs.github.com/en/code-security/secret-scanning/secret-scanning-patterns#about-secret-scanning-patterns
- [x] パートナーパターン
- [x] ユーザーアラートパターン
- [x] プッシュ保護パターン
- [ ] エンタープライズアラートパターン
- [ ] オープンソースアラートパターン
- [ ] クラウドプロバイダーパターン
### 複数のパブリックリポジトリに貢献しているが、それらにSecret scanningのプッシュ保護が有効でない場合、誤ってシークレットをプッシュしないようにするためには?
> https://docs.github.com/en/code-security/secret-scanning/push-protection-for-users#about-push-protection-for-users
1. [x] 個人のGitHubアカウント設定で「Push protection for yourself」を有効にする
1. [ ] GitHubプッシュ保護のWebプラグインをダウンロードする
1. [ ] リポジトリ、組織、またはエンタープライズレベルでプッシュ保護を有効にしなければならないため不可能
1. [ ] すべてのリポジトリでシークレットを含むファイルを`.gitignore`に追加する
### 会社の内部シークレットがGitHubリポジトリに誤ってプッシュされるのを防ぎたいが、そのパターンがGitHubに知られておらずSecret scanningで検出されない。どのように開発者を保護できますか?
> https://docs.github.com/en/enterprise-cloud@latest/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-an-organization
1. [x] これらのシークレットの正規表現パターンを定義し、組織でSecret scanningのカスタムパターンを有効化する
1. [ ] GitHubパートナープログラムに参加し、シークレットのパターンを認識させるべき
> GitHubパートナープログラムはサービスプロバイダー向けで、組織内部のシークレット用ではない
1. [ ] 組織のリポジトリでカスタムGitHub Actionsワークフローを定義してスキャンする
1. [ ] すべてのリポジトリに`secret_scanning.yml`ファイルを含めてカスタムシークレットを定義する
> `secret_scanning.yml`は特定ファイルやディレクトリのスキャン除外に使われる
### Dependabotアラートは何を教えてくれますか?
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts
1. [x] リポジトリで使用しているパッケージに脆弱性があることを知らせる
1. [ ] リポジトリが他のパブリックリポジトリに使われていることを知らせる
1. [ ] リポジトリで未テストのパッケージバージョンを使っていることを知らせる
1. [ ] リポジトリで古いバージョンのパッケージを使っていることを知らせる
> Dependabotはバージョンアップデートで対応し、アラートでは対応しない
### GitHub Dependency graphとは何ですか?
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph
1. [x] リポジトリの依存関係と依存されている関係の表現
1. [ ] GitHub Dependency graphというものは存在しない
1. [ ] リポジトリの依存関係のバージョンアップデートを自動提案するツール
1. [ ] オープンソースソフトウェアの既知の脆弱性リストをGitHubが管理しているもの
### GitHub Dependency graphはすべてのリポジトリで無料で利用できますか?
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#dependency-graph-availability
1. [x] はい、すべてのリポジトリで無料で利用可能
1. [ ] いいえ、パブリックリポジトリのみ無料。プライベートはGitHub Advanced Securityライセンスが必要
### GitHub Dependency graphはどのようにしてプロジェクトの依存関係を把握していますか?(2つ選択)
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#supported-package-ecosystems
- [x] リポジトリにコミットされたマニフェストやロックファイルから自動的に依存関係を抽出
- [x] Dependency submission APIを使って依存関係を手動で追加可能
- [ ] リポジトリコードをスキャンし、外部パッケージのimport文を検出
- [ ] 新しいコミットがプッシュされるたびにactions/dependency-graph GitHub Actionを使うワークフローが必要
### GitHub Dependency graphはいつ更新されますか?(2つ選択)
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security#what-is-the-dependency-graph
- [x] 依存するリポジトリの誰かが変更をプッシュしたとき
- [x] 依存するリポジトリのデフォルトブランチにサポート対象のマニフェストやロックファイルが追加または変更されてコミットされたとき
- [ ] 依存するリポジトリのデフォルトブランチにコミットがプッシュされるたび
- [ ] リポジトリで新しいリリースが公開されたとき
- [ ] リポジトリで新しいgitタグが作成されたとき
- [ ] actions/dependency-graph GitHub Actionを使うワークフローがトリガーされたとき
### GitHub Dependency graphをどの形式でエクスポートできますか?
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/exporting-a-software-bill-of-materials-for-your-repository
1. [x] SPDX
1. [ ] YAML
1. [ ] JSON
1. [ ] XML
1. [ ] CSV
### Dependabot Alertsを使わずにDependency Graphを利用できますか?
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#using-the-dependency-graph
1. [x] はい
1. [ ] いいえ
> Dependabot Alertsを使わなくてもDependency Graphは利用可能。ただし、Dependency Graphを無効にするとDependabot Alertsは使えない。
### リポジトリでDependabot Alertsを使うための前提機能は何ですか?
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#using-the-dependency-graph
1. [x] Dependency graph
1. [ ] Dependency review
1. [ ] Dependency security updates
1. [ ] Dependency version updates
### Dependabot Alertsについて正しい説明はどれですか?(3つ選択)
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts
- [x] GitHub Advisory Databaseに部分的に依存している
- [x] Dependabot Alertsを有効にするには、リポジトリでDependency Graphが有効である必要がある
- [x] GitHubが脆弱な依存関係を検出すると、Dependabot Alertを生成し、リポジトリのSecurityタブに表示する
- [ ] Dependabot Alertsはすべてのリポジトリでデフォルトで有効ではない
- [ ] Dependabot Alertsはすべてのパブリックリポジトリでデフォルトで有効ではない
- [ ] Dependabot Alertsはリポジトリが古いパッケージバージョンを使っていることを知らせる
### GitHubのSecurity Overview機能の主な利点は何ですか?
> https://docs.github.com/en/code-security/security-overview/about-security-overview
1. [x] 組織内のセキュリティアラートとポリシー管理の集中ビュー
1. [ ] すべてのプッシュに対する自動コードレビュー
1. [ ] リアルタイムの脅威検出
1. [ ] 自動的な依存関係の更新
### CodeQLとは何ですか?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql#about-code-scanning-with-codeql
1. [x] GitHubが開発したコード解析エンジン
1. [ ] セキュリティ解析のための新しいプログラミング言語
1. [ ] コードスキャン結果を保存するデータベース
1. [ ] 静的コード解析のためのサードパーティ製ツール
### GitHubのDependabotアラートは何を示しますか?
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts#about-dependabot-alerts
1. [x] リポジトリ内に脆弱な依存関係やマルウェアが存在すること
1. [ ] 更新が必要な古い依存関係
1. [ ] 依存関係設定ファイルのエラー
1. [ ] 依存関係間の競合
### GitHubにおけるコードスキャンの目的は何ですか?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning#about-code-scanning
1. [x] コード内の脆弱性やエラーを特定すること
1. [ ] コードのフォーマットやスタイルをチェックすること
1. [ ] プルリクエストを自動的にレビューすること
1. [ ] コードを本番サーバーと同期すること
### GitHubで秘密情報のスキャン(Secret scanning)はパブリックリポジトリとプライベートリポジトリの両方で利用可能ですか?
> https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning#about-secret-scanning
1. [x] はい。ただしプライベートリポジトリではGitHub Advanced Securityライセンスが必要
1. [ ] はい。追加の要件なしで利用可能
1. [ ] いいえ。パブリックリポジトリのみ利用可能
1. [ ] いいえ。プライベートリポジトリのみ利用可能
### GitHubでのCodeQL分析のデフォルト設定は何をしますか?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql#about-code-scanning-with-codeql
1. [x] 自動的に解析対象の言語、実行するクエリスイート、スキャンをトリガーするイベントを選択する
1. [ ] 各スキャンでユーザーが言語とクエリを手動指定する必要がある
1. [ ] コードを月1回のみスキャンする
1. [ ] サードパーティ製スキャンツールの別途インストールが必要
### CodeQL CLIの主な目的は何ですか?
> https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/about-the-codeql-cli#about-the-codeql-cli
1. [x] コードベースのデータベース表現(CodeQLデータベース)を生成すること
1. [ ] リポジトリの設定や権限を管理すること
1. [ ] リポジトリの定期メンテナンス作業をスケジュールすること
1. [ ] プルリクエストを自動マージすること
### CodeQLでコードスキャンに対応していない言語はどれですか?
> https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks/#languages-and-compilers
1. [x] PHP
1. [ ] JavaScript/TypeScript
1. [ ] C/C++
1. [ ] Python
### CodeQLはGitHubでどのようにコードを解析しますか?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql#about-codeql
1. [x] CodeQLデータベースを生成し、クエリを実行して問題を特定し、結果をコードスキャンアラートとして表示する
1. [ ] 過去のコミットに基づいて潜在的な脆弱性を機械学習で予測する
1. [ ] GitHubコミュニティメンバーが提出した手動のコードレビューを行う
1. [ ] コード解析にサードパーティ製ツールのみを使用する
### CodeQLを外部CIシステムでGitHubリポジトリと一緒に使用するにはどうすればよいですか?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system#about-using-code-scanning-with-your-existing-ci-system
1. [x] 外部CIシステムでCodeQL CLIを実行してコードをスキャンし、結果をGitHubリポジトリにアップロードする
1. [ ] CodeQLは外部CIシステムでは使えず、GitHub Actions専用である
1. [ ] ソースコードをGitHubにアップロードして解析し、その結果をダウンロードしてCIシステムで使用する
1. [ ] CodeQLをローカルで手動実行し、結果をGitHubリポジトリ管理者にメール送信する
### GitHubのSecret scanningについて、以下のうち正しくないものはどれですか?
> https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning
1. [x] Secret scanningは秘密情報の安全な保存と管理のためのツールである。
1. [ ] Secret scanningはGitHubリポジトリ内の全ブランチのGit履歴を秘密情報についてスキャンする。
1. [ ] Secret scanningはオープンおよびクローズ済みの過去のIssueのタイトル、説明、コメントを秘密情報についてスキャンする。
1. [ ] Secret scanningはサポートされた秘密情報がエンタープライズ、組織、リポジトリにプッシュされるのを防ぐことができる。
### `dependabot.yml` ファイルで必要なトップレベルキーはどれですか?
> https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#about-the-dependabotyml-file
1. [x] `version` と `updates`
1. [ ] `version` と `package-ecosystem`
1. [ ] `assignees` と `directory`
1. [ ] `updates` と `directory`
### サードパーティのSARIFファイルをアップロードするために使われるGitHub Actionはどれですか?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github#uploading-a-code-scanning-analysis-with-github-actions
1. [x] `github/codeql-action/upload-sarif`
1. [ ] `codeql-upload-sarif`
1. [ ] `github/codeql-action`
1. [ ] `actions/upload-sarif`
### サードパーティのCIシステムでコード解析結果をGitHubにアップロードするために使われるツールはどれですか?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system#about-using-code-scanning-with-your-existing-ci-system
1. [x] CodeQL CLI
1. [ ] CodeQL API
1. [ ] GitHub Actions の `github/codeql-action`
1. [ ] GitHub CLI
### CIサーバーがSARIF結果をGitHubにアップロードするために必要なものは何ですか?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system#generating-a-token-for-authentication-with-github
1. [x] `security_events` 書き込み権限を持つGitHub Appまたは個人アクセストークン
1. [ ] GitHub Advisory Databaseへの直接接続
1. [ ] GitHubリポジトリの管理者権限
1. [ ] CIシステムにインストールされた特別なプラグイン
### 1つのコミットに対して2つ目のSARIF結果ファイルがGitHubにアップロードされた場合、どうなりますか?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system#uploading-your-results-to-github
1. [x] 元のデータセットが置き換えられる
1. [ ] 結果が既存のファイルに追記される
1. [ ] リポジトリに新しいブランチが作成される
1. [ ] GitHubにより無視される
### GitHubで特定のディレクトリをSecret scanningアラートから除外するにはどうすればよいですか?
> https://docs.github.com/en/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories#excluding-directories-from-secret-scanning-alerts-for-users
1. [x] リポジトリの `.github/secret_scanning.yml` ファイルを設定する
1. [ ] リポジトリの `Security` タブの `Secret scanning` メニューから直接設定する
1. [ ] リポジトリの `Settings` タブの `Code security and analysis` メニューから直接設定する
1. [ ] リポジトリの `README.md` ファイルを編集して設定する
### GitHubでSecret scanningアラートからディレクトリを除外するために`secret_scanning.yml`ファイルで使用すべきキーはどれですか?
> https://docs.github.com/en/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories#excluding-directories-from-secret-scanning-alerts-for-users
1. [x] `paths-ignore:`
1. [ ] `paths-exclude:`
1. [ ] `ignore-directories`
1. [ ] `exclude-paths:`
### GitHubでSecret scanningのために定義可能なカスタムパターンの最大数はいくつですか?
> https://docs.github.com/en/enterprise-cloud@latest/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#about-custom-patterns-for-secret-scanning
1. [x] 組織・エンタープライズは500、リポジトリは100
1. [ ] 組織・エンタープライズは100、リポジトリは500
1. [ ] 組織、エンタープライズ、リポジトリともに100
1. [ ] GitHubでSecret scanningのために定義できるカスタムパターン数に制限はない
### 空欄を埋めてください:`GitHub __________ はGitHubリポジトリ内のコードを解析し、セキュリティの脆弱性やコーディングエラーを発見するための機能です。`
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning
1. [x] Code Scanning
1. [ ] Dependency Graph
1. [ ] Security Advisories
1. [ ] Vulnerability Detection
### GitHub Advanced Securityのどの機能が、コードの新旧の問題を発見・振り分け・優先順位付けすることを可能にしますか?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning
1. [x] Code scanning
1. [ ] Dependabot alerts
1. [ ] Security policies
1. [ ] Security advisories
### リポジトリでコードスキャンを有効にするにはどうすればよいですか?
> https://docs.github.com/en/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning
1. [x] リポジトリ設定のセキュリティタブに移動し、デフォルトまたは詳細設定でコードスキャンを有効にする
1. [ ] ユーザー設定に移動し、コードスキャンを有効にする。全リポジトリまたは選択したリポジトリのみで有効化可能。
1. [ ] `.github/codeql.yml`設定ファイルをリポジトリに追加する
1. [ ] リポジトリ設定のセキュリティタブで内容に関するアンケートに回答し、その回答に基づいてGitHubが適切な設定でコードスキャンを有効にする
### GitHubリポジトリでCodeQL解析をスケジュールで実行するにはどうすればよいですか?(2つ選んでください)
> https://docs.github.com/en/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning#about-default-setup
- [x] `schedule`トリガーを持つGitHub Actionsワークフローを作成する。ワークフローは`github/codeql-action`リポジトリのActionsを利用する。
- [x] デフォルトのCodeQL解析設定を使用する。
- [ ] リポジトリ設定で`codeql.trigger`プロパティを`schedule`に設定する。
- [ ] `.github/codeql.yml`設定ファイルに`schedule`プロパティを追加する。
- [ ] GitHubサポートにスケジュールCodeQL解析有効化を依頼する。
### 組織で、リポジトリの全プルリクエストにCodeQL解析を導入し、さらに毎時実行するようになってからGitHub Actionsの請求が通常より高額になりました。これの最も考えられる原因は何ですか?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning#about-billing-for-code-scanning
1. [x] Code scanningはGitHub Actionsを使用しており、追加利用分が請求されている。
1. [ ] コードスキャン解析で想定以上に多くの問題を検出し、完了まで時間がかかっている。
1. [ ] コードスキャンは日次スケジュールでしか実行できず、追加利用分が請求されている。
1. [ ] コードスキャンとGitHub Actionsの請求には相関関係はなく、別のGitHub Actionsワークフローの利用分が請求されている。
### GitHub Actionsを使用したくない場合、外部のCIシステムでコードスキャンを実行し、その結果をGitHubにアップロードできますか?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system#about-using-code-scanning-with-your-existing-ci-system
1. [x] はい
1. [ ] いいえ
### サードパーティのCIシステムでコードスキャンを実行する場合、コードベースを解析するためにどのGitHubツールが必要ですか?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system#about-using-code-scanning-with-your-existing-ci-system
1. [x] 特にGitHubツールは必要なく、SARIF形式の結果を出力できる任意の静的解析ツールでよい。
1. [ ] GitHub Code Scanningツールをインストールする必要がある。
1. [ ] CodeQL CLIをインストールする必要がある。
1. [ ] GitHub CLIをインストールする必要がある。
### GitHub ActionsをCIシステムとして使用し、かつサードパーティツールでコードスキャンを行う場合、SARIF結果をGitHubにアップロードするにはどうすればよいですか?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github#uploading-a-code-scanning-analysis-with-github-actions
1. [x] `github/codeql-action/upload-sarif` GitHub Actionを使用してSARIF結果をアップロードする
1. [ ] GitHub Actionsを使うとSARIF結果は自動的にGitHubにアップロードされる
1. [ ] GitHub Actionsでコードスキャンを行う場合、CodeQLのみが使える。サードパーティのコードスキャンツールはサポートされない
1. [ ] `actions/upload-artifact` GitHub Actionを使用してSARIF結果をアップロードする
### サードパーティのCIシステムでCodeQL解析を使えますか?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system
1. [x] はい、CodeQL CLIを使えば利用できる
1. [ ] いいえ、`github/codeql-action` GitHub Actionの使用が必須であるため利用できない
### コードスキャンについて正しいものはどれですか?(2つ選んでください)
> https://docs.github.com/en/code-security/supply-chain-security/end-to-end-supply-chain/securing-code#scan-your-code-for-vulnerable-patterns
- [x] コードスキャンは手動コードレビューで見逃されがちな安全でないコードパターンの発見に役立つ。
- [x] コードスキャンは開発プロセスの早期にセキュリティ問題を発見するためにCIパイプラインに統合できる。
- [ ] コードスキャンは手動コードレビューの代替ではない。
- [ ] コードスキャンはAPIキーやクラウド認証情報などコードベース内の漏洩した資格情報を見つけるのに役立つ。
> それはSecret scanningの役割。
- [ ] コードスキャンは依存関係とそのバージョンを検索して脆弱な依存関係を見つけるためにコードをスキャンする。
### GitHub ActionsワークフローでCodeQL解析を使う場合、スキャンはどのくらいの頻度でトリガーされますか?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning#about-code-scanning
1. [x] コードスキャンはリポジトリ内で発生する多様なイベントでトリガーできる。
1. [ ] コードスキャンはリポジトリへのすべてのプッシュでトリガーされる。
1. [ ] コードスキャンは設定可能なスケジュールでトリガーされる。
1. [ ] コードスキャンは設定可能なスケジュールまたはプルリクエストでトリガーされる。
### `paths-ignore` キーワードをコードスキャンのGitHub Actionsワークフローに追加するとどうなりますか?
```yaml
.github/workflows/codeql-analysis.yml
on:
pull_request:
branches: [main]
paths-ignore:
- '**/*.md'
- '**/*.txt'
```
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#avoiding-unnecessary-scans-of-pull-requests
1. [x] 解析に関係ないファイルが変更された際の不要なスキャンを避けられる。
1. [ ] CodeQLにすべての`*.txt`と`*.md`ファイルを解析から除外するよう指示する。
1. [ ] 指定された拡張子のファイルが変更されるプルリクエストでCodeQL解析の実行を防ぐ。
1. [ ] プルリクエストチェックは`*.txt`と`*.md`ファイルで見つかったCodeQLの脆弱性を無視する。
### CodeQLスキャンはどの言語をサポートしていますか?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql#about-codeql
1. [x] コンパイル言語とインタプリタ言語の両方
1. [ ] コンパイル言語のみ
1. [ ] インタプリタ言語のみ
1. [ ] すべてのプログラミング言語
### CodeQLクエリは何のために使われますか?
> https://codeql.github.com/docs/writing-codeql-queries/about-codeql-queries/
1. [x] CodeQLクエリはCodeQLデータベースに対して実行され、コーディングエラーやセキュリティ脆弱性を示すパターンを特定する。
1. [ ] CodeQLクエリはコードベースを解析し、CodeQLデータベースを作成するために使われる。
1. [ ] CodeQLクエリはGitHubでのコードレビュー目的で使われる。
1. [ ] CodeQLクエリはコードベースについてCodeQLエンジンに質問できるテキストベースの問いである。
### QLとは何ですか?
> https://codeql.github.com/docs/ql-language-reference/about-the-ql-language/
1. [x] QLはCodeQLの基盤となるクエリ言語である。
1. [ ] QLはQuality Levelの略で、CodeQLが使う指標である。
1. [ ] QLはCodeQLに似た製品だが、コードではなくテキストファイルのスキャンに使われる。
1. [ ] QLはCodeQLがコードスキャンに使うnpmパッケージである。
### CodeQLクエリスイートとは何ですか?
> https://docs.github.com/en/code-security/code-scanning/managing-your-code-scanning-configuration/codeql-query-suites#about-codeql-query-suites
1. [x] CodeQLスイートはCodeQLクエリのコレクションである。
1. [ ] CodeQLスイートはCodeQLデータベースのコレクションである。
1. [ ] CodeQLスイートはCodeQLの解析結果のコレクションである。
1. [ ] CodeQLスイートはCodeQLがサポートする言語のコレクションである。
### CodeQLパックの種類にはどのようなものがありますか?(3つ選んでください)
> https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/customizing-analysis-with-codeql-packs#about-codeql-packs
- [x] クエリパック
- [x] ライブラリパック
- [x] モデルパック
- [ ] コードパック
- [ ] 言語パック
- [ ] 脆弱性パック
### CodeQLクエリパックとは何ですか?
> https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/customizing-analysis-with-codeql-packs#about-codeql-packs
1. [x] ライブラリやモデルなどのすべての推移的依存関係を含む事前コンパイル済みクエリのセットである。
1. [ ] CodeQLクエリで使うライブラリである。
1. [ ] CodeQLクエリのコレクションである。
> それはCodeQLクエリスイートである
1. [ ] CodeQLデータベースを解析する過程で生成された結果のセットである。
### CodeQL解析ワークフローの手順は何ですか?
> https://codeql.github.com/docs/codeql-overview/about-codeql/#codeql-analysis
1. [x] CodeQLデータベースの作成 → CodeQLクエリの実行 → 結果の解釈
1. [ ] CodeQLクエリの実行 → CodeQLデータベースの作成 → 結果の解釈
1. [ ] CodeQLクエリの実行 → 結果の解釈
1. [ ] CodeQLデータベースの作成 → 結果の解釈 → CodeQLクエリの実行
### CodeQLコード解析における抽出(Extraction)とは何ですか?
> https://codeql.github.com/docs/codeql-overview/about-codeql/#database-creation
1. [x] 抽出はコードベース内の各ソースファイルの関係表現を作成するプロセスである。
1. [ ] 抽出はCodeQLクエリをCodeQLデータベースに対して実行し結果を抽出する行為である。
1. [ ] 抽出はコードベースに特化したCodeQLクエリを作成するプロセスである。
1. [ ] 抽出はCodeQLデータベースからデータをエクスポートするプロセスである。
### 複数のプログラミング言語を含むコードベースでCodeQL解析を実行する場合の正しい説明はどれですか?(2つ選んでください)
> https://codeql.github.com/docs/codeql-overview/about-codeql/#database-creation
- [x] CodeQLは各プログラミング言語ごとに異なる抽出ツールを使う。
- [x] CodeQLは各プログラミング言語ごとに別々のデータベースを作成する。
- [ ] CodeQLはサポートする言語であればコードベースのすべての言語を一つのデータベースにまとめる。
- [ ] CodeQLのデータベーススキーマは言語ごとに同じである。
### コンパイル言語とインタプリタ言語でCodeQLデータベース作成を実行する際の違いは何ですか?(2つ選んでください)
> https://codeql.github.com/docs/codeql-overview/about-codeql/#database-creation
- [x] コンパイル言語の場合、抽出はビルドプロセスを監視して動作する。ソースファイルを処理するためにコンパイラが呼び出されるたびに情報が収集される。
- [x] インタプリタ言語の場合、抽出ツールはソースコード上で直接動作する。
- [ ] インタプリタ言語の場合、抽出はビルドプロセスを監視して動作する。ソースファイルを処理するためにインタプリタが呼び出されるたびに情報が収集される。
- [ ] コンパイル言語の場合、抽出ツールはソースコード上で直接動作する。
- [ ] コンパイル言語の場合、抽出ツールは実行ファイル上で動作する。
- [ ] インタプリタ言語の場合、抽出ツールは実行ファイル上で動作する。
### デフォルトのコードスキャン設定を使うとき、最後にCodeQL解析が実行された日時はどこで確認できますか?
> https://docs.github.com/en/code-security/code-scanning/enabling-code-scanning/evaluating-default-setup-for-code-scanning#evaluating-code-scanning-with-the-tool-status-page
1. [x] コードスキャンツールのステータスページで確認できる
1. [ ] リポジトリのインサイトで確認できる
1. [ ] Dependabotタブで確認できる
1. [ ] デフォルト設定ではその情報は確認できない
### CodeQLスキャンのデフォルト設定に関して正しい説明はどれですか?(3つ選んでください)
> https://docs.github.com/en/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning
- [x] 組織設定で、対象のすべてのリポジトリに対して一括でデフォルト設定を有効にできる
- [x] GitHub Actionsが事前に有効化されている必要がある
- [x] リポジトリの内容に関わらず、任意のリポジトリでデフォルト設定を有効にできる
- [ ] CodeQL対応言語が含まれるリポジトリにのみデフォルト設定を有効にできる
> CodeQL対応言語を含まないリポジトリにデフォルト設定を有効にしてもスキャンは実行されない
- [ ] デフォルト設定はスケジュールによるスキャンを実行する。イベントベースのスキャンはGitHub Actionsのワークフロー設定が必要。
> デフォルト設定にはスケジュールスキャンとプルリクエスト・プッシュスキャン(デフォルト・保護ブランチ対象)が含まれる
- [ ] デフォルトのCodeQLスキャン設定ではデフォルトクエリスイートのみ使用可能
### 追加のCodeQLクエリスイートで高度なCodeQLスキャン設定をカスタマイズする方法は?(2つ選んでください)
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning
- [x] カスタム設定ファイルを使用して追加クエリを定義する
- [x] GitHub Actionsワークフローで`github/codeql-action/init`アクションの入力パラメータとしてカスタマイズを定義する
- [ ] CodeQL CLIでカスタム設定ファイルを使って解析を実行する
- [ ] リポジトリのセキュリティ/コードスキャン設定でカスタマイズを定義する
- [ ] `github/codeql-customizations` GitHubアクションを使う
### GitHub ActionsでCodeQL解析を実行するとき、どのActionsを使いますか?(3つ選んでください)
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#about-the-codeql-analysis-workflow-and-compiled-languages
- [x] `github/codeql-action/init`
- [x] `github/codeql-action/analyze`
- [x] `github/codeql-action/autobuild`(コンパイル言語のみ)
- [ ] `github/codeql-action/autobuild`
- [ ] `github/codeql-action/init`(コンパイル言語のみ)
- [ ] `github/codeql-action/analyze`(インタプリタ言語のみ)
### 多言語リポジトリでGitHub Actionsを使い、言語ごとに並列でCodeQL解析を実行する最も簡単な方法は?
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#changing-the-languages-that-are-analyzed
1. [x] ジョブに`languages`マトリックスを作成し、それを`github/codeql-action/init`アクションの`languages`入力パラメータで参照する
1. [ ] 各言語ごとに`github/codeql-action/analyze`アクションを別々のステップで呼ぶ
1. [ ] 各言語ごとに別ワークフローを作る
1. [ ] `github/codeql-action/analyze`アクションで並列処理を定義する
### GitHub ActionsワークフローでカスタムCodeQL設定ファイルを使うには?
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#using-a-custom-configuration-file
1. [x] `github/codeql-action/init`アクションの`config-file`入力パラメータに設定ファイルのパスを明示的に指定する
1. [ ] `.github/codeql/config-config.yml`に設定を保存し、`github/codeql-action/init`アクションが自動で検出して使う
1. [ ] リポジトリのセキュリティタブのコードスキャン欄に設定ファイルをアップロードする
1. [ ] `.github/workflows/codeql-analysis.yml`に設定を保存し、`github/codeql-action/init`アクションが自動で検出して使う
### GitHub ActionsワークフローでCodeQLクエリの指定はどこで行えますか?(2つ選んでください)
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#running-additional-queries
- [x] `github/codeql-action/init`アクションの`queries`入力パラメータ
- [x] CodeQL設定YAMLファイル
- [ ] `github/codeql-action/queries`アクションの`paths`入力パラメータ
- [ ] リポジトリのセキュリティタブのコードスキャン欄
- [ ] `.github/settings.yml`ファイルの`codeql`フィールド
### `github/codeql-action/init` GitHubアクションの`external-repository-token`パラメータの目的は何ですか?
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#using-queries-in-ql-packs
1. [x] このアクションが、解析に必要な設定ファイル、クエリ、パックを含むプライベートGitHubリポジトリにアクセスできるようにするため。
1. [ ] このアクションが解析結果をプライベートGitHubリポジトリにアップロードできるようにするため。
1. [ ] このアクションが解析対象のソースコードを含むプライベートGitHubリポジトリにアクセスできるようにするため。
1. [ ] このアクションが生成されたCodeQLデータベースをプライベートGitHubリポジトリにアップロードできるようにするため。
### CodeQL CLIでCodeQLデータベースを作成するコマンドは何ですか?
> https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis#running-codeql-database-create
1. [x] `codeql database create`
1. [ ] `gh codeql-database create`
1. [ ] `ql database generate`
1. [ ] `qlcli database create`
### CodeQL CLIの`codeql database analyze`コマンドの目的は何ですか?
> https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/analyzing-your-code-with-codeql-queries#running-codeql-database-analyze
1. [x] CodeQLデータベースを解析し、通常はSARIFファイル形式で結果を生成すること。
1. [ ] CodeQLデータベースを解析し、通常はセキュリティアドバイザリの形式で結果を生成すること。
1. [ ] ソースコードを解析し、CodeQLデータベースを作成すること。
1. [ ] CodeQLデータベースを解析し、その結果をGitHubにアップロードすること。
> 結果はGitHubにアップロードされず、別のコマンドが使用される。
### Jenkins CIパイプラインの一環としてCodeQLデータベースを作成・解析しSARIFファイルを生成しました。SARIFファイルをGitHubにアップロードする方法は?(2つ選んでください)
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github#about-sarif-file-uploads-for-code-scanning
- [x] CodeQL CLIの`codeql github upload-results`コマンドを使用する
- [x] GitHub REST APIの`POST /repos/{owner}/{repo}/code-scanning/sarifs`エンドポイントを使用する
- [ ] GitHub CLIの`gh codeql upload-results`コマンドを使用する
- [ ] SARIFファイルをGitHubリポジトリにコミットする
- [ ] `github/codeql-action/upload-sarif` GitHubアクションを使用する
> JenkinsパイプラインではGitHub Actionsは使用できない。
### コードスキャンアラートページでどのような詳細情報が確認できますか?(3つ選んでください)
> https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-details
- [x] 脆弱性の影響を受けているブランチ
- [x] 強調表示された脆弱なコード
- [x] 脆弱性の重大度
- [ ] 脆弱性が悪用された回数
- [ ] 脆弱性修正の担当開発者
- [ ] 脆弱性検出に使用されたCodeQLデータベースのID
### CodeQL解析結果の閲覧に関する正しい記述はどれですか?(2つ選んでください)
> https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository
- [x] リポジトリのセキュリティタブでアラートの概要を閲覧するには書き込み権限が必要
- [x] リポジトリの読み取り権限があれば誰でもプルリクエストでコードスキャン注釈を閲覧可能
- [ ] プルリクエストのコードスキャン注釈を閲覧するには書き込み権限が必要
- [ ] リポジトリの読み取り権限があれば誰でもセキュリティタブのコードスキャンアラートを閲覧可能
- [ ] セキュリティタブのコードスキャンアラートはリポジトリ所有者のみが閲覧可能
### CodeQL解析GitHub Actionsワークフローがプルリクエストで新たな脆弱性を検出した場合、その情報はどこで確認できますか?
> https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests#about-code-scanning-results-on-pull-requests
1. [x] プルリクエスト内のコメントおよびチェック失敗として直接確認できる
1. [ ] リポジトリのセキュリティタブで確認できる
1. [ ] ワークフローログで確認できる
1. [ ] CodeQL解析ワークフローが失敗し、結果のアーティファクトを生成する
### コードスキャンアラートの`Show paths`オプションの用途は何ですか?
> https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository
1. [x] 問題の原因となるコードへのパスを表示するための機能
1. [ ] 脆弱性検出に使われたCodeQLクエリへのパスを表示するための機能
1. [ ] 脆弱性修正の推奨方法を表示するための機能
1. [ ] 脆弱性検出に使われたCodeQLデータベースのファイルパスを表示するための機能
### コードスキャンアラートを却下するとはどういう意味ですか?
> https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository#dismissing--alerts1. [x] Single-Choice Correct Answer
1. [x] 修正が不要だと思うアラートを閉じること
1. [ ] コードの脆弱性を修正した後にアラートを閉じること
### CodeQL解析ワークフローの完了時間を短縮するために適切でない方法はどれですか?
> https://docs.github.com/en/code-security/code-scanning/troubleshooting-code-scanning/analysis-takes-too-long
1. [x] すべてのpushイベントで解析を実行する
1. [ ] CPUやRAMリソースの多いランナーを使う
1. [ ] 複数言語のコードベースで解析を並列化する
1. [ ] 関係ないファイルやディレクトリを解析から除外する
1. [ ] 実行するクエリの数を減らす
### SARIFカテゴリを定義する目的は何ですか?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#uploading-more-than-one-sarif-file-for-a-commit
1. [x] 同じツールやコミットで複数の解析が、異なる言語やコードの異なる部分で実行された場合に区別するために使う
1. [ ] 解析済みファイルと未解析ファイルを区別するために使う
1. [ ] 脆弱性を含むファイルと含まないファイルを区別するために使う
1. [ ] 脆弱性を含むファイルを容易に追跡できるよう、解析済みの各ファイルごとに異なるカテゴリを使う
### GitHub Enterprise ServerでGitHub Advanced Security機能を有効にする方法は?(2つ選んでください)
> https://docs.github.com/en/[email protected]/admin/code-security/managing-github-advanced-security-for-your-enterprise/enabling-github-advanced-security-for-your-enterprise
- [x] サイト管理者管理コンソールのセキュリティタブで有効化する
- [x] SSHで直接GitHub Enterprise Serverインスタンスに接続し、管理シェルの`ghe-config`コマンドを使用する
- [ ] GitHubサポートにアップグレードを依頼する
- [ ] GitHub Enterprise Serverインスタンスの`/etc/github`ディレクトリ内の`config.yml`ファイルで`github.advanced_security.enabled`設定を`true`にする
- [ ] `.github`リポジトリ内の`config.yml`ファイルで`github.advanced_security.enabled`設定を`true`にする
### GitHub Enterprise Cloudで組織内のすべてのリポジトリにGitHub Advanced Security機能を有効にするには?
> https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-existing-repositories
1. [x] 組織設定の「Code security and analysis」セクションで設定する
1. [ ] SSHでGitHub Enterprise Cloudインスタンスに直接接続し、管理シェルの`ghe-config`コマンドを使用する
> GitHub Enterprise Serverの場合の手段
1. [ ] GitHubサポートにアップグレードを依頼する
1. [ ] エンタープライズアカウントのサイト管理者ページで設定する
### リポジトリ管理者として、コードベースのセキュリティ脆弱性の報告方法の案内はどこに記載すべきですか?
> https://docs.github.com/en/code-security/getting-started/adding-a-security-policy-to-your-repository#about-security-policies
1. [x] `SECURITY.md`ファイルに記載する
1. [ ] `CONTRIBUTING.md`ファイルに記載する
1. [ ] `README.md`ファイルに記載する
1. [ ] `CODE_OF_CONDUCT.md`ファイルに記載する
### GitHubセキュリティポリシーとは何ですか?
> https://docs.github.com/en/code-security/getting-started/adding-a-security-policy-to-your-repository#about-security-policies
1. [x] プロジェクトのセキュリティ脆弱性を責任を持って報告する方法を案内する文書で、通常はリポジトリ内の`SECURITY.md`ファイルに定義される
1. [ ] コードのセキュリティ脆弱性を自動修正するツールである
1. [ ] リポジトリを暗号化する機能である
1. [ ] GitHubセキュリティポリシーはプロジェクトに対するウイルス対策サービスである
### `my-org` GitHub組織内のすべてのリポジトリに対してデフォルトのセキュリティポリシーを設定するには?
> https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file#supported-file-types
1. [x] `my-org/.github`リポジトリに`SECURITY.md`ファイルを作成することで設定する
1. [ ] 組織の「Code Security and analysis」設定でセキュリティポリシーを編集することで設定する
1. [ ] デフォルトのセキュリティポリシーはGitHubサポートのみ設定可能
1. [ ] 個々のリポジトリに`SECURITY.md`ファイルを追加することで設定する
### 企業のすべてのDependabotアラートを取得するために使用できるAPIエンドポイントはどれですか?
> https://docs.github.com/en/rest/dependabot/alerts?apiVersion=2022-11-28#list-dependabot-alerts-for-an-enterprise
1. [x] `GET /enterprises/{enterprise}/dependabot/alerts`
1. [ ] `GET /orgs/{org}/dependabot/alerts`
> これは組織用の正しいエンドポイントですが、企業用ではありません
1. [ ] `GET /repos/{owner}/{repo}/dependabot/alerts`
> これはリポジトリ用の正しいエンドポイントですが、企業用ではありません
1. [ ] `GET /github/{enterprise}/dependabot/alerts`
### 組織のすべてのSecret scanningアラートを取得するために使用できるAPIエンドポイントはどれですか?
> https://docs.github.com/en/rest/secret-scanning/secret-scanning?apiVersion=2022-11-28#list-secret-scanning-alerts-for-an-organization
1. [x] `GET /orgs/{org}/secret-scanning/alerts`
1. [ ] `GET /enterprises/{enterprise}/secret-scanning/alerts`
> これは企業用の正しいエンドポイントですが、組織用ではありません
1. [ ] `GET /repos/{owner}/{repo}/secret-scanning/alerts`
> これはリポジトリ用の正しいエンドポイントですが、組織用ではありません
1. [ ] `GET /github/{org}/secret-scanning/alerts`
### リポジトリのすべてのCode scanningアラートを取得するために使用できるAPIエンドポイントはどれですか?
> https://docs.github.com/en/rest/code-scanning/code-scanning?apiVersion=2022-11-28#list-code-scanning-alerts-for-a-repository
1. [x] `GET /repos/{owner}/{repo}/code-scanning/alerts`
1. [ ] `GET /orgs/{org}/{repo}/code-scanning/alerts`
1. [ ] `GET /{enterprise}/{org}/{repo}/code-scanning/alerts`
1. [ ] `GET /github/{repo}/code-scanning/alerts`
### 脆弱な依存関係の最も適切な定義はどれですか?
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts
1. [x] 脆弱な依存関係とは、プロジェクトが依存しているもので、セキュリティ上の欠陥を含み、その欠陥が悪用される可能性があり、プロジェクトの安全性を損なう可能性があるもの
1. [ ] 脆弱な依存関係とは、長期間更新されていない依存関係のこと
1. [ ] 脆弱な依存関係とは、広く使われていないか人気のない依存関係のこと
1. [ ] 脆弱な依存関係とは、GitHubによって検証されていない依存関係のこと
### Dependabot security updatesとは何ですか?
> https://docs.github.com/en/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates
1. [x] Dependabotの機能で、リポジトリ内の脆弱な依存関係を自動的に更新するPull Requestを作成するもの
1. [ ] Dependabotの機能で、リポジトリ内の脆弱な依存関係のリストを作成するもの
1. [ ] Dependabotの機能で、依存関係のセキュリティ脆弱性が検出された際にアラートを作成するもの
> これはDependabot alertsの説明であり、Dependabot security updatesはDependabot alertsに基づいている
1. [ ] Dependabotの機能で、依存関係の新バージョンがリリースされた際に自動的にPull Requestを作成するもの
> これはDependabot version updatesの説明
### Dependabot Alertsはデフォルトでどのリポジトリに有効ですか?
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts#configuration-of-dependabot-alerts
1. [x] Dependabot Alertsはどのリポジトリにもデフォルトで有効になっていない
1. [ ] 公開リポジトリのみ
> GitHubは公開リポジトリで脆弱な依存関係を検出し、依存関係グラフを表示するが、Dependabot alertsはデフォルトで生成しない
1. [ ] すべてのリポジトリ
1. [ ] 非公開リポジトリのみ
### 誰がリポジトリでDependabot alertsを有効にできますか?
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts#configuration-of-dependabot-alerts
1. [x] リポジトリの所有者および管理者権限を持つユーザー
1. [ ] リポジトリの所有者のみ
1. [ ] Dependabot alertsはすべてのリポジトリでGitHubによって有効化されており、個人が無効化や有効化を行うことはできない
1. [ ] Dependabot alertsはリポジトリにGitHub Actionsを追加することで有効化されるため、書き込み権限のあるユーザーなら誰でも有効化できる
### 組織内のリポジトリでDependabot alertsを見るために必要な最低アクセスレベルは?
> https://docs.github.com/en/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization#access-requirements-for-security-features
1. [x] 書き込み(Write)
1. [ ] 読み取り(Read)
1. [ ] メンテナ(Maintain)
1. [ ] トリアージ(Triage)
1. [ ] 管理者(Admin)
### 組織内のすべてのリポジトリでDependabot Alertsを有効にするにはどうすればよいですか?
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts#enabling-or-disabling-dependabot-alerts-for-all-existing-repositories
1. [x] 組織の「Code security and analysis」設定に行き、すべてのリポジトリで一括してDependabot Alertsを有効にする。
1. [ ] 組織内のすべてのリポジトリを非公開にする。
1. [ ] 組織内のすべてのリポジトリで `actions/enable-ghas` GitHub Actionを、`alerts`パラメーターを`true`に設定して実行する。
1. [ ] 組織内のすべてのリポジトリでDependabot Alertsを有効にするスクリプトを作成する。
### 次のうち有効な `dependabot.yml` 設定ファイルはどれですか?
> https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
1. [x]
```yaml
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
```
1. [ ]
```yaml
version: 2
config:
- directory: "/"
schedule:
interval: "daily"
```
1. [ ]
```yaml
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "everyday"
```
1. [ ]
```yaml
version: 2
config:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
```
### 次のうちDependabot alertsの通知チャネルとしてサポートされていないものはどれですか?
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/configuring-notifications-for-dependabot-alerts#configuring-notifications-for-dependabot-alerts
1. [x] SMS/電話
1. [ ] github.comの通知受信箱
1. [ ] GitHub Mobile
1. [ ] GitHub CLI
> 不安全な依存関係を含むリポジトリにプッシュするとコールバックで警告が表示される
1. [ ] メール
### Dependabot auto-triage rulesとは何ですか?
> https://docs.github.com/en/code-security/dependabot/dependabot-auto-triage-rules/about-dependabot-auto-triage-rules
1. [x] 一定の条件に一致するDependabot alertsを自動的に却下する機能。
1. [ ] auto-triageルールは`dependabot.yml`設定ファイルで定義され、どのパッケージマネージャを使ってプロジェクトをスキャンするかを指定する。
1. [ ] Dependabot auto-triageルールは、プロジェクトの古い依存関係を自動的に削除するために使われる。
1. [ ] auto-triageルールは、Dependabotがどの頻度で脆弱性スキャンを実行するかを定義する。
### 低重大度のDependabot alertsを自動で却下するにはどうすればよいですか?
> https://docs.github.com/en/code-security/dependabot/dependabot-auto-triage-rules/about-dependabot-auto-triage-rules
1. [x] Dependabotのauto-triageルールを使う。
1. [ ] `dependabot.yml`の`severity`フィールドをhighに設定する。
1. [ ] 低重大度のアラートを出すすべての依存関係を削除する。
1. [ ] `dependabot.yml`の`dismiss-severity`フィールドをlowに設定する。
### 組織内のすべてのリポジトリでDependabot Security Updatesを有効にするにはどうすればよいですか?
> https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-existing-repositories
1. [x] 組織の「Code security and analysis」設定に行き、すべてのリポジトリで一括してDependabot Security Updatesを有効にする。
1. [ ] 組織内のすべてのリポジトリを非公開にする。
1. [ ] 組織内のすべてのリポジトリで `actions/enable-ghas` GitHub Actionを、`security-updates`パラメーターを`true`に設定して実行する。
1. [ ] 組織内のすべてのリポジトリでDependabot Security Updatesを有効にするスクリプトを作成する。
### プルリクエストがセキュリティ脆弱性のある依存関係を導入しているかをチェックするツールは何ですか?
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review
1. [x] Dependency Review
1. [ ] Dependabot Alerts
1. [ ] Dependabot Security Updates
1. [ ] Dependabot Version Updates
### GitHub Actionsを有効にする必要があるのはどれですか?
> https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates#about-dependabot-version-updates
1. [x] Dependency Review
1. [ ] Dependabot Security Updates
1. [ ] Dependabot Version Updates
1. [ ] すべて
> Dependabot version updatesやDependabot security updatesの実行にGitHub Actionsは不要。ただし、Dependabotが作成したプルリクエストはActionsをトリガーできる。
1. [ ] なし
> Dependency reviewは`actions/dependency-review-action` GitHub Actionを使用
### `CVSS` は何の略ですか?
> https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels
1. [x] `Common Vulnerability Scoring System`
1. [ ] `Code Verification Security System`
1. [ ] `Critical Vulnerability Scanning Service`
1. [ ] `Cybersecurity Validation Scoring Scheme`
### `CVE` は何の略ですか?
> https://docs.github.com/en/code-security/security-advisories/working-with-repository-security-advisories/about-repository-security-advisories#cve-identification-numbers
1. [x] `Common Vulnerabilities and Exposures`
1. [ ] `Common Virus Elimination`
1. [ ] `Cybersecurity Verification Entity`
1. [ ] `Code Validation and Enumeration`
### `CWE` は何の略ですか?
> https://cwe.mitre.org/
1. [x] `Common Weakness Enumeration`
1. [ ] `Cybersecurity Weakness Enumeration`
1. [ ] `Code Wrapping Engine`
1. [ ] `Critical Web Elements`
### Dependabotのコメントコマンドでプルリクエストを正常に完了させるのはどれですか?
> https://docs.github.com/en/code-security/dependabot/working-with-dependabot/managing-pull-requests-for-dependency-updates#managing-dependabot-pull-requests-with-comment-commands
1. [ ] `@dependabot close`
1. [x] `@dependabot merge`
1. [ ] `@dependabot cancel merge`
1. [ ] `@dependabot rebase`
### GitHubがホストするmacOSランナーで実行されるジョブは、Linuxランナーが消費する分数の__倍を消費します。
> https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#minute-multipliers
1. [ ] 同じ
1. [ ] 2倍
1. [ ] 5倍
1. [x] 10倍
細部
この模擬試験が役立ちましたか?
repository に ⭐ を残し、以下の方法でコミュニティへの貢献を検討してください:
- contributing に従い、1問以上の模擬試験問題を追加(数分で可能)