브라우저 확장 프로그램 리버스 엔지니어링은(는) 무엇을 하나요?
ACTION REQUIRED (즉시 수행)
지금:../field-journal/precedent-reverse.md읽기지금: 대상이 브라우저 확장 프로그램(crx/xpi/압축 해제 디렉터리)인지 확인 (일반 웹 JS인 경우 →js-reverse/)다음: 확장 프로그램 압축 해제; 매니페스트 읽기실행: 권한 면 → 백그라운드 스크립트 → 네트워크/저장소 훅
적용 시나리오
- Chrome/Edge MV2/MV3 확장 프로그램 분석
- Firefox 확장 프로그램
- 악성 확장 IOC, 공급망 확장 프로그램 독점 조사
- 확장 프로그램으로 구현된 서명/암호화/프록시 로직 복원
워크플로우
1. 패키지
□ crx 압축 해제 / 프로필에서 확장 디렉터리 가져오기
□ manifest.json: permissions, host_permissions, background, content_scripts
□ 과도한 권한 평가 (<all_urls>, webRequest, debugger)
2. 로직
□ service_worker / background 진입점
□ content_script 주입 지점과 세계(isolated)
□ chrome.storage / IndexedDB 키
□ `js-reverse`와 동일: 네트워크 및 메시지 전달(runtime.sendMessage) 관찰
3. 동적 분석
□ 개발자 모드에서 압축 해제 디렉터리 로드
□ chrome://extensions 에서 오류 확인
□ DevTools에 service worker 연결
□ 필요한 경우 Frida/브라우저 CDP(jshookmcp)
도구 체인
| 도구 | 용도 |
|---|---|
| 압축 해제/jq | 매니페스트 |
| Chrome DevTools | 워커 디버깅 |
| js-reverse 도구 체인 | 심층 JS |
| YARA | 악성 확장 규칙 |
참고
references/extension-analysis.md- field-journal 확장 복구 관련 항목
../js-reverse/../malware-analysis/
라우팅 컨텍스트
상위: MASTER R30
하위: 복잡한 난독화 JS → js-reverse; 독점 조사 → supply-chain / malware
작업 완료 자체 점검
- 권한 면과 진입 스크립트가 나열되었습니까?
- 주요 데이터 흐름이 복구되었습니까?
- 체크리스트 완료?