지난주 사내 보안팀에서 "CVE 조회 좀 해 줘"라는 슬랙이 매일 세 번씩 날아왔다. Claude Code에 즉석으로 프롬프트를 박아 처리하다가, GitHub에서 mukul975/Anthropic-Cybersecurity-Skills를 발견하고 한숨 돌렸다. 사이버보안 스킬들이 ATT&CK·NIST CSF 2.0·D3FEND·MITRE ATLAS·NIST AI RMF 다섯 프레임워크에 매핑된 채 Apache 2.0으로 풀려 있다.
"전부 깔라는 건가?"라는 의문이 먼저 들었다. 결론부터 말하면 아니다. 이 글은 단순 소개가 아니라 다수의 보안 스킬 중 실무에서 진짜 쓸 10개만 골라 Claude Code에 끼우는 큐레이션 가이드다. 5/17에 다룬 "Anthropic Skills 직접 빌드"의 후속편이라, 이번엔 빌드가 아니라 도입·검토 관점에서 본다.
📌 핵심 3줄 요약
- 전체 스킬 일괄 설치는 함정이다. 도메인별로 10개만 골라 끼우는 게 정답이다.
- 설치는
npx skills add mukul975/Anthropic-Cybersecurity-Skills한 줄이면 시작된다. 다만 폴더에서 필요한 스킬만 뽑아~/.claude/skills/로 옮기는 큐레이션 단계가 핵심이다. - 커뮤니티 스킬은
SKILL.md의 메타데이터·워크플로 섹션·외부 호출 패턴을 직접 검토한 뒤 도입해야 안전하다.
1. 레포 구조와 26개 도메인·5개 프레임워크 매핑
먼저 레포가 어떻게 생겼는지 짧게 본다. 루트에는 skills/·mappings/·tools/·assets/·.claude-plugin/·.github/·README.md·SECURITY.md·LICENSE·CITATION.cff·index.json이 있다. 흔히 오해하는 부분 한 가지. skills/는 도메인별 하위 폴더로 갈라지지 않고 평탄(flat) 구조로 모든 스킬이 같은 레벨에 놓여 있다.
예컨대 skills/auditing-aws-s3-bucket-permissions/, skills/analyzing-memory-dumps-with-volatility/처럼 동사구 kebab-case 폴더가 줄지어 있다. 26개 도메인은 README가 가독성을 위해 정리한 논리적 분류이며, 실제 파일 시스템 분류가 아니다. 스킬과 도메인·프레임워크의 매핑 정보는 별도로 mappings/ 디렉터리가 보관한다.
각 스킬 폴더 하위는 보통 다음과 같다. SKILL.md(메인 지침) + references/standards.md·references/workflows.md(상세 표준·운영 절차) + scripts/(보조 스크립트) + assets/(이미지·샘플 데이터). Claude Code는 사용자 프롬프트를 분석해 어느 스킬을 호출할지 판단할 때 SKILL.md 프런트매터 메타데이터를 본다.
프런트매터에 실제로 들어가는 필드는 name·description·domain·subdomain·tags·atlas_techniques·d3fend_techniques·nist_ai_rmf·nist_csf·version·author·license다. 본문 섹션은 When to Use / Prerequisites / Workflow / Verification 네 단락으로 정형화돼 있다. 다섯 프레임워크 ID가 헤더에 명시되니, 컴플라이언스 매핑이 강제되는 금융·공공 환경에서 활용 가치가 크다.
| 프레임워크 | 매핑되는 정보 | 활용 시점 |
|---|---|---|
| MITRE ATT&CK | 공격 기법 ID(TXXXX) | 레드팀·탐지 룰 매칭 |
| NIST CSF 2.0 | Govern·Identify·Protect·Detect·Respond·Recover | 컴플라이언스 보고서 |
| MITRE D3FEND | 방어 기법(DXXXX) | 대응 플레이북 작성 |
| MITRE ATLAS | AI/ML 공격 카테고리 | LLM·모델 보안 검토 |
| NIST AI RMF | AI 위험 관리 함수 | AI 거버넌스 회의 자료 |
2. agentskills.io 표준 기준 설치 한 줄, 그다음이 진짜 시작
이 레포는 agentskills.io 표준을 따른다. README는 "agentskills.io standard · Works with Claude Code, GitHub Copilot, OpenAI Codex CLI, Cursor, Gemini CLI & 20+ platforms"라고 명시한다. agentskills.io는 Anthropic Skills 디렉터리 규약을 일반화한 오픈 표준이고, 프런트매터는 약 30토큰, 본문은 500~2,000토큰 범위의 progressive disclosure를 권장한다.
설치 명령은 README에 두 가지가 있다.
# Option 1 (권장) — npx로 한 줄 설치
npx skills add mukul975/Anthropic-Cybersecurity-Skills
# Option 2 — git clone 후 직접 큐레이션
git clone https://github.com/mukul975/Anthropic-Cybersecurity-Skills.git
cd Anthropic-Cybersecurity-Skills
Option 1을 권장하는 이유는 단순하다. Claude Code가 인식하는 표준 경로(~/.claude/skills/)에 자동으로 배치돼 별도 복사 작업이 필요 없다. 다만 한 번 설치하면 평탄 구조 그대로 모든 스킬이 따라 들어오므로, 큐레이션은 설치 직후의 별도 단계로 봐야 한다.
Option 2는 보안 검토를 먼저 한 뒤 필요한 스킬만 골라 옮기는 시나리오에 어울린다. 클론한 레포에서 원하는 스킬 폴더를 ~/.claude/skills/로 직접 복사하면 된다. 폴더명이 곧 스킬 이름이므로 디렉터리 단위로 다루면 된다.
# clone 후 필요한 스킬만 골라 복사
mkdir -p ~/.claude/skills
cp -r skills/auditing-aws-s3-bucket-permissions ~/.claude/skills/
cp -r skills/building-detection-rules-with-sigma ~/.claude/skills/
# Claude Code 재시작 후 슬래시 커맨드로 로딩 확인
claude
프로젝트 단위로만 쓰고 싶다면 레포 루트 .claude/skills/에 두면 된다. 팀 공유는 이 폴더를 Git에 커밋해 동일한 큐레이션 세트를 강제하는 방식이 깔끔하다.
GitHub Copilot·OpenAI Codex CLI·Cursor·Gemini CLI에서도 호환된다고 README는 명시하지만, 각 도구가 스킬을 어떤 디렉터리에서 읽는지, 어떤 슬래시 커맨드로 호출하는지는 도구마다 다르다. 공식 문서를 한 번 확인한 뒤 도입하길 권한다. 한 번 큐레이션한 스킬 폴더를 별도 위치에 두고 각 도구의 표준 경로로 심볼릭 링크를 거는 방식이 운영 부담을 줄여 준다.
3. 실무에서 진짜 쓰는 보안 스킬 10선
전체 스킬 폴더를 훑은 뒤 도메인 균형을 맞춰 10개를 골랐다. 폴더명이 그대로 스킬 이름이며, 동사구 형태라 무엇을 하는 스킬인지 한눈에 들어온다.
| # | 스킬 폴더명 | 한 줄 설명 | 도메인 |
|---|---|---|---|
| 1 | auditing-aws-s3-bucket-permissions | AWS S3 버킷 권한 설정을 감사 | 클라우드 |
| 2 | analyzing-kubernetes-audit-logs | 쿠버네티스 audit 로그를 분석 | 클라우드 |
| 3 | analyzing-email-headers-for-phishing-investigation | 피싱 조사를 위해 이메일 헤더를 분석 | 피싱·이메일 |
| 4 | building-detection-rules-with-sigma | Sigma 룰로 탐지 규칙을 작성 | 탐지·SIEM |
| 5 | analyzing-powershell-script-block-logging | PowerShell Script Block 로그를 분석 | 엔드포인트 로그 |
| 6 | analyzing-dns-logs-for-exfiltration | DNS 로그에서 데이터 유출 징후를 분석 | 네트워크 |
| 7 | analyzing-memory-dumps-with-volatility | Volatility로 메모리 덤프를 분석 | 디지털 포렌식 |
| 8 | building-incident-response-playbook | 인시던트 대응 플레이북을 작성 | 대응·운영 |
| 9 | analyzing-threat-actor-ttps-with-mitre-attack | MITRE ATT&CK 기반 위협 행위자 TTP를 분석 | CTI |
| 10 | analyzing-cobalt-strike-beacon-configuration | Cobalt Strike Beacon 설정을 분석 | 말웨어 리버싱 |
가장 자주 호출한 건 auditing-aws-s3-bucket-permissions와 analyzing-email-headers-for-phishing-investigation 두 개다. 전자는 신규 버킷 생성 PR이 올라올 때마다 정책 JSON을 받아 공개 노출·과도한 권한 여부를 표로 정리해 준다. 후자는 보안팀 신고함에 들어온 EML 헤더를 받아 SPF·DKIM·DMARC 결과와 의심 링크를 한 화면에 묶어 준다.
4. 안전한 큐레이션 체크리스트 (코드 검토 포인트)
"커뮤니티 스킬을 그냥 깔지 말라"는 말의 실체가 여기 있다. 스킬은 자연어 지침처럼 보이지만, 실제로는 LLM이 호출할 워크플로·외부 표준·보조 스크립트를 정의한다. 잘못 도입하면 사용자의 인증 토큰으로 외부 서버에 데이터를 흘릴 수도 있다. 아래 7대 체크포인트를 SKILL.md·references·scripts 전부에 적용한다.
💡 큐레이션 7대 체크포인트
- 프런트매터 필드 확인 —
name·description·domain·tags·atlas_techniques·d3fend_techniques·nist_ai_rmf·nist_csf·version·author·license가 채워져 있는지.- Workflow 섹션 — 본문 Workflow가 호출하는 명령·스크립트(
scripts/하위)를 한 줄씩 읽어 셸 권한·파일 접근 범위를 확인.- 외부 엔드포인트 — references가 인용하는 URL을 화이트리스트와 비교.
nvd.nist.gov·attack.mitre.org같은 공식 출처면 OK, 사설 도메인은 의심.- 인증 정보 처리 — API 키를 환경 변수에서 읽는지, 평문 로깅하지 않는지 scripts 코드를 검토.
- 파일 쓰기 범위 — 스크립트가
/etc나~/.ssh같은 민감 경로를 건드리지 않는지.- 버전 고정 — 스킬 폴더를 latest가 아니라 특정 커밋 해시 기준 zip으로 받고, 업데이트 시 diff 확인.
- 샌드박스 격리 — 의심스러운 스킬은 Devcontainer·VM에서 먼저 실행해 행동 관찰 후 본 환경 도입.
특히 Workflow 섹션은 무심코 넘기기 쉽다. 본문에 "다음 명령을 실행해 결과를 비교한다" 식의 자연어 지시가 들어 있으면, LLM이 같은 명령을 실제로 호출할 가능성을 항상 의심해야 한다. SKILL.md 본문과 references/workflows.md까지 함께 읽고 도입 여부를 결정하자.
5. 사내 보안 워크플로에 끼워 넣는 실전 예시
가장 임팩트가 컸던 한 가지 사례만 본다. PR이 올라올 때 자동으로 3개 스킬을 묶어 보안 리뷰 코멘트를 생성하는 흐름이다. GitHub Actions 안에서 Claude Code를 비대화형(-p) 모드로 돌린다.
# .github/workflows/sec-review.yml
name: Security Review by Claude Skills
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install curated skills
run: |
mkdir -p ~/.claude/skills
# 사전에 보안팀이 큐레이션해 둔 3개 스킬만 복사
cp -r .security/skills/auditing-aws-s3-bucket-permissions ~/.claude/skills/
cp -r .security/skills/building-detection-rules-with-sigma ~/.claude/skills/
cp -r .security/skills/analyzing-dns-logs-for-exfiltration ~/.claude/skills/
- name: Run Claude Code review
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude -p "이번 PR diff를 위 3개 보안 스킬 관점에서 검토해 \
위험도 표와 관련 ATT&CK 기법 ID를 함께 보고하라" \
> review.md
- name: Comment on PR
uses: marocchino/sticky-pull-request-comment@v2
with:
path: review.md
핵심은 두 가지다. 첫째, 큐레이션된 3개 스킬만 ~/.claude/skills/에 사전 복사해 Claude Code의 자동 디스커버리 범위를 좁힌다. 둘째, GitHub Actions가 검토할 스킬 폴더를 레포 안 .security/skills/에 두어, 누군가 스킬을 추가하면 보안팀이 PR로 검토할 수 있게 만든다. 동일한 스킬 세트가 로컬 Claude Code에서도 작동하니 개발자가 푸시 전에 같은 검토를 미리 돌릴 수 있다.
주의할 점 하나. 위 워크플로는 의도적으로 3개만 사전 복사한다. 폴더 통째로 모든 스킬을 노출하면 Claude Code가 어떤 스킬을 부를지 예측이 어려워지고 토큰 비용도 폭증한다. 작게 시작해 PR 노이즈를 보며 1주 단위로 늘려 가는 운영이 안정적이다.
⚠️ 단점과 주의할 점
- 품질 편차 — 모든 스킬이 동일 수준은 아니다. 별점·이슈 수보다 SKILL.md와 references 코드를 직접 봐야 한다.
- 자동 워크플로의 위험 — 본문 Workflow가 자연어로 적힌 명령을 LLM이 그대로 실행할 수 있다. 셸 접근이 있는 환경에서는 작은 프롬프트 변화로도 의외의 명령이 돌 수 있다.
- 라이선스·정책 변화 — Apache 2.0이지만 향후 커뮤니티 운영 방침이 바뀔 수 있어 SBOM·인용 추적 필요.
- 도구별 경로 불확실성 — Codex CLI·Cursor의 정확한 스킬 디렉터리 규칙은 도구 공식 문서로 한 번 더 확인할 것.
- 한국어 자료 부족 — 공식 README·이슈 토론은 영어 위주, 사내 공유 시 번역·요약 부담.
🚀 지금 바로 할 일
- 위 표의 10개 스킬 중 자신의 도메인과 가장 가까운 3개 폴더명을 메모해 둔다.
npx skills add mukul975/Anthropic-Cybersecurity-Skills로 설치하거나git clone후 3개만~/.claude/skills/에 복사한다.- 큐레이션 7대 체크포인트로 각 SKILL.md·references·scripts를 검토한 뒤, 안정되면 GitHub Actions 워크플로로 끌어올린다.
💬 의견
사내에 도입한 보안 스킬 중 가장 효과가 컸던 1개를 댓글로 알려 주면 다음 글에서 ATT&CK 매핑 기반 자동 인시던트 트리아지 워크플로를 다루겠다.
참고 자료
- 레포: https://github.com/mukul975/Anthropic-Cybersecurity-Skills
- Anthropic Skills 공식: https://www.anthropic.com/news/skills
- agentskills.io 표준: https://agentskills.io/
- MITRE ATT&CK: https://attack.mitre.org/
- NIST CSF 2.0: https://www.nist.gov/cyberframework
- MITRE D3FEND: https://d3fend.mitre.org/
작성자: AI/기술 블로그 운영자
'AI 튜토리얼' 카테고리의 다른 글
| Atlassian MCP 서버 완벽 가이드: Jira·Confluence를 Claude에 연결 (2026) (0) | 2026.05.30 |
|---|---|
| pydantic-ai 완벽 가이드: 타입 안전 Python AI 에이전트 (2026) (0) | 2026.05.24 |
| Karpathy autoresearch 입문: AI 에이전트가 nanochat을 굴린다 (2026) (0) | 2026.05.23 |
| CLI-Anything 입문: GUI 앱을 에이전트 CLI로 자동 래핑 (2026) (0) | 2026.05.23 |
| 파이썬 3.15 숨겨진 변경점 7가지 한눈에 (0) | 2026.05.21 |