Extension System
AWS Labs AIDLC Workflows 는 공식 5대 원칙과 11개 Common Rules 외에, 조직별 규제·도메인 특화 규칙을 추가할 수 있는 Extension System 을 제공합니다. 본 문서는 Extension 아키텍처, Built-in 확장, opt-in 작동 메커니즘, 그리고 한국 엔터프라이즈(ISMS-P · 금융감독규정) 적용 예시를 다룹니다.
1. 개요: 왜 Extension 인가
1.1 Core vs Extension 분리 원칙
AIDLC 는 방법론 코어(stable) 와 조직 규칙(variable) 을 명확히 분리합니다.
핵심 원칙:
- Core 는 모든 조직·산업에 공통 으로 적용되는 최소 규칙
- Extension 은 조직·산업·프로젝트별로 선택적 적용
opt-in.md파일의 존재·내용이 활성화 여부를 결정
1.2 Extension 도입 효과
| 효과 | 설명 | 예시 |
|---|---|---|
| 규제 대응 | 산업별 법·규제를 AIDLC 워크플로에 내장 | 금융권 전자금융감독규정 반영 |
| 조직 표준화 | 팀별 표준 템플릿·체크리스트를 재사용 가능한 모듈로 분리 | 아키텍처 결정 기록(ADR) 템플릿 |
| 점진적 도입 | 코어 방법론 먼저 도입, 조직 특화는 나중에 확장 | MVP 출시 후 Compliance 추가 |
| 도구 독립성 | Extension 은 Markdown + YAML 로 표현되어 모든 AIDLC 플랫폼에서 동작 | Kiro · Claude Code · Cursor |
2. Built-in Extensions
AWS Labs 저장소는 2개의 Built-in Extension 을 기본 제공합니다: security/ 와 testing/.
2.1 security/ 확장
목적: 보안 관련 요구사항 추출·검증·강제를 AIDLC 워크플로에 통합.
주요 규칙:
# extensions/security/rules.yaml
security_extension:
version: 0.1.0
applies_to_stages:
- requirements_analysis
- application_design
- construction.code_generation
- construction.build_and_test
rules:
- id: SEC-001
name: "Threat Modeling Required"
stage: application_design
action: "STRIDE 기반 위협 모델링 문서 생성 필수"
- id: SEC-002
name: "Secrets Scanning"
stage: construction.build_and_test
action: "git-secrets + truffleHog 자동 실행, 하드코딩 크레덴셜 차단"
- id: SEC-003
name: "SAST Integration"
stage: construction.build_and_test
action: "Semgrep / Snyk / Checkov 중 하나 이상 실행"
- id: SEC-004
name: "Dependency Vulnerability Check"
stage: construction.build_and_test
action: "OSV-Scanner or Trivy 실행, Critical 취약점은 병합 차단"
- id: SEC-005
name: "Least Privilege IAM"
stage: construction.infrastructure_design
action: "IAM Policy 는 wildcard Resource 사용 금지 (특수 케이스 정당화 필요)"
2.2 testing/ 확장
목적: 테스트 자동 생성·커버리지 관리·품질 게이트 강제.
주요 규칙:
# extensions/testing/rules.yaml
testing_extension:
version: 0.1.0
applies_to_stages:
- construction.functional_design
- construction.code_generation
- construction.build_and_test
rules:
- id: TEST-001
name: "TDD First"
stage: construction.code_generation
action: "테스트 코드를 프로덕션 코드보다 먼저 생성"
- id: TEST-002
name: "Minimum Coverage"
stage: construction.build_and_test
action: "단위 테스트 커버리지 ≥ 80%, 실패 시 Checkpoint Approval 차단"
- id: TEST-003
name: "Integration Test Required"
stage: construction.build_and_test
action: "외부 의존성(DB, API)에 대한 통합 테스트 필수"
- id: TEST-004
name: "Acceptance Test Linkage"
stage: construction.functional_design
action: "각 Functional Requirement 에 대응하는 Acceptance Test 매핑"
3. Opt-in 메커니즘
3.1 opt-in.md 파일 구조
Extension 활성화는 프로젝트 루트의 opt-in.md 파일로 제어합니다.
위치: <project-root>/.aidlc/opt-in.md
파일 구조:
# AIDLC Opt-in Extensions
**Project**: payment-service
**Updated**: 2026-04-18
## Enabled Extensions
### Built-in
- [x] security (version 0.1.0)
- [x] testing (version 0.1.0)
### Organization
- [x] org-lg-security (version 1.2.0) — LG CNS 내부 보안 표준
- [x] org-compliance-ismsp (version 2.1.0) — ISMS-P 인증기준
### Domain
- [x] finance-korea (version 1.0.0) — 전자금융감독규정
## Disabled Extensions (명시적 거부)
- [ ] healthcare-hipaa — 해당 없음 (금융 서비스)
- [ ] public-sector-korea — 해당 없음
3.2 Requirements Analysis 단계의 opt-in 질문
AIDLC 의 Requirements Analysis stage 는 opt-in.md 파일을 읽어 활성화된 확장을 확인합니다. 파일이 없거나 확장이 지정되지 않은 경우, Common Rules 규칙 1 (Question Format) 에 따라 사용자에게 질문합니다:
Q. 본 프로젝트에 적용할 Extension 을 선택하세요 (복수 선택 가능):
A. security 만 (기본값, 모든 프로젝트 권장)
B. security + testing (표준, 일반 프로덕션 프로젝트)
C. security + testing + 조직 규정 (엔터프라이즈)
D. C + 산업 규제 (금융/의료/공공)
E. None (데모·PoC 용, 프로덕션 금지)
[Answer]:
응답 후 자동 생성:
[Answer]: C→ AIDLC 가opt-in.md에 security, testing, 조직 확장 추가
3.3 Extension 우선순위
여러 확장에서 충돌하는 규칙 이 있을 경우 우선순위:
1. Common Rules (최우선, 공식 규격)
2. Domain Extensions (산업 규제)
3. Organization Extensions (조직 표준)
4. Built-in Extensions (security, testing)
5. Project-local overrides (최하위)
예시 충돌 해결:
Common Rules 11: Reproducible — Temperature = 0 권장
Organization Extension (금융): Temperature = 0.1 허용 (창의성 일부 허용)
→ Common Rules 우선 → Temperature = 0 강제
→ 조직이 정말 필요하면 Common Rules 의 waiver 프로세스 실행 필요
4. 조직 컴플라이언스 확장 예시
4.1 한국 ISMS-P 확장
배경: ISMS-P (정보보호 및 개인정보보호 관리체계) 는 한국 정보보호 관련 법규 준수를 요구하는 민간 인증. 공공 계약·금융 서비스 진출 시 사실상 필수.
확장 디렉터리 구조:
extensions/org-compliance-ismsp/
rules.yaml
templates/
pia-template.md # 개인정보 영향평가(PIA)
access-control-matrix.md
incident-response-plan.md
audit-mappings/
ismsp-2.1.yaml # ISMS-P 2.1 관리적 조치
ismsp-2.8.yaml # 개인정보 처리단계별 요구사항
rules.yaml 예시:
extension:
name: org-compliance-ismsp
version: 2.1.0
description: ISMS-P 2.1 인증기준 AIDLC 통합
applies_to:
industries: [finance, public, healthcare]
regions: [KR]
rules:
- id: ISMSP-2.5.1
name: "사용자 계정 관리"
stage: application_design
common_rules_mapping: [checkpoint_approval, audit_logging]
action: |
사용자 인증·인가 설계 시 다음 의무:
- 패스워드 정책 (9자 이상, 3종 이상 조합)
- 세션 타임아웃 (10분 이상 비활성 시 자동 로그아웃)
- 로그인 실패 5회 연속 시 계정 잠금
- id: ISMSP-2.8.2
name: "개인정보 처리단계별 요구사항"
stage: requirements_analysis
action: |
개인정보 수집·이용·제공·파기 전 단계에 대해 요구사항 명시:
- 수집 항목 최소화 원칙
- 목적 외 이용 금지
- 암호화 저장 (AES-256 이상)
- 보관기간 초과 시 자동 파기
- id: ISMSP-2.9.1
name: "침해사고 대응"
stage: operations.observability
action: |
침해사고 감지 시 24시간 이내 신고 체계 구축:
- KISA 신고 연동
- 관련자 통지
- 포렌식 증거 보존