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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
coalmine — クラウドカナリーオブジェクトオーケストレーション管理プラットフォーム | Kitploit
ツール/GitHubGitHub/johnearle/coalmine
防御ツールクラウドセキュリティアイデンティティ&アクセス管理 (IAM)侵入検知インシデントレスポンス
GitHubjohnearle/coalmine

coalmine

クラウドカナリーオブジェクトオーケストレーション管理プラットフォーム

リポジトリを見る
826ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

Coalmine — カナリートークン管理

クラウドカナリートークン管理 — AWSおよびGCP全体で偽装認証情報を展開、監視、ローテーションし、不正アクセスを検出します。

License

[!WARNING] アルファ版 — Coalmineは初期開発段階です。基本機能が現在の優先事項であり、本番環境で使用するには完全なセキュリティテストが行われていないと見なすべきです。

ステータス

機能実装済み開発中 (不安定)未実装
AWS IAM ユーザーカナリアGCP サービスアカウントカナリアAzure サポート
AWS S3 バケットカナリアGCP バケットカナリアSIEM 統合
CloudTrail 監視GCP 監査ログ監視
PostgreSQL ステートバックエンド自動ローテーション
REST API (APIキー + セッション認証)
WebUI ダッシュボード
メールおよび Webhook アラート
認証情報およびアカウント管理
RBAC (Casbin)

概要

Coalmineは自動的に「カナリートークン」を展開し監視します。これは、攻撃者によってアクセスされたときにアラートを発動する偽装認証情報やリソースです。

サポート対象プロバイダー:

  • AWS: IAM ユーザー、S3 バケット
  • GCP: サービスアカウント、Cloud Storage バケット

機能

  • マルチクラウド対応 — 単一インターフェースからAWSとGCPを管理
  • 認証情報・アカウントモデル — CLI、API、またはYAML同期でクラウド認証情報とアカウントを管理
  • 自動ローテーション — 設定可能な間隔で認証情報をローテーション
  • 集中監視 — CloudTrailおよびGCP監査ログとの統合
  • 柔軟なアラート通知 — メール、Webhook、Syslog通知
  • Infrastructure as Code — OpenTofu管理のリソース
  • REST API — APIキーまたはセッション認証によるプログラムアクセス
  • WebUI — /ui のブラウザベースダッシュボード
  • RBAC — Casbinによるロールベースアクセス制御
  • CLI — グループ化されたサブコマンド構造 (coalmine <resource> <action>)

クイックスタート

前提条件

  • Docker & Docker Compose
  • AWS認証情報(AWSカナリア用)
  • GCP認証情報(GCPカナリア用)

1. クローンと設定

root@kitploit:~
git clone https://github.com/yourorg/coalmine.git
cd coalmine
cp .env.example .env
# .envファイルを編集してデータベースとクラウド認証情報を設定

2. サービスの起動

root@kitploit:~
docker compose up -d

これによりAPI、Celeryワーカー、Redis、PostgreSQLが起動します。WebUIは http://localhost:8000/ui で利用できます。

3. 認証情報とアカウントの登録

root@kitploit:~
# AWS認証情報を追加
docker compose exec app coalmine credentials add my-aws-cred AWS \
  --secrets '{"access_key_id": "...", "secret_access_key": "...", "region": "us-east-1"}'
root@kitploit:~
# その認証情報の下にアカウントを追加
docker compose exec app coalmine accounts add prod-east --credential my-aws-cred \
  --account-id 111111111111
root@kitploit:~
# またはYAML設定から認証情報とアカウントを同期
docker compose exec app coalmine credentials sync --dry-run

4. ロギングリソースの作成

root@kitploit:~
# CloudTrailログ出力先を作成
docker compose exec app coalmine logs create my-trail AWS_CLOUDTRAIL \
  --account <ACCOUNT_ID>
root@kitploit:~
# ロギングリソース一覧
docker compose exec app coalmine logs list

5. カナリアの展開

root@kitploit:~
# AWS IAM ユーザーカナリアを作成
docker compose exec app coalmine canary create my-canary AWS_IAM_USER \
  --account <ACCOUNT_ID> --logging-id <LOGGING_ID>
root@kitploit:~
# カナリア一覧
docker compose exec app coalmine canary list

6. 検出の確認

root@kitploit:~
# テストアラートを発動
docker compose exec app coalmine canary trigger my-canary
root@kitploit:~
# 監視サイクル(約1分)を待ってからアラートを確認
docker compose exec app coalmine alerts list

アーキテクチャ

root@kitploit:~
┌─────────────┐   ┌─────────────┐   ┌─────────────┐
│     CLI     │   │  REST API   │   │   WebUI     │
│  (coalmine) │   │  (FastAPI)  │   │  (React)    │
└──────┬──────┘   └──────┬──────┘   └──────┬──────┘
       │                 │                 │
       └────────┬────────┴────────┬────────┘
                │                 │
                │          ┌──────▼──────┐
                │          │Auth / RBAC  │
                │          │  (Casbin)   │
                │          └──────┬──────┘
                │                 │
         ┌──────▼─────────────────▼──────┐
         │         Celery Workers        │
         │  (Canary · Monitoring · Logs) │
         └──────────────┬────────────────┘
                        │
      ┌─────────────────┼─────────────────┐
      │                 │                 │
┌─────▼─────┐   ┌──────▼──────┐   ┌──────▼──────┐
│ OpenTofu  │   │  Monitors   │   │Notifications│
│ Templates │   │(CloudTrail/ │   │(Email/Hook/ │
│           │   │ Audit Logs) │   │   Syslog)   │
└─────┬─────┘   └──────┬──────┘   └─────────────┘
      │                │
┌─────▼─────┐   ┌──────▼──────┐
│ AWS / GCP │   │   Alerts    │
│(Resources)│   │    (DB)     │
└───────────┘   └─────────────┘

          ┌─────────────────┐
          │   PostgreSQL    │
          │   (Inventory)   │
          └────────┬────────┘
                   │
          ┌────────▼────────┐
          │   Celery Beat   │
          │   (Scheduler)   │
          └─────────────────┘

CLIリファレンス

コマンドは coalmine <resource> <action> [options] のパターンに従います。

カナリアコマンド

認証情報コマンド

アカウントコマンド

ロギングコマンド

コマンド説明
logs create <name> <type>ロギングリソースを作成
logs listロギングリソースを一覧表示
logs scan --account <id>既存のCloudTrailをスキャン

アラートコマンド

コマンド説明
alerts list [--canary <name>]セキュリティアラートを表示

認証コマンド

コマンド説明
auth key listAPIキーを一覧表示
auth key add <name>APIキーを追加
auth session listアクティブセッションを一覧表示

ユーザーコマンド

コマンド説明
user listすべてのユーザーを一覧表示
user roles利用可能なロールを一覧表示

タスクコマンド

コマンド説明
task list最近の非同期タスクを表示
task status <task_id>タスクの結果を確認

ヘルプ

root@kitploit:~
docker compose exec app coalmine --help
docker compose exec app coalmine canary --help

REST API

APIは http://localhost:8000 で動作し、APIキーヘッダーまたはセッションクッキーによる認証が必要です。

設定 (config/api_keys.yaml)

root@kitploit:~
api_keys:
  - key: "your-api-key-here"
    name: "admin"
    permissions: ["read", "write"]
    scopes: ["all"]

リクエスト例

root@kitploit:~
# カナリア一覧
curl -H "X-API-Key: your-api-key" http://localhost:8000/api/v1/canaries

# カナリアを作成
curl -X POST -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"name": "api-canary", "resource_type": "AWS_IAM_USER", "account_id": "...", "logging_id": "..."}' \
  http://localhost:8000/api/v1/canaries

APIドキュメント

対話型APIドキュメントは http://localhost:8000/docs (Swagger UI) で利用できます。

設定

すべての設定は config/ ディレクトリにあります。詳細は config/README.md を参照してください。

認証情報 (config/credentials.yaml)

root@kitploit:~
credentials:
  my-aws-cred:
    provider: AWS
    auth_type: STATIC
    secrets:
      access_key_id: ${AWS_ACCESS_KEY_ID}
      secret_access_key: ${AWS_SECRET_ACCESS_KEY}
      region: ${AWS_DEFAULT_REGION:-us-east-1}
    accounts:
      - name: prod-east
        account_id: "111111111111"

同期: docker compose exec app coalmine credentials sync

アラート出力 (config/alert_outputs.yaml)

root@kitploit:~
outputs:
  email_admin:
    type: "email"
    enabled: true
    smtp_host: "smtp.example.com"
    smtp_port: 587
    to_addrs: ["[email protected]"]
  
  webhook_siem:
    type: "webhook"
    enabled: true
    url: "https://siem.example.com/webhook"

リソースタイプ

開発

root@kitploit:~
# すべてのテストを実行
docker compose run --rm app pytest -v

# 単体テストのみ実行
docker compose run --rm app pytest tests/unit/ -v

# 統合テストを実行
docker compose run --rm app pytest tests/integration/ -v

# ワーカーログを表示
docker compose logs -f worker

# コード変更後に再ビルド
docker compose build && docker compose up -d

セキュリティ上の考慮事項

  • 認証情報を絶対にコミットしない — .env ファイルまたはシークレットマネージャーを使用
  • 管理者認証情報をローテーション — カナリア管理に使用するクラウド認証情報
  • ネットワーク分離 — Coalmineを安全なネットワークセグメントで実行
  • 最小権限の原則 — カナリアの認証情報は最小限の権限を持つべき
  • APIキーのセキュリティ — APIキーを安全に保存し、定期的にローテーション

ライセンス

Apache License 2.0 — 詳細はLICENSEファイルを参照してください。

コントリビューティング

貢献ガイドラインについては CONTRIBUTING.md を参照してください。

ツールをダウンロード
コマンド説明
canary create <name> <type>新しいカナリアを作成
canary listすべてのカナリアを一覧表示
canary delete <name_or_id>カナリアを削除
canary creds <name>カナリアの認証情報を取得
canary trigger <name_or_id>カナリアの検出をテスト
コマンド説明
credentials listすべての認証情報を一覧表示
credentials add <name> <provider>認証情報を追加
credentials update <name_or_id>認証情報を更新
credentials remove <name_or_id>認証情報を削除
credentials validate <name_or_id>認証情報の健全性を検証
credentials sync [--dry-run]YAML設定から同期
コマンド説明
accounts list [--credential <name>]すべてのアカウントを一覧表示
accounts add <name>アカウントを追加
accounts update <name_or_id>アカウントを更新
accounts enable <name_or_id>アカウントを有効化
accounts disable <name_or_id>アカウントを無効化
accounts remove <name_or_id>アカウントを削除
accounts validate <name_or_id>アカウントの健全性を検証
タイププロバイダー説明
AWS_IAM_USERAWSアクセスキーを持つIAMユーザー
AWS_BUCKETAWSログ記録付きS3バケット
GCP_SERVICE_ACCOUNTGCPキーを持つサービスアカウント
GCP_BUCKETGCPCloud Storageバケット