Tapo 라이브러리, TPAP 지원으로 '제3자 호환' 스위치 꺼도 로컬 제어 가능
- 비공식 Rust/Python 클라이언트 tapo가 v0.11.1에서 TPAP 프로토콜을 지원해, Tapo 앱의 Third-Party Compatibility 스위치를 끈 상태로도 조명, 플러그, 전원 스트립, H100 허브, 일부 카메라를 IP 직접 연결과 discover_devices 양쪽으로 제어할 수 있게 됨. 스위치가 기본값으로 꺼져 있어 펌웨어 1.4.0 이후 403 Forbidden이 돌아오던 문제를 코드 수정 없이 해결함
- TPAP는 SPAKE2+(RFC 9383)로 로그인해서 녹화된 로그인 트래픽으로 오프라인 비밀번호 대입이 불가능하고 나중에 비밀번호를 알아내도 이전 세션을 복호화할 수 없음. 스위치를 켜면 되살아나는 구형 KLAP은 그 둘 다 가능하며, TP-Link FAQ도 활성화 시 기기 보안이 저하될 수 있다고 명시함
- 펌웨어 1.4.0이 2025년 10월 플러그에 TPAP을 도입하고 스위치 뒤로 밀어냈고, 조명은 2026년 상반기 1.4.1에서 1.4.3 사이에 뒤따름. 2023년 2월 카타니아 대학과 로열 할로웨이 연구진이 L530E 전구에서 취약점 4건을 보고한 뒤 KLAP 전환이 시작된 이래 3년 만의 세 번째 차단임
- 약 4개월 작업이 v0.10.0(9월 28일), v0.11.0(10월 2일), v0.11.1(10월 4일) 세 릴리스로 일주일 안에 배포됨. Python 패키지는 Rust 크레이트를 감싼 얇은 래퍼라 같은 버전 번호로 동시에 반영됨
- TPAP 기기는 로그인 실패가 누적되면 일정 시간 모든 로그인을 거부하고 라이브러리는 이를 TPAP_CREDENTIALS로 보고함. C210(펌웨어 1.5.2)처럼 여전히 스위치를 켜야 하는 카메라도 있음
Hacker News opinions
작성자임. tapo는 TP-Link Tapo 기기용 비공식 Rust 클라이언트고, Python 래퍼가 같은 크레이트 위에 올라가 있음. TP-Link와는 아무 관계 없음. 요점은 스위치를 켜면 구형 KLAP 로그인이 되살아난다는 건데, 녹화해둔 KLAP 로그인으로 비밀번호를 오프라인에서 대입해볼 수 있음. SPAKE2+는 그게 안 되고, 나중에 비밀번호를 알아내도 예전 세션은 못 품. 그러니까 '호환성' 스위치는 사실 보안 하향이고, TP-Link FAQ에도 그렇게 적혀 있음.
예전 TP-Link 와이파이 스위치 몇 개 있는데 그 뒤 상황은 안 따라갔음. KLAP이 그 로컬 UDP에 XOR 암호화하던 그 프로토콜임? 아니면 다른 거임? 그리고 TPAP 쓰면 기기를 클라우드에 연결해야 함? 아니면 인터넷 안 물리고 로컬로만 제어하던 예전 방식이 그대로 돌아오는 거임?
이거 좋다. 진작 알았으면 좋았을 텐데.
TP-Link에서 상표명 그만 쓰라고 연락 오는지 지켜봐야 함.
Home Assistant에서 Tapo 로컬 접근이 나아지는 데도 도움이 되면 좋겠음.
좋은 책을 읽으라고 배웠음. AI가 썼든 사람이 썼든 이렇게 쓰면 읽기가 싫음. 다른 거 하고 싶음.
그렇게까지 공격적일 필요 있나. 마음에 안 들면 그냥 넘기면 되는데. 글은 명확하고 요점은 잘 전달됨. 작성자한테 고맙다고 하고 싶음.
뭐가 그렇게 나쁨? 난 괜찮아 보이는데. '이렇게'가 뭘 말하는 거임?
GLM 5.2 이후로는 바이너리만 있으면 닫힌 프로토콜 리버스 엔지니어링이 엄청 쉬워졌음. 예전엔 수작업이 너무 커서 95%는 시도할 가치도 없었는데, 지금은 IDA나 Ghidra MCP에 바이너리 하나, 대충 쓴 지시만 있으면 됨. 최근 모델은 시키지도 않았는데 실행 중인 바이너리를 계측해서 프로토콜을 훑기도 함.
작성자임. 딱히 인정하는 건 아니고, 새 프로토콜 지원 추가하는 데 시간이 별로 안 걸려서 놀랐음. MCP 서버도 필요 없었음.
MCP 없어도 됨. 그냥 에이전트한테 headless Ghidra 스크립트 짜라고 하면 됨. MCP는 잘 깨지고 학습 데이터에 쓰는 법도 별로 없는데, Ghidra 스크립트랑 API 문서는 널려 있음. Android APK나 Java, .NET 바이너리도 AI로 쉽게 풀림.
내가 멍청한 건지 타깃 독자가 아닌 건지 모르겠음. Tapo가 뭔지도 모르는데 기기랑 상호작용하는 라이브러리라는 건 알겠고, 이제 TPAP이란 걸 말한다는 것도 알겠음. TP-Link 나오니까 공유기겠거니 하고 넘어감.
Tapo는 TP-Link의 스마트홈 브랜드로 카메라, 플러그, 전구, 스위치 같은 걸 팖. TPAP은 TP-Link Authentication Protocol이고 802.1X 기반인 걸로 보임.