~/VibeHandbook
$39

챕터 18 · 01

AI가 생성한 코드가 기본적으로 안전하지 않은 이유

AI는 당신이 준 프롬프트에 최적화하는데, 당신의 프롬프트는 거의 항상 "작동하게 만들어"라고 말하지 "안전하게 만들어"라고는 절대 말하지 않는다. 그래서 AI는 작동하는 기능에 이르는 가장 짧은 경로를 만들어낸다. 가장 짧은 경로는 대개 안전하지 않은 쪽이다: 문자열로 이어붙인 쿼리, 권한 점검이 없는 엔드포인트, 학습한 예제가 그랬다는 이유로 인라인에 붙여넣은 비밀값.

더 나쁜 건, AI가 인터넷 전체로부터 배웠다는 점이다 — 그 자체로 안전하지 않았던 10년 치 튜토리얼과 버려진 저장소들을 포함해서. 안전하지 않은 코드가 학습 데이터에서 안전한 코드보다 흔한데, 안전한 코드는 쓰기가 더 어렵고 올리기가 더 드물기 때문이다. "로그인 폼" 하나를 요청하면, 통계적으로 인터넷의 평균적인 로그인 폼을 받을 가능성이 높고, 인터넷의 평균적인 로그인 폼에는 문제가 있다.

AI에게는 위협 감각도 없다. 파일 업로드를 만드는 인간은 잠깐 걱정의 떨림을 느낀다 — 누가 고약한 걸 올리면 어쩌지? AI는 아무것도 느끼지 않는다. 빈틈없든 활짝 열려있든 똑같은 자신감으로 핸들러를 작성한다. 망설임도, "음, 이 부분이 좀 불안한데" 같은 것도 없다. 그 불안함은 당신이 직접 공급해야 한다.

핵심은 "AI 코드는 위험하니 쓰지 말라"가 아니다. "작동한다"와 "안전하다"는 별개의 두 질문이라는 것, 그리고 두 번째에 답하도록 강제하지 않는 한 AI는 첫 번째에만 답한다는 것이다.

오프라인으로 보고 싶으세요?

PDF + EPUB + 다운로드형 프롬프트 라이브러리 + 버전 업데이트를 받으세요.

$ PDF 받기 — $39