# 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" %}
[Webhook](#github.webhook) 로그와 [감사](#github.webhook) 로그(스트리밍 또는 API 폴링으로 검색됨)는 트리거와 필드가 서로 다르며 상호 보완적입니다. 예를 들어, 감사 로그는 보안 구성이 변경된 시점을 알려줄 수 있고, webhook 로그는 커밋, pull request 및 워크플로 실행에 대한 세부 정보를 제공할 수 있습니다.
{% endhint %}

* [GitHub webhook 이벤트](#how-to-onboard-github-webhook-events)
  * Panther는 [GitHub webhook](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 조직은 다음의 일부여야 합니다 [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에 제공
* **개인 액세스 토큰 생성** GitHub에서 생성하고 자격 증명을 Panther에 제공

{% tabs %}
{% tab title="OAuth 앱" %}
**옵션 1: 새 OAuth 앱 생성**

{% hint style="warning" %}
아래 단계는 GitHub 조직에서 조직 소유자 권한과 GitHub Enterprise 구독이 있는 경우에만 수행할 수 있습니다. 동일한 자격 증명을 사용하여 서로 다른 GitHub 조직에 대해 여러 통합을 구성해야 하는 경우, 개인 액세스 토큰 또는 [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. 페이지 하단으로 스크롤하여 **개발자 설정** 을 클릭한 다음 **OAuth 앱** 을(를) 클릭합니다 (앱을 `org` 수준에 설치).
4. 을 클릭합니다 **애플리케이션 등록.** 양식을 작성합니다:
   * 기억하기 쉬운 애플리케이션 이름을 **이름** 필드에 입력합니다. 예: `Panther Integration`.
   * Panther 인스턴스의 기본 URL을 **홈페이지 URL** 필드에 입력합니다. 예: [`https://test.runpanther.xyz`](https://snowflake.staging.runpanther.xyz/)
   * 를 복사합니다 **리디렉션 URL** 을 Panther에서 복사하여 **인증 콜백 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** 를 확인하고 새 **클라이언트 시크릿을 생성할 수 있습니다.** 안전한 위치에 저장하세요. 다음 단계에서 필요합니다.

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

{% tab title="개인 액세스 토큰" %}
**옵션 2: 개인 액세스 토큰 생성**

{% hint style="warning" %}
아래 단계는 GitHub 조직에서 조직 소유자 권한과 GitHub Enterprise 구독이 있는 경우에만 수행할 수 있습니다. GitHub에서 개인 액세스 토큰을 생성하는 방법에 대한 자세한 내용은 [여기](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. 페이지 하단으로 스크롤하여 **개발자 설정** 을 클릭한 다음 **개인 액세스 토큰.**
4. 클릭합니다 **새 토큰 생성** 을 클릭하고 설명이 있는 토큰 이름을 입력합니다. 예: `Panther Integration`.
5. 이 토큰에 부여할 범위(scope) 또는 권한을 선택합니다.
   * 다음을 선택합니다 `read:audit_log` 범위.
     * 만약 `read:audit_log` 범위를 사용할 수 없다면, 다음을 선택합니다 `admin:org` > `read:org` 대신 권&#xD55C;**.**
   * 다음을 활성화할 필요는 없습니다 `write:org` 권한.
6. 클릭합니다 **토큰 생성.**
   * 토큰을 복사하여 안전한 위치에 저장하세요. 다음 단계에서 필요합니다.
     {% endtab %}
     {% endtabs %}

### 2단계: Panther에서 새 GitHub API 소스 생성

1. Panther Console의 왼쪽 탐색 막대에서 **구성** > **로그** **소스**.
2. 클릭합니다 **새로 만들기를 클릭합니다.**
3. “GitHub API”를 검색한 다음 해당 타일을 클릭합니다.
4. 슬라이드 아웃 패널에서 **설정 시작**.
5. 을 클릭합니다. 다음 화면에서 소스에 대한 설명이 있는 이름(예: `내 Github 감사 로그`)과 모니터링하려는 Github 조직의 이름을 입력합니다.
6. 클릭합니다 **설정**.
7. GitHub에서 로그를 수신하도록 Panther를 인증합니다 - 위에서 선택한 옵션에 따라 아래 단계를 따르세요:
   * **OAuth2 인증 흐름 사용**:  **앱 클라이언트 ID** 와  **클라이언트 시크릿** 을 입력합니다. 이 값은 Github에서 얻은 것입니다. Github 계정에서 OAuth 앱의 세부 정보 페이지에서 이 정보를 확인할 수 있습니다.  **애플리케이션을 등록한 후.**
   * **개인 액세스 토큰 사용:** 개인 액세스 토큰 키를 복사하여 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).
* 을 활성화할 수 있습니다 **이벤트가 처리되지 않을 때 알러트 트리거** 설정의 기본값은 **예**입니다. 일정 시간 이후 로그 소스에서 데이터 흐름이 중단되면 알림을 받게 되므로 이 설정을 활성화된 상태로 유지하는 것을 권장합니다. 기간은 구성 가능하며 기본값은 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 감사 로그 스트리밍 소스를 생성합니다.

### 사전 요구 사항

* 감사 로그 스트리밍은 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 Console의 왼쪽 탐색 막대에서 **구성** **> 로그 소스**.
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 제외 필터** 를 다음 값으로 설정합니다 `_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 webhook 이벤트를 온보딩하는 방법

Panther는 GitHub webhook 이벤트를 HTTP를 통해 직접 수집할 수 있습니다.

### 1단계: Panther에서 GitHub Webhooks 소스 생성

1. Panther Console의 왼쪽 탐색 막대에서 **구성** > **로그 소스**.
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에서 webhook 생성

GitHub webhook 생성에 대한 자세한 지침은 다음을 참조하세요 [GitHub의 webhook 생성 문서](https://docs.github.com/en/webhooks-and-events/webhooks/creating-webhooks).

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

<details>

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

* `push`
* `pull_request`
* `repository`
* `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. 클릭합니다 **Webhook 추가**.

## 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 webhook은 GitHub 조직 또는 리포지토리 내에서 생성된 모든 이벤트에 대해 알림을 내보냅니다. 자세한 내용은 다음을 참조하세요 [GitHub의 webhook 문서](https://docs.github.com/en/webhooks-and-events/webhooks/webhook-events-and-payloads).

```yaml
스키마: GitHub.Webhook
설명: Webhook 이벤트는 GitHub에서 특정 이벤트가 발생할 때마다 생성됩니다
참조 URL: https://docs.github.com/en/webhooks-and-events/webhooks/webhook-events-and-payloads
필드:
  - 이름: action
    설명: 대부분의 webhook 페이로드에는 이벤트를 트리거한 특정 활동을 포함하는 action 속성이 들어 있습니다.
    유형: 문자열
  - 이름: target_type
    설명: 이벤트 대상의 유형
    유형: 문자열
  - 이름: ref
    설명: 이벤트의 Git 참조
    유형: 문자열
  - 이름: commit_oid
    설명: 코드 스캐닝 알러트의 커밋 SHA입니다. action이 reopened_by_user 또는 closed_by_user인 경우 이벤트는 sender에 의해 트리거되며 이 값은 비어 있습니다.
    유형: 문자열
  - 이름: branch
    설명: 브랜치 이름.
    유형: 문자열
  - 이름: master_branch
    설명: 리포지토리의 기본 브랜치 이름(보통 main).
    유형: 문자열
  - 이름: pusher_type
    설명: 이벤트의 푸셔 유형입니다. user 또는 deploy key 중 하나일 수 있습니다.
    유형: 문자열
  - 이름: ref_type
    설명: '리포지토리에서 생성된 Git ref 객체의 유형입니다. 다음 중 하나일 수 있습니다: tag, branch'
    유형: 문자열
  - 이름: hook_id
    설명: 수정된 webhook의 id.
    유형: 문자열
  - 이름: base_ref
    설명: head_ref의 기반이 되는 기본 브랜치의 이름.
    유형: 문자열
  - 이름: before
    설명: push 이전 ref의 가장 최근 커밋 SHA.
    유형: 문자열
  - 이름: after
    설명: push 이후 ref의 가장 최근 커밋 SHA.
    유형: 문자열
  - 이름: number
    설명: pull request 번호.
    유형: 문자열
  - 이름: compare
    설명: 변경 사항을 확인하기 위한 URL
    유형: 문자열
  - 이름: forced
    설명: 이 push가 ref에 대한 강제 push였는지 여부.
    유형: 불리언
  - 이름: created
    설명: 이 push가 ref를 생성했는지 여부.
    유형: 불리언
  - 이름: deleted
    설명: 이 push가 ref를 삭제했는지 여부.
    유형: 불리언
  - 이름: sender
    필수: true
    설명: 이벤트를 트리거한 사용자입니다. 이 속성은 모든 webhook 페이로드에 포함됩니다.
    유형: json
  - 이름: repository
    설명: 이벤트가 발생한 리포지토리입니다. webhook 페이로드에는 이벤트가 리포지토리 내 활동에서 발생할 때 repository 속성이 포함됩니다.
    유형: json
  - 이름: repository_ruleset
    설명: 지정된 조건이 충족될 때 적용할 룰 집합.
    유형: json
  - 이름: organization
    설명: webhook이 조직에 대해 구성되었거나 이벤트가 조직 소유 리포지토리의 활동에서 발생한 경우 webhook 페이로드에는 organization 객체가 포함됩니다.
    유형: json
  - 이름: installation
    설명: GitHub 앱 설치입니다. webhook 페이로드에는 이벤트가 GitHub 앱에 대해 구성되고 해당 앱으로 전송될 때 installation 속성이 포함됩니다.
    유형: json
  - 이름: enterprise
    설명: 이벤트와 관련된 GitHub Enterprise
    유형: json
  - 이름: 룰
    설명: 브랜치 보호 룰입니다. 이름과 해당 이름에 일치하는 브랜치에 적용되는 모든 브랜치 보호 설정을 포함합니다. 이진 설정은 불리언입니다. 다단계 구성은 off, non_admins 또는 everyone 중 하나입니다. 액터 및 빌드 목록은 문자열 배열입니다.
    유형: json
  - 이름: check_run
    설명: 주어진 코드 변경의 코드에 대해 수행된 검사
    유형: json
  - 이름: check_suite
    설명: 체크 스위트
    유형: json
  - 이름: 알러트
    설명: 이벤트와 관련된 코드 스캐닝 알러트.
    유형: json
  - 이름: comment
    설명: 커밋 댓글 리소스
    유형: json
  - 이름: description
    설명: 이벤트 설명
    유형: json
  - 이름: key
    설명: 이벤트의 키
    유형: json
  - 이름: deployment
    설명: 배포 관련 이벤트 세부 정보
    유형: json
  - 이름: workflow
    설명: 워크플로 관련 이벤트 세부 정보
    유형: json
  - 이름: workflow_run
    설명: 워크플로 실행
    유형: json
  - 이름: workflow_job
    설명: 워크플로 작업
    유형: json
  - 이름: environment
    설명: 이벤트가 발생한 환경
    유형: json
  - 이름: 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
    설명: 모든 리포지토리가 선택되었는지 또는 일부 선택이 포함되었는지 설명합니다.
    유형: 문자열
  - 이름: changes
    설명: 변경 세부 정보
    유형: json
  - 이름: issue
    설명: 이슈 세부 정보
    유형: json
  - 이름: label
    설명: 라벨 세부 정보
    유형: json
  - 이름: 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
    유형: 문자열
  - 이름: state
    설명: 상태의 상태입니다. pending, success, error 또는 failure 중 하나일 수 있습니다.
    유형: 문자열
  - 이름: context
    설명: Git 커밋의 상태가 변경될 때의 컨텍스트 세부 정보입니다.
    유형: 문자열
  - 이름: member
    설명: 멤버 세부 정보입니다. 공동 작업자와 관련된 활동이 있을 때만 표시됩니다.
    유형: json
  - 이름: membership
    설명: 사용자와 조직 간의 멤버십입니다. 작업이 member_invited인 경우에는 표시되지 않습니다.
    유형: json
  - 이름: blocked_user
    설명: 차단된 사용자에 대한 세부 정보(있는 경우)
    유형: json
  - 이름: invitation
    설명: 작업이 member_invited인 경우 사용자 또는 이메일에 대한 초대입니다.
    유형: json
  - 이름: user
    설명: 초대된 사용자입니다. 작업이 member_invited인 경우에만 표시됩니다.
    유형: json
  - 이름: package
    설명: GitHub Package에 대한 정보입니다.
    유형: json
  - 이름: build
    설명: GitHub Pages 사이트의 빌드에 대한 정보입니다.
    유형: json
  - 이름: personal_access_token_request
    설명: personal access token 요청에 대한 정보입니다.
    유형: json
  - 이름: zen
    설명: GitHub zen의 임의 문자열입니다.
    유형: 문자열
  - 이름: project
    설명: 클래식 프로젝트 세부 정보
    유형: json
  - 이름: project_card
    설명: 클래식 프로젝트 카드 세부 정보입니다.
    유형: json
  - 이름: project_column
    설명: 클래식 프로젝트 열 세부 정보입니다.
    유형: json
  - 이름: projects_v2
    설명: 프로젝트 세부 정보
    유형: json
  - 이름: projects_v2_item
    설명: 프로젝트에 속한 항목
    유형: json
  - 이름: registry_package
    설명: GitHub Registry 패키지에 대한 정보입니다.
    유형: json
  - 이름: client_payload
    설명: repository dispatch 이벤트를 생성할 때의 클라이언트 페이로드입니다.
    유형: json
  - 이름: sponsorship
    설명: 후원 목록과 관련된 세부 정보입니다.
    유형: json
  - 이름: marketplace_purchase
    설명: GitHub Marketplace 구매와 관련된 세부 정보입니다.
    유형: json
  - 이름: previous_marketplace_purchase
    설명: 이전 GitHub Marketplace 구매와 관련된 세부 정보입니다.
    유형: json
  - 이름: effective_date
    설명: 청구 이벤트의 발효일입니다.
    유형: 문자열
```

### 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
필드:
  - 이름: _document_id
    설명: 감사 로그 이벤트의 문서 ID
    유형: 문자열
  - 이름: workflow_id
    설명: 이벤트가 CI 워크플로인 경우의 워크플로 ID
    유형: 문자열
  - 이름: workflow_run_id
    설명: 이벤트가 CI 워크플로인 경우의 워크플로 실행 ID
    유형: 문자열
  - 이름: action
    필수: true
    설명: 수행된 작업
    유형: 문자열
  - 이름: actor
    설명: 작업을 수행한 액터
    유형: 문자열
    지표:
      - 사용자 이름
  - 이름: created_at
    설명: 감사 이벤트의 생성 타임스탬프
    유형: 타임스탬프
    시간형식:
      - unix_ms
      - '%Y-%m-%d %H:%M:%S %z'
  - 이름: '@timestamp'
    설명: 이벤트의 타임스탬프
    유형: 타임스탬프
    시간형식:
      - unix_ms
    이벤트시간여부: true
  - 이름: completed_at
    설명: 감사 이벤트의 완료 타임스탬프
    유형: 문자열
  - 이름: actor_location
    설명: 액터 위치
    유형: 객체
    필드:
      - 이름: country_code
        필수: true
        설명: 액터 위치의 국가 코드'
        유형: 문자열
      - 이름: country_name
        설명: 액터 위치의 국가 이름
        유형: 문자열
      - 이름: region
        설명: 이 작업이 시작된 지역의 코드
        유형: 문자열
      - 이름: region_name
        설명: 이 작업이 시작된 지역의 이름
        유형: 문자열
      - 이름: city
        설명: 이 작업이 시작된 도시의 이름
        유형: 문자열
      - 이름: postal_code
        설명: 이 작업이 시작된 위치의 우편번호
        유형: 문자열
      - 이름: location
        설명: 경도/위도 기준 액터의 위치
        유형: 객체
        필드:
          - 이름: lat
            설명: 위도 필드
            유형: float
          - 이름: lon
            설명: 경도 필드
            유형: float
  - 이름: org
    설명: 작업이 수행된 조직
    유형: json
  - 이름: config
    설명: Webhook 구성
    유형: 객체
    필드:
      - 이름: content_type
        설명: webhook의 콘텐츠 유형
        유형: 문자열
      - 이름: insecure_ssl
        설명: ssl 연결이 보안 상태인지에 대한 불리언 값
        유형: 문자열
      - 이름: url
        설명: webhook의 payload URL
        유형: 문자열
  - 이름: config_was
    설명: 이전 webhook 구성
    유형: 객체
    필드:
      - 이름: content_type
        설명: webhook의 콘텐츠 유형
        유형: 문자열
      - 이름: insecure_ssl
        설명: ssl 연결이 보안 상태인지에 대한 불리언 값
        유형: 문자열
      - 이름: url
        설명: webhook의 payload URL
        유형: 문자열
  - 이름: hook_id
    설명: Webhook ID
    유형: 문자열
  - 이름: name
    설명: 이벤트 작업 카테고리의 이름
    유형: 문자열
  - 이름: active
    설명: Webhook이 활성 상태임
    유형: 불리언
  - 이름: repo
    설명: 작업과 관련된 리포지토리의 이름 또는 여러 이름
    유형: json
  - 이름: visibility
    설명: 리포지토리의 가시성
    유형: 문자열
  - 이름: events
    설명: webhook payload를 전송할 이벤트 목록
    유형: 배열
    요소:
      유형: 문자열
  - 이름: user
    설명: 특정 권한에 대해 추가/제거된 사용자
    유형: 문자열
    지표:
      - 사용자 이름
  - 이름: team
    설명: 팀 카테고리 작업의 팀 이름
    유형: 문자열
  - 이름: event
    설명: 워크플로 이벤트
    유형: 문자열
  - 이름: transport_protocol_name
    설명: git 감사 이벤트의 전송 프로토콜 이름
    유형: 문자열
  - 이름: transport_protocol
    설명: git 감사 이벤트의 전송 프로토콜
    유형: int
  - 이름: repository
    설명: git 이벤트의 리포지토리 이름
    유형: 문자열
  - 이름: repository_public
    설명: git 감사 이벤트의 리포지토리가 공개인지 여부
    유형: 불리언
  - 이름: business_id
    설명: 작업의 영향을 받은 엔터프라이즈의 ID(해당하는 경우)
    유형: 문자열
  - 이름: number
    설명: 숫자 필드
    유형: bigint
  - 이름: active_was
    설명: Webhook이 활성 상태였음
    유형: 불리언
  - 이름: actor_id
    설명: 작업을 수행한 액터의 ID
    유형: 문자열
    지표:
      - actor_id
  - 이름: blocked_user
    설명: 차단되는 계정의 사용자 이름
    유형: 문자열
    지표:
      - 사용자 이름
  - 이름: business
    설명: 이 작업과 관련된 비즈니스의 이름
    유형: 문자열
  - 이름: content_type
    설명: 콘텐츠 유형
    유형: 문자열
  - 이름: data
    설명: 이 작업과 관련된 추가 데이터
    유형: json
  - 이름: deploy_key_fingerprint
    설명: 배포 키의 지문
    유형: 문자열
  - 이름: emoji
    설명: 이 작업과 관련된 이모지
    유형: 문자열
  - 이름: events_were
    설명: 전송된 이벤트 목록
    유형: 배열
    요소:
      유형: json
  - 이름: explanation
    설명: 작업에 대한 설명
    유형: 문자열
  - 이름: fingerprint
    설명: 이 작업과 관련된 지문
    유형: 문자열
  - 이름: limited_availability
    설명: 제한된 가용성
    유형: 불리언
  - 이름: message
    설명: 이 작업과 관련된 메시지
    유형: 문자열
  - 이름: old_user
    설명: 이 작업과 관련된 이전 사용자
    유형: 문자열
  - 이름: openssh_public_key
    설명: 이 작업과 관련된 공개 Open SSH 키
    유형: 문자열
  - 이름: operation_type
    설명: 작업 유형
    유형: 문자열
  - 이름: org_id
    설명: 작업이 수행된 조직 ID
    유형: json
  - 이름: previous_visibility
    설명: 이 작업 이전의 리포지토리 가시성
    유형: 문자열
  - 이름: read_only
    설명: 이 작업과 관련된 항목이 읽기 전용인지 여부
    유형: 불리언
  - 이름: target_login
    설명: 대상 로그인
    유형: 문자열
  - 이름: user_id
    설명: 사용자 ID
    유형: 문자열
    지표:
      - actor_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)
    유형: 문자열
    지표:
      - 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)
    유형: 문자열
  - 이름: external_identity_nameid
    설명: 인증 수단으로 SAML SSO ID가 사용된 경우 표시됨
    유형: 문자열
    지표:
      - 사용자 이름
  - 이름: external_identity_username
    설명: Enterprise Managed Users와 함께 인증 수단으로 SAML SSO ID가 사용된 경우 표시됨
    유형: 문자열
    지표:
      - 사용자 이름
  - 이름: actor_session
    설명: 액터의 세션 ID
    유형: 문자열
  - 이름: branch
    설명: 이 작업과 관련된 브랜치
    유형: 문자열
  - 이름: category_type
    설명: 이 작업이 속한 카테고리의 유형
    유형: 문자열
  - 이름: client_id
    설명: 이 작업에 사용되는 클라이언트의 ID
    유형: 문자열
  - 이름: conclusion
    설명: 워크플로 실행 결론
    유형: 문자열
  - 이름: controller_action
    설명: 컨트롤러의 작업
    유형: 문자열
  - 이름: device_cookie
    설명: 이 작업에서 액터 세션의 쿠키
    유형: 문자열
  - 이름: environment_name
    설명: 워크플로의 환경 이름
    유형: 문자열
  - 이름: fork_source
    설명: 이 포크의 원본 리포지토리
    유형: 문자열
  - 이름: fork_source_id
    설명: 이 포크의 원본 리포지토리 ID
    유형: 문자열
  - 이름: from
    설명: 이 작업의 출처 네임스페이스
    유형: 문자열
  - 이름: head_branch
    설명: 이 워크플로 실행 시점의 head 브랜치 이름
    유형: 문자열
  - 이름: head_sha
    설명: 이 워크플로 실행 시점의 head SHA 해시
    유형: 문자열
    지표:
      - sha1
  - 이름: is_hosted_runner
    설명: 워크플로 러너가 호스팅되는지 여부
    유형: 불리언
  - 이름: job_name
    설명: 워크플로 작업 이름
    유형: 문자열
  - 이름: job_workflow_ref
    설명: 워크플로 작업의 참조
    유형: 문자열
  - 이름: key
    설명: 이 작업과 관련된 키의 이름
    유형: 문자열
  - 이름: method
    설명: 이 작업의 HTTP 메서드
    유형: 문자열
  - 이름: programmatic_access_type
    설명: 프로그래밍 방식 작업에 대한 액세스 유형
    유형: 문자열
  - 이름: public_repo
    설명: git 감사 이벤트의 리포지토리가 공개인지 여부
    유형: 불리언
  - 이름: referrer
    설명: 이 작업이 발생한 위치의 Referrer URL
    유형: 문자열
    지표:
      - url
  - 이름: repo_id
    설명: 이 작업과 관련된 리포지토리 ID
    유형: json
  - 이름: repositories_removed
    설명: 이 작업에서 제거된 리포지토리의 ID들
    유형: 배열
    요소:
      유형: 문자열
  - 이름: repositories_removed_names
    설명: 이 작업에서 제거된 리포지토리의 이름들
    유형: 배열
    요소:
      유형: 문자열
  - 이름: repository_selection
    설명: 리포지토리와 관련된 이 작업의 선택 유형
    유형: 문자열
  - 이름: request_category
    설명: 이 요청의 카테고리
    유형: 문자열
  - 이름: request_id
    설명: 이 작업 요청의 ID
    유형: 문자열
  - 이름: run_attempt
    설명: 워크플로 실행 시도
    유형: bigint
  - 이름: run_number
    설명: 워크플로 실행 번호
    유형: bigint
  - 이름: runner_id
    설명: 이 워크플로 러너의 ID
    유형: 문자열
  - 이름: runner_group_id
    설명: 워크플로 러너 그룹의 ID
    유형: 문자열
  - 이름: runner_group_name
    설명: 워크플로 러너 그룹의 이름
    유형: 문자열
  - 이름: runner_labels
    설명: 이 워크플로의 레이블 목록
    유형: 배열
    요소:
      유형: 문자열
  - 이름: runner_name
    설명: 이 작업의 워크플로 러너 이름
    유형: 문자열
  - 이름: secrets_passed
    설명: 이 워크플로 작업에 전달된 secret 이름 목록
    유형: json
  - 이름: server_id
    설명: Enterprise Server의 ID
    유형: 문자열
  - 이름: started_at
    설명: 워크플로가 시작된 시간
    유형: 타임스탬프
    시간형식:
      - rfc3339
  - 이름: token_id
    설명: 이 작업에 사용된 토큰의 ID
    유형: 문자열
  - 이름: token_scopes
    설명: 이 작업에 사용된 토큰의 스코프 목록
    유형: json
  - 이름: topic
    설명: 워크플로 실행과 관련된 주제
    유형: 문자열
  - 이름: trigger_id
    설명: 이 워크플로를 트리거한 Trigger의 ID
    유형: 문자열
  - 이름: url
    설명: 이 작업이 발생한 URL
    유형: 문자열
    지표:
      - url
  - 이름: user_agent
    설명: 이 작업을 수행한 액터의 사용자 에이전트
    유형: 문자열
  - 이름: user_programmatic_access_name
    설명: 작업을 수행한 사용자의 이름
    유형: 문자열
    지표:
      - 사용자 이름
  - 이름: after
    설명: 이벤트 발생 후 브랜치의 Git 커밋 해시입니다.
    유형: 문자열
    지표:
      - sha1
  - 이름: before
    설명: 이벤트 발생 전 브랜치의 Git 커밋 해시입니다.
    유형: 문자열
    지표:
      - sha1
  - 이름: pull_request_url
    설명: pull request의 URL
    유형: 문자열
    지표:
      - url
  - 이름: pull_request_title
    설명: pull request의 제목
    유형: 문자열
  - 이름: pull_request_id
    설명: pull request의 ID
    유형: 문자열
  - 이름: reasons
    설명: 이 작업에 대한 이유 목록
    유형: 배열
    요소:
      유형: 객체
      필드:
        - 이름: code
          설명: 이유 코드
          유형: 문자열
        - 이름: message
          설명: 이유 메시지
          유형: 문자열
  - 이름: overridden_codes
    설명: 이 작업에 대해 재정의된 코드 목록
    유형: 배열
    요소:
      유형: 문자열
  - 이름: authorized_actors
    설명: 이 작업에 대해 승인된 액터 목록
    유형: 배열
    요소:
      유형: 문자열
      지표:
        - 사용자 이름
  - 이름: authorized_actor_names
    설명: 이 작업에 대해 승인된 액터 이름 목록
    유형: 배열
    요소:
      유형: 문자열
      지표:
        - 사용자 이름
  - 이름: actions_cache_id
    설명: 이 작업에 대한 캐시의 ID
    유형: 문자열
  - 이름: actions_cache_key
    설명: 이 작업에 대한 캐시의 키
    유형: 문자열
  - 이름: actions_cache_scope
    설명: 이 작업에 대한 캐시의 범위
    유형: 문자열
  - 이름: actions_cache_version
    설명: 이 작업에 대한 캐시의 버전
    유형: 문자열
  - 이름: 알러트_number
    설명: 알러트의 번호
    유형: bigint
  - 이름: allow_deletions_enforcement_level
    설명: 삭제 허용에 대한 시행 수준
    유형: 문자열
  - 이름: allow_force_pushes_enforcement_level
    설명: 강제 푸시 허용에 대한 시행 수준
    유형: 문자열
  - 이름: enforcement_level
    설명: 이 작업에 대한 시행 수준
    유형: 문자열
  - 이름: email
    설명: 이 작업을 수행한 액터의 이메일
    유형: 문자열
    지표:
      - email
  - 이름: ghsa_id
    설명: GitHub Security Advisory 식별자
    유형: 문자열
  - 이름: lock_allows_fetch_and_merge
    설명: 잠금이 fetch 및 merge를 허용하는지 여부
    유형: 불리언
  - 이름: lock_branch_enforcement_level
    설명: 브랜치 잠금에 대한 시행 수준
    유형: 문자열
  - 이름: required_deployments_enforcement_level
    설명: PR 필수 배포에 대한 시행 수준
    유형: 문자열
  - 이름: required_review_thread_resolution_enforcement_level
    설명: PR 필수 검토 스레드 해결에 대한 시행 수준
    유형: 문자열
  - 이름: merge_method
    설명: 이 작업의 병합 방법
    유형: 문자열
  - 이름: merge_queue_enforcement_level
    설명: 병합 큐에 대한 시행 수준
    유형: 문자열
  - 이름: new_repo_base_role
    설명: 새 리포지토리의 기본 역할
    유형: 문자열
  - 이름: new_repo_permission
    설명: 새 리포지토리에 대한 권한
    유형: 문자열
  - 이름: oauth_application
    설명: OAuth 애플리케이션
    유형: 문자열
  - 이름: oauth_application_id
    설명: OAuth 애플리케이션의 ID
    유형: 문자열
  - 이름: old_permission
    설명: 이전 권한
    유형: 문자열
  - 이름: old_permissions
    설명: 이전 권한 목록
    유형: json
  - 이름: old_repo_base_role
    설명: 리포지토리의 이전 기본 역할
    유형: 문자열
  - 이름: old_repo_permission
    설명: 리포지토리에 대한 이전 권한
    유형: 문자열
  - 이름: 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에 대한 시행 수준
    유형: 문자열
  - 이름: ruleset_id
    설명: ruleset의 ID
    유형: 문자열
  - 이름: ruleset_name
    설명: ruleset의 이름
    유형: 문자열
  - 이름: ruleset_old_enforcement
    설명: ruleset의 이전 시행 수준
    유형: 문자열
  - 이름: ruleset_old_name
    설명: ruleset의 이전 이름
    유형: 문자열
  - 이름: ruleset_rules
    설명: 추가된 ruleset 규칙 목록
    유형: json
  - 이름: ruleset_rules_updated
    설명: 업데이트된 ruleset 규칙 목록
    유형: json
  - 이름: ruleset_source_type
    설명: ruleset의 소스 유형
    유형: 문자열
  - 이름: source_version
    설명: 소스 버전
    유형: 문자열
  - 이름: strict_required_status_checks_policy
    설명: 엄격한 필수 상태 검사 정책
    유형: 불리언
  - 이름: target_version
    설명: 대상 버전
    유형: 문자열
  - 이름: check_run_id
    설명: check run의 ID
    유형: 문자열
  - 이름: admin_enforced
    설명: 관리자에 대한 리포지토리 관리 정책 설정
    유형: 불리언
  - 이름: 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에 codeowner의 승인이 필요한지 여부
    유형: 불리언
  - 이름: signature_requirement_enforcement_level
    설명: 서명의 시행 수준
    유형: int
  - 이름: old_name
    설명: 수정 중인 엔터티의 이전 이름
    유형: 문자열
  - 이름: permission
    설명: 수정 중인 사용자에 대한 새 권한입니다.
    유형: 문자열
  - 이름: invitee
    설명: 초대를 수락한 사용자입니다.
    유형: 문자열
    지표:
      - 사용자 이름
  - 이름: inviter
    설명: 초대를 보낸 사용자입니다.
    유형: 문자열
    지표:
      - 사용자 이름
  - 이름: package_published
    설명: 패키지가 조직에 게시되었거나 다시 게시되었습니다.
    유형: json
  - 이름: package_version_published
    설명: 특정 패키지 버전이 패키지에 게시되었거나 다시 게시되었습니다.
    유형: json
  - 이름: ecosystem
    설명: 패키지 생태계입니다.
    유형: 문자열
  - 이름: is_republished
    설명: 패키지가 다시 게시되었는지 여부입니다.
    유형: 불리언
  - 이름: package
    설명: 패키지의 이름입니다.
    유형: 문자열
  - 이름: version
    설명: 패키지 버전입니다.
    유형: 문자열
  - 이름: version_count
    설명: 패키지 버전의 개수입니다.
    유형: bigint
  - 이름: ip_allow_list_entry
    설명: IP 주소가 IP 허용 목록에 추가되었습니다.
    유형: json
  - 이름: actor_is_bot
    설명: 행위자가 봇인지 여부입니다.
    유형: 불리언
  - 이름: integration
    설명: 통합의 이름입니다.
    유형: 문자열
```


---

# Agent Instructions: 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.
