
YSoNet は、許可されたセキュリティ研究向けに .NET デシリアライゼーションペイロードを生成します。 対話型ウィザードと、繰り返し作業のためのコマンドラインを備えています。
YSoNet は Alvaro Munoz (@pwntester) によって作成された ysoserial.net のフォークであり、 そのコントリビューターの成果の上に成り立っています。YSoNet は Soroush Dalili (@irsdl) によってメンテナンスされています。
最新リリースをダウンロードし、 はじめにに従って完全な ZIP を展開し、 ウィザードを開きます。このガイドでは Windows/ランタイムの要件、インストール診断、 開発ビルドについて説明しています。
YSoNet は、安全でない .NET オブジェクトデシリアライゼーションを研究するための ユーティリティと、プロパティ指向プログラミングの「ガジェットチェーン」の コレクションです。モジュールが必要とする入力を提供し、互換性のあるフォーマッタを 選択して、生成されたデータを保存します。ターゲット側の効果はチェーン、ランタイム、 アプリケーションによって異なります。使用方法と例および ランタイムエビデンスを参照してください。
脆弱性は、アプリケーションが安全でないデシリアライゼーションを実行することにあり、 クラスパス上にガジェットが存在することではありません。このプロジェクトは Chris Frohoff の ysoserial プロジェクトに 触発されています。
YSoNet のガジェットおよびプラグインカタログをデシリアライゼーションのブロック リストにしないでください。カタログには、すべてのプライベート、将来の、 アプリケーション固有の、あるいは異なる構成のチェーンを含めることはできないため、 ここに記載されているものをブロックしても、安全でないデシリアライザが安全になる わけではありません。それは誤った安心感を生み、攻撃を遅らせるだけです。
アプリケーションを堅牢化するためにこのリポジトリをレビューしている場合は、 ガジェットやプラグインを調査する前に 防御側とレビュアー向けのセキュリティガイダンスをお読みください。 目標は、安全でないデシリアライゼーションを排除するか、固定スキーマのデータのみの 設計に移行することです。厳格な許可リストは、移行をすぐに実行できない場合の 一時的な封じ込めであり、拒否リストは修復ではありません。
完全なドキュメントは docs/ にあります:
./ysonet.exe -f Json.Net -g ObjectDataProvider -o raw -c "calc" -t
クイックリファレンスから始めてください。すべての
オプションは ysonet.exe --fullhelp で、ガジェットまたはプラグインごとのヘルプは
-g NameHere -help または -p NameHere -help で確認できます。詳細は
使用方法と例にあります。
すべてのビルドには、ポータブルな Agent Skill が ysonet.exe の隣の
.claude/skills/ysonet-payloads/ に同梱されています。Claude Code は、展開された
バイナリフォルダから作業する際に、そのプロジェクトスキルを検出します。他の
Agent Skills 互換クライアントも同じフォルダをインポートできます。
このスキルは、コマンドライン、対話モード、すべての公開ガジェットとプラグイン、
それらのフォーマッタ、バリアント、オプション、およびターゲット駆動のペイロード
選択ワークフローをカバーしています。実行中のバイナリの --list、モジュールヘルプ、
--fullhelp をライブの信頼できる情報源として使用します。バイナリフォルダに生成された
CLAUDE.md は不要です。それは標準スキルから乖離する可能性のある、Claude 固有の
指示の二重コピーになってしまいます。
Windows ツールチェーン、ビルドコマンド、CLR2 ホスト、Release トランスフォームに ついては、ビルドとテストを 使用してください。より小さなクローンについては、 アーカイブなしのソースに従ってください。
ビルドとテストでは、自動 Debug チェック、 オプトインの FULL スイート、ランタイム効果のカバレッジ、環境の制限について 説明しています。テスト層を選択する前に読んでください。
セッションのセットアップ、PowerShell 7 の永続的なインストール、ステータスと削除に ついては、PowerShell 補完を使用してください。 補完は実行中のツールからモジュール名とフォーマッタ名を読み取ります。
このソフトウェアは、純粋に学術研究および効果的な防御技術の開発を目的として作成された ものであり、明示的に許可された場合を除き、システムを攻撃するために使用されることを 意図していません。プロジェクトのメンテナは、ソフトウェアの誤用に対して責任や義務を 負いません。責任を持って使用してください。
このソフトウェアは個人プロジェクトであり、プロジェクト所有者やコントリビューターの 雇用主を含む、いかなる企業とも関係ありません。
irsdl/ysonet をフォークし、master から
ブランチを作成し、変更とプルリクエストについては
CONTRIBUTING.mdに従ってください。
アーキテクチャガイドでは、ガジェット、プラグイン、
シリアライザを追加する方法を説明しています。テストを通すためにテストを弱体化
しないでください。
ysoserial.net の作成者である
Alvaro Munoz (@pwntester)、および両プロジェクトの
コントリビューターに特別な感謝を捧げます。YSoNet は
Soroush Dalili (@irsdl) によって開発および
メンテナンスされています。謝辞についてはクレジットを参照するか、
ガジェットとプラグインのクレジットについては ysonet.exe --credit を実行してください。
基盤となる研究については、参考文献を参照してください。
YSoNet は MIT License の下でライセンスされています。このライセンスは、 Alvaro Muñoz の元の ysoserial.net 著作権表示と、Soroush Dalili の YSoNet 著作権表示を 保持しています。両方の表示と MIT 許可表示は、ソフトウェアのすべてのコピーまたは 実質的な部分に残さなければなりません。