> 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는 이를 닫힌 루프로 완성하도록 설계되었습니다. AI를 사후에 경직된 아키텍처에 덧붙이는 대신, Panther 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 Workflow Examples](https://claude.ai/chat/examples.md).
{% endhint %}

***

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

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

조직 프로필을 다음 용도로 사용하세요:

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

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

***

### 자동 실행 AI 알러트 분류를 전략적으로 사용하세요

[Panther AI는 새 알러트를 자동으로 분류할 수 있습니다](/ko/alerts.md#auto-run-ai-alert-triage) 생성되는 즉시—조사 시간을 크게 줄일 수 있습니다. 그러나 생성형 AI는 강력하지만 많은 컴퓨팅 자원을 사용하는 리소스입니다. 모든 알러트에 자동 실행 분류를 적용하는 것은 AI 실행 횟수를 빠르게 소모할 수 있는 안티패턴입니다. 목표는 실제로 심층 분석 기능이 필요할 때만 AI를 실행하는 것입니다.

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

자동 실행 AI 알러트 분류를 구성하기 전에, AI에 도달하는 저충실도 신호의 양을 줄이세요:

* **Python에서 허용 목록 추가** — 취약점 스캐너, CI/CD 서비스 계정, 정기 자동화(예: `drive-sync@gserviceaccount.com`).
* **조정** [**중복 제거 설정**](/ko/detections/rules.md#deduplication-of-alerts) — Panther의 이벤트 그룹화를 사용하여 단일 시끄러운 소스의 알러트 폭주가 AI 큐를 넘치게 하지 않도록 하세요.

#### 2단계: 디택션 태그로 자동 실행 분류를 제어하세요

신호 품질이 높아지면, 자동 실행 분류가 진정으로 심층 분석의 이점을 얻는 알러트에만 실행되도록 구성하세요. **Settings > AI & Automation > Configuration**, 다음을 지정하세요 [디택션 태그](/ko/alerts.md#delay-auto-run-ai-alert-triage) 자동 실행을 트리거해야 하는

Panther AI는 구성된 태그 중 최소 하나를 포함한 디택션이 발생시킨 알러트만 자동 분류합니다.

시작할 때 권장하는 태그:

| 태그                                    | 사용할 때                                                                                         |
| ------------------------------------- | --------------------------------------------------------------------------------------------- |
| `ai-triage:auto`                      | AI 큐로 라우팅하려는 모든 디택션에 대한 명시적 옵트인 태그                                                            |
| `threat:uba` 또는 `identity-compromise` | 사용자 행동 분석과 identity 알러트는 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 객체 키가 알려진 민감 데이터 패턴과 일치하는지 확인하세요.
>
> 3\. 활동이 사용자의 30일 기준선을 벗어나면, 다음을 확인하세요. `{sourceIP}` 기업 VPN 범위와 일치하는지.
>
> 4\. 만약 `{sourceIP}` 기업 VPN 범위에 없고 `{user_arn}` 지난 30일 동안 이 동작을 수행한 적이 없으면, 진성으로 간주하고 IR 팀에 에스컬레이션하세요.

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

#### 런북 템플릿

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

```
1. [동작] [로그 유형]의 [특정 필드]를 [시간 범위] 내에서.
   예: 알러트 전 24시간 동안 AWS.CloudTrail에서 {user_arn}의 모든 API 호출을 조회합니다.

2. [확인 / 비교 / 검증] [구체적 조건].
   예: 주체가 지난 30일 동안 이 리소스에 액세스했는지 확인합니다.

3. [검색 / 확인] [관련 활동]을 [시간 범위] 내에서.
   예: 지난 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>의 상위 10개 CloudTrail API 호출을 이벤트 수 기준으로 그룹화하여 요약하세요." | "지난 한 달간의 모든 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, and the optional `goal` query parameter:

```
GET https://docs.panther.com/ko/best-practices/panther-ai-best-practices.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.
