모든 입력값은 잠재적 공격이고, 모든 API는 취약점이며, 모두가 해커다. 아직 해킹 안 당한 건 운이 좋은 것뿐이다.
보안 편집증(SEC) 유형은 개발팀의 마지막 방어선입니다. 이들은 모든 코드를 공격자의 눈으로 바라봅니다. 사용자가 입력 폼에 값을 넣을 때 'SQL 인젝션 가능한가?', 파일 업로드 기능을 보면 '악성 파일을 올리면?', API 엔드포인트를 볼 때 '인증 없이 접근하면?'을 본능적으로 생각합니다. 이 유형이 한 번 코드를 훑고 나면 보안 구멍이 눈에 띄게 줄어듭니다.
SEC 유형은 OWASP Top 10을 줄줄이 외우고, CVE(공통 취약점 및 노출) 뉴스레터를 매일 확인합니다. XSS, CSRF, SQL Injection, SSRF, XXE, IDOR, 인증 우회, 직렬화 취약점 같은 단어들이 일상 대화에 등장합니다. 코드리뷰에서 가장 많이 남기는 코멘트는 '이 입력값 검증하셨나요?', '여기 인증 체크 필요합니다', '민감 정보를 로그에 찍으면 안 됩니다' 같은 것들입니다. 의존성 라이브러리의 알려진 취약점도 정기적으로 확인합니다.
이 유형의 개발자가 있으면 팀의 보안 수준이 크게 올라가지만, 때로는 개발 속도에 제동이 걸립니다. 빠른 MVP를 원하는 PM과 '보안 검토 없이는 배포 불가'를 고수하는 SEC 유형 사이의 긴장감은 모든 팀에서 볼 수 있는 광경입니다. 하지만 해킹 사고 한 번으로 수십억 원의 피해와 신뢰 손상이 발생한다는 것을 이들은 너무 잘 알기에, 이들의 고집은 결코 무시할 수 없는 가치를 지닙니다.
SEC 유형은 단순히 방어적 코딩에 그치지 않고 위협 모델링(Threat Modeling)을 합니다. 새 기능이 기획 단계일 때 '이 기능이 악용되면 어떤 시나리오가 가능할까?'를 미리 분석합니다. STRIDE(Spoofing, Tampering, Repudiation, Info Disclosure, DoS, Elevation) 방법론을 자연스럽게 적용하고, 취약점이 발견될 수 있는 경로를 코드 작성 전에 미리 찾아냅니다. 이 습관이 팀의 전반적인 보안 문화를 높이는 원동력이 됩니다.
"개발 속도보다 보안이 중요한 게 아니에요. 보안 사고 하나가 몇 달치 개발 속도를 날려버린다는 걸 모르는 거죠. 예방이 훨씬 빠릅니다."
— SEC 유형 개발자SEC 유형 개발자의 실제 하루를 따라가봅니다.