mcpField
I
infra-security-review

infra-security-review

github.com/majesticlabs-devセキュリティ5062 回インストール7 週間前に更新
リポジトリ

infra-security-review について

infra-security-reviewは、IaCコードのセキュリティレビュー向けチェックリストと検索パターンを提供し、インフラのセキュリティ担当者を対象とします。状態ストレージ、シークレット、ネットワーク、コンピュート、データベース、ストレージのリスクを深刻度別に扱い、レポートテンプレートも備えています。

主な機能

  1. 01状態バックエンド設定のリスク確認
  2. 02ハードコードされたシークレットや認証情報の検出
  3. 03ネットワークとコンピュートのセキュリティ設定のレビュー
  4. 04データベースとストレージの公開リスク確認
  5. 05深刻度ガイドとレポートテンプレート

活用シーン

  1. 01IaCの状態ストレージセキュリティをレビュー
  2. 02コード内の認証情報の露出を検出
  3. 03インフラのネットワークアクセス設定を確認
  4. 04レビュー結果と修正案を記録

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/majesticlabs-dev/majestic-marketplace --skill infra-security-review

インストール後、Claude Code で/infra-security-reviewを入力して読み込まれたか確認します。

詳細

インフラストラクチャセキュリティレビューのパターン

IaC コードをレビューするためのセキュリティチェックリストと grep パターンです。インフラストラクチャのセキュリティを検証する際に、これらのパターンを使用してください。

セキュリティチェックリスト

State バックエンドのセキュリティ
チェック項目重大度パターン
暗号化されていない S3 バケットCriticalencrypt = false または未設定
State のロック設定がないHighDynamoDB テーブルが設定されていない
パブリックバケットポリシーCriticalblock_public_* がすべて true ではない
バージョニングが設定されていないMediumversioning が有効になっていない
シークレットの露出
チェック項目重大度パターン
AWS キーのハードコードCriticalAKIA[0-9A-Z]{16}
パスワードのハードコードCriticalpassword\s*=\s*"[^"]+[^}]"
コード内のデータベース認証情報Criticalパスワードを含む DATABASE_URL
変数内の API キーHighデフォルト値の api_key、secret_key
ネットワークセキュリティ
チェック項目重大度パターン
SSH が全世界に公開されているCriticalポート 22 での 0.0.0.0/0
データベースにパブリックアクセスできるCriticalprivate_network_uuid が未設定
CIDR 範囲が広すぎるMediumパブリックリソースでの /8、/16
ファイアウォールが設定されていないHighファイアウォールリソースのない Droplet
コンピュートセキュリティ
チェック項目重大度パターン
root ログインが有効になっているHighcloud-init 内の PermitRootLogin yes
パスワード認証が有効になっているMediumPasswordAuthentication yes
SSH の強化設定がないLowClientAliveInterval の設定がない
監視が設定されていないLowmonitoring = false
データベースセキュリティ
チェック項目重大度パターン
データベースへのパブリックアクセスCriticalデータベースのファイアウォールルールがない
VPC に接続されていないHighprivate_network_uuid が未設定
古いバージョンMedium古いデータベースエンジンのバージョン
本番環境が単一ノードLow本番環境での node_count = 1
ストレージセキュリティ
チェック項目重大度パターン
S3 バケットがパブリックCriticalacl = "public-read"
暗号化が設定されていないHighSSE の設定がない
アクセスログがないMediumアクセスログバケットが未設定

Grep パターン

# 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

レポートテンプレート

# 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]

修正方法:

[fixed code]

コンプライアンスに関する注意事項

  • State の暗号化が有効(SOC 2)
  • 認証情報がハードコードされていない(PCI-DSS)
  • ネットワークがセグメント化されている(HIPAA)
  • アクセスログが有効(すべてのフレームワーク)

## 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 |

コメント