피드로 돌아가기
AI-Generated APIs Have an IDOR Problem: 3 Patterns Cursor Misses
Dev.toDev.to
Security

AI 생성 API의 IDOR 취약점 해결을 위한 DB Level Ownership 필터링 설계

AI-Generated APIs Have an IDOR Problem: 3 Patterns Cursor Misses

Charles Kern2026년 4월 28일4intermediate

Context

AI 에디터가 생성한 API가 Authentication 미들웨어만 적용하고 Resource 단위의 Authorization 검증을 누락하는 문제 발생. 인증된 사용자가 ID 값 조작을 통해 타인의 데이터에 접근 가능한 CWE-862 취약점 노출.

Technical Solution

  • Application Level의 사후 검증 방식에서 DB Query Level의 사전 필터링 구조로 전환
  • findById 기반의 단순 조회 후 userId를 비교하던 로직을 findOne({ _id, userId }) 쿼리로 통합
  • Resource 존재 여부와 권한 부족 상태를 모두 404 Not Found로 응답하여 Resource 존재 여부 유출 방지
  • Delete 및 Related Resource Fetch 엔드포인트에 Scope 기반 소유권 검증 로직 강제 적용
  • AI 시스템 프롬프트에 Ownership 필터링 규칙을 명시하여 모델의 추론 오류를 정적 규칙으로 제어
  • Semgrep 기반의 pre-commit 룰을 도입하여 소유권 검증이 누락된 findById 호출 패턴 자동 탐지

- [ ] 모든 Resource 조회 API에서 `findById` 대신 소유자 ID가 포함된 `findOne` 또는 `filter` 사용 여부 검토 - [ ] 권한 없는 리소스 접근 시 403 Forbidden 대신 404 Not Found를 반환하여 정보 노출 최소화 - [ ] AI 생성 코드 리뷰 시 Authentication 미들웨어 존재 여부와 별개로 Authorization 로직의 유무를 필수 확인 - [ ] Semgrep 등 정적 분석 도구를 통해 소유권 검증 누락 패턴을 자동화된 파이프라인에 통합

원문 읽기