AI 생성 애플리케이션에도 다른 애플리케이션과 같은 백엔드 제어가 필요합니다. 서버 측 비밀 값, 인가, 테넌트 격리, 안전한 쓰기, 마이그레이션, 예산, 관측성, 복구가 여기에 포함됩니다. 동작하는 UI와 API 코드를 생성했다고 해서 이런 제어가 존재한다는 뜻은 아닙니다.
가장 빠른 검토 방법은 두 번째 사용자 테스트입니다. 사용자 두 명, 테넌트 두 개, 레코드 두 개를 만든 뒤 첫 사용자 데모에서 건드리지 않은 모든 경계를 넘으려고 시도하세요.
동작하는 데모는 경로 하나만 입증합니다
코딩 에이전트는 대개 눈에 보이는 합격 기준을 충족하도록 최적화합니다. "메모 앱을 만들어라"라는 작업이라면 메모를 추가하고 나열하는 양식으로 통과할 수 있습니다. 하지만 한 사용자가 다른 사용자의 메모 ID를 요청할 수 있는지, 시간 초과된 삽입이 반복되는지, 브라우저 번들에 관리 키가 들어 있는지는 요구하지 않았을 수 있습니다.
이는 명세와 인프라 모두의 문제입니다. 검토 과정에서 빠진 제약을 실행 가능한 검사로 바꿔야 합니다.
비밀 값은 서버에서 멈춰야 합니다
생성된 JavaScript, 소스 맵, 모바일 번들, 커밋된 환경 파일, 로그, 오류 응답에서 공급자 및 관리 자격 증명을 검색하세요. 공개 클라이언트에는 공개용으로 설계된 자격 증명이나 현재 사용자와 작업으로 제한된 수명이 짧은 토큰만 제공해야 합니다.
OWASP API Security Top 10은 객체 수준 인가 실패와 인증 실패를 서로 다른 위험으로 다룹니다. 인증은 호출자가 누구인지 증명합니다. 인가는 그 호출자가 해당 객체에 접근할 수 있는지 결정합니다.
에이전트 보안 가이드는 에이전트의 빌드 자격 증명과 배포된 애플리케이션의 ID를 분리하는 방법을 보여 줍니다.
모든 데이터 경로에 테넌트 격리를 적용하세요
테이블 하나에 tenant_id를 추가하는 것만으로는 부족합니다. 모든 읽기, 수정, 삭제, 파일 조회, 캐시 키, 백그라운드 작업, 검색 인덱스, 실시간 채널, 내보내기에 같은 테넌트 경계가 있어야 합니다.
직접 객체 참조를 테스트하세요.
- 테넌트 A로 로그인하고 레코드를 만듭니다.
- 테넌트 B로 로그인합니다.
- 모든 공개 API 경로에서 ID로 테넌트 A의 레코드를 요청합니다.
- 수정, 삭제, 내보내기, 파일, 구독 엔드포인트에서도 테스트를 반복합니다.
- 적절한 경우 서버가 존재하지 않는 레코드와 권한 없는 레코드에 동일한 비공개 결과를 반환하는지 확인합니다.
멀티테넌트 에이전트 인프라 가이드는 데이터베이스, 할당량, 공유 상태의 경계를 함께 다룹니다.
쓰기 작업에는 재생 방지가 필요합니다
네트워크 장애는 결과를 알 수 없는 상태를 만듭니다. 클라이언트가 응답을 잃기 전에 서버가 쓰기를 커밋했을 수 있습니다. 에이전트나 브라우저가 멱등성 키 없이 재시도하면 클릭 한 번으로 주문, 메시지, 배포, 결제가 두 개씩 생길 수 있습니다.
쓰기 작업마다 논리적 작업 ID를 정하고 첫 결과를 저장하고 충돌하는 재사용을 거부하고 보관 기간을 문서화하세요. 에이전트 재시도와 체크포인트의 복구 흐름은 호출자가 첫 시도의 완료 여부를 알 수 없는 경우를 처리합니다.
마이그레이션에는 복구 경로가 필요합니다
생성된 마이그레이션은 기존의 모든 행을 바꿀 수 있는데도 생성된 애플리케이션 코드보다 검토를 덜 받는 경우가 많습니다. 적용하기 전에 다음을 수행하세요.
- ORM 명령만 보지 말고 생성된 SQL을 검사합니다.
- 잠금, 테이블 재작성, 파괴적 절을 찾습니다.
- 프로덕션과 비슷한 데이터 복사본에서 실행합니다.
- 전환 중 이전 버전과 새 버전 애플리케이션을 모두 테스트합니다.
- 부분 배포를 위한 롤백 또는 순방향 복구를 정의합니다.
코딩 에이전트가 마이그레이션을 작성했다는 이유로 제한 없는 프로덕션 DDL 권한을 주지 마세요. Supabase의 MCP 보안 지침은 개발 프로젝트와 프로젝트 범위 제한을 사용하고 프로덕션 데이터를 피하라고 명시적으로 권고합니다. 모든 백엔드 도구에 같은 규칙을 적용하세요.
비용에는 서버가 강제하는 한도가 필요합니다
테넌트 및 워크플로별 모델 호출, 유료 도구, 데이터베이스 요청, 백그라운드 작업, 스토리지, 런타임을 제한하세요. 에이전트에 비용을 낮추라고 요청하는 프롬프트는 강제 수단이 아닙니다.
실패 및 재시도한 실행의 비용도 완료 결과당 비용에 포함하세요. AI 에이전트 인프라 비용 가이드는 계산식과 예산을 설정할 지점을 제공합니다.
인프라는 안전한 경로를 직접 제공해야 합니다
백엔드는 범위 제한 자격 증명, 구조화된 오류, 멱등 쓰기, 상태 레코드, 제한된 서비스 접근을 기본으로 제공해야 합니다. 검토로 누락된 제어를 한 번 찾을 수는 있습니다. 플랫폼 계약은 새 프로젝트마다 같은 항목이 빠지는 것을 막을 수 있습니다.
Cohesivity는 업스트림 공급자 자격 증명을 노출하지 않고 코딩 에이전트에 격리된 테넌트와 지원 백엔드 서비스의 서버 측 접근을 제공합니다. 행 수준 인가, 승인 규칙, 안전한 스키마 설계는 여전히 애플리케이션의 책임입니다.
사용자를 초대하기 전에 두 번째 사용자 테스트를 실행하세요
폐기 가능한 환경에서 사용자 두 명과 테넌트 두 개를 사용하세요. 테넌트 간 ID, 반복된 쓰기, 만료된 자격 증명, 실패한 마이그레이션, 소진된 한도를 시험합니다. 각 실패의 정확한 요청과 서버 결과를 기록하세요.
아래 프롬프트는 아무것도 바꾸기 전에 이 검토를 파일별 감사로 바꿉니다.