CLIツール
yaklang/yakit avatar
yaklang/yakit

YakitはGUIだけで終わらない、Yaklang連携型の安全テスト基盤

Yakit は、セキュリティ チームの脆弱性スキャン、脅威ハンティング、資産分析、運用ワークフローをサポートするモジュラー クライアントを中心に構築されたサイバーセキュリティ ツールキットです。

スター 7,738フォーク 824TypeScriptAGPL-3.0
GitHub

ひと目でわかる

これは何?
YakitのgRPC構成、MITM、Web Fuzzer、FuzztagをREADMEの記載から読み解き、許可済み環境での確認点を示す。
誰に向いている?
Yakitは、許可を得た対象を使ってHTTP通信の観察、書き換え、再送、Webファジングを一つの画面で試したいセキュリティ担当者や学習者に向きます。未承認のホストをスキャンする用途には使えません。
商用利用できる?
厳しい条件付きでできます。AGPL-3.0 はネットワーク型コピーレフトのライセンスで、改変版をホスティングサービスなどとしてネットワーク越しに利用させる場合、その利用者にソースコードを同じライセンスで提供する必要があります。
今もメンテナンスされている?
されています。最後のコミットは 1 日前です。
何の言語で書かれている?
主に TypeScript です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

YaklangをGUIから扱う構成

YakitはYaklangの能力をGUIから操作するクライアントとしてREADMEに説明されています。Yaklangはネットワークセキュリティ向けのCDSLで、スタック仮想マシンが実行時状態を保持します。Yakit側にはYak用gRPCサーバーがあり、ローカル起動とリモート配置の両方を選べる構成です。

この説明から、Yakit単体の画面だけを見て機能を判断するのは不十分です。GUI、gRPCサーバー、Yakエンジンの版と接続先を同時に固定する必要があります。READMEは安全テスト能力を広く掲げていますが、各環境での性能や互換性を保証する資料ではありません。

MITMの停止点とHTTPの見え方

MITMモジュールはHTTPプロキシとしてトラフィックを転送し、手動のインターセプトを有効にするとリクエストを止めて画面へ出します。READMEはGzip展開、chunk処理、デコードを行い、人間が読める形にする流れを説明しています。ユーザーはリクエストとレスポンスの確認、編集、再送を行えます。

履歴からRepeaterやIntruderへ渡すワークフロー、受動スキャン、ホットロード、パケット置換、マーキングも記載されています。検証では証明書の導入対象、転送が止まる条件、編集後にContent-Lengthなどがどう扱われるかを確認します。未知の挙動を「修復される」と決めつけず、対象アプリのテストデータで記録します。

Fuzztagで入力生成を組み立てる

Web FuzzerはHTTP原文を入力として送信でき、転送に必要なCRLF、Content-Type、chunk、boundary、Content-Lengthをバックエンドが補完または修正するとREADMEは説明します。Fuzztagには `{{int(1-10)}}` のような整数生成と `{{file(/tmp/username.txt)}}` のような外部辞書参照があります。複数パラメータでは組み合わせを生成でき、Yakスクリプトを動的なタグとして使う例も示されています。

便利さの裏側では、生成数、対象URL、辞書の内容を明示しないとテスト範囲を管理できません。最初はローカルのテストアプリと小さな整数範囲で、送信数とレスポンス差分を確認します。本人確認情報などの実データを辞書へ入れず、許可されたデータだけに限定します。

反連機能は許可範囲を先に固定する

READMEは、Yaklangのプロトコル多重化により一つのポートで複数プロトコルの要求を識別し、応答できると説明しています。Yakitの反連モジュールにはReverse Shell、反連利用、TCP・DNSLog・ICMPの反連検知が含まれます。脆弱性検証やコマンド実行の確認に関係する機能ですが、遠隔端末を操作できる性質を持つため、対象と時間を明示した環境に限定します。

検証ログには待受ポート、Payload、受信したプロトコル、終了操作を残します。READMEの機能説明は、実際のネットワークで通ることや安全であることの証明ではありません。外部へ出るDNSやICMPを使う場合は、組織の規則と通信経路を先に確認します。

導入とAGPL-3.0の確認

READMEは公式サイトからのダウンロードと公式ドキュメントを導入入口として示し、Yakitの技術記事と技術白書へのリンクを置いています。素材のメタデータでは主要言語はTypeScript、ライセンスはAGPL-3.0、既定ブランチはmasterです。配布や改変を行う場合はLICENSE.mdと実際の構成を照合します。

導入時はGUI版、Yakエンジン、gRPCサーバーの取得元と版を記録し、まずローカルで起動します。プロキシ証明書が端末の信頼ストアへ加わる場合は、検証後に削除できる手順を用意します。READMEにない依存関係や商用利用条件は公式文書と権利者の案内で補います。

Yakitを使う人の最初の判定

合法な企業セキュリティ構築、許可済みのペネトレーションテスト、個人学習のために自分で用意した標的環境がREADMEの免責に合う範囲です。未承認の対象へスキャンしないこと、商用利用には公式許可が必要とされることも明記されています。

採用前は、ローカル標的でMITMの証明書、Historyからの再送、Fuzztagの送信数、反連検知の受信ログを順に検証します。出力したスクリプト、辞書、通信記録の保存先と削除手順を決め、期待した範囲を超える通信が出たら利用を止めます。star数ではなく、この確認結果とライセンス条件で判断します。

追加試験では、MITMで送信前後のHTTP原文を保存し、Gzip、chunk、boundary、Content-Lengthの各差分を確認します。次にFuzztagの生成値と実送信数を照合し、反連機能では待受ポートとプロトコル判定を隔離ネットワークで記録します。Yakit、Yak、gRPCサーバーの版を別々に控え、どの層で結果が変わったかを残します。

追加の判定では、設定を一つ変えるたびに実行前の版、入力、権限、接続先、実行時刻を保存します。成功した結果だけでなく、入力が空の場合、権限がない場合、接続が切れた場合、処理を途中で止めた場合の表示とログも比較します。結果が期待と異なるときは、データ、設定、依存関係、外部サービスのどこに差があるかを分けて調べます。確認できない挙動を機能として扱わず、再現できた条件と未確認の条件を採用記録に残します。

編集部の結論

Yakitは、許可を得た対象を使ってHTTP通信の観察、書き換え、再送、Webファジングを一つの画面で試したいセキュリティ担当者や学習者に向きます。未承認のホストをスキャンする用途には使えません。最初に隔離した検証環境で証明書導入、MITMの停止と再開、履歴からの再送、Fuzztagの入力範囲を確認し、取得した通信と実行スクリプトを保存してください。

公式情報源

  1. Official README
  2. Project repository
  3. Release notes
コミュニティノート

コミュニティノート