본문 바로가기
C.W.K.
Stream
← C.W.K. Quests
🔐

Solo Auth Quest

최근 수정: 2026-08-07

혼자 쓰는 앱이라도 보안은 챙겨야지 — 두 명이 되기 전에

솔로 개발자를 위한 실전 보안 퀘스트야. 현실적인 위협 모델, 0.0.0.0 바인딩 결정, Tailscale 의 진짜 한계, 100 줄짜리 PIN 레이어, 잃어버린 디바이스 킬스위치, 보안 상태를 한눈에 보는 admin 대시보드, 그리고 에디터 안의 LLM 이 조용히 시크릿을 흘리는 패턴까지 — gotcha 위주로 다뤄.

10 tracks · 53 lessons · ~14h · difficulty: intermediate

Level 0Greenhorn
0 XP0/53 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete
보안 글은 대부분 보안팀과 컴플라이언스 예산이 있는 회사를 위한 거야. 이 퀘스트는 나머지 우리를 위한 거야. 개발자 한 명, 사이드 프로젝트, 내부 툴, 에디터에 박힌 LLM, 가끔 택시에 두고 내리는 핸드폰 — 그런 걸 안고 사는 사람들. 첫 원리부터 방어 가능한 자세를 빌드해. 진짜 위협(국가 단위 공격이 아니라 자동 스캐너 + 잃어버린 디바이스)을 모델링하고, auth 어휘를 깨끗하게 정리하고, bind 주소를 눈 뜨고 결정하고, Tailscale 을 첫 번째 자물쇠로 PIN 미들웨어를 두 번째 자물쇠로 깔고, bcrypt + lockout + blacklist 로 brute force 를 막고, 15 초 안에 어떤 디바이스에서든 누를 수 있는 killswitch 를 ship 해. 가는 길에 아무도 안 말해주는 보안 사고들도 다뤄 — AI 에디터가 .env 를 transcript 로 흘리는 거, localhost 만 열었다고 생각한 서비스의 IPv6 backdoor, 'Tailscale 깔았으니 안전해' 환상. 우리가 실제로 코딩하는 세계를 위해 만들었어.

Tracks

  1. 01🎯네가 외면하는 threat model

    0/6 lessons

    솔로 개발자가 왜 털리는지, 그리고 어떻게 생각해야 하는지

    보안 글 대부분은 국가 단위 공격자를 가정해. 진짜 솔로 개발자 침해 사건은 거의 다 지나가던 스캐너한테 걸렸거나 디바이스를 잃어버린 경우야. 이 트랙은 네 threat model 을 *진짜* 모양으로 되돌려. 그다음 60초 STRIDE 와, 뒤에 오는 모든 layer 를 지배하는 3분 / 30초 룰을 소개해.

    Lesson list (6)퀴즈 · 5 문제
  2. 02📖auth 어휘 깨끗하게 구분하기

    0/6 lessons

    AuthN vs AuthZ, session vs token, identifier vs credential vs secret, perimeter vs per-request, CIA, trust boundary

    auth 버그의 절반은 한 문장 안에서 혼용되는 두 용어를 헷갈려서 생겨. 이 트랙은 깨끗한 공유 어휘를 줘서 나머지 퀘스트가 헛돌지 않게 해 — 솔로 앱한테 왜 session 이 JWT 를 이기는지, 왜 SHA256 이 아니라 bcrypt 인지, 'CIA' 에 신경써야 할 숨겨진 두 번째 A 가 있는 이유까지.

    Lesson list (6)퀴즈 · 5 문제
  3. 03🌐0.0.0.0 결정

    0/5 lessons

    config 에서 가장 결과 큰 한 줄 — bind 주소, IPv6 쌍둥이, UPnP, reverse-proxy 함정

    솔로 개발자의 '나 털렸어' 스토리 거의 다 잘못된 host binding 에서 시작해. 이 트랙은 네 listening socket 을 직접 읽고, 밖에서 실제로 뭐가 노출됐는지 보고, 30초짜리 flowchart 로 bind 주소를 고르는 법을 가르쳐. 끝나면 '0.0.0.0' 이 진짜로 load-bearing 결정으로 느껴질 거야.

    Lesson list (5)퀴즈 · 5 문제
  4. 04🛰️Tailscale 을 1차 방어선으로 — 힘과 한계

    0/5 lessons

    perimeter 로서의 mesh VPN, 번지는 범위를 줄이는 ACL, 분실 디바이스 약점, 대안

    Tailscale 은 솔로 개발자한테 무료 perimeter 에 가장 가까운 거야. 이 트랙은 실제로 뭘 인증하는지 (디바이스지 사람 아님), 60초 셋업 경로, 폰이 사라졌을 때 번지는 범위를 줄여주는 ACL, 그리고 언제 Headscale 이나 raw WireGuard 로 손 뻗을지 다뤄.

    Lesson list (5)퀴즈 · 5 문제
  5. 05🔢PIN Layer — 100 줄짜리 진짜 auth

    0/6 lessons

    미들웨어, SQLite 테이블, bcrypt, IP-bound session, login/logout, killswitch 엔드포인트

    퀘스트의 무게중심. 어떤 FastAPI / Starlette 앱에든 drop-in 가능한 완전한 PIN 인증 layer 빌드 — 미들웨어, SQLite 테이블 4개, bcrypt 로그인, IP-bound session 쿠키, 로그아웃, Revoke All killswitch — 약 100줄, bcrypt 외 외부 의존성 없음.

    Lesson list (6)퀴즈 · 5 문제
  6. 06🛡️Brute Force 방어

    0/5 lessons

    4자리 PIN 뒤의 수학, lockout 사이클, exponential backoff, 허니팟, 스스로 잠겼을 때의 복구

    방어를 제대로 쌓으면 왜 4자리로 충분한지, 왜 per-user 가 아니라 per-IP lockout 인지, hard lockout 과 exponential backoff 를 어떻게 맞바꾸는지, 그리고 스스로 영원히 잠기지 않도록 언제나 열려 있는 복구 경로까지.

    Lesson list (5)퀴즈 · 5 문제
  7. 07🚨Killswitch & 분실 디바이스 플레이북

    0/5 lessons

    제일 값진 버튼 하나 — 빠르고, 빠짐없고, 되돌릴 수 있고, 어떤 디바이스에서든 닿는

    이 퀘스트의 모든 layer 는 한 순간을 위해 있어. 디바이스가 사라진 걸 깨닫는 그날. 이 트랙이 그 순간을 견딜 만하게 만들어. killswitch 엔드포인트, 10분짜리 분실 폰 플레이북, 필요해지기 전에 미리 깔아둘 것들, 작은 사고용 granular killswitch, 그리고 아찔했던 순간을 영구적인 강화로 바꾸는 post-mortem 까지.

    Lesson list (5)퀴즈 · 5 문제
  8. 08📊Admin 대시보드 — 보안을 보이게

    0/5 lessons

    3개 숫자의 상태 헤더, active session 테이블, 시도 로그, audit 로그

    인증 시스템은 조용히 실패해. 뭔가 잘못됐다는 첫 신호는 알람이 아니라 화요일 오후의 막연한 느낌이야. 대시보드가 그 느낌을 30초 만에 증거로 바꿔줘. 섹션 넷, HTML 페이지 하나, JavaScript 프레임워크는 필요 없어.

    Lesson list (5)퀴즈 · 5 문제
  9. 09🤖에디터의 LLM 을 믿지 마

    0/5 lessons

    AI assistant 가 시크릿 흘리는 이유, 구체적 벡터, 작동하는 유일한 방어

    2026년 솔로 개발자한테 가장 과소평가된 보안 위험은 에디터 안의 AI assistant 야. 시크릿이 새는 가장 큰 통로인데, 새는 게 조용하고, 포맷도 예쁘고, 도움이 되는 것처럼 보이거든. 이 트랙은 그 헤드라인 진실, 구체적인 누출 벡터 다섯, 방어 (LLM 이 시크릿을 아예 못 보게 하기), 그리고 시크릿이 샜을 때 — 샐지 말지가 아니라 — 실제로 뭘 해야 하는지를 다뤄.

    Lesson list (5)퀴즈 · 5 문제
  10. 10⛓️PIN 너머 — 더 많은 layer 추가할 때

    0/5 lessons

    PIN 으로 부족해지는 순간, passkey, OAuth & magic link, at-rest 암호화, stack 맵

    Track 5 의 PIN layer 는 놀랄 만큼 많은 솔로 앱한테 정답이야. 근데 threat model 은 움직이거든. 이 트랙은 PIN 으로 부족해지는 순간 알아채는 법, passkey / OAuth / magic link 가 어떤 특정 문제 푸는지, at-rest 암호화가 언제 중요한지, 이 퀘스트의 모든 layer 가 진짜 stack 에 어떻게 plug 되는지 가르쳐.

    Lesson list (5)퀴즈 · 5 문제
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.