> 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/detections/testing/data-replay.md).

# 데이터 재생 (베타)

## 개요

{% hint style="info" %}
Data Replay는 현재 오픈 베타이며 모든 고객이 사용할 수 있습니다. 버그 보고 및 기능 요청 사항은 Panther 지원 팀에 공유해 주세요.
{% endhint %}

Panther의 Data Replay를 사용하면 룰을 과거 로그 데이터와 대조하여 룰을 활성화하기 전에 결과를 미리 확인할 수 있습니다.

디택션을 작성하거나 업데이트할 때, Data Replay를 사용하여 디택션을 배포하기 전에 어떤 유형의 알러트를 받게 될지 시뮬레이션해 보세요. 리플레이를 통해 생성된 알러트는 룰의 대상 위치로 전달되지 않으며 메인 **알러트 및 오류** 대시보드에 표시되지 않습니다.

Data Replay를 시작하는 방법은 두 가지입니다:

* [표준 리플레이](#starting-a-replay): 로그 유형과 시간 범위 또는 데이터 크기를 선택하면 Panther가 S3에서 직접 이벤트를 리플레이합니다.
* [AI 기반 리플레이](#starting-an-ai-powered-replay): Panther AI가 디택션 룰을 읽고 데이터 레이크를 대상으로 한 맞춤 SQL 쿼리를 생성한 뒤, 일치하는 이벤트만 리플레이합니다. 이 방식은 AI가 룰을 트리거할 가능성이 있는 이벤트로 데이터 세트를 좁히므로 더 빠르고 더 집중적일 수 있습니다.

Data Replay는 Panther Console에서 사용할 수 있습니다. CLI 워크플로에서는 Panther Analysis Tool의 [`벤치마크`](/ko/panther/detections-repo/pat/pat-commands.md#benchmark-evaluating-rule-performance) 명령을 사용해 룰 성능을 평가할 수 있습니다.

## 제한 사항

Data Replay를 시작하기 전에 다음 제한 사항을 참고하세요:

* 시간 범위는 설정할 수 있지만 최근 15일 이내여야 합니다.
* 시간 범위는 24시간보다 오래되어야 합니다.
* 지원되는 최대 리플레이 크기는 20GB입니다.
* 리플레이는 1시간 이내에 완료되어야 합니다.
* 다음에 대한 접근은 [DynamoDB 캐시](/ko/detections/rules/python/caching.md) 프로덕션 데이터를 오염시키는 것을 방지하기 위해 차단됩니다.
* 룰 내부에서 발생하는 네트워크 호출은 차단됩니다.
* [Enrichment](/ko/enrichment.md) 지원되지 않습니다.
* 고유값 임계값 (`unique()`)는 현재 Data Replay 중에는 적용되지 않습니다.

## 리플레이 시작

룰의 중복 제거 기간과 이벤트 임계값은 Data Replay 동안 고려됩니다. 룰에 [룰 필터](/ko/detections/rules/inline-filters.md), 적용됩니다.

1. Panther Console의 왼쪽 탐색 표시줄에서 다음을 클릭하세요 **디택션**.
2. Data Replay에서 사용하려는 디택션의 이름을 클릭하세요.
3. 다음 **Configure** 탭.
4. 다음까지 아래로 스크롤합니다. **Data Replay** 타일의 **테스트** 섹션.
5. 선택 **S3에서 리플레이**.
6. 다음의 **로그 유형** 필드에서 해당 디택션에 대해 리플레이할 로그 유형을 선택하세요.

   <figure><img src="/files/c2328c4a82c76050743f98c8010a2f0bf2ef6af6" alt=""><figcaption></figcaption></figure>
7. 오른쪽에 있는 **Data Replay** 섹션에서 다음을 선택합니다: **시간** 또는 **데이터(GB)**, 리플레이가 수행될 데이터 집합을 어떻게 제한할지에 따라 달라집니다:
   * **시간**: 지정한 기간 동안 수집된 데이터에 대해 리플레이를 실행하려면 이 옵션을 선택하세요.

     * 다음 **시작 날짜** 또는 **종료 날짜** 필드를 사용해 날짜 모달을 여세요. 미리 설정된 날짜 범위를 선택하거나 사용 가능한 범위에서 사용자 지정 날짜를 선택할 수 있습니다:

     <figure><img src="/files/8ca2a520cca4c41f8b12779caee3d4cd10604dc7" alt="The date modal displays a calendar view, and fields at the bottom for &#x22;From Time&#x22; and &#x22;To Time.&#x22;" width="375"><figcaption></figcaption></figure>
   * **데이터(GB)**: 지정한 크기(GB)의 데이터 세트에 대해 리플레이를 실행하려면 이 옵션을 선택하세요.
     * 다음 옵션 중 하나를 선택하세요. **데이터** 드롭다운.
     * 데이터 세트가 가장 최근의 것이라고 보장되지 않습니다 `n` 기가바이트 수입니다.
8. 클릭 **리플레이 만들기**.
   * 예상 실행 시간과 데이터 크기가 표시됩니다.
   * 참고: 룰을 변경한 경우 리플레이를 시작하기 전에 변경 사항을 저장해야 합니다.

리플레이가 처리되는 동안 예상 처리량과 일치한 이벤트를 포함하여 진행 상황이 실시간으로 표시됩니다. 리플레이를 취소하지 않고도 언제든지 이 페이지를 나갈 수 있습니다.

일치한 이벤트 비율이 높다면 디택션을 조정하기 위해 리플레이를 중지할 것을 권장합니다.

<figure><img src="/files/31b81baecbee6edafda2b482319c5655e6a713ac" alt="The Panther Console displays a message that says the Replay is processing."><figcaption></figcaption></figure>

## AI 기반 리플레이 시작(베타) <a href="#starting-an-ai-powered-replay" id="starting-an-ai-powered-replay"></a>

{% hint style="info" %}
AI 기반 리플레이는 Panther 버전 1.125부터 오픈 베타로 제공되며 모든 고객이 사용할 수 있습니다. 버그 보고 및 기능 요청 사항은 Panther 지원 팀에 공유해 주세요.
{% endhint %}

Panther AI가 활성화되어 있으면 Data Replay 섹션은 시간 범위 내의 모든 이벤트를 리플레이하는 대신 대상 데이터 레이크 쿼리를 생성합니다. Panther AI는 디택션 룰(헬퍼 함수와 유닛 테스트 포함)을 읽고 관련 로그 유형 스키마를 가져온 다음, 선택적 `WHERE` 절을 사용해 로그 유형별로 SQL 쿼리를 작성합니다. 쿼리는 전체 이벤트(`SELECT *`), 다음 기준으로 정렬됩니다 `p_event_time`. 디택션에 유닛 테스트가 있는 경우, Panther AI는 CTE 쿼리를 사용해 테스트 이벤트를 생성된 SQL에 통과시켜, 최종 쿼리를 데이터 레이크에 실행하기 전에 정확성을 검증합니다.

### 사전 요구 사항

* [Panther AI가 활성화되어 있어야 합니다](/ko/ai.md#enabling-panther-ai).
* 사용자 역할에 다음 권한이 있어야 합니다 **Panther AI 실행** 권한이 있어야 합니다.

### 리플레이 시작

1. Panther Console의 왼쪽 탐색 표시줄에서 다음을 클릭하세요 **디택션**.
2. Data Replay에서 사용하려는 디택션의 이름을 클릭하세요.
3. 다음 **Configure** 탭.
4. 다음까지 아래로 스크롤합니다. **Data Replay** 타일의 **테스트** 섹션.
5. 선택 **데이터 레이크에서 리플레이**.
6. 다음의 **로그 유형** 필드에서 해당 디택션에 대해 리플레이할 로그 유형을 선택하세요.

   <figure><img src="/files/f27e2021de4638608cf541bf6fed8c7ee3bc16a5" alt=""><figcaption></figcaption></figure>
7. 다음을 설정하세요 **시작 날짜** 및 **종료 날짜** 필드에서 시간 범위를 정의하세요.
8. 클릭 **AI로 쿼리 생성**.
   * 해당 **AI 쿼리 생성** 패널이 나타나며 Panther AI가 SQL 쿼리를 생성하고 실행하는 진행 상황을 보여줍니다. 이 패널은 언제든지 펼치거나 접을 수 있습니다.
   * 쿼리가 생성되는 동안 다음을 클릭할 수 있습니다 **취소** 를 눌러 프로세스를 중지할 수 있습니다.
9. 쿼리 생성이 완료되면:
   * 일치하는 이벤트가 발견되면 패널에 생성된 쿼리 수(예: "쿼리 2개 생성됨")와 **리플레이 시작** 버튼을 클릭합니다.
   * 일치하는 이벤트가 발견되지 않으면 정보 메시지가 표시됩니다. 이는 선택한 시간 범위에 디택션을 트리거할 이벤트가 없다는 뜻일 수 있습니다.
10. 클릭 **N개의 쿼리로 리플레이 시작** 를 눌러 AI가 생성한 쿼리 결과로 리플레이를 시작하세요.

그러면 리플레이가 일치한 이벤트를 디택션 룰을 통해 처리하며, 표준 리플레이와 같은 방식으로 결과를 볼 수 있습니다.

### 후속 프롬프트로 쿼리 정교화

Panther AI가 쿼리 생성을 완료한 후에는 아래쪽의 후속 프롬프트 필드를 사용해 추가 컨텍스트를 제공하거나 개선을 요청할 수 있습니다. **AI 쿼리 생성** 패널에서.

예를 들면 다음과 같이 입력할 수 있습니다:

* "소스 IP가 외부인 이벤트만 포함하세요."
* "쿼리를 로그인 실패 시도로 좁히세요."
* "서비스 계정의 이벤트는 제외하세요."

후속 프롬프트를 입력하고 다음을 클릭하세요 **다시 실행**. Panther AI가 추가 컨텍스트를 반영해 쿼리를 다시 생성합니다.

{% hint style="info" %}
쿼리를 생성한 후 시간 범위나 로그 유형을 변경하면 AI 결과는 자동으로 초기화됩니다. 다음을 클릭해야 합니다 **AI로 쿼리 생성** 다시.
{% endhint %}

## 리플레이 결과 보기

리플레이가 완료되면 디택션 페이지에서 총 알러트, 총 룰 오류, 처리량, 총 일치 이벤트를 포함한 알러트 요약을 볼 수 있습니다. 모든 알러트는 해당 기간 동안 알러트가 활성화되어 있었다면 표시되었을 모습대로 표시됩니다.

이 페이지에서 알러트를 필터링하고 각 알러트와 관련된 이벤트를 볼 수 있습니다.

<figure><img src="/files/c5dd6af7065881570887eedf57201e42be1b9be7" alt="The Replay Test Summary shows the number of alerts, rule errors, estimated volume processed, and total matched events."><figcaption></figcaption></figure>

알러트를 클릭하면 자세한 정보를 볼 수 있습니다. 알러트 페이지에서 다음을 클릭하세요 **상세 정보** 탭을 눌러 룰이 활성 상태였다면 알러트가 어떤 대상 위치로 전송되었을지 확인할 수 있습니다. 이 페이지에는 리플레이의 시작 시간, 종료 시간, 지속 시간도 포함됩니다.

참고: 데이터를 리플레이하는 동안 알러트는 대상 위치로 전송되지 않습니다.

<figure><img src="/files/aefe87e6458125dc5a97c67329ff1f3b9dd2aa93" alt="The alert&#x27;s Details page shows more information, including the destination where you  would expect the alert to be sent."><figcaption></figcaption></figure>


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.panther.com/ko/detections/testing/data-replay.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
