
kubescape v4.0.11
オープンソースのKubernetesセキュリティプラットフォーム。クラスター、マニフェスト、イメージをスキャンし、開発ライフサイクル全体にわたってNSA、MITRE、CISベンチマークに対する設定ミス、脆弱性、コンプライアンスをチェックします。
Kubescape
開発からランタイムまでの包括的なKubernetesセキュリティ
Kubescapeは、開発およびデプロイメントのライフサイクル全体を左から右までカバーする包括的なセキュリティ対策を提供するオープンソースのKubernetesセキュリティプラットフォームです。堅牢化、ポスチャ管理、ランタイムセキュリティの機能を備え、Kubernetes環境を確実に保護します。
KubescapeはARMOによって作成され、Cloud Native Computing Foundation (CNCF)のインキュベーティングプロジェクトです。
私たちがKubescapeの開発と改善を続けられるよう、ぜひリポジトリにスター ⭐をお願いします!
📑 目次
✨ 機能
| 機能 | 説明 |
|---|---|
| 🔍 設定ミススキャン | NSA-CISA、MITRE ATT&CK®、CIS Benchmarksに基づいてクラスター、YAMLファイル、Helmチャートをスキャン |
| 🐳 イメージ脆弱性スキャン | Grypeを使用してコンテナイメージのCVEを検出 |
| 🩹 イメージパッチ | Copaceticを使用して脆弱なイメージを自動的にパッチ |
| 🔧 自動修復 | Kubernetesマニフェストの設定ミスを自動的に修正 |
| 🛡️ アドミッションコントロール | Validating Admission Policies (VAP)でセキュリティポリシーを実行 |
| 📊 ランタイムセキュリティ | Inspektor GadgetによるeBPFベースのランタイム監視 |
| 🤖 AI統合 | AIアシスタント統合のためのMCPサーバー |
🎬 デモ
🚀 クイックスタート
1. Kubescapeのインストール
curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash
💡 詳細なインストール方法(Homebrew、Krew、Windowsなど)はインストールを参照してください。
2. 初めてのスキャンを実行
# 現在のクラスターをスキャン
kubescape scan
# 特定のYAMLファイルまたはディレクトリをスキャン
kubescape scan /path/to/manifests/
# コンテナイメージの脆弱性をスキャン
kubescape scan image nginx:latest
3. 結果を確認
Kubescapeは以下のような詳細なセキュリティポスチャの概要を提供します:
- コントロールプレーンのセキュリティステータス
- アクセス制御リスク
- ワークロードの設定ミス
- ネットワークポリシーのギャップ
- コンプライアンススコア(MITRE、NSA)
📦 インストール
ワンラインインストール(Linux/macOS)
curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash
パッケージマネージャー
| プラットフォーム | コマンド |
|---|---|
| Homebrew | brew install kubescape |
| Krew | kubectl krew install kubescape |
| Arch Linux | yay -S kubescape |
| Ubuntu | sudo add-apt-repository ppa:kubescape/kubescape && sudo apt install kubescape |
| NixOS | nix-shell -p kubescape |
| Chocolatey | choco install kubescape |
| Scoop | scoop install kubescape |
Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/kubescape/kubescape/master/install.ps1 | iex
🛠️ CLIコマンド
Kubescapeは以下のコマンドを含む包括的なCLIを提供します:
| コマンド | 説明 |
|---|---|
kubescape scan | クラスター、ファイル、イメージのセキュリティ問題をスキャン |
kubescape scan image | コンテナイメージの脆弱性をスキャン |
kubescape fix | マニフェストファイルの設定ミスを自動修正 |
kubescape patch | コンテナイメージにパッチを適用して脆弱性を修正 |
kubescape list | 利用可能なフレームワークとコントロールを一覧表示 |
kubescape download | オフライン/エアギャップ環境用のアーティファクトをダウンロード |
kubescape config | キャッシュ設定を管理 |
kubescape operator | クラスター内のKubescapeオペレーターと対話 |
kubescape vap | Validating Admission Policiesを管理 |
kubescape mcpserver | AIアシスタント統合用のMCPサーバーを起動 |
kubescape completion | シェル補完スクリプトを生成 |
kubescape version | バージョン情報を表示 |
📖 使用例
スキャン
実行中のクラスターをスキャン
# デフォルトスキャン(全フレームワーク)
kubescape scan
# 特定のフレームワークでスキャン
kubescape scan framework nsa
kubescape scan framework mitre
kubescape scan framework cis-v1.23-t1.0.1
# 特定のコントロールをスキャン
kubescape scan control C-0005 -v
ファイルとリポジトリをスキャン
# ローカルのYAMLファイルをスキャン
kubescape scan /path/to/manifests/
# Helmチャートをスキャン
kubescape scan /path/to/helm/chart/
# Gitリポジトリをスキャン
kubescape scan https://github.com/kubescape/kubescape
# Kustomizeでスキャン
kubescape scan /path/to/kustomize/directory/
スキャンオプション
# 名前空間の包含/除外
kubescape scan --include-namespaces production,staging
kubescape scan --exclude-namespaces kube-system,kube-public
# 代替kubeconfigを使用
kubescape scan --kubeconfig /path/to/kubeconfig
# コンプライアンスしきい値を設定(しきい値を下回ると終了コード1)
# スコアしきい値はフレームワーク/コントロールサブコマンドと
# --view resource|control に適用されます。
kubescape scan framework nsa --compliance-threshold 80
kubescape scan --view resource --compliance-threshold 80
# 重大度しきい値を設定
kubescape scan --severity-threshold high
出力形式
# JSON出力
kubescape scan --format json --output results.json
# JUnit XML(CI/CD向け)
kubescape scan --format junit --output results.xml
# SARIF(GitHub Code Scanning向け)
kubescape scan --format sarif --output results.sarif
# HTMLレポート
kubescape scan --format html --output report.html
# PDFレポート
kubescape scan --format pdf --output report.pdf
イメージスキャン
# パブリックイメージをスキャン
kubescape scan image nginx:1.21
# 詳細出力でスキャン
kubescape scan image nginx:1.21 -v
# プライベートレジストリのイメージをスキャン
kubescape scan image myregistry/myimage:tag --username user --password pass
オフラインGrypeデータベースの使用
# オフラインGrype-DBサーバーを起動(docker使用)
docker run --rm -p8080:8080 quay.io/kubescape/grype-offline-db:v6-latest
# オフラインデータベースを使用してイメージをスキャン:
kubescape scan image --grype-db-url http://localhost:8080/databases/ nginx:latest
自動修正
マニフェストファイルの設定ミスを自動的に修正:
# まずスキャンして結果をJSONに保存
kubescape scan /path/to/manifests --format json --output results.json
# 次に修正を適用
kubescape fix results.json
# ドライラン(修正を適用せずに変更をプレビュー)
kubescape fix results.json --dry-run
# 確認プロンプトなしで修正を適用
kubescape fix results.json --no-confirm
イメージパッチ
コンテナイメージにパッチを適用してOSレベルの脆弱性を修正:
# buildkitdを起動(必須)
sudo buildkitd &
# イメージにパッチを適用
sudo kubescape patch --image docker.io/library/nginx:1.22
# カスタム出力タグを指定
sudo kubescape patch --image nginx:1.22 --tag nginx:1.22-patched
# 詳細な脆弱性レポートを表示
sudo kubescape patch --image nginx:1.22 -v
フレームワークとコントロールの一覧表示
# 利用可能なフレームワークを一覧表示
kubescape list frameworks
# すべてのコントロールを一覧表示
kubescape list controls
# JSON形式で出力
kubescape list controls --format json
オフラインサポート
エアギャップ環境用のアーティファクトをダウンロード:
# すべてのアーティファクトをダウンロード
kubescape download artifacts --output /path/to/offline/dir
# 特定のフレームワークをダウンロード
kubescape download framework nsa --output /path/to/nsa.json
# ダウンロードしたアーティファクトを使用してスキャン
kubescape scan --use-artifacts-from /path/to/offline/dir
設定
# 現在の設定を表示
kubescape config view
# アカウントIDを設定
kubescape config set accountID <your-account-id>
# キャッシュ設定を削除
kubescape config delete
オペレーターコマンド
クラスター内のKubescapeオペレーターと対話:
# 設定スキャンをトリガー
kubescape operator scan configurations
# 脆弱性スキャンをトリガー
kubescape operator scan vulnerabilities
Validating Admission Policies
Kubernetes Validating Admission Policiesを管理:
# Kubescape CEL admission policyライブラリをデプロイ
kubescape vap deploy-library | kubectl apply -f -
# ポリシーバインディングを作成
kubescape vap create-policy-binding \
--name my-policy-binding \
--policy c-0016 \
--namespace my-namespace | kubectl apply -f -
MCPサーバー
AIアシスタント統合のためのMCP(Model Context Protocol)サーバーを起動:
kubescape mcpserver
MCPサーバーはKubescapeの脆弱性および設定スキャンデータをAIアシスタントに公開し、クラスターのセキュリティポスチャに関する自然言語での問い合わせを可能にします。
利用可能なMCPツール:
list_vulnerability_manifests- 脆弱性マニフェストを検出list_vulnerabilities_in_manifest- マニフェスト内のCVEを一覧表示list_vulnerability_matches_for_cve- 特定のCVEの詳細を取得list_configuration_security_scan_manifests- 設定スキャン結果を一覧表示get_configuration_security_scan_manifest- 設定スキャンの詳細を取得
🏗️ アーキテクチャ
Kubescapeは2つのモードで実行できます:
CLIモード
CLIは、クラスター、ファイル、イメージをオンデマンドでスキャンするスタンドアロンツールです。
主要コンポーネント:
- Open Policy Agent (OPA) - ポリシー評価エンジン
- Regolibrary - セキュリティコントロールのライブラリ
- Grype - イメージ脆弱性スキャン
- Copacetic - イメージパッチ
オペレーターモード(クラスター内)
継続的な監視のために、Helm経由でKubescapeオペレーターをデプロイします。
追加機能:
- 継続的な設定スキャン
- イメージ脆弱性スキャン
- eBPFによるランタイム解析
- ネットワークポリシー生成
☸️ クラスター内オペレーター
Kubescapeオペレーターは、クラスター内で継続的なセキュリティ監視を提供します:
# Kubescape Helmリポジトリを追加
helm repo add kubescape https://kubescape.github.io/helm-charts/
# オペレーターをインストール
helm upgrade --install kubescape kubescape/kubescape-operator \
--namespace kubescape \
--create-namespace
オペレーターの機能:
- 🔄 継続的な設定ミススキャン
- 🐳 すべてのワークロードのイメージ脆弱性スキャン
- 🔍 ランタイム脅威検出(eBPFベース)
- 🌐 ネットワークポリシー生成
- 📈 Prometheusメトリクス統合
🔌 インテグレーション
CI/CD
| プラットフォーム | インテグレーション |
|---|---|
| GitHub Actions | kubescape/github-action |
| GitLab CI | ドキュメント |
| Jenkins | ドキュメント |
IDE拡張機能
| IDE | 拡張機能 |
|---|---|
| VS Code | Kubescape 拡張機能 |
| Lens | Kubescape Lens 拡張機能 |
Kubescapeを使用できる場所
👥 コミュニティ
Kubescapeは活発なコミュニティを持つCNCFインキュベーティングプロジェクトです。
参加方法
- 💬 Slack - ユーザーチャンネル - 質問やヘルプ
- 💬 Slack - 開発者チャンネル - 開発への貢献
- 🐛 GitHub Issues - バグ報告と機能リクエスト
- 📋 プロジェクトボード - 現在の進捗状況
- 🗺️ ロードマップ - 今後の計画
コントリビューション
コントリビューションを歓迎します!以下のガイドをご覧ください:
コミュニティリソース
コントリビューター
変更履歴
Kubescapeの変更はリリースページで追跡しています。
ライセンス
Copyright 2021-2025, Kubescape Authors. All rights reserved.
KubescapeはApache 2.0ライセンスの下で公開されています。
KubescapeはCloud Native Computing Foundation (CNCF)のインキュベーティングプロジェクトであり、ARMOによって提供されました。