실제 하드웨어의 장벽을 넘어, 누구나 웹 브라우저에서 IoT 해킹을 경험할 수 있도록. '해커보드 서킷' 온라인 시뮬레이터의 개발 목적과 과정, 그리고 앞으로의 계획을 공유합니다.
안녕하세요, 위드시큐 입니다. 오늘은 제가 오랫동안 마음속에 품어왔던 새로운 프로젝트, '해커보드 서킷(Hacker Board Circuits)'의 이야기를 처음으로 여러분께 들려드리고자 합니다. 이 글은 완성된 제품을 자랑하는 홍보글이 아닌, 하나의 아이디어가 현실이 되어가는 과정을 공유하는 솔직한 개발 일지입니다.
1. 개발의 목적: "왜 하드웨어 없이 해킹을 배워야 하는가?"
저는 수년간 교육 현장에서 학생들을 만나며 한 가지 안타까운 장벽을 항상 마주했습니다. 바로 '하드웨어'라는 장벽입니다. IoT 보안의 진정한 재미는 눈에 보이지 않는 신호를 분석하고 물리적인 장치를 제어하는 데 있지만, 수많은 학생과 입문자들이 장비 구매의 부담과 복잡한 회로 연결의 어려움 앞에서 좌절하는 것을 봐왔습니다. 그래서 '해커보드' 개발로 이어졌고, '해커보드'의 가격적인 부담을 완화하고 누구나 쉽게 접근할 수 있는 방법을 고민하면서 '해커보드 서킷(Hacker Board Circuits)' 프로젝트가 시작되었습니다. 하드웨어의 물리적 제약을 넘어, 컴퓨터와 호기심만 있다면 누구나 실전적인 IoT 보안의 세계에 입문할 수 있도록, '가장 낮은 진입장벽'을 가진 교육 플랫폼을 만드는 것이 이 프로젝트의 유일한 목표입니다.
해커보드 시뮬레이터는 IoT 보안 교육을 위한 웹 기반 시뮬레이션 플랫폼입니다. 실제 하드웨어 없이도 IR(적외선) 통신 공격과 방어를 학습할 수 있는 교육용 도구로 개발되었습니다.
| 해커보드 서킷의 주요 목표 |
- 실무 중심 교육: 실제 IoT 보안 시나리오를 웹에서 체험
- 접근성 향상: 하드웨어 구매 없이도 고품질 교육 제공
- 확장성: 다양한 IoT 프로토콜 지원
- 사용자 친화적: 직관적인 UI/UX로 학습 효과 극대화
2. 열정으로 시작한 1인 개발의 여정
거창한 계획보다는 '내가 겪은 문제를 직접 해결해보자'는 마음으로 프로젝트를 시작했습니다. 교육자로서 학생들에게 무엇이 필요한지 가장 잘 안다는 자신감 하나로, 기획부터 설계, 개발까지 모든 과정을 혼자서 진행하고 있습니다. 때로는 복잡한 상태 관리에 머리를 쥐어뜯고, 다양한 프로토콜을 지원하기 위해 수많은 문서를 뒤적이는 외로운 과정이지만, 이 도구가 누군가의 성장에 큰 도움이 될 것이라는 믿음 하나로 나아가고 있습니다.
최고의 학습 경험을 제공하기 위해, 개발 환경은 현재 웹 생태계에서 가장 주목받는 기술들을 중심으로 구성했습니다. Frontend & Backend: React 기반의 Next.js 14 (App Router)를 사용하여 빠르고 현대적인 UI를 구현하고, TypeScript로 코드의 안정성을 높였습니다. 백엔드는 Supabase를 BaaS(Backend as a Service)로 채택하여 복잡한 서버 관리 없이 핵심 로직 개발에만 집중할 수 있도록 했습니다.
| 해커보드 서킷 기술 스택 | |
| Frontend | - Next.js 14 (App Router) - React 기반 풀스택 프레임워크 - TypeScript - 타입 안전성과 개발 생산성 향상 - Tailwind CSS - 유틸리티 우선 CSS 프레임워크 - shadcn/ui - 모던하고 접근성이 뛰어난 UI 컴포넌트 |
| Backend & Database | - Supabase - PostgreSQL 기반 BaaS (Backend as a Service) - Clerk - 사용자 인증 및 권한 관리 - Next.js API Routes - 서버사이드 로직 처리 |
| 시뮬레이션 엔진 | - Monaco Editor - VS Code 기반 코드 에디터 - Tree-sitter - Arduino 코드 파싱 및 분석 - Web Tree-sitter - 브라우저에서 Tree-sitter 실행 |
| 배포 & 인프라 | - Google Cloud Run - 컨테이너 기반 서버리스 배포 - Docker - 컨테이너화 - GitHub Actions - CI/CD 파이프라인 |
직접 개발을 해본 것이 20년도 지난 상황에서 다시 시작하는 것이 매우 어렵고 비 효율적이라고 생각했습니다. 최근 개발자들 사이에서 '바이브 코딩'이 주목받고 있습니다.
바이브 코딩(Vibe Coding)이란?
'바이브 코딩'은 정식 기술 용어는 아닙니다. 하지만 개발자 커뮤니티에서 통용되는 일종의 신조어로, '자신만의 스타일과 감성을 담아 즐겁게 코딩하는 행위'를 의미합니다. 딱딱하고 정형화된 규칙에 얽매이기보다는, 마치 음악을 만들거나 그림을 그리듯 창의적이고 감각적인 방식으로 문제에 접근하고 코드를 작성하는 것을 말합니다.
예를 들어, 단순히 기능 구현에만 집중하는 것을 넘어 가독성이 좋고 아름다운 코드를 작성하거나, 자신만의 작업 환경을 취향에 맞게 꾸미고 편안한 분위기에서 코딩하는 모든 행위를 '바이브 코딩'의 일부로 볼 수 있습니다. 이는 개발 과정 자체의 즐거움을 중시하고, 이를 통해 생산성을 높이려는 최신 개발 트렌드를 반영합니다.
Cursor는 최근 가장 주목받는 인공지능(AI) 기반 코드 에디터입니다. 기존에 많은 개발자가 사용하던 'VS Code'를 기반으로 만들어져 익숙하면서도, GPT-4와 같은 강력한 AI 모델이 결합되어 한 차원 높은 개발 경험을 제공합니다. 저는 여기에 주목하게 되었습니다. 이 외에도 다양한 AI 기반 코딩도구로 Codeium, TabNine, Mintlify, Windsurf, Google AI Studio, Aider 등 각각의 장단점으로 많이 활용되고 있지만, 저는 Cursor AI를 선택해서 프로젝트를 진행하고 있습니다. 이제는 결제를 해서 변경도 불가능 하네요.

AI 기반을 도구를 활용한 개발은 매우 편하고 많은 코드와 알고리즘을 자동으로 코딩해 주니 좋지만, 프로젝트 구조와 기술을 통해 원하는 기능을 어떻게 구현해야 하는지 정확한 명령을 전달해도 내가 원하는 결과를 만들어 내는 것이 매우 어렵습니다. 몇 번이나 프로젝트를 엎었는지 모르겠네요. 제발 시킨 것 만 구현하면 좋겠는데, 너무 앞서가거나 원하지 않는 기능까지 구현해서 나도 모르게 AI와 싸우고 있는 경우가 많아집니다. 지금은 원하는 기능이 구현되면 github에 주기적으로 백업을 하고 있습니다. 여차하면 롤백~~
3. 현재 진행 상황 (As-Is)
수많은 아이디어 중, 가장 직관적이고 재미있는 경험을 줄 수 있는 'IR(적외선) 시뮬레이터' 모듈이 첫 번째로 완성되었습니다. 바로 어제, 30명의 학생들과 함께 이 IR 시뮬레이터로 첫 수업을 진행하며 성공적으로 테스트를 마쳤습니다. 학생들은 실제 리모컨 없이도 가상의 TV를 켜고 끄며, IR 신호를 훔치고(Sniffing) 재전송하는(Replay Attack) 해킹의 기본 원리를 즐겁게 체험했습니다. 이제 막 첫 단추를 끼웠지만, 이 교육 방식의 가능성을 엿볼 수 있었던 의미 있는 시간이었습니다. 학생들의 피드백을 통해 개선과 향후 개발에 큰 도움이 되었습니다.

- 해커보드 시뮬레이터(Hacker Board Circuits) 메인 화면

- 해커보드 시뮬레이터(Hacker Board Circuits) 서브 메뉴

- 해커보드 시뮬레이터(Hacker Board Circuits) IR(적외선) 시뮬레이터
- Defender : NEC, 삼성, LG 프로토콜 시뮬레이터 가능
- Attacker : IR 스니핑, IR 신호 공격

- Arduino C 코딩 (코드검증, 실행)

4. 앞으로의 추진 계획 (To-Be)
IR 시뮬레이터는 '해커보드 서킷'의 위대한 첫걸음일 뿐입니다. 앞으로 현장 피드백을 적극적으로 반영하여, 온라인 IoT 보안 교육의 표준 플랫폼으로 만들어 나갈 계획입니다. hackerboard.co.kr 도메인도 등록이 완료 되었습니다. 다양한 경험을 해보고 있네요.
이제 다음 단계의 시뮬레이션 모듈로 RFID, 블루투스(BLE), Wi-Fi, CAN 통신 등 더 흥미로운 해킹 시나리오를 순차적으로 추가할 예정입니다.
그리고, 현재 코드 검증 기능 구현에 어려움을 겪고 있습니다. 코딩 기능은 Arduino CC, mBlock과 연계해서 활용해야 하나 고민하고 있습니다.
이 프로젝트는 여러분과 함께 만들어가는 여정입니다. 앞으로 계속해서 개발 과정을 공유하며 여러분의 의견을 듣겠습니다. '해커보드 서킷'의 성장을 함께 지켜봐 주시고, 많은 응원과 기대를 부탁드립니다! 🚀