Circumflex
← トップに戻る

Circumflex Security の機能と料金

Google Cloud のセキュリティリスクを AI とチャットツールで自動化する CSPM SaaS。月額 1 万円から提供。

アーキテクチャ

顧客 Google Cloud 環境から Cloud Asset Inventory・Audit Logs 等の各種 Google Cloud API を通じてリソース情報を収集し、AI による分析・チャットツール(現在は Slack 連携のみ)への通知・修復実行までを完全サーバーレスで動作させます。

Circumflex Security アーキテクチャ図顧客 Google Cloud 環境Cloud Asset InventoryAudit LogsGoogle Cloud リソース処理基盤検知・AI 分析・修復処理データ永続化非同期キューAI分析役 + 監査役ダブルチェックチャットツール承認 / 無視 / Undo※ 現在は Slack 連携のみ検知データAI 分析修復案通知承認修復実行

対応している検知ルール

現在 54 件のルールで Google Cloud のミス設定を検知します。新ルールは続々追加中です。

ルール一覧の表示軸

公開アクセス

🟥Artifact Registry リポジトリの公開

Artifact Registry Repository の IAM policy に allUsers / allAuthenticatedUsers が binding として付与されており、認証なしでイメージ・パッケージを pull できる状態の検知。意図せず残った公開はコンテナイメージ・脆弱性スキャン結果・秘伝のソース漏えいに直結するため重大度は critical。修復は該当 binding の revoke (Undo は snapshot からの再付与で可逆)。Container Registry (gcr.io レガシー) は実体が GCS のため別ルール (public-bucket) が検知する。

🟥BigQuery データセットの公開共有

BigQuery データセットの access エントリに allUsers / allAuthenticatedUsers が含まれており、データセットが事実上公開されている状態を検知します。データセット公開は情報漏えいに直結するため、検知したアクセスエントリのみを除去する可逆修復を行います(Undo は同エントリの再追加で復旧可能)。

🟥Cloud Functions (Gen1) の未認証公開

Cloud Functions Gen1 の IAM policy に allUsers / allAuthenticatedUsers が binding として付与されており、未認証ユーザーが関数を呼び出せる状態の検知。意図せず残った未認証公開は情報漏えい・不正実行・コスト爆発に直結するため重大度は critical。修復は該当 binding の revoke (Undo は snapshot からの再付与で可逆)。Cloud Functions Gen2 は実体が Cloud Run のため別ルール (cloud-run-public-access) が検知する。

🟥Cloud Run サービスの未認証公開

Cloud Run サービスの IAM policy に allUsers / allAuthenticatedUsers が直接 binding として付与されており、未認証ユーザーがエンドポイントを叩ける状態の検知 (Cloud Functions Gen2 は実体が Cloud Run のため本ルールが検知する)。意図せず残った未認証公開は情報漏えい・不正実行・コスト爆発に直結するため重大度は critical。修復は該当 binding の revoke (Undo は snapshot からの再付与で可逆)。

🟥Cloud SQL 公開インスタンスの広い許可IPリスト

公開IPが割り当てられた Cloud SQL インスタンスで `0.0.0.0/0` などインターネット全体を許可するエントリが含まれています。SSL を強制していても認証情報の総当たり攻撃や DB エンジンの CVE スキャンに晒されるため、最小限の許可IPに絞る必要があります。修復は authorizedNetworks の完全置換 PATCH で広い CIDR だけを取り除き (狭い CIDR は温存)、インスタンス再起動は伴いません。

🟥FW 全ポート/全プロトコル公開

VPC ファイアウォールでインターネット全体 (0.0.0.0/0 または ::/0) から全ポート (protocol=all / TCP・UDP の全ポート / 1-65535 全レンジ) への接続を許可しているルールを検知します。任意ポートでのリモート侵入・常時偵察スキャンの対象になるため、3-3 (SSH/RDP) や 3-4 (DB ポート) より広い責務をカバーします。修復はルールの無効化(Undo で再有効化)。

🟥GKE コントロールプレーンの無防備な公開

GKE クラスタのコントロールプレーン (Kubernetes API サーバー) が公開エンドポイントで、かつ Master Authorized Networks による接続元制限も無い状態を検知します。インターネット上の任意の IP から API サーバーへ到達でき、漏えいした資格情報や Kubernetes API の脆弱性が即クラスタ全体の侵害に直結します。修復は手動 (Authorized Networks の追加は無停止で適用できるため、参考コマンドとして提示します)。

🟥KMS鍵の公開バインディング

KMS の暗号鍵に allUsers / allAuthenticatedUsers の IAM binding が付与されており、鍵自体が公開状態になっている検知。公開鍵は暗号データの復号や署名の捏造に直結するため重大度は critical。修復は該当 binding の revoke (Undo は snapshot からの再付与で可逆)。

🟥公開バケット

Cloud Storage バケットが allUsers / allAuthenticatedUsers に公開されており、Public Access Prevention が未設定の状態を検知します。修復で PAP を強制有効化し、以後の意図せぬ公開も構造的に防ぎます。

🟥危険な DB ポート公開

VPC ファイアウォールで 0.0.0.0/0 から DB / データストア系ポート (MySQL 3306・PostgreSQL 5432・MSSQL 1433・MongoDB 27017・Redis 6379・Elasticsearch 9200・Memcached 11211) への接続を許可しているルールを検知します。データベース直接公開は侵入後の被害規模が桁違いに大きいため critical 扱い。修復はルールの無効化(Undo で再有効化)。

🟥危険な公開ポート

VPC ファイアウォールでインターネット全体 (0.0.0.0/0 または ::/0) から SSH(22) / RDP(3389) への接続を許可しているルールを検知します。総当たり攻撃や脆弱性スキャンの常時被害を抑止します。修復はルールの無効化(Undo は再有効化で復旧可能)。

🟧BigQuery データセットの組織外共有

BigQuery データセットの access エントリに、組織の信頼ドメイン(設定 > 組織)に属さない外部ユーザー / グループ / ドメインへの共有が含まれる状態を検知します。意図しない外部共有は情報漏えいに直結するため、検知したアクセスエントリのみを除去する可逆修復を行います(Undo は同エントリの再追加で復旧可能)。信頼ドメイン未設定の間、本ルールは動作しません。

🟨VM に外部 IP (パブリック IP) が付与

Compute Engine VM に外部 IP (IPv4 accessConfig または IPv6 ipv6AccessConfig) が付与されており、インターネットから直接到達可能な状態を検知します。外部 IP の除去はサービス断を伴い ephemeral IP は復元不能なため、修復は手動 (Cloud NAT / IAP への移行を推奨)。GKE ノードと停止中 VM は対象外です。

権限管理

🟥不審なIAM変更

Cloud Audit Logs から特権ロール (Owner / Editor / 各種 Admin) の ADD binding を検知します。設定ミスや侵害時の特権昇格の早期発見が目的です。修復は当該 binding の revoke(Undo は同 member への再付与で復旧可能)。

🟥個人ユーザー/SAへの基本ロール付与

プロジェクトの IAM policy をスキャンし、roles/owner または roles/editor が個人ユーザー (user:) や個別の SA (serviceAccount:) に直接付与されている binding を検知します。基本ロールは実質フルアクセスで侵害直結リスクが極めて高いため、最小権限ロールへの置き換えが必須。修復は当該 binding の revoke(Undo は同 member への再付与で復旧可能)。

🟥特権Adminロールの過剰付与

プロジェクトの IAM policy をスキャンし、securityAdmin / serviceAccountAdmin / serviceAccountKeyAdmin / serviceAccountUser / projectIamAdmin / organizationAdmin が個人ユーザー (user:) / 個別の SA (serviceAccount:) / グループ (group:) / ドメイン (domain:) に直接付与されている binding を検知します。これらのロールは権限昇格の踏み台となるため、最小権限ロールへの置き換えが必須です。修復は当該 binding の revoke(Undo は同 member への再付与で復旧可能)。

🟧GKE の Legacy ABAC 有効

GKE クラスタで Legacy ABAC (属性ベースの旧認可機構) が有効な状態を検知します。Kubernetes は設定された認可機構を順に評価し、先行する機構が判断を示さなければ後続の機構の許可でリクエストが通るため、Legacy ABAC のポリシーは IAM や RBAC で与えていない操作にまで追加の許可を与え得ます。GKE では全クラスタで既定無効 (Autopilot では有効化不可) のため、検知は明示的な有効化か旧世代から引き継がれた設定を意味します。修復は手動 (コントロールプレーンの更新を伴うため、参考コマンドとして提示します)。

🟧GKE の Workload Identity 未有効

GKE Standard クラスタで Workload Identity が未有効な状態を検知します。全 Pod がメタデータサーバー経由でノードのサービスアカウント権限を共有できるため、Pod 1 つの侵害がノード SA 権限の奪取に直結します。修復は手動 (クラスタ側の有効化だけでは完結せず、ワークロード側の移行が必要なため、参考コマンドとして提示します)。

🟧GKE ノードプールへの基本ロール付きデフォルト SA 紐づけ

GKE ノードプールの実行 ID がデフォルトサービスアカウント (Compute default SA) で、そのSAが基本ロール (owner/editor) を保持している状態を検知します。ノード 1 台の侵害が権限昇格の典型経路になり、広いアクセススコープ (cloud-platform 等) が設定されていると最大でプロジェクト全体の実質フルアクセスに直結します。修復は手動 (SA 付け替えはノードプール再作成が必要で破壊的なため、参考コマンドとしてデフォルト SA からの基本ロール剥奪を提示)。

🟧VM への基本ロール付きデフォルト SA 紐づけ

Compute Engine VM にデフォルトサービスアカウント (Compute default SA) が紐づき、そのSAが基本ロール (owner/editor) を保持している状態を検知します。VM 1台の侵害が権限昇格の典型経路になり、広いアクセススコープ (cloud-platform 等) が設定されていると最大でプロジェクト全体の実質フルアクセスに直結します。修復は手動 (SA 付け替えは VM 停止が必要で破壊的なため、参考コマンドとしてデフォルト SA からの基本ロール剥奪を提示)。

🟧組織外プリンシパルへの IAM 権限付与

プロジェクトの IAM policy をスキャンし、組織の信頼ドメイン(設定 > 組織)に属さない外部ユーザー / グループ / ドメインへのロール付与を検知します。Gmail 等の個人アカウントへの付与も外部として扱います。意図しない外部付与は情報漏えい・不正操作に直結するため、検知した binding のみを可逆的に revoke します(Undo は同 member への再付与で復旧可能)。信頼ドメイン未設定の間、本ルールは動作しません。

🟧職務分離に反する IAM ロールの併持

プロジェクトの IAM ポリシーをスキャンし、同一プリンシパルが「リソースを管理する権限」と「そのリソースを使う権限」を同時に持っている状態(serviceAccountAdmin × serviceAccountUser、cloudkms.admin × CryptoKey 系ロールのいずれか)を検知します。本来は複数人に分けるべき権限が一人に集中し、他者のチェックが働かない状態です(実際に悪用を完遂できるか——VM/ジョブの作成権限を併せ持つか等——までは本ルールでは判定しません)。検知はプロジェクトに直接付与された binding のみが対象で、どちらのロールを剥がすかは職務設計の判断のため自動修復は行いません(検知のみ)。

🟨Cloud Run への基本ロール付きデフォルト SA 紐づけ

Cloud Run サービス (Functions Gen2 を含む) の実行 ID がデフォルトサービスアカウント (Compute default SA) で、そのSAが基本ロール (owner/editor) を保持している状態を検知します。サービス 1 個の侵害がプロジェクト全体の実質フルアクセスに直結する権限昇格の典型経路です。修復は手動 (SA 付け替えは再デプロイが必要で破壊的なため、参考コマンドとしてデフォルト SA からの基本ロール剥奪を提示)。

🟨削除済み identity の binding 残留

プロジェクトの IAM policy をスキャンし、メンバーが deleted: プレフィックス (user / serviceAccount / group / domain 等) で始まる binding を検知します。削除済み identity は再認証できないため直接攻撃面ではありませんが、IAM policy 衛生上クリーンアップが必要です。修復は当該 binding の revoke(Undo は同 member への再付与で復旧可能・ただし実用上意味は薄い)。

🟨未使用サービスアカウントの放置

過去 90 日以上認証実績がないサービスアカウントが有効なまま残っている状態を検知します。漏えいキーや余分な IAM binding 経由のラテラルムーブで攻撃面を広げるため、未使用 SA は disable が推奨です。修復は SA の disable(Undo は enable で復旧可能・既存 binding も維持)。

認証情報・シークレット

🟥API キーに制限がない

呼び出し元制限 (HTTP リファラ / IP / Android / iOS) も API target 制限もない API キーを検知します。流出時に全 GCP API への横断アクセスが可能になり、課金爆発・データ流出に直結します。修復は手動 (CSPM 側で許可 IP やリファラを推測できないため自動実行は不可)。

🟥VM メタデータに平文の機密情報

Compute Engine VM のインスタンス metadata またはプロジェクト共通 metadata に、API キー / パスワード / 秘密鍵などの平文機密情報が含まれている疑いがあります。VM 内のすべてのプロセスから metadata は読み取り可能で、流出時にプロジェクト全体の信用境界が破られます。

🟥サーバーレスリソースの環境変数に平文の機密情報

Cloud Run / Cloud Functions / App Engine の環境変数に API キー / パスワード / トークン / 秘密鍵などの平文機密情報が含まれている疑いがあります。GCP Console / Cloud Logging から閲覧可能で、Secret Manager 経由に移行する必要があります。

🟧GKE の Basic 認証有効

GKE クラスタで Basic 認証 (静的な username/password) が有効な状態を検知します。GKE 1.19 で廃止済みのレガシー認証機構で、資格情報の漏えいや総当たりが Kubernetes API サーバーへの永続アクセスに直結します。修復は手動 (master 更新を伴うため、参考コマンドとして提示します)。

🟧SAキー作成検知

自社管理外のサービスアカウントに対する CreateServiceAccountKey 操作を Cloud Audit Logs から検知します。シャドー鍵生成や鍵流出の早期発見が目的です。修復はキーの disable(Undo は enable で復旧可能)。

🟧長期放置SAキー

USER_MANAGED なサービスアカウントキーが作成から90日以上経過しているのに有効なまま放置されている状態を検知します。流出時の影響範囲とローテーション忘れによる事故を抑止します。修復はキーの disable(Undo は enable で復旧可能)。

🟨SAキーの有効期限が実質無期限

USER_MANAGED なサービスアカウントキーの有効期限が現在から 100 年を超えて先 (実質無期限) で、流出時に極めて長期間にわたって悪用され得る状態を検知します。キーの有効期限は作成時に組織ポリシー constraints/iam.serviceAccountKeyExpiryHours で決まり、未設定なら GCP 既定の 9999-12-31 が入るため、ポリシー設定前に作られた有効なキーは原則すべて該当します。修復は手動 (有効期限は作成後に変更できず、稼働中キーの無効化はアプリを即停止させるため、期限付きキーへのローテーションが必要)。

設定の堅牢化

🟥Cloud SQL 公開インスタンスの SSL/TLS 接続未強制

公開IP接続が許可されている Cloud SQL インスタンスで SSL/TLS が強制されていません。インターネット経由で平文認証情報が漏えいする可能性があります。修復で sslMode=ENCRYPTED_ONLY に変更し、非暗号化接続を遮断します (PostgreSQL は再起動を伴います)。

🟧GKE の Kubernetes Dashboard アドオン有効

GKE クラスタで Kubernetes Dashboard アドオンが有効な状態を検知します。特権的な Kubernetes API アクセスを持つ Web UI が攻撃面として残り、過去には実際の侵害の起点となった事例があります。GKE 1.15.0 以降はマネージドアドオンとして有効化できないため、検知はアップグレードから取り残されたクラスタを示します。修復は手動 (参考コマンドとして提示します)。

🟨Cloud SQL の危険なデータベースフラグ

Cloud SQL インスタンスの危険なデータベースフラグ設定 (local_infile=on や log_min_messages=fatal など)、および安全化フラグの未設定 (log_connections 未設定で接続ログが残らない等・既定値が危険なもの) を検知します。CIS GCP Benchmark 由来の設定を中心に、攻撃面の拡大やログ隠蔽の原因となる構成を対象とします。修復は危険フラグの削除・安全値への置換・未設定フラグへの安全値追加で行います (再起動が必要なフラグを含むと一時的なダウンタイムが発生します)。

🟨Cloud SQL プライベートインスタンスの SSL/TLS 接続未強制

プライベート接続 (公開IPなし) の Cloud SQL インスタンスで SSL/TLS が強制されていません。VPC 内部でも盗聴・横展開 (lateral movement) リスクがあるため、zero trust 原則として暗号化を推奨します。修復で sslMode=ENCRYPTED_ONLY に変更します (PostgreSQL は再起動を伴います)。

🟨GKE の Network Policy 無効

GKE クラスタで Network Policy (Pod 間トラフィック制御) が無効な状態を検知します。Kubernetes は既定で全 Pod 間の通信を許可するため、NetworkPolicy が使えないクラスタではアプリの脆弱性や悪性イメージで侵害された 1 つの Pod から、同一クラスタ上の他ワークロード (機密データを扱う Pod を含む) への横展開を Kubernetes の NetworkPolicy (L3/L4 のトラフィック制御) で遮ることができません。Autopilot と Dataplane V2 のクラスタは NetworkPolicy 相当を内蔵するため対象外です。修復は手動 (既存クラスタでの有効化は master アドオン → ノード側適用の 2 段階で、後者はノードプールの再作成を伴うため、参考コマンドとして提示します)。

🟨GKE ノードプールの自動アップグレード無効

GKE ノードプールで自動アップグレードが無効な状態を検知します。ノードの OS (Container-Optimized OS 等) と kubelet にパッチが自動適用されないため、手動更新が遅れると既知の脆弱性を含むバージョンが長期間稼働することになり、コンテナ脱出を伴う脆弱性ではノード 1 台の侵害がクラスタ全体の侵害に発展しうります。Autopilot クラスタ (ノード管理が Google 側) と release channel 加入クラスタ (自動アップグレードが強制) は対象外です。修復は手動 (ノードの順次ドレインを伴うため、参考コマンドとして提示します)。

🟨OS Login が無効 (metadata SSH キー運用)

プロジェクト共通 metadata で enable-oslogin が有効化されていない、または VM が enable-oslogin を TRUE 以外の値で上書きしている状態を検知します。metadata ベースの SSH キー運用は退職者キーの残留や棚卸し不能につながります。有効化すると既存 metadata キーでのログインが即座に無効になるため、修復は手動です。

🟨コンテナ脆弱性スキャンの無効

Artifact Registry に Docker リポジトリ (standard / remote) があるのに Container Scanning API (containerscanning.googleapis.com) が無効で、コンテナイメージの既知脆弱性が push 時に自動検出されない状態の検知。修復は API の有効化 (Undo は無効化で可逆)。ただし有効化後に新しいイメージを push するとその初回スキャンごとに従量課金 (1 スキャン $0.26。Security Command Center 利用時はサービスティアに応じて単価が異なります) が発生し、実行済みスキャンの課金は Undo でも取り消せないため、通知本文で課金影響を明示します。GCP が自動生成するリポジトリ (Cloud Functions の gcf-artifacts / Cloud Run ソースデプロイの cloud-run-source-deploy / GCR 移行の gcr.io 系) と、Maven/npm 等の非 Docker リポジトリ、スキャン非対応の virtual リポジトリは対象外。リポジトリ個別にスキャンを無効化している場合、そのリポジトリは API を有効化しても対象外のままです。

🟨シリアルポート接続が有効

VM またはプロジェクト共通 metadata で serial-port-enable=TRUE が設定されており、IP ファイアウォールを迂回してインターネットからシリアルコンソール接続できる状態を検知します。本 CSPM は VM metadata の書き換え権限を持たない設計 (最小権限) のため、修復は手動です。

🟨バケットの Uniform bucket-level access 未有効

Cloud Storage バケットで Uniform bucket-level access が無効になっており、オブジェクト ACL が個別評価されて IAM で塞いだつもりの公開・アクセス許可が残り得る状態を検知します。修復で UBLA を有効化しアクセス制御を IAM に一元化します(Undo は有効化から 90 日以内のみ可能)。

🟨ロードバランサの弱い SSL/TLS ポリシー

インターネットに公開された HTTPS / SSL プロキシロードバランサの TLS 終端が、弱い TLS 設定で動いている状態を検知します。SSL ポリシー未設定(GCP デフォルトは最小 TLS 1.0 + COMPATIBLE プロファイル)、および CIS GCP v5.0.0 の 3.11 が求める条件(MODERN かつ最小 TLS 1.2 / RESTRICTED / 弱い暗号スイートを含まない CUSTOM)を満たさないポリシーが対象です。外部の転送ルールから参照されている TLS 終端だけを見ており、未接続の終端や内部専用ロードバランサは検知しません。ポリシー変更は古いクライアントの接続断に直結するため自動修復は行いません(検知のみ)。

🟨不要な有効化API

過去30日に Cloud Audit Logs (Admin Activity + ADMIN_READ) で 1 件もリクエストがない有効化済み API を検知します。未使用 API は攻撃面として残り続けるため、停止して攻撃面を縮小します。修復は API の disable(依存先がないことを保証して停止/Undo は enable で復旧可能)。

🟨推奨組織ポリシーの未強制

セキュリティ上重要な組織ポリシー(サービスアカウントキーの作成禁止・デフォルトSAへの自動 Editor 付与の停止・OS Login の強制・ストレージバケットの公開防止)が、そのプロジェクトの実効値で強制されていない状態を検知します。組織ポリシーは危険な設定を「そもそも作れなくする」予防的なガードレールで、事後検知ルール群を補完します(既存リソースが実際に違反しているかは本ルールでは判定しません)。組織 / フォルダから継承した強制も実効値として評価するため、上位で設定済みなら検知しません。設定内容は顧客組織のガバナンス判断のため自動修復は行いません(検知のみ)。

🟩バケットの CORS ワイルドカード許可

Cloud Storage バケットの CORS 設定(XML API に適用)が origin * を許可している状態を検知します。許可 method に GET を含み公開・認証済みアクセスと組み合わさると、任意オリジンの Web ページからブラウザ経由のオブジェクト読み出し(HEAD ではメタデータ取得)を許します。許可すべきオリジンはアプリ構成に依存するため修復は手動対応を案内します(検知のみ)。

監査ログ・追跡性

🟥Data Access Audit Logs 無効

プロジェクトの IAM AuditConfig で Data Access Audit Logs (DATA_WRITE) が無効になっています。流出インシデント発生時に誰がいつどのデータにアクセスしたかを追跡できなくなるため、最低限 allServices / DATA_WRITE を有効化する必要があります。

🟨GKE のロギング/モニタリング無効

GKE クラスタで Cloud Logging へのログ出力、または Cloud Monitoring への GKE システムメトリクス出力が無効な状態を検知します。無効な側の観測情報 (ログならシステムコンポーネントやワークロードのログ、メトリクスならノードや Pod のリソース使用状況) が残らないため、侵害や設定ミスが起きても事後のインシデント調査で影響範囲を特定できません。なお GKE API への操作を記録する Cloud Audit Logs はこの設定とは独立に記録されるため、本検知は Kubernetes 側のログ / メトリクス出力が対象です。修復は手動 (ログ出力を有効化する場合はログ量に応じた課金が発生するため、参考コマンドとして提示します)。

🟨Logging Bucket の保持期間が短い

Cloud Logging Bucket (global location) の保持期間が推奨値を下回っています。侵害の発覚や調査の開始が遅れると、着手した時点でログが失効していて影響範囲を特定できません。修復は手動 (既定 30 日を超える保持には追加の保持料金が発生するため顧客の意思決定が必要。Retention Lock 済みバケットはそもそも保持期間を変更できないため、新規バケットへのシンク付け替えを案内します)。

🟨Logging Bucket の改ざん防止 (Retention Lock) 未有効

Cloud Logging Bucket の Retention Policy が Locked になっていません。攻撃者が侵入後に監査ログを削除・保持期間短縮して痕跡を消せる状態のため、保持期間内のログ削除を防ぐ Bucket Lock の有効化を推奨します。修復は手動 (Bucket Lock は不可逆で自動修復すると Undo できないため)。

🟨VM 使用中 subnet の VPC Flow Logs 無効

VM が接続している使用中の VPC subnet で Flow Logs が無効になっている状態を検知します。ネットワーク侵害時の通信痕跡が残らず調査不能になるため、Flow Logs を有効化する修復を行います (Undo で無効へ戻せる可逆操作。有効化によりログ課金が増加する点に注意)。使用判定は Compute Engine VM の NIC が根拠のため、サーバーレス (Cloud Run Direct VPC egress 等) からのみ利用される subnet と、サービスプロジェクトの VM からのみ利用される Shared VPC subnet は対象外です。

データ保護・復旧

🟧KMS鍵の自動ローテーション未設定/期間超過

KMS の対称暗号鍵 (ENCRYPT_DECRYPT) で自動ローテーションが未設定、もしくは CIS GCP Benchmark 1.11 が推奨する 90 日 (7,776,000 秒) を超えて設定されている検知。修復は同じ 90 日に合わせ、rotationPeriod=90d + nextRotationTime=now+90d の patch (Undo は元値書き戻しで可逆・元未設定なら両フィールドクリア)。非対称鍵・外部 HSM・インポート鍵は仕様上対象外として collect 段階で除外。

🟨Cloud SQL 自動バックアップ無効

Cloud SQL インスタンスで自動バックアップまたは PITR (Point-in-Time Recovery) が無効になっています。ランサムウェア・誤操作・物理障害からの復旧手段が失われるため、バックアップ + PITR を有効化する必要があります。修復は backupConfiguration の PATCH で適用され、インスタンス再起動を伴わない無停止オペレーションです。

🟨バケットの Versioning 未有効

Cloud Storage バケットで Object Versioning が無効になっており、誤削除・ランサム被害・改ざん時に過去バージョン復旧ができない状態を検知します。修復で Versioning を有効化し、ライフサイクル設定との併用でストレージコストも抑えます。

AI ダブルチェックで誤修復を防止

分析役 AI が生成した修復コマンドを、別の AI プロセス(監査役)が破壊的コマンドの 検出・gcloud CLI 構文の妥当性チェックの観点で検証します。

🤖 分析役 AI

検知されたリスクを分析し、修復コマンドを生成します。

🛡 監査役 AI(別プロセス)

分析役の出力を独立に検証。破壊的キーワード (delete / remove / drop / destroy 等) の検出と、gcloud CLI 構文の妥当性をチェックします。

# 分析役が生成した修復コマンド (例)

gcloud storage buckets update gs://my-bucket --no-public-access-prevention

# 監査役の判定

❌ NG — 公開アクセス防止を無効化しようとしている (破壊的操作)

チャットツールで完結する承認ワークフロー

検知通知 → 承認 → 修復実行 → 元に戻す をチャットツール(現在は Slack 連携のみ)上で完結。Web 画面は閲覧用です。

#cspm-alerts チャンネル

🛡

Circumflex Security BOT · 14:32

🚨 公開バケットを検知しました

リソース: gs://example-prod-data

違反: 公開アクセス防止が無効

AI 分析結果:

allUsers に objectViewer が付与されており、誰でも閲覧可能な状態です。修復は Public Access Prevention の強制有効化を推奨。元に戻す操作も可能です。

🛡

Circumflex Security BOT · 14:33

✅ 修復を開始しました

修復処理を実行しています...

🛡

Circumflex Security BOT · 14:34

✨ 修復が完了しました

Public Access Prevention を強制有効化しました。

安全性の設計

🔐

クロスアカウント IAM

顧客 JSON キー不要。自社サービスアカウントを顧客 IAM に追加する方式のみ採用。

🛡

削除権限を持たない

cspmRepair ロールに削除権限を含めない設計。修復は無効化 / 設定変更のみ。

↩️

元に戻す機能を標準装備

修復実行前にリソース設定をスナップショット保存。いつでも元の状態に戻せます。

🧠

例外学習

[👁 無視] したリソースを DB に記録し、次回以降の AI 診断から自動除外。ノイズ低減。

料金プラン

現行プラン (v1.0)

1 プロジェクト 月額 1 万円

税別

  • ✅ すべての検知ルール
  • ✅ Slack 連携・AI ダブルチェック
  • ✅ 元に戻す機能・例外学習・承認者管理

将来のプラン展開 (予定)

事業拡大に応じて、以下の段階制プランを検討中です:

  • Lite — 小規模 SMB 向け
  • Pro — 中規模・複数プロジェクト
  • Enterprise — 大規模・SLA 強化・専任サポート

料金は未定。先行で詳細を知りたい方は support@circumflex.jp までお問い合わせください。

決済代行会社経由のオンライン決済対応予定。それまでは個別の請求書払いに対応します。