Egret GT 전동킥보드 리버싱: USB-C 핀에 숨은 CAN 버스와 Rust 펌웨어 재작성

Egret GT 전동킥보드 리버싱: USB-C 핀에 숨은 CAN 버스와 Rust 펌웨어 재작성

  • Egret GT 전동킥보드의 USB-C 포트 데이터 핀 두 개가 CAN 버스로 쓰이고 있었고, ESP32-C6와 SN65HVD230, MCP2515로 스니퍼를 만들어 부팅 시퀀스 메시지를 기록함
  • 디스플레이 유닛 펌웨어를 Rust로 새로 작성했으며, Slint는 빈 UI만 넣어도 플래시 한계를 넘겨서 buoyant를 택함
  • 전원을 켤 때 down 버튼을 누르면 펌웨어 업데이트 모드로 진입하고, 그 메뉴에서 나오면 PIN 없이 주행 모드로 들어가는 문제가 있었음
  • 스쿠터는 앱이 접속해 설정하기 전까지 VIN을 모르며, 앱은 주행 모드별 시간, 배터리 전압, 충전 이력을 제조사에 전송하는데 앱에는 명시되지 않음
  • 독일 StVO 위반 소지가 있으나, 브레이크 레버 센서가 모터 컨트롤러에 직접 연결돼 있어 디스플레이 펌웨어 교체로 안전 기능이 바뀌지는 않음

Hacker News 의견들

이런 거 만지는 사람들 진짜 조심해야 함. 거리에서 보면 제한 우회한 킥보드 타는 애들 많은데 결국 다침.

LLM 덕분에 이런 것도 할 수 있게 됐다는 게 좋음. 나도 예전엔 엄두도 못 냈는데.

나도 이번 봄에 전동킥보드 사서 공식 앱이랑 BLE 로그 리버싱해서 앱 직접 만들었음. 펌웨어까지 건드릴 용기는 없더라.

64바이트 청크를 CAN 0x384 프레임 9개로 나눠 보낸다니, 클래식 CAN은 프레임이 8바이트인데 typo 아님? CAN-FD 쓰는 거 아닌가.

ISO-TP 같은 멀티패킷 프레이밍일 거임. 아마 typo일 듯.

나도 하드웨어에 Rust 쓰는 중. 지난주엔 마우스, 이번 주엔 EUC. 메모리 오염보다는 크래시가 낫지.

EUC가 뭐임? 그리고 킥보드 크래시 나는 건 싫은데 ㅋㅋ

Slint 먼저 써봤는데 빈 UI만 넣어도 플래시를 다 먹어서 buoyant로 감. slint는 allocator도 필요함.

브릭 안 나게 어떻게 디버깅했는지 궁금함. SWD 프로브 씀이냐 아니면 그냥 믿음이냐.

처음엔 디스플레이 뜯어서 SWD 프로브 썼음. 주변장치 드라이버 포팅할 때 필요했고, 안정된 뒤에 실물 스쿠터에서 테스트함.

Bosch 같은 데 좀 풀어줘야 함. 오픈소스 라이브러리는 잔뜩 쓰면서 배터리 같은 건 다 막아놔서 서드파티 배터리를 못 씀.

서드파티 부품 쓰면 안전이랑 신뢰성 문제가 진짜 많음. 돈 때문만은 아니고 생태계 만드는 게 폐쇄하는 것보다 훨씬 비쌈. 경쟁 제품이 열려 있으면 그게 차별점이 돼서 시장이 움직임.

이런 거 할 바엔 그냥 하드웨어 케이스 뜯어버리고 아두이노나 SBC로 갈아버리는 게 훨씬 빠르고 덜 지루함.

독일에선 공도에서 쓰려면 인증된 기기여야 함. 사고 나면 보험 적용도 안 되고 상황이 더 나빠질 수 있음.

StVO 위반인 건 맞는데 원래 펌웨어로 되돌릴 수 있음. 브레이크 레버 센서는 모터 컨트롤러에 직접 물려 있고 디스플레이가 스로틀 위치를 계속 보고해야 해서, 디스플레이에 악의적 코드가 없으면 문제 없음.

USB-C 핀을 CAN으로 쓴다니 끔찍함. SBU1, SBU2 같은 전용 핀도 있는데 왜 그랬담.

비용 때문임. 1억 대에 1센트 아끼면 100만 달러니까.

해커뉴스
PyO3로 파이썬 안에서 Rust 돌리기: 경계를 넘는 비용은 파싱보다 크다StarTalk 특별편에 Jaron Lanier 출연: AI는 독립된 존재가 아니라 사람이라는 주장, 해커뉴스는 AI 탓이 책임 회피라는 논쟁숀 캐럴 '우주의 가장 큰 아이디어' 풀 인터뷰, 빅씽크가 1시간 26분 영상으로 공개브라이언 캔트릴, "10년 내 AI가 인류 멸종시킬 확률 10% 이상" 주장에 두려움의 전염성이라 반박Julia 1.13 공개: 패키지 사전컴파일 30% 단축, 시작 속도 20% 개선케임브리지 애널리티카 소송 문서 공개: 2017년 주커버그가 내부에 "그들이 실제로 뭘 했는지 설명해 달라"고 물었다FTC, GM에 5년간 고객 데이터 판매 금지 … 급가속·야간운전 기록이 보험료로 돌아온 구조클로드 Fable 5.1, 370년 미해결 Urquhart 암호 Cyphral Distich를 44분에 해독Tesla의 pool-ntp.tesla.com CNAME 때문에 NTP Pool 자원봉사자 서버가 Assetnote 익스플로잇 스캔 8,000건을 맞음구글 자체 Gemini는 '부적합' 판정한 가짜 iOS 경고 광고, 구글 심사는 두 번 승인사라진 PC 키보드 기호들: ⇧ ↵ ⇥ 화살표 넷만 살아남고 Print Screen·Insert·key beep 아이콘은 사라짐Rust와 Tokio로 다시 구현한 사용자 공간 AppleTalk 스택 TailTalk, 커널 지원 제거에 대응폴 그레이엄, 새 에세이에서 창업자에게 "이 회사를 더 강하게 만들려면?"을 묻으라고 조언데이비드 색스, OpenAI·Anthropic에 "규제 승인 없이 알아서 프론티어 속도 늦춰라"CUDA 앱을 AMD GPU에서 돌리는 Windows 저장소 공개, ZLUDA와 ROCm/HIP 조합으로 RX 9060 XT에서 검증태양 내부 '지문'으로 초기 태양이 초지구를 삼켰는지 확인 가능성 제기x86 ud2 명령은 왜 '2'인가: 0F FF가 ud0, 0F B9가 ud1로 소급 명명된 사연YC 개리 탄 "미국 오픈웨이트 랩도 프런티어 모델 증류해야 한다", 해커뉴스서 합법성·경제성 논쟁Egret GT 전동킥보드 리버싱: USB-C 핀에 숨은 CAN 버스와 Rust 펌웨어 재작성체스 평가에서 상대 엔진 소켓 악용... GPT-6-Astra는 10회 전부 치팅, Fable 5.1은 3회Homebrew 7.0.0 공개, 설치·업그레이드 속도 개선과 함께 macOS 10.15 지원 종료, 인텔 맥은 Tier 3로 전환홈랩에서 리제강 링 재현 시도, 발암성 시약 앞에서 좌초AI 정렬은 누구에게 맞추는가, 허용 가능한 지름길은 사람마다 다르다Claude Code·Codex·Cursor를 한 워크스페이스에, 에이전트 AI 연구용 IDE 'AgentsDock' 베타 공개WiFi 없는 Mitsubishi 에어컨을 ESPHome으로 Home Assistant에 붙인 삽질기OpenAI의 Navier-Stokes 해법에 수학자들 반박, 형식 증명이 이해는 아니다Armin Ronacher, Dario Amodei의 'Pacing the Frontier'에 반박: 오픈 웨이트가 곧 자동 페이싱시애틀 '임시 컴퓨터 박물관(ICM), 폴 앨런 컬렉션의 뒤를 잇다JetKVM Mini, $39 이더넷·$42 무선 모델 공개. ESP32-P4X 하나로 1080p 원격 KVM 구현벤지오, AI 에이전트가 거짓말하고 협력하는 이유를 훈련 구조에서 분석LuaLaTeX와 MetaPost로 20종의 고전 과학 논문 지면을 재현한 예제 모음Signal 자동 키 검증, Trail of Bits가 세 감사자 중 하나로 Merkle 트리 일관성 검증카맥, AI 시대 손코딩을 무술의 '-도'에 비유하며 '낡은 쿵푸 고수' 경계7G는 번호 경쟁이 아니라 6G로 풀 수 없는 문제에서만 정당화돼야 한다는 논문Bun의 24분 Zig 빌드와 5분 Rust 빌드 차이를 추적하려 만든 buildprofApple M3 Neural Engine, 1MiB 배수 가중치 전송에서 17-19GB/s로 급락2005년 애플 iPod 각인 미리보기, JPEG와 ImageMagick으로 실시간 구현비공개 기업 코드로 평가한 Real-SWE, Fable 5.1 해결률 38.8%LG, 스마트 TV ACR 데이터 수집 보도에 반박했다는 Gamers Nexus 영상고양이 귀와 은행 잔고를 내세워 'AI 개발 속도 조절' 요구를 풍자한 글Anthropic, 작은 트랜스포머의 인컨텍스트 학습을 설명하는 '인덕션 헤드' 제시8087 FSCALE는 140개 넘는 마이크로명령과 3단계 서브루틴 호출로 예외를 처리함Linux Zoom 7.1.5, X11 CLIPBOARD 변경 때마다 즉시 붙여넣기 요청2024 to 2026 WebAssembly 런타임 벤치마크, Wasmer 선두와 wide_arithmetic의 암호 연산 효과존 디어, 센서 케이블 연결로 자가 수리 서비스 시연했지만 농민은 구독·DRM에 반발Rust, 2년 넘게 미뤄진 never 타입 ! 안정화와 2024 에디션 추론 변경실제 Claude Code 추적 재현에서 agentic KV 캐시 정책 3종이 radix-leaf LRU에 모두 패배Android 16 NAT-T 유지 패킷이 Always-on VPN 잠금 밖으로 UDP/4500 전송JOSM 플러그인으로 OSM 첫 편집에서 상점 공식 웹사이트 태그 추가하기LG, 2억1600만 대 TV 감청 주장 부인하며 ACR은 오디오 지문 처리라고 설명엔비디아, 고객 칩 구매에 최대 $5000억 보증하며 AI 산업의 자금줄로 부상폴더블 웹 레이아웃용 CSS 뷰포트 세그먼트, Edge만 안정 지원iLands AI 에이전트가 프리랜서 기자에게 3일간 연구 대행 영업 메일을 12통 이상 발송발가락 목표점에서 시작하는 다리 IK와 런타임 발 고정 구현법1981년부터 현재까지 유즈넷 글을 검색하는 Usenet-Rewind, 구글 그룹스 대안으로 등장다리오 아모데이, AI 능력 향상 속도 늦추고 외부 검증 시간 확보하자 제안M1 애플 뉴럴 엔진, CNN용 데이터 흐름이 트랜스포머에 맞지 않았던 이유생성형 AI 없이도 C++ 게임 엔진을 만드는 이유: 재미와 학습을 위해 계속 만든다IKEA, 스카이림 무료 모드 'KALLAX STORAGEBORN' 공개안드로이드, VPN 차단을 켜도 권한 없는 앱이 UDP 4500 패킷으로 실제 IP 노출 가능오대호 철갑상어, 44년 포획 자료 분석에서 최대 400년 수명 가능성 제기Google DeepMind, 가능한 DNA 변이 90억 개를 매핑했다고 발표CCC의 Project Blinkenlights, 건물 외벽을 96×32픽셀 인터랙티브 화면으로 만든 기록Litelm, LiteLLM 기능을 덜어낸 경량 LLM 호출 호환층 공개Snap!, Scratch 확장에서 출발한 블록 언어로 일급 프로시저·연속성까지 지원CMI 나비에-스토크스 공지 페이지, 제공 본문에는 발표문 없이 2026년 뉴스 목록만 표시차빈 데 우안타르 뼈관 21점에서 담배와 빌카 환각성분 흔적 확인구글, 핀란드 AI 데이터센터에 130억 유로 투자하고 로비사 원전 전력 절반 22년 계약구글 검색, 결과 링크를 해독 불가한 google.com/goto 리디렉션으로 전환Rune, Go로 만든 네이티브 IDE를 GPLv3로 공개하고 기여자 수익 배분 제도 예고Brown 연구진, async/await 런타임 7종의 관찰 가능한 의미론을 9개 설계 축으로 분류141가지 신체 현상을 부위·유형별로 정리한 Show HN, 제작자는 AI 사용과 위키백과 출처 공개Tinybird 공동창업자, ClickHouse 18.4부터 6년간 페타바이트 클러스터 운영 경험 정리GrapheneOS, Jetpack Compose·Material 3로 다시 만든 Messages 13 공개MIT Logo 소개: 거북이 그래픽으로 배우는 Lisp 계열 언어의 대화형·확장형 설계구글 앱 광고 $220 집행 뒤, 청구 설치 56건 중 33건에서 봇팜 의심 패턴 발견EPA, 데이터센터 등 산업시설 대기오염 허가의 주민 통지·의견수렴 의무 폐지 추진조사팀, OpenAI 에이전트가 RubyGems에 2,480개 패키지를 올려 API 키 탈취를 시도했다고 주장필즈상 수상자 25명, AI의 수학 문제 풀이 경쟁이 인간의 이해와 전승을 해친다고 경고RTK, Terminal-Bench에서 DeepSeek 비용 평균 17% 증가Magit의 Git 워크트리 단축키와 AI 에이전트 병렬 작업 흐름 정리성과 없이 경쟁만 격화되는 상태를 뜻하는 중국어 '네이쥐안'IAEA가 설명한 체렌코프 복사, 물속 빛보다 빠른 하전 입자가 만드는 청색광웨이모식 편의가 연구 협업자를 LLM으로 대체한다는 주장HN 이용자들, AI 글 쏠림과 비AI 기술 글 노출 감소를 두고 필터·편집 필요성 논쟁Anthropic, Claude를 18세 이상 전용으로 전환하고 Yoti 연령 인증 도입같은 오픈 모델도 OpenRouter 공급자에 따라 도구 호출 점수가 20점 넘게 갈렸다ERSC, Git 프로토콜은 유지하고 자체 스토리지 엔진으로 차세대 VCS를 만들겠다고 주장구글, Alt+Space로 호출하는 Windows용 Gemini 데스크톱 앱 출시로컬 Qwen 27B에서 코딩 하네스 9종 비교, OpenCode 첫 응답 226초·Chad 26초90분 중강도 사이클링과 6회 30초 전력질주, 일부 심대사 바이오마커 변화가 비슷YuE2, 기호 악보를 먼저 만들고 보컬·반주로 렌더링하는 음악 생성 모델 공개System76, GPU 메모리 최대 192GB의 Thelio Mira AI 리눅스 워크스테이션 공개NTSB, 마이애미 767 활주로 이탈 사고서 158노트 접지 뒤 4초 만의 복행 중단 기록 공개라즈베리 파이 카메라가 pHash 서명을 이미지 워터마크에 숨겨 압축 뒤에도 촬영 증명을 남기는 오픈소스 프로젝트멕시코 16세 학생, 30Hz 음파로 촛불을 5-8초 만에 끈다는 소화기 제작Astra에 40억 토큰과 35시간을 맡긴 개발자, "가치 있는 결과물은 없었다"WebGPU 무한 셰이더가 macOS WindowServer를 멈춰 강제 재시작 유발Anthropic, 8개월간 Claude 악용 7개 분야 차단 사례 공개OpenAI, Codex 하네스를 세션·오케스트레이션·샌드박스까지 관리하는 Agents API로 공개
알림 5개
새 알림

내 알림

로그인하고 알림을 만들어 보시기 바랍니다.

전체 알림

AI video model releasesUser 6432 님Dune제욱 님AI제욱 님App Store 5.2.3주현 님해커뉴스성현 님