google/jsir

Next-generation JavaScript analysis tooling

해결하는 문제

JSIR는 고수준 소스 표현과 저수준 데이터플로 분석의 균형을 맞춘 JavaScript 코드 분석 및 변환을 가능하게 합니다. 이를 통해 바이트코드를 가독성 있는 JavaScript로 복원하거나, 코드의 난독화를 제거하는 복잡한 작업을 수행할 수 있습니다.

작동 방식

MLIR(Multi-Level Intermediate Representation) 기반의 고수준 중간 표현을 사용합니다. 이 설계는 MLIR 영역을 활용해 제어 흐름 구조를 모델링하여, 추상 구문 트리(AST)로 변환 가능한 충분히 고수준이면서도 상수 전파 및 타인트 분석과 같은 기술적 분석을 지원할 수 있는 저수준성을 갖추고 있습니다.

대상 사용자

JavaScript 코드 분석, 디컴파일링, 난독화 제거에 집중하는 보안 연구자 및 개발자입니다.

주요 기능

  • 정보 손실 없는 변환: 소스로 되돌릴 때 정보를 잃지 않고 변환 가능.
  • MLIR 통합: 고급 분석을 위한 MLIR 프레임워크 활용.
  • 난독화 제거 기능: Gemini와 같은 LLM과 결합하여 난독화된 코드를 정리할 수 있음.
  • 바이트코드 디컴파일링: Hermes 바이트코드를 JavaScript 소스 코드로 복원 가능.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트