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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/florianmattana/sass-king
組み込みシステムセキュリティ静的分析コード分析リバースエンジニアリングハードウェアセキュリティハードウェアとIoTセキュリティバイナリ解析論文と研究学習と教育厳選リソースファームウェア解析
GitHubflorianmattana/sass-king

sass-king

NVIDIA SASS命令辞書のリバースエンジニアリング、カーネル監査、およびGPUアーキテクチャ間のパターン認識。

リポジトリを見るウェブサイト
31715594ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

SASS King ロゴ

SASS King

制御されたカーネルからプロダクション監査まで、NVIDIA SASS をリバースエンジニアリングする。

記事1 · 記事2 · 知識ベース · パターンライブラリ · SM120 命令用語集 · エンコーディングノート · ここから始める · プロジェクト構成 · テンソルコア章 · コントリビューション

アーキテクチャ ステータス ライセンス

SASS King は、NVIDIA SASS(コンパイルされた CUDA バイナリ内部に発行されるネイティブ GPU 命令セット)の体系的なリバースエンジニアリングプロジェクトです。このプロジェクトは、SM120 / SM120a コンシューマ向け Blackwell ハードウェアから始まり、時間の経過とともに完全なクロスアーキテクチャ ISA およびパターンライブラリへと拡大していきます。

目的は実用的です。カーネルエンジニアが SASS ダンプを開き、コンパイラパターンを認識し、パフォーマンスに関連する構造を特定し、バイナリをソースレベルの最適化判断に結びつけることができるようにすることです。

プロジェクトは初期のフェーズ3パターンライブラリを完了しました。29 の再利用可能な SASS シグネチャが patterns/ の下で形式化され、knowledge/FINDINGS.md に完全な証拠の連鎖が保持されています。次の主要なステップはフェーズ4です。これらのパターンを実際のプロダクションカーネルに適用することです。

クイックナビゲーション

目的ここから始める次に読む
プロジェクトを10分で理解するdocs/README.mddocs/START_HERE.md、次に docs/PROJECT_STRUCTURE.md
証拠を再現するcorpus/README.md1つの章 conclusion*.md、次にその .sass ダンプ
真実の源泉を見つけるknowledge/FINDINGS.mdknowledge/SASS_INSTRUCTIONS_SM120.md、knowledge/encoding/README.md
新しいダンプでパターンを認識するpatterns/README.md対応する patterns/NN-*.md ページ
プロダクション監査を開始するproduction/README.md対応する PATTERN-NN ページとソース証拠
修正やダンプをコントリビュートするCONTRIBUTING.mddocs/START_HERE.md

リポジトリは証拠パイプラインとして編成されています:

corpus/      制御されたカーネルと生の SASS 証拠
knowledge/   プロジェクト全体の発見、命令ノート、エンコーディングノート
patterns/    再利用可能なフェーズ3監査シグネチャ
production/  フェーズ4本番カーネル監査

存在理由

同様の精神で最後に広く公開された SASS リバースエンジニアリングの取り組みは、2018年の Jia らによる Volta および Turing に関するものでした。Ampere、Hopper、Blackwell では命令ミックスが大幅に変更されています。非同期コピーパス、テンソルコアファミリ、行列ロード/ストア命令、スパースおよびスケーリングされた MMA 形式、新しいユニフォームレジスタフローです。

SASS King は、制御されたマイクロカーネル、生の SASS 読み取り、ランタイムプローブ、および本番カーネル監査を組み合わせることで、そのギャップを埋めます。

現在の状態

領域ステータス場所
SM120 教育用カーネルカーネル01-12 完了corpus/basics/01_vector_add/ から corpus/math_and_spills/12_register_spill/
テンソルコア研究カーネル25 完了corpus/tensor_cores/
全体的な発見現在の真実の源泉knowledge/FINDINGS.md
SM120 命令用語集現在進行中、証拠に基づくknowledge/SASS_INSTRUCTIONS_SM120.md
エンコーディングパイロットLDSM、STSM、QMMA から開始knowledge/encoding/
denvdis 相互検証初期パス完了。制御コードの深いギャップが残るknowledge/DENVDIS_INTEGRATION.md
パターンライブラリ初期フェーズ3ライブラリ完了patterns/
プロダクション監査次のフェーズproduction/

フェーズ3 成果物

正式なパターンライブラリがフェーズ3の主要な成果です。章ごとの証拠を再利用可能な監査シグネチャに変換し、監査が毎回完全な研究の道筋を書き直す代わりに、名前付きパターンを引用できるようにします。

フェーズ3は完了と見なされます。なぜなら:

  • 章01-25で見つかった繰り返しの構造が29の名前付きパターンページに昇格されたこと;
  • すべてのパターンに平易な英語の説明、SASS シグネチャ、バリアント、アンチパターン、未解決のギャップ、信頼レベルが含まれていること;
  • クレームタグは knowledge/FINDINGS.md のソース証拠に限定されたままであること;
  • 監査向けナビゲーションは現在 patterns/README.md から始まること;
  • 未解決の項目は、パターンテキスト内に隠されるのではなく、ギャップとして明示的に先送りされていること。
パターンファミリ例場所
テンソルコア計算HMMA、QMMA、OMMA アキュムレータチェーン; スパースメタデータ; 狭断片patterns/02-* から patterns/04-*、patterns/10-*、patterns/21-*
行列メモリとエピローグLDSM、STSM、非同期コピーパイプライン、REDG リダクションエピローグpatterns/05-*、patterns/06-*、patterns/07-*、patterns/28-*
制御フロー分岐/再収束、ループバックエッジ、述語付き出口、コールドトラップ、ローカル CALLpatterns/08-*、patterns/14-*、patterns/16-*、patterns/26-*、patterns/29-*
メモリとレジスタベクトル化グローバルメモリ、スピル、共有メモリステージング、ディスクリプタ、ユニフォームレジスタフローpatterns/09-*、patterns/11-*、patterns/17-*、patterns/19-*、patterns/20-*
算術とスケジューリングFFMA 融合、定数、MUFU スローパス、スコアボード、ライフタイムリサイクルpatterns/12-*、patterns/18-*、patterns/22-*、patterns/23-*、patterns/24-*
ワープコレクティブワープリダクション、シャッフル/投票/マッチ/同期プリミティブpatterns/01-*、patterns/25-*

各パターンページには以下が含まれます:

  • 平易な英語での意味;
  • SASS シグネチャ;
  • 観測されたバリアント;
  • 解釈の境界;
  • アンチパターン;
  • 未解決のギャップ;
  • 信頼レベル。

patterns/README.md を監査向けのインデックスとして使用します。パターンの背後にあるより長い研究コンテキストが必要な場合は knowledge/FINDINGS.md を使用します。

フェーズ3は、すべての NVIDIA SASS 動作がデコードされたとは主張しません。手動のプロダクション監査を開始するのに十分な、再利用可能な SM120 / SM120a パターンレイヤーを確立します。ランタイムレイアウトデコード、完全な制御コードビット配置、自動化された cubin レポート、クロスアーキテクチャリプレイは将来の作業です。

ここから始める

  • プロジェクトが初めての方: Start Here をお読みください。
  • プロジェクト全体のマップをご希望の場合: knowledge base index をお読みください。
  • 現在の命令マップをご希望の場合: SASS instructions on SM120 / SM120a をお読みください。
  • エンコーディングノートをご希望の場合: encoding notes をお読みください。
  • 生の真実の源泉をご希望の場合: findings をお読みください。
  • 再利用可能な監査シグネチャをご希望の場合: pattern library をお読みください。
  • テンソルコアの証拠をご希望の場合: tensor-core chapters から始めてください。
  • ダンプや修正をコントリビュートしたい場合: contributing をお読みください。
  • v0.1 の境界をご希望の場合: release notes をお読みください。

公開記事:

  • Part 1 - Reading NVIDIA SASS from First Principles
  • Part 2 - Reading the Compiler's Mind

方法論

制御された変動。 2つのカーネルは、dtype、オペランド順序、アンロール係数、メモリレイアウト、またはコンパイルターゲットの1つの変数のみが異なります。SASS の差分により、コンパイラの判断が分離されます。

厳格なクレームタグ。 すべての技術的クレームはタグを使用します:

タグ意味
[OBS]ダンプ、ログ、ランタイム出力、またはプロファイルで直接観測。
[INF]観測された証拠から推論。
[HYP]もっともらしいが未確認。
[RES]以前の仮説が後の証拠で解決された。
[GAP]未解決の質問が明示的に文書化されている。

トップダウンとボトムアップの併用。 マイクロカーネルは個々の命令とコンパイラの判断を分離します。プロダクションライクなカーネルは、どのパターンが実際のコードで重要かを示します。

パターン優先の監査。 プロダクション監査では、可視の SASS シグネチャと一致し、その信頼限界、アンチパターン、未解決のギャップを引き継いだ後にのみ、正式な PATTERN-NN ページを引用する必要があります。

カバー範囲

最初のパスは、SM120 テンソルコアとメモリパイプラインに焦点を当てます:

  • HMMA、QMMA、OMMA
  • LDSM、STSM
  • LDGSTS、LDGDEPBAR、DEPBAR
  • LDG、STG、LDS、STS、REDG
  • BRA、EXIT、BSSY、BSYNC、WARPSYNC
  • SHFL、VOTE、REDUX
  • ユニフォームレジスタフロー:S2UR、R2UR、UMOV、ULEA、LDCU

このプロジェクトは、ISA がまだ完全であると主張するものではありません。公開用語集は観測および説明されたものを追跡し、knowledge/encoding/ の下のより詳細なページは、マッチャースタイルのドキュメントに十分な証拠を持つファミリを追跡します。

SASS King はビットレベルの SASS 逆アセンブラと競合しません。このプロジェクトはローカルダンプを主要な証拠として使用し、命令フィールド、スケジューリングテーブル、述語、レジスタ追跡の相互チェックとして redplait/denvdis を使用することがあります。denvdis は低レベルのエンコーディング解釈を検証できます。SASS King は、制御された変動の証拠、意味パターンレイヤー、およびプロダクション監査の解釈を担当します。

ロードマップ

ツールをダウンロード