> 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/best-practices/panther-ai-best-practices.md).

# Panther AI 모범 사례

## 개요

보안 업계는 사람 규모에서 AI 규모로 전환하고 있으며, Panther AI는 그 과정을 완성하도록 설계되었습니다. Panther AI는 AI를 경직된 아키텍처에 사후적으로 덧붙이는 대신, 트리아지, 조사, 대응 전반에 내장되어 각 단계마다 올바른 조치가 자동으로 이루어지게 합니다.

Panther AI는 알러트를 조사하고 해결하는 데 걸리는 시간을 크게 줄일 수 있지만, 그 효과는 어떻게 구성하고 사용하는지에 달려 있습니다. 이 가이드는 다음에 대한 모범 사례를 다룹니다 [프롬프트 작성](#write-better-prompts-with-the-star-framework), [환경 설정](#configure-your-organizational-profile), [Auto-Triage 구성](#use-auto-triage-strategically), 그리고 [런북 작성](#write-ai-native-runbooks).

***

## 모범 사례

### STAR 프레임워크로 더 나은 프롬프트를 작성하세요

Panther AI는 사용자가 제공한 컨텍스트에 반응합니다. 구조화된 프롬프트는 개방형 프롬프트보다 일관되게 더 나은 결과를 만들어내며, 특히 여러 로그 소스를 조회하거나 특정 출력 형식을 반환해야 하는 복잡한 조사에서 그렇습니다.

Specific, Targeted, Actionable, Relevant(STAR) 프레임워크는 어떤 프롬프트든 구조화하는 데 유용한 방법입니다:

| 문자    | 원칙    | 포함할 내용                                                      |
| ----- | ----- | ----------------------------------------------------------- |
| **S** | 구체적   | 찾거나 수행하려는 정확한 내용                                            |
| **T** | 대상 지정 | 명명된 로그 유형, 필드, 엔터티(예: `AWS.CloudTrail`, `john@example.com`) |
| **A** | 실행 가능 | 원하는 출력(예: "요약", "sourceIP별 집계", "막대 차트로 시각화")               |
| **R** | 관련성   | 시간 범위와 위협 모델링 메모 같은 맥락 정보(예: "지난 24시간 동안")                  |

#### 역할별 예시 프롬프트

**보안 분석가 — 알러트 트리아지**

> <john@example.com>에 대한 불가능한 이동 알러트를 조사 중입니다. 다음을 모두 검색해 사용자의 세션이 탈취되었는지 확인하세요: `ConsoleLogin` 이 사용자의 활동을 `AWS.CloudTrail` 그리고 `Okta.SystemLog` 에서 지난 24시간 동안 검색하세요. 연대기적 타임라인과 BLUF 요약을 제공하세요.

**위협 헌터 — 선제적 검색**

> 공격자의 인프라에 대한 새로운 위협 인텔리전스를 받았습니다. AWS.VPCFlow 로그에서 malicious-domain.com으로의 연결을 검색하여 해당 알려진 도메인으로의 네트워크 연결이 있는지 찾으세요. 결과를 sourceIP별로 그룹화하고 누적 막대 차트로 상위 10개 표적 내부 자산을 시각화하세요.

**디택션 엔지니어 — AWS Console 무차별 대입**

> 무차별 대입 공격에 대한 커버리지를 확대해야 합니다. AWS Console 무차별 대입 시도를 위한 새로운 Panther 디택션을 생성하세요. 이 룰은 5회 초과의 실패한 `ConsoleLogin` 동일한 source IP에서 10분 내에 발생한 이벤트를 기준으로 다음을 사용해 트리거되어야 합니다: `AWS.CloudTrail` 로그를 사용하되, 회사 CIDR 10.0.0.0/8은 제외하세요. 디택션을 Python으로 출력하고 심각도를 HIGH로 설정하세요.

{% hint style="info" %}
추가 프롬프트 예시는 다음에서 확인하세요: [Panther AI 워크플로 예시](https://claude.ai/chat/examples.md).
{% endhint %}

***

### 조직 프로필을 구성하세요

Panther AI는 사용자의 환경을 이해할 때 훨씬 더 유용해집니다.  [**조직 프로필**](/ko/system-configuration.md#configuration) (다음에서 찾을 수 있음 **설정 > AI 및 자동화 > 구성**)는 모든 AI 상호작용에 내장된 지속적 컨텍스트 계층으로 작동하므로, 매번 프롬프트에서 인프라를 다시 설명할 필요가 없습니다.

조직 프로필을 다음과 같이 활용하세요:

* **환경 정의** — 네트워크 토폴로지를 매핑해 Panther AI가 내부와 외부를 구분해 추론할 수 있게 하세요.
  * 예: *"내부 서브넷은 10.0.0.0/8입니다. AWS 계정 123456789012는 운영 환경입니다."*
* **SOP를 내장** — 사고 대응 정책을 직접 반영하세요.
  * 예: *"횡적 이동이 탐지되면, 최종 권고는 반드시 IR 팀에 호출을 보내는 것이어야 합니다."*
* **자산 중요도 분류** — 디택션 심각도와 관계없이 고가치 환경이 적절한 긴급도로 처리되도록 하세요.
  * 예: *"다음과 관련된 모든 알러트는 `prod-payments` 계정은 디택션 심각도와 무관하게 HIGH 우선순위로 처리되어야 합니다."*
* **정상 서비스 계정 정의** — 예상된 자동화로 인한 오탐 노이즈를 줄이세요.
  * 예: *"IAM 역할 `arn:aws:iam::123456789012:role/DataPipelineRole` 은 매일 밤 예약된 S3 동기화를 수행하며, 이는 예상된 동작입니다."*

조직 프로필이 더 구체적일수록 분석가가 개별 프롬프트에 포함해야 할 추가 컨텍스트가 줄어듭니다.

***

### auto-run AI 알러트 트리아지를 전략적으로 사용하세요

[Panther AI는 새 알러트를 자동으로 트리아지할 수 있습니다](/ko/alerts.md#auto-run-ai-alert-triage) 생성되는 즉시 처리해 조사 시간을 크게 줄일 수 있습니다. 그러나 생성형 AI는 강력하지만 연산 비용이 큰 자원입니다. 모든 알러트에 auto-run 트리아지를 실행하는 것은 AI 실행량을 빠르게 소모할 수 있는 안티패턴입니다. 목표는 깊은 분석 능력이 실제로 필요할 때만 AI를 실행하는 것입니다.

#### 1단계: 먼저 디택션을 조정하세요

auto-run AI 알러트 트리아지를 구성하기 전에, AI에 도달하는 저충실도 신호의 양을 줄이세요:

* **Python에서 허용 목록을 추가하세요** — 취약점 스캐너, CI/CD 서비스 계정, 일상적인 자동화 같은 정상 엔터티를 명시적으로 제외하세요(예: `drive-sync@gserviceaccount.com`).
* **조정** [**중복 제거 설정**](/ko/detections/rules.md#deduplication-of-alerts) — Panther의 이벤트 그룹화를 사용해 단일 노이즈 소스에서 발생한 알러트 폭주가 AI 큐를 가득 채우지 않도록 하세요.

#### 2단계: 디택션 태그로 auto-run 트리아지를 제어하세요

신호 품질이 높아지면, 깊은 분석의 실질적인 이점을 얻는 알러트에만 auto-run 트리아지를 실행하도록 구성하세요. In **설정 > AI 및 자동화 > 구성**, 다음을 지정하세요 [디택션 태그](/ko/alerts.md#delay-auto-run-ai-alert-triage) 가 auto-run을 트리거해야 합니다.

Panther AI는 구성된 태그 중 최소 하나를 포함하는 디택션에서 발생한 알러트만 자동 트리아지합니다.

시작할 때 권장되는 태그:

| 태그                                    | 사용 시점                                                                                           |
| ------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `ai-triage:auto`                      | AI 큐로 라우팅하고 싶은 모든 디택션에 대한 명시적 옵트인 태그                                                            |
| `threat:uba` 또는 `identity-compromise` | 사용자 행동 분석과 신원 알러트는 AI에 매우 적합합니다. 에이전트는 30일 기준선을 빠르게 조회하고 Okta 및 AWS 로그 전반의 활동을 교차 참조하는 데 뛰어납니다. |
| `컨텍스트가 많은`                            | 결론에 도달하기 전에 보통 3개 이상의 로그 소스를 거쳐 피벗해야 하는 복잡한 디택션                                                 |

{% hint style="info" %}
Auto-Triage를 구성하는 방법을 다음에서 알아보세요: [알러트 및 대상](/ko/alerts.md).
{% endhint %}

***

### AI 네이티브 런북 작성

[Panther AI가 알러트를 트리아지할 때](/ko/alerts/alert-runbooks.md#how-panther-ai-uses-an-alert-runbook)연결된 디택션 런북을 읽고 해당 단계를 자율적으로 실행합니다. 과거의 런북은 사람 분석가를 위해 작성되어 AI가 활용하기에 충분하지 않은 모호한 지침으로 가득했습니다. Panther AI가 의미 있는 조사를 수행하려면 런북은 명시적이고, 순차적이며, 기계가 읽을 수 있어야 합니다.

#### 런북 지침 가이드

| ✅ 포함                                      | ❌ 피하기                         |
| ----------------------------------------- | ----------------------------- |
| 조회할 구체적인 로그 유형                            | "알러트 이벤트를 검토하라" 같은 모호한 지침     |
| 명명된 알러트 필드(예: `{user_arn}`, `{sourceIP}`) | "유사한 알러트를 확인하라" 같은 일반적인 지침    |
| 정의된 시간 창(예: "알러트 전후 6시간")                 | "더 조사하라" 같은 모호한 표현            |
| 정상 값과 기준 패턴                               | 구체적인 쿼리로 옮길 수 없는 지침           |
| 참/거짓 양성 판정 기준                             | 기준을 정의하지 않은 채 사람의 판단을 전제하는 단계 |

#### 예시

**❌ 모호한 런북(사람을 위해 작성됨)**

> 관련 사용자 활동을 검색하세요. 사용자가 이상한 행동을 했는지 확인하세요. 조사 결과를 문서화하세요.

Panther AI는 이를 실행할 수 없습니다. 조회할 로그 테이블도, 시간 창도, "이상한"의 정의도 없습니다.

**✅ AI 네이티브 런북**

> 1\. 조회 `AWS.CloudTrail` 모든 API 호출을 다음에 대해 `{user_arn}` 이 알러트 전후 6시간 동안
>
> 2\. 액세스된 S3 object key가 알려진 민감 데이터 패턴과 일치하는지 확인하세요.
>
> 3\. 활동이 사용자의 30일 기준선을 벗어나면, 다음을 확인하세요: `{sourceIP}` 기업 VPN 범위와 일치하는지.
>
> 4\. 만약 `{sourceIP}` 가 기업 VPN 범위에 없고 `{user_arn}` 지난 30일 동안 이 작업을 수행하지 않았다면, 참 양성으로 간주하고 IR 팀에 에스컬레이션하세요.

이는 로그 소스를 명시하고, 실제 알러트 필드를 참조하며, 시간 창을 정의하고, 분류를 위한 명확한 기준을 AI에 제공하고, 참/거짓 양성 판정을 마무리하기 때문입니다.

#### 런북 템플릿

런북을 처음 작성할 때는 이 구조를 사용하세요:

```
1. [Action] [specific field]를 [log type]에서 [time window] 내에 수행합니다.
   예: 알러트 전 24시간 동안 AWS.CloudTrail에서 {user_arn}의 모든 API 호출을 조회합니다.

2. [Check / Compare / Verify] [specific condition]을 확인합니다.
   예: 주체가 지난 30일 동안 이 리소스에 액세스했는지 확인합니다.

3. [Search / Look for] [related activity]를 [time window] 내에서 검색합니다.
   예: 지난 7일 동안 이 사용자로부터 발생한 다른 알러트나 비정상 활동이 있는지 확인합니다.
```

## Panther AI 데이터레이크 쿼리 제한

Panther AI는 강력하지만, 엄격한 아키텍처 제약 아래에서 작동합니다. 이러한 한계를 이해하면 더 나은 런북을 작성하고, 기대치를 조정하며, 시스템에 맞게 작동하는 조사를 설계하는 데 도움이 됩니다.

{% hint style="warning" %}
Panther AI는 넓은 시간 범위나 데이터 소스를 조사하라는 요청을 받았을 때 "모든" 데이터를 조회하지 않습니다. 모든 쿼리에는 결과의 완전성에 영향을 미치는 엄격한 제한이 적용됩니다.
{% endhint %}

| 제한                                        | 세부 사항                                                                                                                                                                            | 조사 전략                                                                                                                                             |
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| **쿼리 결과는 100 KB로 제한됩니다**                  | 각 쿼리 결과 집합은 약 100 KB로 상한이 설정됩니다. 대규모 환경에서는 실제 활동의 일부만 나타낼 수 있습니다. 이는 LLM 컨텍스트 창이 과부하되지 않도록 하는 안전 제한입니다.                                                                          | 집계 쿼리를 사용하세요(예: `GROUP BY`, `COUNT`)를 사용해 크기 제한 내에서 수백만 건의 이벤트를 요약하세요. 원시 이벤트를 가져오기 전에 특정 IP나 사용자로 범위를 좁히세요. 필요한 열만 선택하세요 — 다음은 피하세요: `SELECT *`. |
| **쿼리에는 시간 필터가 필요합니다**                     | Panther AI는 시간 필터를 포함하지 않는 쿼리를 거부합니다. Panther의 데이터레이크는 이벤트 시간 기준으로 파티션되어 있으며, 범위가 제한되지 않은 쿼리는 전체 테이블을 스캔하게 됩니다. 시간 필터가 있더라도, 대용량 소스에서 너무 넓은 범위(예: "지난 1년")는 불완전한 결과를 반환할 수 있습니다. | 24시간 창으로 시작하고, 필요할 때만 범위를 넓히세요. 기준선 설정은 모든 이벤트를 가져오기보다 특정 엔터티(사용자, IP, 리소스)에 기준을 두세요.                                                             |
| **최근 이벤트는 수집 지연으로 인해 아직 조회할 수 없을 수 있습니다** | 진행 중인 사고 동안 지난 몇 초에서 몇 분 사이의 이벤트가 쿼리 결과에 없을 수 있습니다.                                                                                                                              | 진행 중인 사고의 경우, 가장 최근 이벤트는 Panther 콘솔의 실시간 알러트 보기를 사용하세요. 초기 이벤트가 수집되면 과거 상관관계를 위해 Panther AI로 전환하세요.                                               |

### 대용량 조사에 효과적인 프롬프트를 작성하세요

대용량 데이터 소스를 조사할 때는 프롬프트를 어떻게 구성하느냐에 따라 유용한 요약을 얻을지 쿼리 제한에 걸릴지가 결정됩니다. Panther AI의 쿼리 제약 내에서 의미 있는 결과를 얻으려면 집계와 필터를 사용하세요.

| ✅ 좋은 프롬프트                                                                        | ❌ 나쁜 프롬프트                           | 이유                                                                                                           |
| -------------------------------------------------------------------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| "지난 7일 동안 사용자 <jane@example.com>의 CloudTrail API 호출 상위 10개를 이벤트 수별로 그룹화해 요약하세요." | "지난 한 달간의 모든 CloudTrail 로그를 보여주세요." | 엔터티 필터(특정 사용자), 집계(`GROUP BY`, `COUNT`), 결과 제한, 명명된 로그 **소스** 를 결합하면 전체 테이블 스캔을 방지하고 결과를 실행 가능하게 유지할 수 있습니다. |
| "지난 24시간 동안 source IP별로 실패한 ConsoleLogin 이벤트 수를 집계하세요."                          | "모든 실패한 로그인 시도를 보여주세요."             | 특정 이벤트 유형, 집계, 그리고 짧은 시간 창(24시간)은 범위가 제한되지 않은 스캔 없이 위협 헌팅을 수행하는 데 가장 강력한 패턴입니다.                              |
| "지난 7일 동안 IP 1.2.3.4의 Cloudflare 활동을 보여주세요."                                     | "의심스러운 Cloudflare 활동을 찾아주세요."       | 명명된 지표(IP 주소)에 제한된 시간 창과 명시적인 로그 소스를 결합한 형태가 지표 기반 조사에 이상적입니다.                                               |


---

# 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/best-practices/panther-ai-best-practices.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.
