CrowdStrike Falcon
Falcon Fusion Skills
Version
CI
CrowdStrike Falcon Fusion 워크플로우를 구축하기 위한 AI 코딩 어시스턴트 스킬입니다. 자연어 프롬프트에서 작동하는 Fusion 워크플로우로 이동할 수 있습니다. 라이브 API에서 실제 액션 ID를 발견하고, YAML을 작성하며, 플랫폼 스키마와 검증하고, CID로 가져오고, 실행을 트리거 및 모니터링합니다.
fusion-skills는 CrowdStrike 제품이 아닌 커뮤니티 주도형 오픈 소스 프로젝트입니다. 따라서 공식적인 지원은 명시적이거나 암묵적으로 제공되지 않습니다.
시작하기 (Getting Started)
필수 조건 (Prerequisites)
- Workflow API 스코프가 포함된 CrowdStrike 계정 (lookup-files 스킬의 경우 NGSIEM Lookup Files 필요)
- AI 코딩 어시스턴트: Claude Code, Codex, Copilot CLI, Cursor, Antigravity CLI 또는 로컬 참조 문서를 읽을 수 있는 모든 도구
- 스킬 라우팅 후크를 위한 jq (없으면 후크가 작동하지 않습니다)
설치 (Install)
| 어시스턴트 | 명령어 | 마켓플레이스 |
|---|
| Claude Code | /plugin install crowdstrike-falcon-fusion | Anthropic |
| ... | | |
[!NOTE]
Codex는 로그인 방식에 따라 두 가지 설치 경로가 있습니다. 위의 명령어는 선별된 CLI 마켓플레이스에서 설치하며, 이는 API 키 및 Amazon Bedrock 세션에 로드됩니다. 만약 Codex를 ChatGPT 계정으로 인증했다면 해당 마켓플레이스는 로드되지 않으므로, 대신 Codex 내부에서 /plugins를 실행하고 crowdstrike를 검색한 후 결과에서 설치하십시오.
실제 테넌트 환경(live-tenant run)에서는 다섯 가지 어시스턴트(Claude Code, Codex, Copilot CLI, Cursor, Antigravity CLI)가 각각 아래 예시 프롬프트로부터 유효한 워크플로우를 작성하고 해당 테넌트에 가져왔습니다.
이 스킬들은 [Agent Plugins] 형식을 따르며, 루트 plugin.json과 코덱스(Codex)용 .codex-plugin/plugin.json을 포함하여 클로드(Claude)가 아닌 어시스턴트도 이를 발견할 수 있게 합니다. 전체 워크스루는 [블로그 게시물]을 참조하십시오.
<details>
<summary><strong id="install-local">로컬 클론으로 설치하기</strong> (개발 또는 브랜치 테스트용)</summary>
git clone https://github.com/CrowdStrike/fusion-skills.git
| 어시스턴트 | 명령어 |
|---|
| Claude Code | claude --plugin-dir /path/to/fusion-skills |
| ... | |
Codex는 --plugin-dir 옵션이 없으므로, 스킬은 ~/.agents/skills/에서 발견합니다. 이 디렉터리에는 스킬당 하나의 심볼릭 링크(symlink)가 있습니다 (Copilot CLI 및 Cursor도 이 디렉터리를 사용할 수 있음): | |
mkdir -p ~/.agents/skills
for skill in /path/to/fusion-skills/skills/*; do
ln -s "$skill" ~/.agents/skills/
...
~/.agents/skills/는 평평하고 공유되는 네임스페이스(namespace)입니다. fusion-skills의 스킬 이름은 foundry-skills와 중복되지 않으므로, 둘 다 함께 심볼릭 링크할 수 있습니다. 마켓플레이스나 --plugin-dir 설치를 사용하면 스킬이 crowdstrike-falcon-fusion:<skill>로 네임스페이스되어 이 문제를 완전히 우회합니다. 심볼릭 링크 후 어시스턴트를 재시작하십시오. 일부는 첫 실행 시 인증을 요청할 수 있습니다.
</details>
자격 증명 (Credentials)
이 스킬들은 Falcon API 클라이언트에 대해 인증합니다. 콘솔에서 지원 및 리소스(Support and resources) > 클라이언트 관리(Client Management) > **API 클라이언트 생성(Create API client)**으로 이동하여, 워크플로우(Workflow) 범위(읽기 및 쓰기)를 부여하고, lookup-files 스킬의 경우 NGSIEM Lookup Files (읽기 및 쓰기)도 함께 부여하십시오. 생성 시 한 번 표시되는 클라이언트 ID와 비밀번호를 복사한 후, 아래에서 구성하십시오.
자격 증명은 한 번만 구성합니다. 대화형 설정 스킬을 실행하면 ~/.cache/crowdstrike-falcon-fusion/credentials.toml에 프로필이 작성됩니다:
/crowdstrike-falcon-fusion:setup
CI 환경 또는 일회성 오버라이드(override)의 경우, 대신 환경 변수를 설정하십시오:
export FALCON_CLIENT_ID=your_client_id_here
export FALCON_CLIENT_SECRET=your_client_secret_here
US-1, US-2, 및 EU-1의 경우 선택 사항입니다 (FalconPy가 리전을 자동으로 감지합니다). US-3 또는 GovCloud와 같은 다른 클라우드의 경우 설정하세요:
...
자격 증명(Credentials)은 환경 변수(environment variables) (우선 확인됨) 또는 TOML 프로필에서 가져오며, 절대 하드코딩되지 않습니다. 두 소스 모두 클라이언트 ID나 시크릿 대신 1Password 비밀 참조(op://<vault>/<item>/<field>)를 포함할 수 있으며, 이 경우 auth.py가 1Password CLI를 사용하여 읽어 비밀이 디스크에 남지 않도록 합니다. TLS 트래픽을 재서명하는 네트워크에서는 프로필의 ca_bundle을 조직의 CA 번들로 설정해야 합니다. 둘 다 스킬 설정(setup skill)에서 확인할 수 있습니다. 설정을 확인하려면 다음 명령어를 사용하세요:
python common/scripts/auth.py
이 스킬들은 일반적인 마크다운 파일(plain markdown files)입니다. 로컬 파일을 읽을 수 있는 모든 AI 코딩 어시스턴트가 사용할 수 있습니다. 전체 개발 가이드는 AGENTS.md를 참조하거나, 도구를 skills/ 디렉터리에 지정하고 workflows/SKILL.md로 시작점을 설정할 수 있습니다.
사용법 (Usage)
예시 프롬프트 (Example prompt)
이 프롬프트는 전체 라이프사이클을 연습합니다: 액션 검색(action discovery), 이벤트 쿼리(event queries), 병렬 HTTP 액션 강화(parallel HTTP Action enrichment), LLM 완료 액션(LLM completion action), 그리고 검증(validation)입니다:
Falcon Next-Gen SIEM 탐지에서 트리거되는 Falcon Fusion 워크플로우를 생성하세요. 이 워크플로우는 이벤트 쿼리를 사용하여 탐지의 전체 세부 정보를 가져옴으로써 해당 탐지를 활성화(hydrate)해야 합니다. 사용자, 호스트, 도메인, URL, 파일 인디케이터 또는 IP 인디케이터가 발견되면, VirusTotal 또는 DomainTools에 HTTP 호출을 사용하여 각각 병렬로 강화하세요. 모든 위협 인텔리전스 제공업체 전반의 강화를 LLM 완료 액션을 사용하여 요약하고, 그 후 HTML 형식으로 작성된 이메일을 보내세요.
원하는 바를 일반 언어로 설명하세요. 스킬 이름을 지정할 필요가 없습니다. 오케스트레이터(orchestrator)가 적절한 것을 선택합니다.
스킬 라우팅 작동 방식 (How skill routing works)
Claude Code, Codex, Copilot CLI, Cursor에서 리포지토리 기반으로 설치된 경우, 올바른 스킬이 사용되도록 보장하는 후크(hooks)가 포함되어 있습니다. Codex는 실행되기 전에 /hooks를 통해 번들된 후크를 검토하고 신뢰해야 합니다. Cursor는 이들을 .cursor-plugin/plugin.json에서 로드합니다:
-
UserPromptSubmit 후크 — "fusion workflow", "build a playbook", "deploy to CID"와 같은 Fusion 구문이나, Fusion 명사구에 결합된 동작 동사(예: "automate crowdstrike actions")와 일치하는 경우 작동합니다. 매칭되면 workflows 오케스트레이터 스킬 방향으로 비차단 권고 안내를 주입합니다.
-
PreToolUse 후크 — Fusion 의도가 활성화된 동안, Fusion 워크플로우 스킬을 사용하도록 비차단 알림을 주입합니다. 모든 도구는 계속 사용할 수 있으며, 아무것도 차단되지 않습니다.
-
PreToolUse 후크 (크로스 플러그인 브릿지) — 권고 안내만 제공됩니다. 요청이 Foundry 앱(UI, 함수, 컬렉션, manifest.yml)을 필요로 하는 경우, 형제 플러그인 crowdstrike-falcon-foundry를 제안합니다. 이 스킬은 절대 사용을 차단하지 않습니다.
workflows 오케스트레이터는 진입점입니다. 사용자가 원하는 것을 말하면, 이는 authoring(액션 검색 및 YAML 작성/검증), deployment(CID로 가져오기 및 출시), 그리고 execution(트리거 및 모니터링)으로 라우팅됩니다. 후크는 프롬프트와 도구 I/O를 관찰하여 Fusion 액션을 키워드 일치시키며, 데이터가 세션 외부로 나가지 않도록 합니다.
스킬 심링크(skill symlinks)를 사용하여 로컬 Codex를 설치했거나 번들된 후크를 로드하지 않는 다른 어시스턴트의 경우, 스킬 설명에서 라우팅됩니다.
Skills
하나의 플러그인이 여섯 개의 스킬을 제공합니다: 오케스트레이터 1개, 집중형 하위 스킬 4개, 그리고 Foundry 앱 리디렉션 1개입니다.
| Skill | Purpose |
|---|
workflows | 주요 오케스트레이터 — 의도를 라우팅하고 전체 워크플로우 수명 주기를 조정합니다. |
| ... | |
Architecture
이 스킬들은 허브 앤 스포크(hub-and-spoke) 패턴을 따릅니다. workflows는 사용자의 의도를 구문 분석하고 각 단계를 하위 스킬에 위임하는 오케스트레이터이며, 자체적으로 YAML을 작성하거나 API를 호출하지 않습니다. 하위 스킬들은 common/scripts/auth.py를 통해 API 인증 정보를 공유합니다.
graph TD
O["workflows<br/>(Orchestrator)"]
...
일반적인 생명 주기(lifecycle)는 다음과 같습니다: authoring이 검증된 YAML 파일을 생성하고 → deployment가 이를 가져와 definition_id를 반환하며 → execution이 이를 트리거하여 execution_id를 반환합니다. 각 단계는 이전 단계의 출력에 의존합니다.
skills/
workflows/ 오케스트레이터 — 결정 트리, 생명 주기 조정
authoring/ 액션 검색, YAML 작성, 검증
...
빠른 시작(Quick Start)
워크플로우는 아이디어 구상부터 실행까지 5단계로 진행됩니다. 오케스트레이터가 이 단계를 조정하며, 그 흐름은 다음과 같습니다:
- 액션 검색(Discover actions) — 라이브 카탈로그에서 실제 액션 ID를 찾습니다:
python skills/authoring/scripts/action_search.py --search "contain"
2. **YAML 작성(Author the YAML)** — 트리거와 액션을 포함하고, 각 액션에 `version_constraint`를 지정하여 워크플로우를 작성합니다. 플레이스홀더 ID는 절대 사용하지 마십시오.
3. **검증(Validate)** — Charlotte JSON 스키마에 따라 구조를 확인합니다:
```bash
python skills/authoring/scripts/validate.py my-workflow.yml
- 배포(Deploy) — 중복 여부를 확인한 후, CID에 가져와 배포합니다:
python skills/deployment/scripts/query_workflows.py --search "My Workflow"
python skills/deployment/scripts/import_workflows.py my-workflow.yml
python skills/deployment/scripts/release_workflow.py --id <definition_id>
...
5. **실행(Execute)** — 트리거하고 모니터링합니다:
```bash
python skills/execution/scripts/trigger_workflow.py --id <definition_id> --params '{"device_id":"..."}'
python skills/execution/scripts/monitor_execution.py --execution-id <execution_id>
사용 사례(Use Cases)
use-cases/ 디렉토리에는 패턴 매칭이 가능한 워크플로우 시나리오가 포함되어 있습니다. 일부는 CrowdStrike Tech Hub 블로그 게시물에서 가져왔으며, 다른 일부는 번들된 예제 워크플로우와 커뮤니티 "Workflow Wednesday" 시리즈에 직접 기반을 두고 있습니다. 각 시나리오는 필요한 서브 스킬(sub-skills)을 명시하고 출처를 인용합니다.
번들된 예제 워크플로우 기반:
플랫폼 패턴:
추천 보조 도구: Superpowers
이러한 스킬들은 구조화된 계획(structured planning), TDD 규율, 디버깅 및 코드 리뷰 워크플로우를 추가하는 obra/superpowers와 잘 조합됩니다. Fusion 스킬은 Fusion 관련 액션 발견, 스키마 및 플랫폼 지식을 처리하는 반면, superpowers는 일반적인 소프트웨어 엔지니어링 모범 사례(best practices)를 제공합니다.
일부 플러그인과 달리, fusion-skills는 superpowers:brainstorming을 차단하거나 리디렉션하지 않습니다. 이의 크로스 플러그인 훅은 자문용(advisory)으로만 작동합니다. 따라서 superpowers를 자유롭게 함께 사용하십시오.
문제 해결 (Troubleshooting)
스킬이 호출되지 않음 (Skills not invoked)
어시스턴트가 Fusion 스킬을 자동으로 사용하지 않는 경우, 명확한 Fusion 명사(noun)와 행동 동사(action verb)를 사용하여 프롬프트를 작성하십시오(예: "fusion 워크플로우 생성", "...하는 플레이북 구축"). 또한 언제든지 "fusion 워크플로우 스킬 사용"이라고 말하여 리디렉션할 수 있습니다.
인증 실패 (Authentication failures)