솔로 개발자의 첫 번째 보안 결정은 무의식적으로 일어나. "내가 뭐라고? 누가 나한테 신경 쓰겠어?" 거기서부터 모든 단축이 합리적으로 보여. PIN 도 안 걸고. HTTPS 도 안 쓰고. 0.0.0.0 으로 bind 하고. 기본 포트 그대로. .env 는 repo 루트에, untracked 지만 암호화는 안 됨. 내 맥에서 잘 도니까, 그냥 port-forward 해서 폰에서도 쓰자.
솔로 개발자가 자주 헷갈리는 두 프레임
| 프레임 | 물어보는 질문 | 놓치는 것 |
|---|---|---|
| Targeted attack | "누가 나만 콕 찍어 해킹해?" | 전체 침해 사고의 ~99% 가 opportunistic, 표적이 아님 |
| Opportunistic attack | "내가 어떤 surface 를 노출했고, 어떤 스캐너가 그걸 찾았어?" | 거의 모든 사람한테 진짜 threat model 은 이거 |
너한테 닥칠 진짜 위협 세 가지
- 대규모 인터넷 스캐너 — Shodan, Censys, 그리고 수천 개의 botnet 이 매일 모든 reachable IP 를 색인해. 네가 누군지 신경 안 써.
- 잃어버린 디바이스 — cached credential 이랑 Tailscale key 가 깔린 폰이 카페에서 손에서 빠져나가. "공격자" 는 그걸 주운 사람이야.
- 네 자신의 실수 — public repo 에 commit 된
.env. 잘못된 채팅에 붙여넣은 토큰. 켜둔 채로 잊은 debug 엔드포인트.
이 퀘스트 전체가 매달리는 reframe — "누가 나를 해킹할까" 묻지 말고 "내가 어떤 surface 를 노출했고, 누가 건드렸을 때 알아챌 수 있나" 를 물어.