Back to list
majesticlabs-dev

infra-security-review

by majesticlabs-dev

18🍴 1📅 Jan 24, 2026

SKILL.md


name: infra-security-review description: Security patterns and checklists for reviewing Infrastructure-as-Code. Covers Terraform/OpenTofu state, secrets, network, compute, database, and storage security.

Infrastructure Security Review Patterns

Security checklists and grep patterns for reviewing IaC code. Use these patterns when verifying infrastructure security.

Security Checklists

State Backend Security

CheckSeverityPattern
S3 bucket without encryptionCriticalencrypt = false or missing
Missing state lockingHighNo DynamoDB table configured
Public bucket policyCriticalblock_public_* not all true
Missing versioningMediumversioning not enabled

Secret Exposure

CheckSeverityPattern
Hardcoded AWS keysCriticalAKIA[0-9A-Z]{16}
Hardcoded passwordsCriticalpassword\s*=\s*"[^"]+[^}]"
Database credentials in codeCriticalDATABASE_URL with password
API keys in variablesHighapi_key, secret_key defaults

Network Security

CheckSeverityPattern
SSH open to worldCritical0.0.0.0/0 on port 22
Database publicly accessibleCriticalMissing private_network_uuid
Wide CIDR rangesMedium/8, /16 on public resources
Missing firewallHighDroplet without firewall resource

Compute Security

CheckSeverityPattern
Root login enabledHighPermitRootLogin yes in cloud-init
Password auth enabledMediumPasswordAuthentication yes
Missing SSH hardeningLowNo ClientAliveInterval config
No monitoringLowmonitoring = false

Database Security

CheckSeverityPattern
Public database accessCriticalNo database firewall rules
No VPC attachmentHighMissing private_network_uuid
Weak versionMediumOld database engine versions
Single node for productionLownode_count = 1 in prod

Storage Security

CheckSeverityPattern
Public S3 bucketsCriticalacl = "public-read"
Missing encryptionHighNo SSE configuration
No access loggingMediumMissing access log bucket

Grep Patterns

# Hardcoded secrets
grep -rE 'AKIA[0-9A-Z]{16}' *.tf
grep -rE 'password\s*=\s*"[^$\{][^"]*"' *.tf
grep -rE 'secret.*=\s*"[^$\{][^"]*"' *.tf
grep -rE 'api_key\s*=\s*"' *.tf

# Network exposure
grep -rE '0\.0\.0\.0/0.*22' *.tf
grep -rE 'cidr_blocks.*0\.0\.0\.0/0' *.tf
grep -rE 'publicly_accessible\s*=\s*true' *.tf

# State security
grep -rE 'encrypt\s*=\s*false' *.tf
grep -rE 'block_public_acls\s*=\s*false' *.tf

# Cloud-init issues
grep -rE 'PermitRootLogin\s+yes' *.tf *.yaml
grep -rE 'PasswordAuthentication\s+yes' *.tf *.yaml

Report Template

# Infrastructure Security Review

**Repository:** [name]
**Date:** [date]
**Files Reviewed:** [count]

## Summary

| Severity | Count |
|----------|-------|
| Critical | X |
| High | X |
| Medium | X |
| Low | X |

## Findings

### [SEVERITY-001] Title

**File:** `path/to/file.tf:line`
**Resource:** `resource_type.name`

**Issue:**
Description of the security issue.

**Current:**
```hcl
[current code]

Remediation:

[fixed code]

Compliance Notes

  • State encryption enabled (SOC 2)
  • No hardcoded credentials (PCI-DSS)
  • Network segmentation in place (HIPAA)
  • Access logging enabled (all frameworks)

## Severity Guide

| Severity | Definition | Action |
|----------|------------|--------|
| Critical | Direct security exposure, data breach risk | Block deployment |
| High | Significant risk, exploitable weakness | Fix before production |
| Medium | Best practice violation, indirect risk | Fix within 30 days |
| Low | Minor hardening opportunity | Address when convenient |

Score

Total Score

60/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon