Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
sass-king — Reverse engineering del dizionario delle istruzioni NVIDIA SASS, audit dei kernel e riconoscimento di pattern attraverso le architetture GPU. | Kitploit
Strumenti/GitHubGitHub/florianmattana/sass-king
Sicurezza Sistemi EmbeddedAnalisi StaticaAnalisi del CodiceReverse EngineeringSicurezza HardwareSicurezza Hardware e IoTAnalisi di BinariPaper e RicercaApprendimento e FormazioneRisorse CurateAnalisi del Firmware
31715594 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
GitHub
florianmattana/sass-king

sass-king

Reverse engineering del dizionario delle istruzioni NVIDIA SASS, audit dei kernel e riconoscimento di pattern attraverso le architetture GPU.

Vedi RepositorySito web

Logo di SASS King

SASS King

Reverse engineering di NVIDIA SASS da kernel controllati a audit di produzione.

Articolo 1 · Articolo 2 · Base di conoscenza · Libreria di pattern · Glossario istruzioni SM120 · Note di codifica · Inizia qui · Struttura del progetto · Capitoli tensor core · Contribuire

Architecture Status License

SASS King è un progetto sistematico di reverse engineering per NVIDIA SASS, il set di istruzioni nativo della GPU emesso nei binari CUDA compilati. Il progetto parte dall'hardware consumer Blackwell SM120 / SM120a e si espande nel tempo verso una libreria completa di ISA e pattern multi-architettura.

L'obiettivo è pratico: aiutare un ingegnere di kernel ad aprire un dump SASS, riconoscere pattern del compilatore, identificare strutture rilevanti per le prestazioni e collegare il binario alle decisioni di ottimizzazione a livello di sorgente.

Il progetto ha completato la libreria di pattern iniziale della Fase 3: 29 firme SASS riutilizzabili sono ora formalizzate in patterns/, con knowledge/FINDINGS.md mantenuto come traccia completa delle evidenze. Il prossimo passo importante è la Fase 4: applicare questi pattern a kernel di produzione reali.

Navigazione rapida

Se vuoi...Inizia quiPoi leggi
Capire il progetto in 10 minutidocs/README.mddocs/START_HERE.md, poi docs/PROJECT_STRUCTURE.md
Riprodurre le evidenzecorpus/README.mdun capitolo conclusion*.md, poi il suo dump .sass
Trovare la fonte di veritàknowledge/FINDINGS.mdknowledge/SASS_INSTRUCTIONS_SM120.md, knowledge/encoding/README.md
Riconoscere un pattern in un nuovo dumppatterns/README.mdla pagina patterns/NN-*.md corrispondente
Iniziare un audit di produzioneproduction/README.mdpagine PATTERN-NN corrispondenti e prove sorgente
Contribuire con una correzione o un dumpCONTRIBUTING.mddocs/START_HERE.md

Il repository è organizzato come una pipeline di evidenze:

corpus/      kernel controllati e prove SASS grezze
knowledge/   risultati a livello di progetto, note sulle istruzioni e note di codifica
patterns/    firme di audit riutilizzabili della Fase 3
production/  audit su kernel reali della Fase 4

Perché esiste

L'ultimo lavoro pubblico di reverse engineering SASS ampio e paragonabile per spirito è stato Jia et al. su Volta e Turing nel 2018. Ampere, Hopper e Blackwell hanno cambiato sostanzialmente il mix di istruzioni: percorsi di copia asincrona, famiglie di tensor core, istruzioni di load/store matriciale, forme MMA sparse e scalate, e nuovi flussi di registri uniformi.

SASS King colma questa lacuna combinando micro-kernel controllati, lettura SASS grezza, sonde runtime e audit di kernel di produzione.

Stato attuale

AreaStatoDove
Kernel didattici SM120Completati attraverso i kernel 01-12corpus/basics/01_vector_add/ a corpus/math_and_spills/12_register_spill/
Studi sui tensor coreCompletati attraverso il Kernel 25corpus/tensor_cores/
Risultati globaliFonte di verità attivaknowledge/FINDINGS.md
Glossario istruzioni SM120Attivo, basato su evidenzeknowledge/SASS_INSTRUCTIONS_SM120.md
Piloti di codificaAvviati con LDSM, STSM, QMMAknowledge/encoding/
Convalida incrociata denvdisPrimo passaggio completato; rimangono lacune nei codici di controllo più profondiknowledge/DENVDIS_INTEGRATION.md
Libreria di patternLibreria iniziale Fase 3 completatapatterns/
Audit di produzioneProssima faseproduction/

Risultato della Fase 3

La libreria formale di pattern è il principale output della Fase 3. Trasforma le evidenze locali dei capitoli in firme di audit riutilizzabili, in modo che un audit possa citare un pattern con nome invece di riscrivere ogni volta l'intera traccia di ricerca.

La Fase 3 è considerata completa perché:

  • le strutture ripetute trovate nei capitoli 01-25 sono state promosse in 29 pagine di pattern con nome;
  • ogni pattern ha una spiegazione in inglese semplice, firma SASS, varianti, anti-pattern, lacune aperte e livello di confidenza;
  • i tag delle affermazioni rimangono ancorati alle evidenze sorgente in knowledge/FINDINGS.md;
  • la navigazione orientata all'audit ora parte da patterns/README.md;
  • gli elementi irrisolti vengono esplicitamente portati avanti come lacune anziché essere nascosti all'interno del testo del pattern.
Famiglia di patternEsempiDove
Calcolo tensor coreCatene di accumulatori HMMA, QMMA, OMMA; metadati sparsi; frammenti strettipatterns/02-* a patterns/04-*, patterns/10-*, patterns/21-*
Memoria matriciale ed epiloghiLDSM, STSM, pipeline di copia asincrona, epiloghi di riduzione REDGpatterns/05-*, patterns/06-*, patterns/07-*, patterns/28-*
Flusso di controllodivergenza/riconvergenza, back-edge di loop, uscite predicate, cold trap, CALL localipatterns/08-*, patterns/14-*, patterns/16-*, patterns/26-*, patterns/29-*
Memoria e registrimemoria globale vettorizzata, spill, staging in memoria condivisa, descrittori, flusso di registri uniformipatterns/09-*, patterns/11-*, patterns/17-*, patterns/19-*, patterns/20-*
Aritmetica e schedulingfusione FFMA, costanti, percorsi lenti MUFU, scoreboard, riciclo lifetimepatterns/12-*, patterns/18-*, patterns/22-*, patterns/23-*, patterns/24-*
Collettivi warpriduzioni warp, shuffle/vote/match/sync primitivepatterns/01-*, patterns/25-*

Ogni pagina di pattern include:

  • significato in inglese semplice;
  • firma SASS;
  • varianti osservate;
  • limiti di interpretazione;
  • anti-pattern;
  • lacune aperte;
  • livello di confidenza.

Usa patterns/README.md come indice orientato all'audit. Usa knowledge/FINDINGS.md quando hai bisogno del contesto di ricerca più lungo dietro un pattern.

La Fase 3 non sostiene che ogni comportamento di NVIDIA SASS sia decodificato. Stabilisce un livello di pattern SM120 / SM120a riutilizzabile, sufficientemente buono per iniziare audit manuali di produzione. La decodifica del layout runtime, il posizionamento completo dei bit dei codici di controllo, la reportistica cubin automatizzata e la riproduzione cross-architettura rimangono lavoro futuro.

Inizia qui

Scarica lo strumento