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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
chaosblade — 使いやすく強力なカオスエンジニアリング実験ツールキット。(アリババがオープンソース化した、シンプルで使いやすく、機能が強力なカオス実験注入ツール) | Kitploit
ツール/GitHubGitHub/chaosblade-io/chaosblade
クラウドインフラストラクチャセキュリティコンテナセキュリティDevSecOpsカオスエンジニアリング
GitHubchaosblade-io/chaosblade

chaosblade

使いやすく強力なカオスエンジニアリング実験ツールキット。(アリババがオープンソース化した、シンプルで使いやすく、機能が強力なカオス実験注入ツール)

リポジトリを見る
6.5k1.0k6日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ウェブサイト

logo

Chaosblade: 使いやすく強力なカオスエンジニアリングツールキット

Build Status Financial Contributors on Open Collective codecov license CII Best Practices

中文版 README
Wiki: DeepWiki

🔥🔥🔥 メジャーアップデート:Chaosblade Agent リリース - Blade AI

image Blade AI は ChaosBlade エコシステムにおけるインテリジェントエージェント層として機能します。基盤レベルでは ChaosBlade を呼び出して故障注入を実行し、上位レベルでは意図理解、セキュリティ監査、効果検証、安全な復旧、構造化レポートなどのオーケストレーション機能を組み込んでいます。これにより、故障訓練は「手動でコマンドを書く」プロセスから「対話形式のやり取り」で完結するプロセスへと変革されます。

詳細については、以下を参照してください:Blade AI README

  • リリース: blade-ai-v0.1.0
  • コードブランチ: blade-ai-v0.1.0

はじめに

ChaosBlade は、カオスエンジニアリングとカオス実験モデルの原則に従った、Alibaba がオープンソース化した実験注入ツールです。企業がクラウドへ移行する過程やクラウドネイティブシステムへの移行において、分散システムの耐障害性を向上させ、ビジネスの継続性を確保することを支援します。

Chaosblade は MonkeyKing の社内オープンソースプロジェクトです。Alibaba の約 10 年にわたる故障テストと訓練の実践に基づき、グループ各社のビジネスにおける優れたアイデアとプラクティスを組み合わせています。

ChaosBlade は使いやすいだけでなく、豊富な実験シナリオをサポートしています。シナリオには以下が含まれます:

  • 基本リソース:CPU、メモリ、ネットワーク、ディスク、プロセスなどの実験シナリオ;
  • Java アプリケーション:データベース、キャッシュ、メッセージ、JVM 自体、マイクロサービスなど。任意のクラスメソッドを指定して、さまざまな複雑な実験シナリオを注入することもできます;
  • C++ アプリケーション:任意のメソッドやコードラインを指定した遅延注入実験、変数や戻り値の改ざんなど;
  • コンテナ:コンテナの強制終了、コンテナ内の CPU、メモリ、ネットワーク、ディスク、プロセスなどの実験シナリオ;
  • クラウドネイティブプラットフォーム:Kubernetes プラットフォームのノードにおける CPU、メモリ、ネットワーク、ディスク、プロセスなどの実験シナリオ、Pod の強制終了などの Pod ネットワークおよび Pod 自体の実験シナリオ、前述の Docker コンテナ実験シナリオなどのコンテナ実験シナリオ;

シナリオをドメインごとに個別のプロジェクトにカプセル化することで、ドメイン内のシナリオを標準化できるだけでなく、シナリオの水平・垂直展開も容易になります。カオス実験モデルに従うことで、chaosblade cli を統一的に呼び出すことができます。現在含まれているプロジェクトは以下のとおりです:

  • chaosblade: カオス実験管理ツール。実験の作成、実験の破棄、実験の照会、実験環境の準備、実験環境のキャンセルなどのコマンドを含みます。カオス実験を実行するためのツールであり、実行方法には CLI と HTTP があります。完全なコマンド、実験シナリオ、シナリオパラメータの説明を提供し、操作はシンプルで明確です。
  • chaosblade-spec-go: カオス実験モデルの Golang 言語による定義。Golang 言語で実装されたシナリオは、この仕様に基づいて容易に実装できます。
  • chaosblade-exec-os: 基本リソース実験シナリオの実装。
  • chaosblade-exec-docker: Docker コンテナ実験シナリオの実装。Docker API を呼び出して標準化します。
  • chaosblade-exec-cri: コンテナ実験シナリオの実装。CRI を呼び出して標準化します。
  • chaosblade-operator: Kubernetes プラットフォームの実験シナリオを実装します。カオス実験は Kubernetes 標準の CRD 方式で定義され、kubectl や client-go などを使用した Kubernetes リソース操作方式で実験シナリオを作成、更新、削除するのが非常に便利です。また、前述の chaosblade cli ツールも使用できます。
  • chaosblade-exec-jvm: Java アプリケーション実験シナリオの実装。Java Agent テクノロジーを使用して動的にアタッチするため、一切の改修不要でゼロコストで使用できます。また、アンマウントをサポートし、Agent が作成したさまざまなリソースを完全にリサイクルします。
  • chaosblade-exec-cplus: C++ アプリケーション実験シナリオの実装。GDB テクノロジーを使用して、メソッドおよびコードラインレベルの実験シナリオ注入を実装します。
  • chaosblade-box: カオスエンジニアリングプラットフォームとレジリエンステストプラットフォームの機能を備えています。レジリエンステストプラットフォーム機能の詳細については、main2 ブランチを参照してください。

クイックスタート

このガイドでは、ChaosBlade を使用して 5 分以内に Kubernetes 上で最初の故障注入を実行する方法を説明します。最小限の例として、Pod に CPU ストレス故障を注入します。

前提条件

始める前に、以下が必要です:

  • 実行中の Kubernetes クラスターへの kubectl アクセス(kubectl cluster-info が正常に返ること)
  • 少なくとも 1 つの実行中 Pod がある対象ネームスペース(デフォルト: default)
  • ChaosBlade のインストール:
    • chaosblade CLI ツールキットをダウンロードして解凍済み(blade バイナリが PATH に含まれていること)
    • chaosblade-operator がクラスターにデプロイ済みであること(Kubernetes シナリオに必要)

Helm でオペレーターをインストールします:

root@kitploit:~
helm install chaosblade-operator chaosblade-operator-<version>.tgz --namespace chaosblade --create-namespace

オペレーターが実行中であることを確認します:

root@kitploit:~
kubectl get pods -n chaosblade

最初の故障を注入する(CPU ストレス)

default ネームスペースの Pod に対して CPU 全負荷故障を実行します:

root@kitploit:~
blade create k8s pod-cpu fullload   --cpu-percent 80   --kubeconfig ~/.kube/config   --names <pod-name>   --namespace default

注入が成功すると、ChaosBlade は実験の uid を含む JSON 結果を返します。この uid を保存して、後でステータスを確認したり実験を破棄したりします:

root@kitploit:~
{"code":200,"success":true,"result":"<experiment-uid>"}

実験ステータスの確認

root@kitploit:~
blade status <experiment-uid>

復旧(故障の破棄)

訓練後は必ず復旧して、対象を正常な状態に戻します:

root@kitploit:~
blade destroy <experiment-uid>

これで完了です!注入・検証・復旧の完全なサイクルを実行しました。さらに多くのシナリオを試すには、blade create k8s -h を実行するか、クラウドネイティブにおけるカオスエンジニアリング実践 を参照してください。

CLI コマンド

最新の chaosblade ツールキットは Releases からダウンロードして解凍し、使用できます。Kubernetes 関連の故障シナリオを注入する場合は、chaosblade-operator のインストールが必要です。詳細な中国語の使用方法については、chaosblade-help-zh-cn を参照してください。

chaosblade は CLI および HTTP 呼び出し方式をサポートしています。サポートされているコマンドは以下のとおりです:

  • prepare: エイリアスは p。カオスエンジニアリング実験の前の準備。Java アプリケーションを訓練する場合など、java agent をアタッチする必要があります。たとえば、アプリケーション名が business のアプリケーションを訓練するには、対象ホスト上で blade p jvm --process business を実行します。アタッチに成功すると、ステータス照会または agent の取り消し用の uid が返されます。
  • revoke: エイリアスは r。以前のカオスエンジニアリング実験の準備を取り消します。java agent のデタッチなど。コマンドは blade revoke UID です。
  • create: エイリアスは c。カオスエンジニアリング実験を作成します。コマンドは blade create [TARGET] [ACTION] [FLAGS] です。たとえば、Dubbo コンシューマーが xxx.xxx.Service インターフェースを呼び出す際に 3 秒遅延させる場合、実行するコマンドは blade create dubbo delay --consumer --time 3000 --Service xxx.xxx.Service です。注入に成功すると、ステータス照会と実験の破棄のための実験 uid が返されます。
  • destroy: エイリアスは d。カオスエンジニアリング実験を破棄します。前述の Dubbo 遅延実験を破棄する場合など、コマンドは blade destroy UID です。
  • status: エイリアスは s。準備段階または実験のステータスを照会します。コマンドは blade status UID または blade status --type create です。
  • server: Web サーバーを起動し、HTTP サービスを公開して、HTTP リクエストで chaosblade を呼び出します。たとえば、対象マシン xxxx 上で blade server start -p 9526 を実行し、CPU 全負荷実験を実行します:curl "http://xxxx:9526/chaosblade?cmd=create%20cpu%20fullload"

blade help [COMMAND] または blade [COMMAND] -h コマンドでヘルプを表示できます。

体験デモ

chaosblade デモイメージをダウンロードして、blade ツールキットの使用方法を体験してください。

demo.gif

イメージのダウンロードコマンド:

root@kitploit:~
docker pull chaosbladeio/chaosblade-demo

デモコンテナを実行します:

root@kitploit:~
docker run -it --privileged chaosbladeio/chaosblade-demo

コンテナに入ったら、README.txt ファイルを読んでカオス実験を実行できます。お楽しみください。

クラウドネイティブ

chaosblade-operator プロジェクトは、クラウドネイティブプラットフォーム向けのカオス実験注入ツールです。カオス実験モデルに従って実験シナリオを標準化し、実験を Kubernetes CRD リソースとして定義して、実験モデルを Kubernetes リソース属性にマッピングし、カオス実験モデルと Kubernetes の宣言的設計を非常に親和性の高い形で組み合わせています。カオス実験モデルに依存してシナリオを便利に開発できると同時に、Kubernetes の設計概念とうまく統合でき、kubectl やコード記述による Kubernetes API の直接呼び出しを通じてカオス実験を作成、更新、削除できます。また、リソースのステータスで実験の実行状態を明確に示すことができ、Kubernetes の故障注入を標準化します。上記の方法で実験を実行する以外にも、chaosblade cli 方式で kubernetes 実験シナリオを実行し、実験ステータスを非常に便利に照会することもできます。詳細については、中国語ドキュメント クラウドネイティブにおけるカオスエンジニアリング実践 をお読みください。

コンパイル

詳細は BUILD.md を参照してください。

バグとフィードバック

バグ報告、質問、議論については、GitHub Issues に投稿してください。

以下の方法でも連絡できます:

  • Dingding グループ(中国語推奨): 23177705
  • Slack グループ: chaosblade-io
  • Gitter ルーム: chaosblade community
  • メール: [email protected]
  • Twitter: chaosblade.io

コントリビューション

句読点一つであっても、あらゆるコントリビューションを歓迎します。詳細は CONTRIBUTING を参照してください。コミュニティ参加者向けの昇進ラダーについては、Contributor Ladder を参照してください。

企業登録

このオープンソースプロジェクトの当初の意図は、企業におけるカオスエンジニアリング導入のハードルを下げることです。そのため、企業でのプロジェクト活用を非常に重視しています。こちらの ISSUE で登録を歓迎します。登録後、企業メールグループに招待され、カオスエンジニアリングの企業内導入で直面する問題について議論し、導入経験を共有できます。

コントリビューター

コードコントリビューター

このプロジェクトは、コントリビュートしてくださるすべての方々によって成り立っています。[コントリビュート]。

ライセンス

Chaosblade は Apache License, Version 2.0 の下でライセンスされています。完全なライセンス文については LICENSE を参照してください。

ツールをダウンロード