Claude Code가 저가형 안드로이드 TV 스틱에서 루트 백도어를 찾아내고, Sonnet과 Opus의 상호 검증을 통해 메인라인 리눅스를 설치함
Claude Code found a root backdoor on my cheap Android TV stick, then ported mainline Linux to it over USB, with Sonnet building and Opus auditing every step before anything touched the hardware
핵심 요약
Claude Code를 활용해 악성코드가 심어진 저가형 안드로이드 TV 스틱을 안전한 메인라인 리눅스 기기로 탈바꿈시킨 사례입니다.
- 보안 검증 프로세스 — Sonnet이 코드를 작성하고 Opus가 단계별로 감사하여 하드웨어 손상을 방지함
- 악성코드 탐지 — 기기에 내장된 루트 백도어와 역방향 터널링 바이너리를 성공적으로 식별함
- 하드웨어 디버깅 — 시리얼 콘솔 없이 LED 점멸 패턴과 GPIO 조작만으로 기기 상태를 파악함
- 자동화 워크플로우 — Obsidian 기록과 단계별 승인 절차를 통해 복구 불가능한 작업을 안전하게 수행함
이름도 없는 "DQ10" 안드로이드 TV 스틱(Allwinner H618)을 하나 샀는데, Claude Code한테 "깔끔한 펌웨어로 싹 밀고 안전하게 만들어달라"고 시켰거든. 한 이틀 지나니까 이렇게 됐음:
-
스틱 자체 eMMC에서 메인라인 U-Boot + Armbian(커널 6.18.53)이 돌아감;
-
공장 초기 안드로이드는 완전히 삭제됐고, 까보니까 멀웨어까지 깔려 있었음;
-
Wi-Fi 잘 잡히고 SSH는 키 인증 방식으로만 접속 가능.
납땜 같은 거 하나도 안 했고 시리얼 콘솔도 없었음. 나는 그냥 손발 역할만 했지. 케이블 꽂고, 버튼 누르고, TV 화면 읽어주는 거. 나머지는 다 Claude가 알아서 함.
저장소(스크립트, 디바이스 트리, 플래셔, 전체 런북, 감사 내역, 멀웨어 IOC): https://github.com/itsmeorestis/dq10-h616-linux
세팅
-
윈도우에서 Claude Code CLI 사용, Git Bash, Kali WSL2 배포판, 그리고 usbipd-win으로 스틱 USB를 WSL에 연결.
-
시작할 때 딱 한 가지 규칙을 줬음: "코드는 Sonnet으로 짜고, 감사는 Opus로 해라."
-
The main session (Opus) planned and talked to me, and ran every command against the hardware itself.
-
It spawned a Sonnet subagent as the builder: U-Boot/TF-A configs, the device tree, the image, scripts and tests.
-
Then a separate Opus subagent as the auditor, which only reads and writes a report.
-
Nothing was written to the stick until an audit passed and I said "go".
-
-
내 CLAUDE.md에는 모든 기록이 내 Obsidian 볼트(vault)에 저장되게 해놔서, 어떤 결정을 내렸고 증거는 뭔지, 막혔던 부분은 어디인지 전체 과정을 다 볼 수 있음.


