From security
Reviews AWS IaC code for Well-Architected Security Pillar: IAM minimal privileges, S3/RDS encryption, security groups, VPC Flow Logs, GuardDuty, KMS rotation, public buckets. Terraform patterns.
How this skill is triggered — by the user, by Claude, or both
Slash command
/security:aws-wa-securityThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
데이터 보호, ID/접근 관리, 탐지 제어 관점에서 IaC 코드를 검토합니다.
데이터 보호, ID/접근 관리, 탐지 제어 관점에서 IaC 코드를 검토합니다.
| 심각도 | 탐지 유형 |
|---|---|
| Critical | 자동 탐지 |
검토 내용: IAM 정책이 최소 권한 원칙을 준수하는지 확인
Terraform 패턴:
# 취약 - 과도한 권한
resource "aws_iam_policy" "bad" {
policy = jsonencode({
Statement = [{
Effect = "Allow"
Action = "*"
Resource = "*"
}]
})
}
# 안전 - 최소 권한
resource "aws_iam_policy" "good" {
policy = jsonencode({
Statement = [{
Effect = "Allow"
Action = ["s3:GetObject", "s3:PutObject"]
Resource = "arn:aws:s3:::my-bucket/*"
}]
})
}
| 심각도 | 탐지 유형 |
|---|---|
| Critical | 자동 탐지 |
검토 내용: S3 버킷에 서버 측 암호화가 설정되어 있는지 확인
Terraform 패턴:
# 취약 - 암호화 없음
resource "aws_s3_bucket" "bad" {
bucket = "my-bucket"
}
# 안전 - KMS 암호화
resource "aws_s3_bucket_server_side_encryption_configuration" "good" {
bucket = aws_s3_bucket.example.id
rule {
apply_server_side_encryption_by_default {
sse_algorithm = "aws:kms"
kms_master_key_id = aws_kms_key.mykey.arn
}
}
}
| 심각도 | 탐지 유형 |
|---|---|
| Critical | 자동 탐지 |
검토 내용: RDS 인스턴스에 암호화가 설정되어 있는지 확인
Terraform 패턴:
# 취약
resource "aws_db_instance" "bad" {
storage_encrypted = false
}
# 안전
resource "aws_db_instance" "good" {
storage_encrypted = true
kms_key_id = aws_kms_key.rds.arn
}
| 심각도 | 탐지 유형 |
|---|---|
| Critical | 자동 탐지 |
검토 내용: 0.0.0.0/0 인바운드 규칙 확인 (SSH/RDP)
Terraform 패턴:
# 취약 - 전체 IP 허용
resource "aws_security_group_rule" "bad" {
type = "ingress"
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
# 안전 - 특정 IP만 허용
resource "aws_security_group_rule" "good" {
type = "ingress"
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = ["10.0.0.0/8"]
}
| 심각도 | 탐지 유형 |
|---|---|
| High | 자동 탐지 |
검토 내용: VPC에 Flow Logs가 활성화되어 있는지 확인
| 심각도 | 탐지 유형 |
|---|---|
| High | 자동 탐지 |
검토 내용: GuardDuty가 활성화되어 있는지 확인
| 심각도 | 탐지 유형 |
|---|---|
| High | 자동 탐지 |
검토 내용: KMS 키 자동 로테이션이 활성화되어 있는지 확인
| 심각도 | 탐지 유형 |
|---|---|
| Critical | 자동 탐지 |
검토 내용: S3 버킷이 퍼블릭으로 설정되어 있는지 확인
Terraform 패턴:
# 취약
resource "aws_s3_bucket_public_access_block" "bad" {
bucket = aws_s3_bucket.example.id
block_public_acls = false
block_public_policy = false
}
# 안전
resource "aws_s3_bucket_public_access_block" "good" {
bucket = aws_s3_bucket.example.id
block_public_acls = true
block_public_policy = true
ignore_public_acls = true
restrict_public_buckets = true
}
애플리케이션 코드 발견 시 owasp-review 스킬 참조 제안:
src/, app/, lib/ 등 애플리케이션 디렉토리 감지상세 패턴은 다음 참조:
| 항목 | PCI-DSS | HIPAA | SOC2 |
|---|---|---|---|
| IAM 최소 권한 | 7.1 | §164.312(a)(1) | CC6.3 |
| 데이터 암호화 | 3.4 | §164.312(a)(2)(iv) | CC6.1 |
| 네트워크 보안 | 1.3 | §164.312(e)(1) | CC6.6 |
| 항목 | 가중치 |
|---|---|
| IAM 최소 권한 | 20% |
| 데이터 암호화 (S3, RDS, EBS) | 25% |
| 네트워크 보안 | 20% |
| 탐지 제어 (GuardDuty, Flow Logs) | 20% |
| KMS 관리 | 15% |
npx claudepluginhub roboco-io/plugins --plugin securityScans IaC templates (Terraform, CloudFormation, Pulumi, Bicep) for misconfigurations, enforces least-privilege IAM, and prevents insecure defaults before deployment.
Review AWS workloads against the Well-Architected Framework Security Pillar: identity foundations, detective controls, infrastructure protection, data protection, and incident response readiness.
Orchestrates AWS Well-Architected Framework reviews of IaC code in Terraform, CloudFormation, CDK, and Pulumi across 6 pillars for infrastructure and architecture assessments.