> For the complete documentation index, see [llms.txt](https://docs.panther.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.panther.com/ko/data-onboarding/supported-logs/github.md).

# GitHub 로그

## 개요

Panther는 수집을 지원합니다 [GitHub](https://github.com/) 아래에 설명된 다양한 방법으로 로그를 수집합니다.

Panther는 다음 GitHub 로그 수집 방법을 지원합니다:

* [GitHub API](#how-to-onboard-github-organization-logs-to-panther)
  * Panther는 다음을 쿼리하여 GitHub 감사 로그를 가져올 수 있습니다 [GitHub API](https://docs.github.com/en/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization) 새 이벤트를 1분마다 확인합니다.
  * 이 방법은 GitHub의 [조직 수준에서](https://docs.github.com/en/get-started/learning-about-github/types-of-github-accounts#organization-accounts).
* [GitHub 감사 로그 스트리밍](#how-to-onboard-github-logs-via-audit-log-streaming-to-panther)
  * Panther는 다음을 사용하여 GitHub 감사 로그를 수집할 수 있습니다 [GitHub의 감사 로그 스트리밍 기능](https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise) AWS S3 또는 Google Cloud Storage를 통해.
  * 이 방법은 GitHub의 [엔터프라이즈 수준](https://docs.github.com/en/get-started/learning-about-github/types-of-github-accounts#enterprise-accounts).

{% hint style="warning" %}
[웹훅](#github.webhook) 로그 및 [감사](#github.webhook) 로그(스트리밍 또는 API 폴링으로 가져온 로그)는 서로 다른 트리거와 필드를 가지며 상호 보완적입니다. 예를 들어, 감사 로그는 보안 구성이 변경된 시점을 알려줄 수 있는 반면, 웹훅 로그는 커밋, pull request, 워크플로 실행에 대한 세부 정보를 제공할 수 있습니다.
{% endhint %}

* [GitHub 웹훅 이벤트](#how-to-onboard-github-webhook-events)
  * Panther는 수집을 지원합니다 [GitHub 웹훅](https://docs.github.com/en/webhooks-and-events/webhooks/about-webhooks) HTTP를 통해 직접.
  * 이 방법은 GitHub의 [조직 수준에서](https://docs.github.com/en/get-started/learning-about-github/types-of-github-accounts#organization-accounts).

{% hint style="info" %}
GitHub Enterprise Cloud를 사용 중이라면, [감사 로그 스트리밍](#how-to-onboard-github-logs-via-audit-log-streaming-to-panther) 방법으로 로그를 수집하는 것이 권장됩니다. 단일 통합으로 전체 엔터프라이즈의 로그를 수집할 수 있기 때문입니다. 다음 [API](#how-to-onboard-github-organization-logs-to-panther) 방법은 하나의 GitHub 조직의 로그만 가져올 수 있습니다.
{% endhint %}

## GitHub 조직 로그를 Panther에 온보딩하는 방법

{% hint style="warning" %}
귀하의 Github Organization은 다음의 일부여야 합니다 [Github Enterprise Cloud](https://docs.github.com/en/get-started/learning-about-github/githubs-products#github-enterprise) 배포 환경이어야 합니다. Github Enterprise Server의 자체 호스팅 옵션은 아직 지원되지 않습니다.
{% endhint %}

### 1단계: GitHub에서 Panther를 승인합니다

Panther가 GitHub 감사 로그를 수신하도록 승인하는 방법에는 두 가지가 있습니다:

* **새 OAuth 앱 만들기** GitHub에서 앱을 만든 다음 앱 자격 증명을 Panther에 제공합니다
* **Personal Access Token 생성** GitHub에서 생성한 다음 자격 증명을 Panther에 제공합니다

{% tabs %}
{% tab title="OAuth App" %}
**옵션 1: 새 OAuth 앱 만들기**

{% hint style="warning" %}
아래 단계는 GitHub 조직에서 조직 소유자 권한과 GitHub Enterprise 구독이 있는 경우에만 수행할 수 있습니다. 동일한 자격 증명을 사용하여 서로 다른 GitHub 조직에 대해 여러 통합을 구성해야 하는 경우, Personal Access Token 또는 [OAuth2 앱](https://docs.github.com/en/developers/apps/building-oauth-apps/creating-an-oauth-app) 을 조직 계정 대신 사용자 계정에 생성할 수 있습니다. 어떤 조직이든 [OAuth2 앱 액세스 제한을 사용하도록 설정한 경우](https://docs.github.com/en/organizations/restricting-access-to-your-organizations-data/enabling-oauth-app-access-restrictions-for-your-organization), 앱은 먼저 조직 관리자의 승인을 받아야 합니다.
{% endhint %}

1. GitHub Enterprise 계정에 로그인합니다.
2. 조직 계정의 홈페이지에서 다음을 클릭합니다 **설정** 탭.
3. 페이지 하단으로 스크롤한 다음 다음을 클릭합니다 **Developer Settings** 그런 다음 **OAuth 앱** (앱을 다음 위치에 설치합니다 `조직` 수준).
4. 다음을 클릭합니다 **애플리케이션 등록.** 양식을 작성합니다:
   * 기억하기 쉬운 애플리케이션 이름을 다음에 입력합니다 **이름** 필드, 예: `Panther Integration`.
   * Panther 인스턴스의 기본 URL을 다음에 입력합니다 **홈페이지 URL** 필드, 예: [`https://test.runpanther.xyz`](https://snowflake.staging.runpanther.xyz/)
   * 다음을 복사합니다 **리디렉션 URL** 를 Panther에서 가져와 다음에 붙여넣습니다 **Authorization Callback URL** 필드에 붙여넣습니다.

     * 이 URL을 얻으려면 다음 설정을 시작합니다 [GitHub API 소스](#step-2-create-a-new-github-api-source-in-panther). 다음이 표시되는 단계에 도달하면 **리디렉션 URL** 가 표시되면 복사한 다음 돌아가 GitHub 앱 구성을 완료합니다.

     <figure><img src="/files/3b16441fe7fd4f58797d25324f3abbb6fa9fc6e1" alt="Panther GitHub source setup Oauth" width="375"><figcaption></figcaption></figure>
5. 필요한 모든 필드를 입력한 후 다음을 클릭합니다 **애플리케이션 등록.**
6. 애플리케이션이 등록되면 다음을 확인할 수 있습니다 **클라이언트 ID** 및 새 **Client Secret을 생성할 수 있습니다.** 안전한 위치에 보관하세요. 다음 단계에서 필요합니다.

<figure><img src="/files/9a5522b37367ee38f770b8fb4bc9f566c87f6a1c" alt="Panther GitHub source setup Oauth" width="375"><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Personal Access Token" %}
**옵션 2: personal access token 생성**

{% hint style="warning" %}
아래 단계는 GitHub 조직에서 조직 소유자 권한과 GitHub Enterprise 구독이 있는 경우에만 수행할 수 있습니다. GitHub에서 Personal Access Token 생성에 대해 자세히 알아볼 수 있습니다 [여기에서](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token).
{% endhint %}

1. Github Enterprise 계정에 로그인합니다.
2. 프로필을 클릭한 다음 다음을 클릭합니다 **설정** 옵션.
3. 페이지 하단으로 스크롤한 다음 다음을 클릭합니다 **Developer Settings** 그런 다음 **Personal Access Token.**
4. 다음을 클릭합니다: **새 토큰 생성** 를 클릭하고 설명이 포함된 토큰 이름을 입력합니다. 예: `Panther Integration`.
5. 이 토큰에 부여할 범위 또는 권한을 선택합니다.
   * 다음을 선택합니다 `read:audit_log` 스코프입니다.
     * 만약 `read:audit_log` 범위를 사용할 수 없는 경우 다음을 선택합니다 `admin:org` > `read:org` 권한을 대&#xC2E0;**.**
   * 다음을 활성화할 필요는 없습니다 `write:org` 권한.
6. 다음을 클릭합니다: **토큰 생성.**
   * 토큰을 복사하여 안전한 위치에 보관하세요. 다음 단계에서 필요합니다.
     {% endtab %}
     {% endtabs %}

### 2단계: Panther에서 새 GitHub API 소스 만들기

1. Panther Console의 왼쪽 탐색 바에서 다음을 클릭하세요 **구성** > **로그** **소스**.
2. 다음을 클릭합니다: **새로 만들기.**
3. “GitHub API”를 검색한 다음 해당 타일을 클릭합니다.
4. 슬라이드아웃 패널에서 다음을 클릭합니다 **설정 시작**.
5. 다음 화면에서 소스의 설명이 포함된 이름을 입력합니다(예: `내 Github 감사 로그`) 그리고 모니터링할 Github 조직 이름을 입력합니다.
6. 다음을 클릭합니다: **설정**.
7. Panther가 GitHub에서 로그를 수신하도록 승인합니다. 위에서 선택한 옵션에 따라 아래 단계를 따르세요:
   * **OAuth2 승인 흐름 사용**: 다음을 입력하세요. **App Client ID** 및 **클라이언트 시크릿** 는 Github에서 가져온 값입니다. 다음 경우 Github 계정의 OAuth 앱의 세부 정보 페이지에서 이 정보를 찾을 수 있습니다 **애플리케이션을 등록한 후**
   * **Personal Access Token 사용:** personal access token 키를 복사하여 Personal Access token 필드에 붙여넣습니다.
8. 다음을 클릭합니다: **설정.**
9. 다음을 클릭합니다: **액세스 허용.**
10. 다음을 클릭합니다: **승인.**<br>

    <div align="center"><figure><img src="/files/a02dc1d531fcdcba19520b8885598fbd2942745c" alt="Panther GitHub source setup OAuth authorize" width="375"><figcaption></figcaption></figure></div>
11. 성공 화면으로 이동합니다:

<div align="center"><figure><img src="/files/84e03b0e9942274e8b072826601a98fddd6a836f" alt="" width="281"><figcaption></figcaption></figure></div>

* 선택적으로 하나 이상의 [디택션 팩](https://docs.panther.com/detections/panther-managed/packs).
* 해당 **이벤트가 처리되지 않을 때 알러트를 트리거** 설정의 기본값은 **YES**. 이 옵션은 활성화된 상태로 두는 것을 권장합니다. 일정 시간이 지난 후 로그 소스에서 데이터 흐름이 중단되면 알림을 받게 되기 때문입니다. 이 시간은 구성 가능하며 기본값은 24시간입니다.

<div align="center"><figure><img src="/files/7db146cd7acee3d0704a4a8b2157f230cfa22168" alt="The &#x22;Trigger an alert when no events are processed&#x22; toggle is set to YES. The &#x22;How long should Panther wait before it sends you an alert that no events have been processed&#x22; setting is set to 1 Day" width="320"><figcaption></figcaption></figure></div>

## 감사 로그 스트리밍을 통해 GitHub 로그를 Panther에 온보딩하는 방법

Panther에서 GitHub 감사 로그 스트리밍을 구성하는 단계는 두 가지입니다:

1. GitHub에서 스토리지 대상으로 감사 로그 스트리밍을 설정합니다.
2. Panther에서 새 GitHub Audit Log Streaming 소스를 만듭니다.

### 사전 요구 사항

* 감사 로그 스트리밍은 GitHub 엔터프라이즈 소유자가 GitHub에서 구성해야 합니다.

### 1단계: GitHub에서 스토리지 대상으로 감사 로그 스트리밍 설정

Panther는 두 개의 스토리지 대상에서 GitHub 감사 로그 스트리밍 데이터를 수집하는 것을 지원합니다. 아래 스토리지 대상 중 하나를 선택하세요:

* AWS S3
  * 여기의 안내를 따르세요: [Amazon S3용 스트리밍 설정](https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise#setting-up-streaming-to-amazon-s3).
* Google Cloud GCS
  * 여기의 안내를 따르세요: [Google Cloud Storage로 스트리밍 설정](https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise#setting-up-streaming-to-google-cloud-storage).

### 2단계: Panther에서 새 GitHub 감사 로그 스트리밍 소스 만들기

1. Panther 콘솔의 왼쪽 탐색 표시줄에서 다음을 클릭합니다 **구성** **> 로그 소스**.
2. 다음을 클릭합니다: **만들기**.
3. GitHub를 검색합니다. 다음을 선택합니다 **GitHub 감사 로그 스트리밍** 타일.

   <figure><img src="/files/0270bb8861ea8ac33770ac14e762a5b7da0349a6" alt="In the Panther Console, the Configure > Log Sources > Add New Sources screen shows a search for &#x27;github.&#x27; Two tiles are populated, GitHub API and GitHub Audit Log Streaming. There is a red selector box around the latter."><figcaption></figcaption></figure>
4. 둘 중 하나를 선택합니다 **S3** 또는 **GCS**, 선택한 전송 방법에 따라.
5. 선택한 대상 방법에 대한 온보딩 절차를 따르세요:
   * S3의 경우 다음을 따르세요 [Panther가 S3에서 로그를 가져오도록 활성화하는 방법에 대한 문서](/ko/data-onboarding/data-transports/aws/s3.md).
     1. Panther에서 S3 버킷을 만든 후 소스의 Schema 탭으로 이동하여 다음을 클릭합니다 **Advanced Edit & Test with Raw Events**.\
        ![On a GitHub source page, the Schemas tab is shown. Edit has been clicked, revealing two options: Quick Edit via S3 Bucket View and Advanced Edit & Test with Raw Events.](/files/de77f385e03054fb94d97670ff13aaf7f0fc9ec7)
     2. 다음을 설정합니다 **S3 Exclusion Filter** 값을 `_check`.\
        ![The "S3 Prefixes & Schemas - Optional" page is shown. The S3 Prefix field is empty, and the Exclusion Filters field has a value of "\_check"](/files/7161ae5bad16882d98de40fad8523fc9e1063e86)
   * GCS의 경우 다음을 따르세요 [Panther가 GCS에서 로그를 가져오도록 활성화하는 방법에 대한 문서](/ko/data-onboarding/data-transports/google/cloud-storage.md).

## GitHub 웹훅 이벤트를 온보딩하는 방법

Panther는 HTTP를 통해 GitHub 웹훅 이벤트를 직접 수집하는 것을 지원합니다.

### 1단계: Panther에서 GitHub Webhooks 소스 만들기

1. Panther 콘솔의 왼쪽 탐색 표시줄에서 다음을 클릭합니다: **구성** > **로그 소스**.
2. 다음을 클릭합니다: **새로 만들기**.
3. “GitHub Webhooks”를 검색한 다음 해당 타일을 클릭합니다.
4. 슬라이드아웃 패널에서, **전송 메커니즘** 오른쪽 상단 모서리의 드롭다운에는 다음이 미리 채워집니다 **HTTP** 옵션.
   * 다음을 클릭합니다: **설정 시작**.\
     ![](/files/43bb8a07cf42ad8184f1449dd89157d37dee2e3a)
5. Panther의 [HTTP 소스 구성 지침을 따르세요](/ko/data-onboarding/data-transports/http.md#how-to-set-up-an-http-log-source-in-panther)5단계부터 시작합니다.
   * 설정 중에 다음이 **인증 방법** 미리 설정됩니다 **HMAC**, 그리고 HMAC **헤더 이름** 미리 설정됩니다 `X-Hub-Signature-256`.
     * 다음을 저장합니다 **비밀 키 값** 입력한 값은 다음 단계에서 필요하므로 저장하세요.
   * 이 소스로 전송되는 페이로드는 [모든 HTTP 소스에 대한 페이로드 요구 사항](/ko/data-onboarding/data-transports/http.md#payload-requirements).
   * HTTP 엔드포인트 생성이 완료될 때까지 다음 단계로 진행하지 마세요.

### 2단계: GitHub에서 웹훅 만들기

GitHub 웹훅 생성에 대한 자세한 안내는 다음에서 확인하세요 [GitHub의 webhooks 만들기 문서](https://docs.github.com/en/webhooks-and-events/webhooks/creating-webhooks).

1. GitHub에서 조직으로 이동합니다.
2. 왼쪽 탐색 막대에서 다음을 클릭하세요 **웹훅**.\
   ![GitHub General settings are shown. In the left-hand sidebar, the Webhooks tab is circled.](/files/aada49ff50f8755454a03ea250ae8a45d0e3d7b8)
3. 다음을 클릭합니다: **웹훅 추가**.
4. 다음 필드의 값을 입력합니다:
   * **Content Type**: 다음으로 설정 `application/json`.
   * **페이로드 URL**: 1단계에서 Panther에서 생성한 HTTP Source URL로 설정합니다.
   * **Secret value**: 1단계에서 HTTP 소스를 만들 때 사용한 값으로 설정합니다.
5. Panther가 수신할 이벤트를 선택합니다. 모든 이벤트 유형이 지원되지만, 모두가 보안 가치를 갖는 것은 아닙니다.
   * 이벤트 유형에 대한 설명은 다음에서 확인하세요 [GitHub의 Webhook events and payloads 문서](https://docs.github.com/en/webhooks-and-events/webhooks/webhook-events-and-payloads).

<details>

<summary>일반적으로 보안 가치가 있는 GitHub Webhook 이벤트 유형</summary>

* `push`
* `pull_request`
* `저장소`
* `member`, `membership`, `team`
* `organization`
* `installation`, `installation_repositories`
* `secret_scanning_알러트`
* `code_scanning_알러트`
* `repository_vulnerability_알러트`
* `workflow_dispatch`
* `workflow_job`
* `workflow_run`
* `check_run`
* `dependabot_알러트`
* `branch_protection_룰`
* `branch_protection_configuration`
* `security_and_analysis`

</details>

6. 다음을 클릭합니다: **웹훅 추가**.

## Panther가 관리하는 탐지

참조 [Panther에서 관리하는](https://docs.panther.com/detections/panther-managed) 다음의 GitHub 룰 [panther-analysis GitHub 저장소](https://github.com/panther-labs/panther-analysis/tree/master/rules/github_rules).

## Data Explorer에서 로그 쿼리하기

Panther의 Data Explorer에서 GitHub 로그를 쿼리하는 예시는 다음을 참조하세요 [Github 감사 로그 쿼리](/ko/search/data-explorer/example-queries/github-audit-logs-queries.md).

## 지원되는 로그 유형

### GitHub.Webhook

GitHub 웹훅은 GitHub 조직 또는 저장소 내에서 생성되는 모든 이벤트에 대한 알림을 전송합니다. 자세한 내용은 다음을 참조하세요 [GitHub의 webhook 문서](https://docs.github.com/en/webhooks-and-events/webhooks/webhook-events-and-payloads).

```yaml
schema: GitHub.Webhook
설명: Webhook 이벤트는 GitHub에서 특정 이벤트가 발생할 때마다 생성됩니다
참조 URL: https://docs.github.com/en/webhooks-and-events/webhooks/webhook-events-and-payloads
fields:
  - 이름: action
    설명: 대부분의 webhook payload에는 이벤트를 트리거한 특정 활동이 포함된 action 속성이 있습니다.
    type: string
  - 이름: target_type
    설명: 이벤트 대상의 유형
    type: string
  - 이름: ref
    설명: 이벤트의 Git 참조
    type: string
  - 이름: commit_oid
    설명: code scanning 알러트의 커밋 SHA입니다. action이 reopened_by_user 또는 closed_by_user인 경우 이벤트는 보낸 사람에 의해 트리거되며 이 값은 비어 있습니다.
    type: string
  - 이름: branch
    설명: 브랜치 이름
    type: string
  - 이름: master_branch
    설명: 저장소의 기본 브랜치 이름(보통 main).
    type: string
  - 이름: pusher_type
    설명: 이벤트의 pusher 유형입니다. user 또는 deploy key일 수 있습니다.
    type: string
  - 이름: ref_type
    설명: '저장소에서 생성된 Git ref 객체의 유형입니다. 다음 중 하나일 수 있습니다: tag, branch'
    type: string
  - 이름: hook_id
    설명: 수정된 webhook의 ID입니다.
    type: string
  - 이름: base_ref
    설명: head_ref가 기반으로 하는 base 브랜치의 이름입니다.
    type: string
  - 이름: before
    설명: push 이전 ref의 가장 최근 커밋 SHA입니다.
    type: string
  - 이름: after
    설명: push 이후 ref의 가장 최근 커밋 SHA입니다.
    type: string
  - 이름: number
    설명: pull request 번호입니다.
    type: string
  - 이름: compare
    설명: 변경 사항을 검토할 URL
    type: string
  - 이름: forced
    설명: 이 push가 ref의 강제 push인지 여부입니다.
    유형: boolean
  - 이름: created
    설명: 이 push가 ref를 생성했는지 여부입니다.
    유형: boolean
  - 이름: deleted
    설명: 이 push가 ref를 삭제했는지 여부입니다.
    유형: boolean
  - 이름: 발신자
    required: true
    설명: 이벤트를 트리거한 사용자입니다. 이 속성은 모든 webhook payload에 포함됩니다.
    유형: json
  - 이름: repository
    설명: 이벤트가 발생한 저장소입니다. webhook payload에는 저장소에서의 활동으로 이벤트가 발생한 경우 repository 속성이 포함됩니다.
    유형: json
  - 이름: repository_ruleset
    설명: 지정된 조건이 충족될 때 적용할 룰 집합입니다.
    유형: json
  - 이름: organization
    설명: webhook이 조직에 대해 구성되어 있거나 이벤트가 조직이 소유한 저장소의 활동에서 발생한 경우 webhook payload에는 organization 객체가 포함됩니다.
    유형: json
  - 이름: installation
    설명: GitHub App 설치입니다. 이벤트가 GitHub App에 대해 구성되어 전송되는 경우 webhook payload에 installation 속성이 포함됩니다.
    유형: json
  - 이름: enterprise
    설명: 이벤트와 관련된 GitHub Enterprise입니다
    유형: json
  - 이름: 룰
    설명: 브랜치 보호 룰입니다. 이름과 해당 이름과 일치하는 브랜치에 적용되는 모든 브랜치 보호 설정을 포함합니다. 이진 설정은 boolean입니다. 다중 수준 구성은 off, non_admins 또는 everyone 중 하나입니다. actor 및 build 목록은 문자열 배열입니다.
    유형: json
  - 이름: check_run
    설명: 주어진 코드 변경의 코드에 대해 수행되는 검사입니다
    유형: json
  - 이름: check_suite
    설명: check suite입니다
    유형: json
  - 이름: 알러트
    설명: 이벤트에 관련된 code scanning 알러트입니다.
    유형: json
  - 이름: comment
    설명: 커밋 댓글 리소스
    유형: json
  - 이름: description
    설명: 이벤트 설명
    유형: json
  - 이름: key
    설명: 이벤트의 키
    유형: json
  - 이름: deployment
    설명: 배포 관련 이벤트 세부 정보
    유형: json
  - 이름: workflow
    설명: 워크플로 관련 이벤트 세부 정보
    유형: json
  - 이름: workflow_run
    설명: 워크플로 실행
    유형: json
  - 이름: workflow_job
    설명: 워크플로 작업
    유형: json
  - 이름: environment
    설명: 이벤트가 발생한 환경
    유형: json
  - name: event
    설명: 이벤트 세부 정보
    유형: json
  - 이름: deployment_callback_url
    설명: 배포 보호 룰을 검토할 URL입니다.
    유형: json
  - 이름: pull_requests
    설명: 이벤트와 관련된 pull request
    유형: json
  - 이름: pull_request
    설명: pull request 세부 정보
    유형: json
  - 이름: review
    설명: pull request 검토 세부 정보
    유형: json
  - 이름: thread
    설명: pull request 검토 댓글 스레드 세부 정보
    유형: json
  - 이름: assignee
    설명: pull request에 할당되었거나 할당 해제된 사용자입니다.
    유형: json
  - 이름: approver
    설명: 배포를 승인한 사용자입니다.
    유형: json
  - 이름: deployment_status
    설명: 배포 상태 세부 정보
    유형: json
  - 이름: discussion
    설명: 토론 세부 정보
    유형: json
  - 이름: answer
    설명: 토론 답변 세부 정보
    유형: json
  - 이름: forkee
    설명: 생성된 저장소 리소스
    유형: json
  - 이름: pages
    설명: 이벤트와 관련된 GitHub Pages
    유형: json
  - 이름: repositories
    설명: 저장소 세부 정보
    유형: json
  - 이름: requester
    설명: 이벤트를 요청한 사람
    유형: json
  - 이름: repositories_added
    설명: 이벤트에 추가된 저장소
    유형: json
  - 이름: repositories_removed
    설명: 이벤트에서 제거된 저장소
    유형: json
  - 이름: repositories_selection
    설명: 모든 저장소가 선택되었는지 또는 선택이 포함되어 있는지 설명합니다.
    type: string
  - 이름: changes
    설명: 변경 사항 세부 정보
    유형: json
  - 이름: issue
    설명: 이슈 세부 정보
    유형: json
  - 이름: 라벨
    설명: 레이블 세부 정보
    유형: json
  - name: team
    설명: GitHub 팀 세부 정보
    유형: json
  - 이름: hook
    설명: '수정된 webhook입니다. 여기에는 webhook 유형에 따라 서로 다른 키가 포함됩니다: repository, organization, business, app 또는 GitHub Marketplace.'
    유형: json
  - 이름: release
    설명: 릴리스 세부 정보
    유형: json
  - 이름: repository_advisory
    설명: 저장소 보안 공지
    유형: json
  - 이름: location
    설명: 위치 세부 정보
    유형: json
  - 이름: security_advisory
    설명: 보안 공지 세부 정보
    유형: json
  - 이름: inputs
    설명: 입력 세부 정보
    유형: json
  - 이름: status
    설명: 이벤트의 상태
    유형: json
  - 이름: pusher
    설명: Git 작성자/커미터 정보에 대한 메타 속성입니다.
    유형: json
  - 이름: head_commit
    설명: 헤드 커밋 세부 정보
    유형: json
  - 이름: commits
    설명: 커밋 세부 정보
    유형: json
  - 이름: commit
    설명: 커밋 세부 정보
    유형: json
  - 이름: sha
    설명: 커밋의 SHA
    type: string
  - name: state
    설명: 상태의 상태입니다. pending, success, error 또는 failure 중 하나일 수 있습니다.
    type: string
  - 이름: context
    설명: Git 커밋의 상태가 변경될 때의 컨텍스트 세부 정보.
    type: string
  - 이름: member
    설명: 구성원 세부 정보입니다. 공동 작업자와 관련된 활동이 있을 때만 표시됩니다.
    유형: json
  - 이름: membership
    설명: 사용자와 조직 간의 멤버십입니다. 작업이 member_invited일 때는 표시되지 않습니다.
    유형: json
  - 이름: blocked_user
    설명: 차단된 사용자 세부 정보(있는 경우)
    유형: json
  - 이름: invitation
    설명: 작업이 member_invited인 경우 사용자 또는 이메일에 대한 초대입니다.
    유형: json
  - 이름: user
    설명: 초대된 사용자입니다. 작업이 member_invited일 때만 표시됩니다.
    유형: json
  - 이름: package
    설명: GitHub 패키지에 대한 정보입니다.
    유형: json
  - 이름: build
    설명: GitHub Pages 사이트 빌드에 대한 정보입니다.
    유형: json
  - 이름: personal_access_token_request
    설명: personal access token 요청에 대한 정보입니다.
    유형: json
  - 이름: zen
    설명: GitHub zen의 임의 문자열입니다.
    type: string
  - 이름: project
    설명: 클래식 프로젝트 세부 정보
    유형: json
  - 이름: project_card
    설명: 클래식 프로젝트 카드 세부 정보.
    유형: json
  - 이름: project_column
    설명: 클래식 프로젝트 열 세부 정보.
    유형: json
  - 이름: projects_v2
    설명: 프로젝트 세부 정보
    유형: json
  - 이름: projects_v2_item
    설명: 프로젝트에 속한 항목
    유형: json
  - 이름: registry_package
    설명: GitHub Registry 패키지에 대한 정보입니다.
    유형: json
  - 이름: client_payload
    설명: 저장소 dispatch 이벤트를 만들 때의 클라이언트 페이로드입니다.
    유형: json
  - 이름: sponsorship
    설명: 후원 목록과 관련된 세부 정보입니다.
    유형: json
  - 이름: marketplace_purchase
    설명: GitHub Marketplace 구매와 관련된 세부 정보입니다.
    유형: json
  - 이름: previous_marketplace_purchase
    설명: 이전 GitHub Marketplace 구매와 관련된 세부 정보입니다.
    유형: json
  - 이름: effective_date
    설명: 청구 이벤트의 적용일입니다.
    type: string
```

### Github.Audit

감사 로그를 통해 조직 관리자는 조직 구성원이 수행한 작업을 빠르게 검토할 수 있습니다. 자세한 내용은 다음을 참조하세요. [감사 로그에 액세스하는 방법에 대한 GitHub 문서](https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#using-the-rest-api).

```yaml
스키마: GitHub.Audit
설명: 감사 로그를 통해 조직 관리자는 조직 구성원이 수행한 작업을 빠르게 검토할 수 있습니다.
참조 URL: https://docs.github.com/en/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization#using-the-rest-api
fields:
  - 이름: _document_id
    설명: 감사 로그 이벤트의 문서 ID
    type: string
  - 이름: workflow_id
    설명: 이벤트가 CI 워크플로인 경우 워크플로 ID
    type: string
  - 이름: workflow_run_id
    설명: 이벤트가 CI 워크플로인 경우 워크플로 실행 ID
    type: string
  - 이름: action
    required: true
    설명: 수행된 작업
    type: string
  - 이름: actor
    설명: 작업을 수행한 행위자
    type: string
    표시자:
      - 사용자명
  - 이름: created_at
    설명: 감사 이벤트의 생성 타임스탬프
    type: timestamp
    timeFormats:
      - unix_ms
      - '%Y-%m-%d %H:%M:%S %z'
  - 이름: '@timestamp'
    description: 이벤트의 타임스탬프
    type: timestamp
    timeFormats:
      - unix_ms
    isEventTime: true
  - 이름: completed_at
    설명: 감사 이벤트의 완료 타임스탬프
    type: string
  - 이름: actor_location
    설명: 행위자 위치
    type: object
    fields:
      - name: country_code
        required: true
        설명: 행위자 위치의 국가 코드'
        type: string
      - name: country_name
        설명: 행위자 위치의 국가 이름
        type: string
      - 이름: region
        설명: 이 작업이 시작된 지역의 지역 코드
        type: string
      - 이름: region_name
        설명: 이 작업이 시작된 지역의 이름
        type: string
      - name: city
        설명: 이 작업이 시작된 도시의 이름
        type: string
      - 이름: postal_code
        설명: 이 작업이 시작된 우편 번호
        type: string
      - 이름: location
        설명: 경도/위도에서의 행위자 위치
        type: object
        fields:
          - 이름: lat
            설명: 위도 필드
            type: float
          - 이름: lon
            설명: 경도 필드
            type: float
  - 이름: org
    설명: 작업이 수행된 조직
    유형: json
  - 이름: config
    설명: webhook 구성
    type: object
    fields:
      - 이름: 콘텐츠 유형
        설명: webhook의 콘텐츠 유형
        type: string
      - 이름: insecure_ssl
        설명: SSL 연결이 안전한지 여부를 나타내는 불리언 값
        type: string
      - 이름: url
        설명: webhook의 페이로드 URL
        type: string
  - 이름: config_was
    설명: 이전 webhook 구성
    type: object
    fields:
      - 이름: 콘텐츠 유형
        설명: webhook의 콘텐츠 유형
        type: string
      - 이름: insecure_ssl
        설명: SSL 연결이 안전한지 여부를 나타내는 불리언 값
        type: string
      - 이름: url
        설명: webhook의 페이로드 URL
        type: string
  - 이름: hook_id
    설명: webhook ID
    type: string
  - 이름: name
    설명: 이벤트 작업 범주의 이름
    type: string
  - 이름: 활성 상태
    설명: webhook이 활성 상태인지 여부
    유형: boolean
  - 이름: repo
    설명: 작업에 관련된 저장소의 이름 또는 이름들
    유형: json
  - 이름: visibility
    설명: 저장소의 공개 범위
    type: string
  - name: events
    설명: webhook 페이로드를 전송할 이벤트 목록
    type: array
    element:
      type: string
  - 이름: user
    설명: 특정 권한에 대해 추가/제거된 사용자
    type: string
    표시자:
      - 사용자명
  - name: team
    설명: 팀 범주 작업의 팀 이름
    type: string
  - name: event
    설명: 워크플로 이벤트
    type: string
  - 이름: transport_protocol_name
    설명: git 감사 이벤트의 전송 프로토콜 이름
    type: string
  - 이름: transport_protocol
    설명: git 감사 이벤트의 전송 프로토콜
    유형: int
  - 이름: repository
    설명: git 이벤트의 저장소 이름
    type: string
  - 이름: repository_public
    설명: git 감사 이벤트의 저장소가 공개인지 여부
    유형: boolean
  - 이름: business_id
    설명: 작업의 영향을 받는 Enterprise의 ID(해당되는 경우)
    type: string
  - 이름: number
    설명: 숫자 필드
    type: bigint
  - 이름: active_was
    설명: webhook이 활성 상태였음
    유형: boolean
  - 이름: actor_id
    설명: 작업을 수행한 행위자의 ID
    type: string
    표시자:
      - 행위자 ID
  - 이름: blocked_user
    설명: 차단되는 계정의 사용자 이름
    type: string
    표시자:
      - 사용자명
  - 이름: business
    설명: 이 작업과 관련된 비즈니스의 이름
    type: string
  - 이름: 콘텐츠 유형
    설명: 콘텐츠 유형
    type: string
  - name: data
    설명: 이 작업과 관련된 추가 데이터
    유형: json
  - 이름: deploy_key_fingerprint
    설명: 배포 키의 지문
    type: string
  - 이름: emoji
    설명: 이 작업과 관련된 이모지
    type: string
  - 이름: events_were
    설명: 전송된 이벤트 목록
    type: array
    element:
      유형: json
  - 이름: explanation
    설명: 작업에 대한 설명
    type: string
  - 이름: fingerprint
    설명: 이 작업과 관련된 지문
    type: string
  - 이름: limited_availability
    설명: 제한된 사용 가능성
    유형: boolean
  - 이름: 메시지
    설명: 이 작업과 관련된 메시지
    type: string
  - 이름: old_user
    설명: 이 작업과 관련된 이전 사용자
    type: string
  - 이름: openssh_public_key
    설명: 이 작업과 관련된 공개 OpenSSH 키
    type: string
  - 이름: operation_type
    설명: 작업 유형
    type: string
  - 이름: org_id
    설명: 작업이 수행된 조직 ID
    유형: json
  - 이름: previous_visibility
    설명: 이 작업 이전의 저장소 공개 범위
    type: string
  - 이름: read_only
    설명: 이 작업과 관련된 항목이 읽기 전용인지 여부
    유형: boolean
  - 이름: target_login
    설명: 대상 로그인
    type: string
  - 이름: user_id
    설명: 사용자 ID
    type: string
    표시자:
      - 행위자 ID
  - 이름: actor_ip
    설명: 행위자 IP(GitHub 설정에서 명시적으로 활성화된 경우에만 포함됨 https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/displaying-ip-addresses-in-the-audit-log-for-your-enterprise)
    type: string
    표시자:
      - ip
  - 이름: hashed_token
    설명: 이 작업을 수행하는 데 사용된 토큰의 해시(자세한 내용은 https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token#searching-on-github 참조)
    type: string
  - 이름: external_identity_nameid
    설명: 인증 수단으로 SAML SSO ID가 사용된 경우 표시됩니다.
    type: string
    표시자:
      - 사용자명
  - 이름: external_identity_username
    설명: Enterprise Managed Users에서 인증 수단으로 SAML SSO ID가 사용된 경우 표시됩니다.
    type: string
    표시자:
      - 사용자명
  - 이름: actor_session
    설명: 행위자의 세션 ID
    type: string
  - 이름: branch
    설명: 이 작업과 관련된 브랜치
    type: string
  - 이름: category_type
    설명: 이 작업이 속한 범주 유형
    type: string
  - name: client_id
    설명: 이 작업에서 사용된 클라이언트의 ID
    type: string
  - 이름: conclusion
    설명: 워크플로 실행 결론
    type: string
  - 이름: controller_action
    설명: 컨트롤러의 동작
    type: string
  - 이름: device_cookie
    설명: 이 작업에서의 행위자 세션 쿠키
    type: string
  - 이름: environment_name
    설명: 워크플로의 환경 이름
    type: string
  - 이름: fork_source
    설명: 이 포크의 원본 저장소
    type: string
  - 이름: fork_source_id
    설명: 이 포크의 원본 저장소 ID
    type: string
  - 이름: from
    설명: 이 작업이 속한 네임스페이스
    type: string
  - 이름: head_branch
    설명: 이 워크플로 실행 시점의 head 브랜치 이름
    type: string
  - 이름: head_sha
    설명: 이 워크플로 실행 시점의 head SHA 해시
    type: string
    표시자:
      - sha1
  - 이름: is_hosted_runner
    설명: 워크플로 러너가 호스팅되는지 여부
    유형: boolean
  - 이름: job_name
    설명: 워크플로 작업 이름
    type: string
  - 이름: job_workflow_ref
    설명: 워크플로 작업 참조
    type: string
  - 이름: key
    설명: 이 작업과 관련된 키의 이름
    type: string
  - 이름: method
    설명: 이 작업의 HTTP 메서드
    type: string
  - 이름: programmatic_access_type
    설명: 프로그램 방식 작업의 액세스 유형
    type: string
  - 이름: public_repo
    설명: git 감사 이벤트의 저장소가 공개인지 여부
    유형: boolean
  - 이름: referrer
    설명: 이 작업이 발생한 referrer URL
    type: string
    표시자:
      - url
  - 이름: repo_id
    설명: 이 작업과 관련된 저장소 ID
    유형: json
  - 이름: repositories_removed
    설명: 이 작업에서 제거된 저장소들의 ID
    type: array
    element:
      type: string
  - 이름: repositories_removed_names
    설명: 이 작업에서 제거된 저장소들의 이름
    type: array
    element:
      type: string
  - 이름: repository_selection
    설명: 이 작업에서 저장소와 관련된 선택 유형
    type: string
  - 이름: request_category
    설명: 이 요청의 범주
    type: string
  - name: request_id
    설명: 이 작업의 요청 ID
    type: string
  - 이름: run_attempt
    설명: 워크플로 실행 시도
    type: bigint
  - 이름: run_number
    설명: 워크플로 실행 번호
    type: bigint
  - 이름: runner_id
    설명: 이 워크플로 러너의 ID
    type: string
  - 이름: runner_group_id
    설명: 워크플로 러너 그룹의 ID
    type: string
  - 이름: runner_group_name
    설명: 워크플로 러너 그룹 이름
    type: string
  - 이름: runner_labels
    설명: 이 워크플로의 라벨 목록
    type: array
    element:
      type: string
  - 이름: runner_name
    설명: 이 작업의 워크플로 러너 이름
    type: string
  - 이름: secrets_passed
    설명: 이 워크플로 작업에 전달된 secret 이름 목록
    유형: json
  - 이름: server_id
    설명: Enterprise Server의 ID
    type: string
  - 이름: started_at
    설명: 워크플로가 시작된 시각
    type: timestamp
    timeFormats:
      - rfc3339
  - 이름: token_id
    설명: 이 작업에서 사용된 토큰의 ID
    type: string
  - 이름: token_scopes
    설명: 이 작업에서 사용된 토큰의 스코프 목록
    유형: json
  - 이름: topic
    설명: 워크플로 실행과 관련된 토픽
    type: string
  - 이름: trigger_id
    설명: 이 워크플로를 트리거한 Trigger의 ID
    type: string
  - 이름: url
    설명: 이 작업이 발생한 URL
    type: string
    표시자:
      - url
  - name: user_agent
    설명: 이 작업을 수행한 행위자의 User Agent
    type: string
  - 이름: user_programmatic_access_name
    설명: 작업을 수행한 사용자 이름
    type: string
    표시자:
      - 사용자명
  - 이름: after
    설명: 이벤트 발생 후 브랜치의 Git 커밋 해시.
    type: string
    표시자:
      - sha1
  - 이름: before
    설명: 이벤트 발생 전 브랜치의 Git 커밋 해시.
    type: string
    표시자:
      - sha1
  - 이름: pull_request_url
    설명: 풀 리퀘스트의 URL
    type: string
    표시자:
      - url
  - 이름: pull_request_title
    설명: 풀 리퀘스트의 제목
    type: string
  - 이름: pull_request_id
    설명: 풀 리퀘스트 ID
    type: string
  - 이름: reasons
    설명: 이 작업의 이유 목록
    type: array
    element:
      type: object
      fields:
        - 이름: code
          설명: 이유 코드
          type: string
        - 이름: 메시지
          설명: 이유 메시지
          type: string
  - 이름: overridden_codes
    설명: 이 작업의 재정의된 코드 목록
    type: array
    element:
      type: string
  - 이름: authorized_actors
    설명: 이 작업의 승인된 행위자 목록
    type: array
    element:
      type: string
      표시자:
        - 사용자명
  - 이름: authorized_actor_names
    설명: 이 작업의 승인된 행위자 이름 목록
    type: array
    element:
      type: string
      표시자:
        - 사용자명
  - 이름: actions_cache_id
    설명: 이 작업의 캐시 ID
    type: string
  - 이름: actions_cache_key
    설명: 이 작업의 캐시 키
    type: string
  - 이름: actions_cache_scope
    설명: 이 작업의 캐시 범위
    type: string
  - 이름: actions_cache_version
    설명: 이 작업의 캐시 버전
    type: string
  - 이름: 알러트_number
    설명: 알러트 번호
    type: bigint
  - 이름: allow_deletions_enforcement_level
    설명: 삭제 허용에 대한 강제 수준
    type: string
  - 이름: allow_force_pushes_enforcement_level
    설명: 강제 푸시 허용에 대한 강제 수준
    type: string
  - 이름: enforcement_level
    설명: 이 작업의 강제 수준
    type: string
  - 이름: email
    설명: 이 작업을 수행한 행위자의 이메일
    type: string
    표시자:
      - 이메일
  - 이름: ghsa_id
    설명: GitHub 보안 권고 식별자
    type: string
  - 이름: lock_allows_fetch_and_merge
    설명: 잠금이 fetch 및 merge를 허용하는지 여부
    유형: boolean
  - 이름: lock_branch_enforcement_level
    설명: 브랜치 잠금에 대한 강제 수준
    type: string
  - 이름: required_deployments_enforcement_level
    설명: PR 필수 배포에 대한 강제 수준
    type: string
  - 이름: required_review_thread_resolution_enforcement_level
    설명: PR 필수 검토 스레드 해결에 대한 강제 수준
    type: string
  - 이름: merge_method
    설명: 이 작업의 병합 방식
    type: string
  - 이름: merge_queue_enforcement_level
    설명: 병합 큐에 대한 강제 수준
    type: string
  - 이름: new_repo_base_role
    설명: 새 저장소의 기본 역할
    type: string
  - 이름: new_repo_permission
    설명: 새 저장소의 권한
    type: string
  - 이름: oauth_application
    설명: OAuth 애플리케이션
    type: string
  - 이름: oauth_application_id
    설명: OAuth 애플리케이션의 ID
    type: string
  - 이름: old_permission
    설명: 이전 권한
    type: string
  - 이름: old_permissions
    설명: 이전 권한 목록
    유형: json
  - 이름: old_repo_base_role
    설명: 저장소의 이전 기본 역할
    type: string
  - 이름: old_repo_permission
    설명: 저장소의 이전 권한
    type: string
  - 이름: role_permissions
    설명: 역할 권한 목록
    유형: json
  - 이름: ruleset_bypass_actors
    설명: ruleset 우회 행위자 목록
    유형: json
  - 이름: ruleset_bypass_actors_added
    설명: 추가된 ruleset 우회 행위자 목록
    유형: json
  - 이름: ruleset_bypass_actors_deleted
    설명: 삭제된 ruleset 우회 대상 목록
    유형: json
  - 이름: ruleset_bypass_actors_updated
    설명: 업데이트된 ruleset 우회 대상 목록
    유형: json
  - 이름: ruleset_conditions
    설명: ruleset 조건 목록
    유형: json
  - 이름: ruleset_conditions_added
    설명: 추가된 ruleset 조건 목록
    유형: json
  - 이름: ruleset_conditions_deleted
    설명: 삭제된 ruleset 조건 목록
    유형: json
  - 이름: ruleset_conditions_updated
    설명: 업데이트된 ruleset 조건 목록
    유형: json
  - 이름: ruleset_enforcement
    설명: ruleset의 적용 수준
    type: string
  - 이름: ruleset_id
    설명: ruleset ID
    type: string
  - 이름: ruleset_name
    설명: ruleset 이름
    type: string
  - 이름: ruleset_old_enforcement
    설명: ruleset의 이전 적용 수준
    type: string
  - 이름: ruleset_old_name
    설명: ruleset의 이전 이름
    type: string
  - 이름: ruleset_rules
    설명: 추가된 ruleset 규칙 목록
    유형: json
  - 이름: ruleset_rules_updated
    설명: 업데이트된 ruleset 규칙 목록
    유형: json
  - 이름: ruleset_source_type
    설명: ruleset의 소스 유형
    type: string
  - 이름: source_version
    설명: 소스 버전
    type: string
  - 이름: strict_required_status_checks_policy
    설명: 엄격한 필수 상태 검사 정책
    유형: boolean
  - 이름: target_version
    설명: 대상 버전
    type: string
  - 이름: check_run_id
    설명: check run의 ID
    type: string
  - 이름: admin_enforced
    설명: 관리자를 위한 저장소 관리 정책 설정
    유형: boolean
  - 이름: pull_request_reviews_enforcement_level
    설명: PR 검토 적용 수준
    유형: json
  - 이름: required_status_checks_enforcement_level
    설명: PR 필수 상태 검사 적용 수준
    유형: json
  - 이름: linear_history_requirement_enforcement_level
    설명: 선형 히스토리 요구 사항 적용 수준
    유형: json
  - 이름: required_approving_review_count
    설명: 작업을 승인해야 하는 검토자 수
    유형: int
  - 이름: require_code_owner_review
    설명: 이 PR에서 코드 소유자의 승인이 필요한지 여부
    유형: boolean
  - 이름: signature_requirement_enforcement_level
    설명: 서명 적용 수준
    유형: int
  - 이름: old_name
    설명: 수정 중인 엔터티의 이전 이름
    type: string
  - 이름: permission
    설명: 수정 중인 사용자에 대한 새 권한.
    type: string
  - 이름: invitee
    설명: 초대를 수락한 사용자.
    type: string
    표시자:
      - 사용자명
  - 이름: inviter
    설명: 초대를 보낸 사용자.
    type: string
    표시자:
      - 사용자명
  - 이름: package_published
    설명: 패키지가 조직에 게시되었거나 다시 게시되었습니다.
    유형: json
  - 이름: package_version_published
    설명: 특정 패키지 버전이 패키지에 게시되었거나 다시 게시되었습니다.
    유형: json
  - 이름: ecosystem
    설명: 패키지 생태계.
    type: string
  - 이름: is_republished
    설명: 패키지가 다시 게시되었는지 여부.
    유형: boolean
  - 이름: package
    설명: 패키지 이름.
    type: string
  - 이름: version
    설명: 패키지 버전.
    type: string
  - 이름: version_count
    설명: 패키지 버전 수.
    type: bigint
  - 이름: ip_allow_list_entry
    설명: IP 주소가 IP 허용 목록에 추가되었습니다.
    유형: json
  - 이름: actor_is_bot
    설명: actor가 봇인지 여부.
    유형: boolean
  - 이름: integration
    설명: 통합 이름.
    type: string
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.panther.com/ko/data-onboarding/supported-logs/github.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
