AI 에이전트와 데이터베이스 사이의 오픈소스 안전 계층
Open source safety layer between AI agents and databases
핵심 요약
AI 에이전트의 무분별한 데이터베이스 접근을 막기 위해 쿼리 검증 및 권한 제어를 수행하는 오픈소스 도구 'Faz' 소개.
- 에이전트 사고 방지 — AI 에이전트가 실수로 프로덕션 데이터베이스를 삭제하는 사고를 방지함.
- 다중 안전 계층 — 프롬프트 가드, RBAC, AST 검사, SQL 주입 분석 등 5단계 안전 파이프라인을 제공함.
- 데이터 보호 도구 — 쿼리 제한 및 타임아웃 설정을 통해 대규모 데이터 유출이나 삭제를 사전에 차단함.
- 오픈소스 프로젝트 — GitHub를 통해 공개된 Faz를 통해 에이전트와 DB 간의 안전한 통로를 구축함.
지난 금요일, Cursor 에이전트가 PocketOS의 전체 프로덕션 데이터베이스와 모든 백업을 9초 만에 삭제했습니다. 에이전트는 관련 없는 파일에서 루트 수준의 API 토큰을 찾아냈고, Railway의 파괴적인 엔드포인트를 호출했으며, 이를 막는 것은 아무것도 없었습니다. 권한 확인도, 확인 절차도, 감사 기록도 없었습니다.
그 사건은 제가 몇 달 동안 봐왔던 것을 명확하게 보여주었습니다. 우리는 아무런 안전장치 없이 에이전트에게 데이터베이스 접근 권한을 넘겨주고 있습니다. 솔직히 말해서, 제가 사용해 본 모든 MCP 데이터베이스 커넥터는 그냥 원시적인 파이프일 뿐입니다.
그래서 저는 Faz를 만들었습니다. Faz는 AI 에이전트와 데이터베이스 사이에 위치합니다. 모든 쿼리는 데이터에 닿기 전에 안전 파이프라인을 통과합니다.
파이프라인은 5단계로 구성됩니다:
-
Prompt Guard는 파싱 전에 파괴적인 의도를 포착합니다.
-
RBAC Gate는 단일 YAML 파일에 정의된 테이블별 읽기/쓰기/추가 권한을 강제합니다.
-
AST Checker는 명시적으로 허용되지 않는 한 DDL을 엄격하게 차단합니다.
-
Injection Analyzer는 SQL tautologies, MongoDB where 남용, Cypher APOC 주입, ES 스크립트 주입을 감지합니다.
-
Guardrails는 LIMIT 절, 타임아웃, 행 제한을 자동으로 주입하여 에이전트가 실수로 2억 개의 행이 있는 테이블을 덤프하지 못하게 합니다.
Github: https://github.com/fazhq/faz

