Claude Code가 x86-64 어셈블리로 TLS 1.3 클라이언트를 작성하고, 그 위에 브라우저까지 올림
Claude Code wrote a TLS 1.3 client in x86-64 assembly, then a browser on top of it
핵심 요약
Claude Code를 활용해 x86-64 어셈블리만으로 TLS 1.3 클라이언트와 브라우저를 포함한 OS를 개발함.
- 어셈블리 OS 개발 — Claude Code를 사용해 x86-64 어셈블리로만 운영체제 구현함.
- 엄격한 CI 검증 — QEMU 부팅 테스트와 자동 롤백 시스템으로 코드 안정성 확보함.
- 고급 디버깅 기능 — F12로 픽셀을 클릭해 렌더링 호출 체인을 추적하는 기능 제공함.
규칙은 간단함. 오직 어셈블리어로만 작성할 것, 마일스톤당 PR 하나만 허용, 그리고 CI가 QEMU에서 부팅 성공해야만 머지 가능. 한 120개 정도 PR을 날리고 나니까, 이제 셸에 이런 걸 칠 수 있게 됐음:
- `browse https://www.wikipedia.org/`를 치면 자체 TLS 1.3 스택 위에서 브라우저가 뜸.
- `edit kernel/report.asm`으로 함수 하나 바꾸고, `patch kernel/report.asm`을 입력하면 실행 중인 커널에 바로 적용됨. 10초 안에 뻗으면 알아서 롤백까지 해줌.
- `edit mine.asm` 치고 `run mine.asm` 하면 OS 자체 어셈블러로 프로그램을 바로 조립해서 실행함. 뒤에 `&` 붙이면 백그라운드 작업으로 돌아가고, 뻗어도 그 녀석만 뒤짐.
- `glass`을 쓰면 어떤 작업이든 실시간 디버거가 붙음: 레지스터, 디스어셈블리, 스택 다 볼 수 있음. `p` 누르면 일시정지, `s` 누르면 한 줄씩 실행.
- 어디서든 F12 누르고 픽셀 하나 클릭하면, 그걸 그린 호출 체인을 바로 보여줌.
- `top`, `ping`, `host`, `dis`, `break`, `lspci`, 그리고 `crypto x25519 ...` 같은 원시적인 기능들 건드리고 싶으면 맘껏 써보셈.
마우스 돌아가는 데스크톱 환경으로 부팅됨. 오직 QEMU 전용이고, 전부 ring 0에서 돌아감.

