Cursor로 생성한 AI 코드를 배포하기 전에 어떻게 보안을 확보하시나요?
How do you secure AI generated code from Cursor before it ships?
핵심 요약
Cursor가 생성한 코드에서 IDOR 보안 취약점이 발견된 후, 이를 방지하기 위한 테스트 자동화 및 구조적 보안 설계 방안을 논의합니다.
- 보안 취약점 — AI가 작성한 코드는 소유권 확인 없이 ID로만 데이터를 조회하는 IDOR 문제가 빈번함
- 구조적 방어 — 데이터 접근 시 항상 현재 사용자를 필터링하는 헬퍼 함수나 RLS를 사용하여 강제로 보안을 적용함
- 테스트 자동화 — 사용자 A가 사용자 B의 데이터를 요청했을 때 403 에러가 발생하는지 확인하는 테스트 패턴을 필수화함
- 코드 리뷰 — AI가 생성한 코드를 무비판적으로 수용하지 말고, 모든 diff를 꼼꼼히 검토하는 습관이 중요함
지난 몇 주 동안 Cursor로 우리 팀 대시보드 대부분을 만들었는데, 잘 돌아가긴 하지만 팀장이 안전하다는 확신이 들기 전까진 실제 사용자한테 공개하지 말라네.
뭐, 맞는 말이긴 해. Cursor한테 사용자 저장 뷰를 불러오는 엔드포인트를 짜달라고 했는데, diff 보니까 괜찮아 보여서 그냥 승인하고 넘어갔거든. 그러다 다른 거 테스트하려고 URL에 있는 id를 팀원 걸로 바꿔봤는데, 요청한 사람 데이터가 맞는지 확인도 안 하고 그냥 걔네 정보를 다 뱉어버리더라.
그 엔드포인트는 다른 기능들 사이에 파묻혀 있었고, 내가 발견했을 땐 이미 며칠 지난 상태였어. 나중에 까먹고 대충 넘길지도 모르는 감사(audit) 때 잡는 게 아니라, 코드가 작성되는 그 순간에 기계적인 부분들은 바로바로 걸러내고 싶다고.
Cursor로 만든 앱 실제 사용자들한테 배포하는 형들, 다들 어떻게 세팅해서 써? 마지막에 리뷰하는 방식은 확실히 답이 안 나오는 것 같아서 말이야.


