Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Project-Onyx — AIテレメトリ・スプーフィングとWASMサンドボックスによる高度なEDR回避。Project Onyxは、最新のEDRシステムに対する高度な回避技術を実証するために設計されたPoCレッドチームパイプラインです。従来のシグネチャベースの難読化から、行動的カモフラージュと厳格な環境キーイングへと移行します。 | Kitploit
ツール/GitHubGitHub/x-3306/project-onyx
リバースエンジニアリングシェルコードステガノグラフィー暗号化コマンド&コントロール学習と教育レッドチーミングペイロード開発AIセキュリティ
GitHubx-3306/project-onyx

Project-Onyx

AIテレメトリ・スプーフィングとWASMサンドボックスによる高度なEDR回避。Project Onyxは、最新のEDRシステムに対する高度な回避技術を実証するために設計されたPoCレッドチームパイプラインです。従来のシグネチャベースの難読化から、行動的カモフラージュと厳格な環境キーイングへと移行します。

115167712日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る

Banner

Project Onyx

AIテレメトリ・スプーフィングとWASMサンドボックスによる高度なEDR回避。Project Onyxは、最新のEDRシステムに対する高度な回避技術を実証するために設計されたPoCレッドチーム・パイプラインです。従来のシグネチャベースの難読化から、行動カモフラージュと厳格な環境キーイングへと軸足を移しています。

このプロジェクトは、型にはまらない多層実行パイプラインを研究する、概念実証(PoC)レッドチーム研究です。このアーキテクチャは、AIテレメトリ・カモフラージュ、ハードウェア連動型の環境キーイング、ONNXウェイト・ステガノグラフィ、インメモリWebAssemblyサンドボックス、ダウンリンクモデル更新によるDead-Drop C2という5つの異なる技術を連結し、単一の機能的な配信チェーンを構成します。

Project Onyxは、本番EDRシステムの実用的なバイパスを主張するものではありません。これはアーキテクチャのスケッチです。各コンポーネントはチェーンの一部として実装され機能しますが、各レイヤーが実際の防御に対して意味を持つには、それぞれ専用の研究が必要です。Project Onyxは、その種の探索のための構造化された出発点として理解するのが最適です。 ランタイムペイロードは意図的にハートビートビーコンに限定されており、破壊的または侵害後(post-exploitation)の動作を同梱することなく、パイプライン全体を調査できます。

コアコンセプト / 更新 = Project Onyx v2

  1. AIデコイ(行動カモフラージュ): 現在、Project OnyxはHugging FaceのONNX Model Zooミラーから取得した正規のSqueezeNet 1.0 ONNX画像分類モデルを埋め込みます。WebAssemblyハートビートモジュールが実行される前に、ホストはMicrosoftのonnxruntimeを使用して実際のテンソル推論ワークロードを繰り返し実行します。これにより、ONNXアーティファクトは、以前の小さなMLPのような装飾的なファイルではなく、パイプラインのアクティブな一部となります。
  2. 環境キーイング: これは、正確なターゲットマシンにアクセスできない場合のサンドボックス解析とリバースエンジニアリングのハードルを大幅に引き上げます。復号キーは、ターゲットのMachineGuid、Volume Serial Number、および現在のユーザーのSIDのSHA-256ハッシュから動的に導出されます。
  3. WASMサンドボックス: 実際のペイロードはWebAssembly(WASM)にコンパイルされ、wasm3インタプリタを使用して完全にインメモリで実行されます。ホストC++アプリケーションは単なるローダー兼APIブリッジとして機能し、安全なホスト関数をWASMサンドボックスに公開します。
  4. ONNXウェイト・ヴォールト: WebAssemblyハートビートモジュールの復号に必要なAES-256鍵素材は、float32 ONNXウェイトの仮数部の最下位ビット(LSB)に埋め込まれます。ホストは埋め込まれたモデルバイトからこのウェイト・ヴォールトを抽出して認証し、その後に初めてデモ鍵素材を復元します。
  5. メタデータ・ヴォールトのフォールバック: 元の認証済みメタデータ・ヴォールトは、互換性とビルド時の検証のために残されています。新しいアセットはウェイト・ヴォールトを優先し、メタデータ・ヴォールトは同じ保護対象素材をより検査しやすい形式で文書化します。
  6. ダウンリンクモデル更新によるDead-Drop C2: このパイプラインは、ONNXモデル更新を使用した秘匿通信チャネルを実証します。オペレータは、ファインチューニング中に自然に変化したウェイトのLSB内に認証済みディレクティブを埋め込むことができます。これらの変更は、更新モデルとリファレンス(ベース)モデル間のデルタ解析によって特定されます。安全なPoCスコープを維持するため、ランタイムはheartbeat_ackとset_statusディレクティブのみを厳格に受け入れ、任意のコマンド実行を有効にせずにチャネルの実現可能性を実証します。

Project Onyx Chain

強く推奨

完全なエンドツーエンドの技術スケッチについては、docs/architecture.mdを参照してください。(理解を深めるために推奨します。)

また、プロセス全体(私が犯したミス、途中で検討したコンセプトやアイデア、Project Onyxの構築中に直面したアーキテクチャ上のトレードオフ)は、Medium をご覧ください。

法的免責事項

このプロジェクトは、教育目的、セキュリティ研究、および許可されたレッドチーム運用のためだけに作成されています。

このリポジトリ(Project Onyx)で実証されている技術は、セキュリティ専門家が高度な回避方法を理解し、エンドポイント防御(EDR/XDR)を改善するのに役立つことを目的としています。

このソフトウェアを、自分が所有していない、または明示的な書面によるテスト許可を得ていないシステムやネットワークで使用しないでください。

このプロジェクトの作者(X-3306)は、このソフトウェアの使用によって引き起こされた誤用、損害、または違法行為について一切の責任を負いません。このコードをダウンロード、コンパイル、または使用することにより、あなたは自分の行動に対して全責任を負うことに同意したものとみなされます。

リポジトリ構成

  • DiagnosticsTool.cpp - C++ WindowsホストとWasm3/ONNX統合。
  • DiagnosticsTool.rc / resource.h - 生成されたアセットのリソースバインディング。
  • build.py - フィンガープリント取得、ONNXベイト生成、ウェイト・ヴォールト埋め込み、メタデータ・ヴォールト互換性、ダウンリンクモデル更新によるDead-Drop C2、WASM暗号化のためのヘルパー。
  • wasm_license_module/ - WebAssemblyハートビートモジュール用のRustソース。
  • wasm3/source/ - CMakeビルドに必要な最小限のベンダリング済みWasm3ソース。
  • assets/README2.md - 生成されたアセットの形式。
  • docs/architecture.md - 完全なランタイムチェーンとアーキテクチャに関するメモ。

前提条件

ビルド前にWindowsに以下をインストールしてください:

  • C++によるデスクトップ開発を含むVisual Studio 2022。
  • CMake 3.25以降。
  • Python 3.10以降。
  • RustupとCargo。
  • Git。

Pythonの依存関係:

py -m pip install onnx numpy cryptography

Rustターゲット:

rustup target add wasm32-unknown-unknown

ONNX Runtime静的ビルド

CMakeファイルは、./onnxruntimeにONNX Runtimeのソース/ビルドツリーがあることを想定し、以下の静的コンポーネントライブラリをリンクします:

  • onnxruntime/build/Windows/Release/Release
  • onnxruntime/build/Windows/Release/vcpkg_installed/x64-windows-static-md/lib

VS 2022用の開発者PowerShellから、ONNX Runtimeを次のようにビルドします:

git clone --recursive https://github.com/microsoft/onnxruntime.git onnxruntime
.\onnxruntime\build.bat --config Release --parallel --compile_no_warning_as_error --skip_tests --build_shared_lib --use_vcpkg --cmake_extra_defines VCPKG_TARGET_TRIPLET=x64-windows-static-md onnxruntime_BUILD_UNIT_TESTS=OFF

生成されたonnxruntime.dllはProject Onyxには同梱されません。Project Onyxは静的コンポーネントの.libファイルをリンクするため、最終実行ファイルのdumpbin /DEPENDENTSにはonnxruntime.dllが表示されないはずです。

アセットの生成

現在のWindowsデバイスのフィンガープリントハッシュを取得します:

python build.py fingerprint --show-components

2番目に出力される行を--trigger値として使用します。

Rust WebAssemblyモジュールをビルドします:

cargo build --manifest-path wasm_license_module/Cargo.toml --target wasm32-unknown-unknown --release

assets/model.onnxとassets/license_module.wasm.aesを生成します:

python build.py build `
  --trigger "<64-char lowercase fingerprint hash>" `
  --secret "<exactly-32-demo-key-chars>" `
  --model-output assets/model.onnx `
  --wasm-input wasm_license_module/target/wasm32-unknown-unknown/release/wasm_license_module.wasm `
  --wasm-output assets/license_module.wasm.aes

ONNXヴォールトを検証します:

python build.py verify --trigger "<64-char lowercase fingerprint hash>" --model assets/model.onnx

検証コマンドは、レガシーのメタデータ・ヴォールトと隠しONNXウェイト・ヴォールトの両方をチェックします。両方とも同じ32文字のデモ鍵素材をロック解除できなければなりません。

実ONNXモデル

デフォルトのキャリアはSqueezeNet 1.0 opset 12です:

  • ソース: onnxmodelzoo/squeezenet1.0-12
  • ファイル: assets/base/squeezenet1.0-12.onnx
  • ライセンス: Hugging Faceモデルカード上のApache-2.0
  • 入力: data_0、float[1, 3, 224, 224]
  • 出力: softmaxout_1、float[1, 1000, 1, 1]
  • サイズ: 約4.95 MB
  • float32ウェイト: 約123万個

同梱のベースモデルを取得または検証します:

python build.py fetch-model

build.py buildはこの実モデルをコピーし、Project Onyxメタデータを追加し、認証済みONNXウェイト・ヴォールトをfloat32イニシャライザのLSBに埋め込み、最終的なリファレンスモデルをassets/model.onnxに書き込みます。

モデル更新ダウンリンクによるハートビート専用Dead-Drop C2

追加のダウンリンクは、通常のONNXモデル更新が認証済みの小さな制御信号を単純なPoCとして運べるかどうかをテストするための研究拡張です。これは意図的に2つの安全なディレクティブに制限されています:

  • heartbeat_ack - ランタイムのハートビートステータスをheartbeat_ackに変更します。
  • set_status - ランタイムのハートビートステータスを、lab_downlink_ackなどのオペレータが選択した安全な文字列に変更します。

ラボ用更新モデルを作成します:

python build.py downlink-build `
  --trigger "<64-char lowercase fingerprint hash>" `
  --reference-model assets/model.onnx `
  --output assets/downlink_update.onnx `
  --command set_status `
  --status lab_C2_test `
  --expires-unix 4102444800 `
  --cover-seed 2026 `
  --cover-fraction 0.08 `
  --cover-noise-scale 0.00004

使用前に検証します:

python build.py downlink-verify `
  --trigger "<64-char lowercase fingerprint hash>" `
  --reference-model assets/model.onnx `
  --model assets/downlink_update.onnx

Webhookとモデル設定

raw HTTPSモデルアーティファクト(公開リリースアセットなど)を指定します:

$env:PROJECT_ONYX_DOWNLINK_MODEL_URL = "https://huggingface.co/<profile>/<repo>/resolve/main/downlink_update.onnx"
.\build\Release\ProjectOnyx.exe

またはSlack/TeamsのWebhookを使用します:

Project Onyxは実際のWebhook URLを埋め込んでいません。許可されたラボ実行の場合は、以下を設定してください:

変数はProjectOnyx.exeを起動するプロセスから参照できる必要があります。実行ファイルをダブルクリックする場合は、先にユーザーまたはシステム環境変数として設定し、新しいターミナルを開くかExplorerを再起動してから、ローカルの更新モデルを使用してネイティブホストを実行します:

$env:PROJECT_ONYX_DOWNLINK_MODEL_PATH = "$($PWD.Path)\assets\downlink_update.onnx"; $env:PROJECT_ONYX_SLACK_WEBHOOK_URL = "https://hooks.slack.com/services/..."; .\build\Release\ProjectOnyx.exe

(Teamsも使用できます)

ランタイムは起動時に1回だけフェッチ/読み取りを実行します。ポーリング、永続化、ダウンロードしたコードの実行、任意のコマンドの処理は行いません。無効、期限切れ、無関係、または認証されていないモデル更新は無視されます。

ランタイム検証用の調整項目:

$env:PROJECT_ONYX_ONNX_TELEMETRY_PASSES = "24"
$env:PROJECT_ONYX_REQUIRE_ONNX_TELEMETRY = "1"
$env:PROJECT_ONYX_LAB_OUTPUT_PATH = "$($PWD.Path)\assets\lab_heartbeat.json"

重要、お読みください:リファレンスモデル、ファインチューニング、自然なデルタ

PROJECT_ONYX_ONNX_TELEMETRY_PASSESは、ヴォールトのロック解除パスが続行する前に実行される実際のONNX Runtime推論の回数を制御します。PROJECT_ONYX_REQUIRE_ONNX_TELEMETRY=1はテレメトリの失敗をハード障害に変換します。これはONNXステージがスキップされていないことを検証する際に役立ちます。PROJECT_ONYX_LAB_OUTPUT_PATHは、Webhookを必要とせずにラボ検証用の最終ハートビートJSONをローカルファイルに書き込みます。

ツールをダウンロード