Skip to content
KitploitKITPLOIT
도구블로그
Log in
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/florianmattana/sass-king
Embedded Systems SecurityStatic AnalysisCode AnalysisReverse EngineeringHardware SecurityHardware & IoT SecurityBinary AnalysisPapers & ResearchLearning & EducationCurated ResourcesFirmware Analysis
31715594개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
florianmattana/sass-king

sass-king

NVIDIA SASS 명령어 사전의 리버스 엔지니어링, GPU 아키텍처 전반에 걸친 커널 감사 및 패턴 인식.

저장소 보기웹사이트

SASS King 로고

SASS King

제어된 커널부터 프로덕션 감사까지 NVIDIA SASS를 리버스 엔지니어링합니다.

기사 1 · 기사 2 · 지식 기반 · 패턴 라이브러리 · SM120 명령어 용어집 · 인코딩 노트 · 여기서 시작 · 프로젝트 구조 · 텐서 코어 챕터 · 기여하기

Architecture Status License

SASS King은 NVIDIA SASS(컴파일된 CUDA 바이너리 내에서 방출되는 네이티브 GPU 명령어 집합)에 대한 체계적인 리버스 엔지니어링 프로젝트입니다. 이 프로젝트는 SM120 / SM120a 소비자 Blackwell 하드웨어에서 시작하여 시간이 지남에 따라 완전한 크로스 아키텍처 ISA 및 패턴 라이브러리로 확장됩니다.

목표는 실용적입니다: 커널 엔지니어가 SASS 덤프를 열고, 컴파일러 패턴을 인식하고, 성능 관련 구조를 식별하고, 바이너리를 다시 소스 수준 최적화 결정에 연결할 수 있도록 돕습니다.

프로젝트는 초기 Phase 3 패턴 라이브러리를 완료했습니다: 29개의 재사용 가능한 SASS 시그니처가 patterns/ 아래에 공식화되었으며, knowledge/FINDINGS.md는 전체 증거 추적으로 유지됩니다. 다음 주요 단계는 Phase 4: 이러한 패턴을 실제 프로덕션 커널에 적용하는 것입니다.

빠른 탐색

원하는 경우...여기서 시작그런 다음 읽기
프로젝트를 10분 안에 이해하려면docs/README.mddocs/START_HERE.md, 그 다음 docs/PROJECT_STRUCTURE.md
증거를 재현하려면corpus/README.md하나의 챕터 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/    재사용 가능한 Phase 3 감사 시그니처
production/  Phase 4 실제 커널 감사

존재 이유

비슷한 정신의 마지막 광범위한 공개 SASS 리버스 엔지니어링 작업은 2018년 Volta 및 Turing에 대한 Jia 등의 연구였습니다. 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
패턴 라이브러리초기 Phase 3 라이브러리 완료patterns/
프로덕션 감사다음 단계production/

Phase 3 인도물

공식 패턴 라이브러리는 Phase 3의 주요 결과물입니다. 챕터별 증거를 재사용 가능한 감사 시그니처로 변환하여, 감사 시 전체 연구 추적을 매번 다시 작성하는 대신 명명된 패턴을 인용할 수 있습니다.

Phase 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-*
워프 컬렉티브워프 리덕션, shuffle/vote/match/sync 프리미티브patterns/01-*, patterns/25-*

각 패턴 페이지에는 다음이 포함됩니다:

  • 일반 영어 의미;
  • SASS 시그니처;
  • 관찰된 변형;
  • 해석 경계;
  • 안티 패턴;
  • 열린 격차;
  • 신뢰 수준.

감사 지향 색인으로 patterns/README.md를 사용하세요. 패턴 뒤에 있는 더 긴 연구 맥락이 필요하면 knowledge/FINDINGS.md를 사용하세요.

Phase 3은 모든 NVIDIA SASS 동작이 디코딩되었다고 주장하지 않습니다. 수동 프로덕션 감사를 시작하기에 충분한 재사용 가능한 SM120 / SM120a 패턴 레이어를 설정합니다. 런타임 레이아웃 디코드, 전체 제어 코드 비트 배치, 자동화된 cubin 보고 및 크로스 아키텍처 재생은 향후 작업으로 남습니다.

여기서 시작

  • 프로젝트가 새롭다면: 여기서 시작을 읽으세요.
  • 프로젝트 전체 지도를 원한다면: 지식 기반 색인을 읽으세요.
  • 현재 명령어 맵을 원한다면: SM120 / SM120a의 SASS 명령어를 읽으세요.
  • 인코딩 노트를 원한다면: 인코딩 노트를 읽으세요.
  • 원시 진리의 원천을 원한다면: 결과를 읽으세요.
  • 재사용 가능한 감사 시그니처를 원한다면: 패턴 라이브러리를 읽으세요.
  • 텐서 코어 증거를 원한다면: 텐서 코어 챕터로 시작하세요.
  • 덤프나 수정 사항을 기여하려면: 기여하기를 읽으세요.
  • v0.1 경계를 원한다면: 릴리스 노트를 읽으세요.

공개 글:

  • Part 1 - 첫 번째 원칙에서 NVIDIA SASS 읽기
  • Part 2 - 컴파일러의 마음 읽기

방법론

제어된 변형. 두 커널은 정확히 하나의 변수만 다릅니다: dtype, 피연산자 순서, 언롤 팩터, 메모리 레이아웃 또는 컴파일 대상. SASS diff는 컴파일러 결정을 분리합니다.

엄격한 주장 태그. 모든 기술적 주장은 태그를 사용합니다:

태그의미
[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은 제어 변형 증거, 의미 패턴 레이어 및 프로덕션 감사 해석을 소유합니다.

로드맵

도구 다운로드