C.W.K.
Stream
← C.W.K. Quests
🔐

Solo Auth Quest

최근 수정: 2026-05-04

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

솔로 개발자를 위한 실전 보안 퀘스트야. 현실적인 위협 모델, 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

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

    보안 글 대부분은 국가 단위 공격자를 가정해. 진짜 솔로 개발자 침해 사건은 거의 다 opportunistic 스캐너 아니면 분실 디바이스야. 이 트랙은 네 threat model 을 *진짜* 모양으로 reset 해 — 그다음 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, blast radius 줄이는 ACL, 분실 디바이스 약점, 대안

    Tailscale 은 솔로 개발자한테 무료 perimeter 에 가장 가까운 거야. 이 트랙은 실제로 뭘 인증하는지 (디바이스지 사람 아님), 60초 셋업 경로, 폰 사라질 때 blast radius 줄여주는 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, 허니팟, 자가 lockout 복구

    올바른 방어 쌓으면 4자리가 충분한 이유, per-user 가 아니라 per-IP lockout 인 이유, hard lockout 과 exponential backoff 의 trade, 그리고 영원히 자가 lockout 안 되게 하는 항상 가능한 복구 경로.

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

    0/5 lessons

    단일 가장 가치 있는 버튼 — 빠르고, 완전하고, 복구 가능하고, 어떤 디바이스에서든 도달

    이 퀘스트의 모든 layer 가 한 순간을 위해 봉사해 — 디바이스 사라졌다고 깨닫는 날. 이 트랙이 그 순간을 survivable 하게 만들어 — killswitch 엔드포인트, 10분 분실 폰 플레이북, 필요해지기 전 pre-stage 할 거, 작은 incident 용 granular killswitch, 그리고 near-miss 를 영구 강화로 바꾸는 post-mortem.

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

    0/5 lessons

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

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

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

    0/5 lessons

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

    2026년 솔로 개발자한테 가장 과소평가된 보안 위험 — 에디터의 AI assistant 가 단일 가장 큰 시크릿 누출 surface, 누출은 silent 하고, 잘 포맷됐고, 도움 되어 보여. 이 트랙은 헤드라인 진실, 5개 구체적 누출 벡터, 방어 (LLM 이 시크릿 못 보게), 그리고 시크릿 leak 했을 때 (할지 말지가 아니라) 실제로 할 일.

    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 은 shift 해. 이 트랙은 PIN 으로 부족해지는 순간 알아채는 법, passkey / OAuth / magic link 가 어떤 특정 문제 푸는지, at-rest 암호화가 언제 중요한지, 이 퀘스트의 모든 layer 가 진짜 stack 에 어떻게 plug 되는지 가르쳐.

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

댓글 0

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

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