security-pipeline
security-pipeline is a Claude Code skill that automatically validates code changes against CWE Top 25 vulnerabilities and STRIDE threat modeling principles. It triggers on changes to security-sensitive file patterns including authentication, payment, API, and admin modules, performing scans ranging from credential detection to full security audits. Use this skill when committing code that handles authentication, sensitive data, or user input to catch critical vulnerabilities before they reach production.
git clone --depth 1 https://github.com/sangrokjung/claude-forge /tmp/security-pipeline && cp -r /tmp/security-pipeline/skills/security-pipeline ~/.claude/skills/security-pipelineSKILL.md
## Overview
보안 파이프라인 스킬은 코드 변경 시 자동으로 CWE Top 25 기반 보안 검증을 수행한다.
`/handoff-verify --security`, `/commit-push-pr` 실행 시 통합 동작한다.
보안 체크리스트 참조: `~/.claude/skills/_reference/security-checklist.md`
effort:max가 항상 강제 적용된다. 보안 검증은 축약하지 않는다.
---
## Trigger Conditions
### 파일 패턴 기반 자동 트리거
다음 패턴을 포함하는 파일이 변경되면 보안 파이프라인이 자동으로 실행된다:
| 패턴 | 트리거 수준 | 설명 |
|------|-------------|------|
| `**/auth/**` | Full Scan | 인증 관련 모듈 |
| `**/payment/**` | Full Scan | 결제 처리 모듈 |
| `**/api/**` | CWE Scan | API 엔드포인트 |
| `**/middleware/**` | CWE Scan | 미들웨어 |
| `**/session*` | CWE Scan | 세션 관리 |
| `**/token*` | CWE Scan | 토큰 처리 |
| `**/crypto*` | CWE Scan | 암호화 로직 |
| `**/admin/**` | Full + STRIDE | 관리자 기능 |
| `**/upload*` | CWE Scan | 파일 업로드 |
| `**/.env*` | Credential Scan | 환경변수 파일 |
| `**/config/secret*` | Credential Scan | 시크릿 설정 |
### 커밋 기반 자동 트리거
`/commit-push-pr` 실행 시 staged 파일 목록에서 위 패턴이 감지되면,
커밋 전 보안 파이프라인이 자동으로 실행된다.
---
## CWE Scanning Rules
### Critical (커밋 차단)
| CWE ID | Rule | Grep Pattern |
|--------|------|--------------|
| CWE-89 | SQL Injection | `query\(.*\$\{`, `query\(.*\+` |
| CWE-79 | XSS | `innerHTML`, `dangerouslySetInnerHTML`, `v-html` |
| CWE-78 | OS Command Injection | `exec\(.*\$\{`, `spawn\(.*req\.` |
| CWE-77 | Command Injection | Template string in shell command |
| CWE-798 | Hardcoded Credentials | `apiKey\s*=\s*['"]`, `secret\s*=\s*['"]` |
### High (경고, 커밋 허용)
| CWE ID | Rule | Grep Pattern |
|--------|------|--------------|
| CWE-22 | Path Traversal | `\.\.\/` with user input |
| CWE-352 | CSRF | POST handler without csrf check |
| CWE-287 | Improper Auth | Route without auth middleware |
| CWE-862 | Missing Authz | Handler without role/permission check |
| CWE-502 | Unsafe Deserialization | `eval\(`, `new Function\(` |
| CWE-918 | SSRF | `fetch\(.*req\.`, `axios.*req\.` |
| CWE-434 | Unrestricted Upload | Upload without validation |
| CWE-269 | Privilege Escalation | Role change without verification |
### Medium (정보 제공)
| CWE ID | Rule | Grep Pattern |
|--------|------|--------------|
| CWE-200 | Info Disclosure | `console\.log.*password\|token\|secret` |
| CWE-20 | Input Validation | Endpoint without schema validation |
| CWE-327 | Broken Crypto | `md5\(`, `sha1\(`, `Math\.random\(\)` |
| CWE-276 | Incorrect Perms | `origin:\s*['"]?\*`, `0o?777` |
---
## Auto-Fix Rules
자동 수정은 사용자 승인 후 적용한다. 신뢰도가 High인 항목만 자동 수정 대상이다.
### Parameterized Queries (CWE-89)
```
Before: db.query(`SELECT * FROM users WHERE id = '${id}'`)
After: db.query('SELECT * FROM users WHERE id = $1', [id])
```
### Environment Variables (CWE-798)
```
Before: const apiKey = 'sk-proj-abc123'
After: const apiKey = process.env.API_KEY
+ .env.example에 API_KEY= 추가
```
### Safe DOM Manipulation (CWE-79)
```
Before: element.innerHTML = userInput
After: element.textContent = userInput
```
### Remove Sensitive Logs (CWE-200)
```
Before: console.log('Token:', token)
After: // (line removed)
```
### Secure Hash (CWE-327)
```
Before: const hash = md5(data)
After: const hash = crypto.createHash('sha256').update(data).digest('hex')
```
---
## Integration Points
### /handoff-verify (v6)
`/handoff-verify` 커맨드의 검증 단계에서 보안 검사가 포함된다.
verify-agent가 민감 파일 변경을 감지하면 이 스킬을 자동 호출한다.
### /commit-push-pr
커밋 전 자동 보안 게이트로 동작한다:
- Critical 발견 시: 커밋 차단 (BLOCKED)
- High 발견 시: 경고 표시 후 사용자 확인 (WARN)
- Medium 이하만 존재: 통과 (PASS)
### /security-review (통합됨)
이전 security-review 스킬의 OWASP 체크리스트는 `_reference/security-checklist.md`로 전환.
전체 보안 리뷰 시 이 스킬의 CWE Top 25 매핑 + STRIDE + 의존성 검사가 수행되며,
체크리스트 참조 파일을 함께 로드한다.
---
## effort:max Enforcement
이 스킬은 항상 effort:max로 실행된다.
보안 검증에서 분석 깊이를 줄이는 것은 허용하지 않는다.
적용 범위:
- CWE 패턴 매칭 시 false positive 최소화를 위한 컨텍스트 분석
- STRIDE 분류 시 전체 데이터 흐름 추적
- 자동 수정 제안 시 사이드 이펙트 검증
- 의존성 검사 시 transitive dependency 포함전문 에이전트 자동 라우팅. 법률, 재무, 특허, SEO, 마케팅, 기획, BM 설계(BMC/Lean/JTBD/Wardley/Blue Ocean/Lightning Sprint), 코드리뷰, 아키텍처, 견적, CRM, HR/인사, 노무(노동법/해고/산재/취업규칙), 리서치, 데이터 분석, 제1원칙 사고, 주식 투자, 부동산 투자, 명리학, 회사운영(노란우산/창업혜택/고용지원/세무일정), 디자인 제작(배너/카드뉴스/SNS/광고/인포그래픽), FAQ/지식베이스(KCS/셀프서비스/아티클), 고객지원(CS응답/에스컬레이션) 등 50+ 에이전트
|
계획부터 PR까지 원버튼 자동 실행. 중간에 멈추지 않습니다.
|
빌드 에러를 자동으로 분석하고 수정합니다.
Use when detecting and running project build systems automatically. Supports npm/yarn/pnpm/pip/poetry/gradle/maven/cargo/go/make. Triggers on build, test run, project setup, package manager detection.
|
Use when starting Claude Code projects, writing CLAUDE.md/spec.md, dispatching subagents, or requesting Agent Teams parallel development. Covers Spec-Driven Development, Context Engineering, and post-dev workflow.