# 보안 및 강화 (security-and-hardening)

> 위협 모델링부터 시작해 웹 애플리케이션의 입력, 인증, 세션, 의존성, 개인정보, LLM 기능을 강화합니다.

- 카테고리: [보안 강화](https://www.myskills.tools/ko/categories/hardening/)
- 출처: 커뮤니티 · Addy Osmani
- 저장소: https://github.com/addyosmani/agent-skills/tree/main/skills/security-and-hardening (commit d051d88)
- SKILL.md: https://github.com/addyosmani/agent-skills/blob/main/skills/security-and-hardening/SKILL.md
- 설치 명령: `npx skills add addyosmani/agent-skills --skill security-and-hardening`
- 라이선스: MIT
- 호환 도구: Claude Code, Codex, Cursor, Copilot, Gemini CLI
- 권한: read-repo ✓, write-files ✓, shell ✓, network ✓
- 상태: 스캔 통과
- 규칙 스캔으로 모든 위험을 찾을 수는 없습니다. 설치 전에 이 스킬의 SKILL.md를 읽고 권한을 확인하세요.

## 핵심 규칙

모든 외부 입력은 적대적으로 보고, 모든 비밀은 철저히 지키며, 모든 권한 검사는 반드시 수행합니다.

## 실행 단계

1. **위협 모델링** — 신뢰 경계(LLM 출력 포함)를 정리하고 자산을 식별한 뒤 각 경계에 STRIDE를 적용하고, 악용 사례를 첫 테스트로 작성합니다.
2. **3단계 경계 규칙** — 항상(입력 검증, 매개변수화 쿼리, 출력 인코딩, HTTPS 등), 사전 승인(인증 변경, 새 PII, CORS 변경 등), 금지(비밀 커밋, 민감 정보 로깅 등) 규칙을 따릅니다.
3. **보안 통제 적용** — hardening-patterns.md를 참고해 인젝션·XSS, 접근 제어, 세션 쿠키, 보안 헤더·CORS, 업로드 검증, SSRF, 속도 제한, 비밀 관리를 처리합니다.
4. **의존성·개인정보** — 커밋된 lockfile에 네이티브 audit를 실행하고 의존성 설치 스크립트를 막습니다. 개인 데이터는 분류·최소화하고 보존 기간과 삭제 경로를 정합니다.
5. **체크리스트 검증** — 승인 전에 security-checklist.md와 검증 항목을 하나씩 확인합니다.

## 권한 설명 (SKILL.md 기준)

| 기능 | 필요 여부 | 설명 |
|---|---|---|
| 파일 쓰기 | 필요 | 보안 관련 코드, 설정, .env.example 등을 작성하거나 수정합니다. |
| 명령 실행 | 필요 | 패키지 매니저의 네이티브 audit와 테스트를 실행하고, 커밋 전에 스테이징된 diff를 grep해 비밀을 확인합니다. |
| 네트워크 송신 | 일부 필요 | 의존성 audit와 서명 검증 시에만 패키지 레지스트리에 접근합니다. |

## SKILL.md 프런트매터(YAML)

```yaml
---
name: security-and-hardening
description: Hardens code against vulnerabilities. Use when auditing an input handler for vulnerabilities, when handling user input, authentication, data storage, or external integrations, or when checking a login flow is safe against the OWASP Top Ten. Use when building any feature that accepts untrusted data, manages user sessions or session cookies, or interacts with third-party services. Use when auditing dependencies for known vulnerabilities, triaging package-manager audit findings, or assessing supply-chain risk in a new package. Use when personal data or privacy compliance (GDPR, CCPA) is involved.
---
```

홈: https://www.myskills.tools/ko/ · URL: https://www.myskills.tools/ko/skills/security-and-hardening/
