Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
aws-perimeter — 端末ベースのAWSセキュリティスキャナーで、VPC、IAM、S3、CloudTrail、コンテナ(ECS/EKS)、AI攻撃検出にわたる102以上のセキュリティチェックを実施します。危険なIAM権限、露出したシークレット、設定ミスのあるS3バケット、コンテナの脆弱性、そして新興のLLMjacking脅威を検出します。 | Kitploit
ツール/GitHubGitHub/thirukguru/aws-perimeter
クラウドインフラストラクチャセキュリティ脆弱性スキャナーコンテナセキュリティ構成監査ペネトレーションテストクラウドセキュリティDevSecOpsシークレット検出脅威インテリジェンスアイデンティティ&アクセス管理 (IAM)設定ミスAIセキュリティ
36ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
GitHubthirukguru/aws-perimeter

aws-perimeter

端末ベースのAWSセキュリティスキャナーで、VPC、IAM、S3、CloudTrail、コンテナ(ECS/EKS)、AI攻撃検出にわたる102以上のセキュリティチェックを実施します。危険なIAM権限、露出したシークレット、設定ミスのあるS3バケット、コンテナの脆弱性、そして新興のLLMjacking脅威を検出します。

リポジトリを見る

aws-perimeter

Go Version Go Reference Go Report Card License

ターミナルベースのAWSセキュリティスキャナ。100以上のセキュリティチェックをVPC、IAM、S3、CloudTrail、コンテナ(ECS/EKS)、AI攻撃検出にわたって実行。危険なIAM権限、露出したシークレット、誤設定されたS3バケット、コンテナの脆弱性、そして新興のLLMjacking脅威を検出します。

製品概要: docs/CAPABILITIES_OVERVIEW.md

機能

🔐 VPCセキュリティ

  • セキュリティグループ分析(開放されたSSH/RDP、データベースポート)
  • パブリック公開検出と管理ポートリスク
  • ネットワークACL分析とVPCフローログ監査
  • VPCピアリングリスク、踏み台ホスト検出
  • NATゲートウェイステータスとVPCエンドポイントカバレッジ

🔑 IAMセキュリティ

  • 権限昇格検出(17パターン)
  • 失効した認証情報(90日以上)
  • クロスアカウント信頼分析
  • MFA強制の不足
  • 過度に寛容なポリシー(*:*)
  • ロールチェーン、外部ID、許可境界

🪣 S3セキュリティ

  • パブリックバケット検出
  • 暗号化監査と危険なバケットポリシー
  • パブリックアクセスブロックステータス
  • 機密ファイル/オブジェクトの発見(.env、.git、認証情報)
  • S3オブジェクト内のテキストコンテンツからのシークレット検出(ディープ)

📝 CloudTrailとログ記録

  • トレイルカバレッジのギャップとマルチリージョンログ記録
  • ログ検証ステータス
  • CloudWatch Logs統合

🔍 シークレット検出

  • Lambda環境変数(10のシークレットパターン)
  • Lambdaデプロイメントパッケージ(ZIP)のスキャン
  • EC2ユーザーデータのスキャン
  • パブリックS3オブジェクトコンテンツのスキャン
  • ECRイメージレイヤースキャンによる埋め込み認証情報
  • AWSキー、GitHub/Slack/Stripeトークン

🛡️ コンテナセキュリティ(新機能)

ECSセキュリティ(10チェック)

  • 特権コンテナ
  • 環境変数内のシークレット
  • パブリックIP露出
  • ホストネットワークモード
  • 非ECRイメージ
  • 書き込み可能なルートファイルシステム
  • 危険なLinuxケイパビリティ
  • ECS Exec有効化
  • Container Insightsステータス
  • 管理タスクロール

EKSセキュリティ(12チェック)

  • パブリックエンドポイントアクセス
  • プライベートエンドポイント無効
  • コントロールプレーンログ記録
  • シークレット暗号化
  • Kubernetesバージョン
  • IRSA向けOIDCプロバイダー
  • レガシー認証モード
  • パブリックサブネットノード
  • 無制限SSHアクセス
  • 管理レベルのノードIAMロール
  • AMIタイプ(Bottlerocket推奨)

🧠 AI攻撃検出(新機能)

2025年2月の脅威インテリジェンスに基づく:8分間のAWS侵害

  • GPUインスタンスモニタリング: p2/p3/p4/p5、g3/g4/g5、inf1/inf2、trn1インスタンスの検出
  • GPUのパブリック露出: パブリックIPを持つGPUインスタンス
  • GPU IMDSv1リスク: 認証情報窃取に対して脆弱なGPUインスタンス
  • Bedrock悪用: 高キャパシティのプロビジョニング済みスループット検出
  • カスタムモデル: 不正なBedrockモデルトレーニング
  • Bedrockログ記録: モデル呼び出しログ記録の欠如
  • 高速プロビジョニング: EC2 APIスロットル検出(攻撃パターン)

セキュリティチェックサマリー

カテゴリ件数
コア(IAM、VPC、S3、CloudTrail、シークレット)38
拡張(Lambda、ELB、Route53、Inspectorなど)

クリティカルセキュリティチェック

前提条件

1. AWS CLIのインストール

root@kitploit:~
# macOS
brew install awscli

# Linux
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip && sudo ./aws/install

2. AWS認証情報の設定

root@kitploit:~
aws configure
# または名前付きプロファイルを使用
aws configure --profile myprofile

3. 必要なIAM権限

AWS認証情報には、スキャン対象のサービスに対する読み取り専用アクセスが必要です。AWS管理ポリシーReadOnlyAccessで動作します。詳細は必要な権限を参照してください。

注: aws-perimeterは読み取り操作のみを実行し、AWSリソースを変更することはありません。

インストール

クイックインストール(macOS/Linux)

root@kitploit:~
curl -sSfL https://raw.githubusercontent.com/thirukguru/aws-perimeter/main/install.sh | sh

Goを使用

root@kitploit:~
go install github.com/thirukguru/aws-perimeter@latest

使用方法

root@kitploit:~
aws-perimeter                          # フルセキュリティスキャンの実行
aws-perimeter --output json            # JSON出力
aws-perimeter --profile prod           # 特定のAWSプロファイル
aws-perimeter --region us-west-2       # 特定のリージョン
aws-perimeter --regions us-east-1,us-west-2            # マルチリージョンスキャン
aws-perimeter --regions us-east-1,us-west-2 --max-parallel 4  # マルチリージョン、同時実行制御付き
aws-perimeter --regions us-east-1,us-west-2 --max-parallel 4 --best-effort  # 少なくとも1リージョン成功で終了コード0
aws-perimeter --rules                   # RULES.mdを標準出力に印刷(Markdown)
aws-perimeter --capabilities            # 機能概要を標準出力に印刷(Markdown)
aws-perimeter --all-regions                            # 有効な全リージョンをスキャン
aws-perimeter --org-scan --org-role-name OrganizationAccountAccessRole  # マルチアカウント組織スキャン
aws-perimeter --org-scan --max-parallel 5              # 組織+リージョンのファンアウト同時実行
aws-perimeter --output html --output-file report.html  # HTMLレポートの生成
aws-perimeter --store --profile prod --region us-west-2 # スキャン実行+永続化
aws-perimeter --trends --trend-days 30 --account-id 123456789012  # 過去のトレンドテーブル表示
aws-perimeter history list --db-path ~/.aws-perimeter/history.db
aws-perimeter dashboard --port 8080

ファンアウトモード(--regions、--all-regions、--org-scan)で--output html --output-file ...を使用する場合、aws-perimeterはスキャンユニットごとにリージョン/アカウント+タイムスタンプのサフィックス(例:security-report-us-east-1-20260210-213045.html、security-report-123456789012-us-east-1-20260210-213045.html)を付けてレポートを1つ書き込みます。HTMLモードでは、ターミナルテーブル出力は抑制され、簡潔なサマリー行のみが印刷されます。

JSON自動化モード

--output jsonを使用すると、aws-perimeterはバナーやスピナー出力なしで単一の有効なJSONドキュメントを出力するため、パイプラインで安全に使用できます。

root@kitploit:~
aws-perimeter --profile prod --region us-west-2 --output json | jq .

# マルチリージョンJSONは集約されたトップレベルのJSONドキュメントを1つ出力します:
aws-perimeter --profile prod --regions us-east-1,us-west-2 --output json | jq .

# 標準出力リダイレクトでドキュメントをエクスポート
aws-perimeter --rules > rules.md
aws-perimeter --capabilities > capabilities.md

マルチリージョンJSONペイロードには以下が含まれます:

  • summary(total_regions、success、failed、skipped)
  • results(リージョンごとに統合されたスキャンペイロード)
  • failures(リージョンスキャン失敗時のリージョンとエラー詳細)

ファンアウトサマリー出力

マルチリージョンおよび組織スキャンでJSON以外の出力モードの場合、aws-perimeterは実行終了時に統合サマリーを印刷します:

  • スキャンユニットごとの行:account_id、account_name、region、status、duration、error
  • 集計合計(TOTAL、SUCCESS、FAILED、SKIPPED)
  • 組織スキャンのアカウント別ロールアップテーブル(アカウントごとの成功/失敗/スキップ数)

--max-parallelと--best-effort

  • --max-parallelは、ファンアウトモード(--regions、--all-regions、--org-scan)で同時に実行するリージョン/アカウントスキャンユニット数を制御します。
  • 値を大きくするとスキャンが高速化しますが、APIへの負荷が増加し、スロットリングやネットワーク競合の可能性が高まります。
  • 推奨される出発点:--max-parallel 3または--max-parallel 4。
  • --best-effortはマルチリージョンスキャンに適用され、一部のリージョンが失敗しても少なくとも1リージョンが成功した場合、コマンドは成功(0)で終了します。
  • --best-effortがない場合、失敗したリージョンがあると非ゼロの終了コードが返されます。
  • マルチリージョンJSON出力では、失敗したリージョンはfailuresに正確なエラーとともに表示されます。

フラグ

必要なAWS権限

全機能(マルチリージョンおよび組織スキャンを含む)をカバーするには、以下の権限が必要です:

root@kitploit:~
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:GetCallerIdentity",
        "sts:AssumeRole",
        
        "organizations:DescribeOrganization",
        "organizations:ListAccounts",
        
        "ec2:Describe*",
        "ec2:GetEbsEncryptionByDefault",
        
        "iam:List*",
        "iam:Get*",
        "iam:GenerateCredentialReport",
        
        "s3:ListAllMyBuckets",
        "s3:GetBucket*",
        "s3:GetEncryptionConfiguration",
        
        "cloudtrail:DescribeTrails",
        "cloudtrail:GetTrailStatus",
        "cloudtrail:LookupEvents",
        
        "lambda:ListFunctions",
        "lambda:GetFunctionConfiguration",
        "lambda:GetFunction",
        
        "ecr:DescribeRepositories",
        "ecr:DescribeImages",
        "ecr:BatchGetImage",
        "ecr:GetDownloadUrlForLayer",
        
        "ecs:ListClusters",
        "ecs:DescribeClusters",
        "ecs:ListServices",
        "ecs:DescribeServices",
        "ecs:DescribeTaskDefinition",
        
        "eks:ListClusters",
        "eks:DescribeCluster",
        "eks:ListNodegroups",
        "eks:DescribeNodegroup",
        
        "bedrock:ListProvisionedModelThroughputs",
        "bedrock:ListCustomModels",
        "bedrock:GetModelInvocationLoggingConfiguration",
        
        "guardduty:ListDetectors",
        "guardduty:GetDetector",
        "guardduty:ListFindings",
        "guardduty:GetFindings",
        
        "securityhub:DescribeHub",
        "securityhub:GetFindings",
        
        "config:Describe*",
        
        "kms:ListKeys",
        "kms:DescribeKey",
        "kms:GetKeyRotationStatus",
        "kms:Decrypt",
        
        "rds:DescribeDB*",
        
        "dynamodb:ListTables",
        "dynamodb:DescribeTable",
        "dynamodb:DescribeContinuousBackups",
        
        "secretsmanager:ListSecrets",
        
        "elasticloadbalancing:Describe*",
        
        "backup:List*",
        
        "apigateway:GET",
        
        "cloudfront:List*",
        "cloudfront:Get*",
        
        "cloudwatch:GetMetricStatistics",
        
        "sns:ListTopics",
        "sqs:ListQueues"
      ],
      "Resource": "*"
    }
  ]
}

kms:Decryptは、暗号化されたオブジェクト/パッケージ(例:SSE-KMS S3オブジェクトの読み取り)をスキャンする場合にのみ必要です。本番環境では必要なKMSキーにスコープを絞ってください。

--org-scanを使用する場合、管理プリンシパルはメンバーアカウントのロール(デフォルト:OrganizationAccountAccessRole)を引き受けることが許可されている必要があります。例:

root@kitploit:~
{
  "Effect": "Allow",
  "Action": "sts:AssumeRole",
  "Resource": "arn:aws:iam::*:role/OrganizationAccountAccessRole"
}

メンバーアカウントのロール信頼ポリシーでも、スキャナープリンシパル(ユーザー/ロール)がそれを引き受けられるようにする必要があります(--external-idを使用する場合はsts:ExternalId条件を含めます)。

ヒント: 素早く始めるには、IAMユーザー/ロールにAWS管理ポリシーarn:aws:iam::aws:policy/ReadOnlyAccessをアタッチしてください。

ロードマップ

Phase 3: 高度な脅威検出

  • STRIDE脅威モデリング
  • 攻撃パス分析
  • データ流出検出
  • クリプトマイニング指標

Phase 4: エンタープライズ機能

  • マルチアカウントのOrganizationsサポート
  • CI/CD統合
  • SIEMエクスポート(Splunk、ELK)
  • 過去のトレンド表示

概要

ライセンス

Apache License 2.0

ツールをダウンロード
35
コンテナセキュリティ(ECS + EKS)22
AI攻撃検出7
合計102
チェック深刻度説明
権限昇格🔴 Criticalユーザーが管理者に昇格可能
管理者アクセス(:)🔴 CriticalフルAWSアクセスが許可されている
露出したシークレット🔴 CriticalLambda/EC2内のAPIキー/トークン
パブリックS3バケット🔴 Criticalバケットが公開アクセス可能
CloudTrailなし🔴 Critical監査ログ記録がない
開放されたSSH/RDP🔴 Criticalポート22/3389がインターネットに開放
特権コンテナ🔴 Criticalルートアクセスを持つECSコンテナ
GPU IMDSv1🔴 CriticalGPUインスタンスの認証情報が脆弱
クロスアカウント信頼🟠 High外部アカウントがロールを引き受け可能
EKSパブリックエンドポイント🟠 HighKubernetes APIが公開アクセス可能
Bedrockログ記録なし🟠 HighAIモデルの使用が監査されていない
フラグ短縮形説明
--profile-p使用するAWSプロファイル
--region-rAWSリージョン
--regionsカンマ区切りのリージョンリスト
--all-regions有効な全リージョンをスキャン
--org-scanアクティブなAWS Organization全アカウントをスキャン
--org-role-nameメンバーアカウントで引き受けるIAMロール名
--external-idクロスアカウントのロール引き受け用外部ID
--output-o出力形式:table、json、またはhtml
--rulesルールカタログMarkdownを印刷して終了
--capabilities機能Markdownを印刷して終了
--output-file-f出力ファイル(htmlでは必須)
--storeスキャン結果をSQLiteに永続化
--db-pathカスタムSQLite DBパス
--trends過去のトレンドを表示
--trend-daysトレンド期間(日数、デフォルト30)
--compare最近の2つのスキャンを比較
--export-jsonトレンドJSONファイルをエクスポート
--export-csvトレンドCSVファイルをエクスポート
--account-idトレンド/履歴のアカウントフィルター
--max-parallel最大同時リージョン/アカウントスキャンユニット数
--best-effortマルチリージョンスキャンで、少なくとも1リージョンが成功すれば成功とみなす
--dry-run修復プレビューモード
--remediateサポートされている修復を適用
--dashboard-portダッシュボードポート(ルートフラグ;dashboardサブコマンドは--portを使用)
--version-vバージョン情報
Phaseステータスルール数
Phase 1✅ 完了73
Phase 2🔲 進行中+20
Phase 2.5🆕 AI攻撃検出+13
Phase 3🔲 予定+15
Phase 4🔲 予定機能