피드로 돌아가기
Build a Secure PostgreSQL AI Agent with LangChain + Ollama
Dev.toDev.to
AI/ML

Ollama 기반 Local LLM과 SQL Safety Layer를 적용한 보안 중심 DB Agent 설계

Build a Secure PostgreSQL AI Agent with LangChain + Ollama

Gaurav Kumar2026년 5월 12일8intermediate

Context

자연어 기반 DB 쿼리 시스템 구축 시 LLM의 무분별한 SQL 생성으로 인한 데이터 파괴 위험 존재. 기존 API 기반 LLM 서비스의 비용 부담 및 데이터 유출 가능성에 따른 Local LLM 기반의 안전한 제어 체계 필요성 증대.

Technical Solution

  • LangChain 기반의 Tool-Calling 구조를 설계하여 LLM에 DB 스키마 조회 및 쿼리 실행 권한을 제한적으로 부여
  • Dynamic Schema Awareness 구현을 위해 list_tablesget_table_schema 도구를 분리하여 LLM의 컨텍스트 윈도우 효율 최적화
  • validate_read_only_sql 함수를 통한 SQL Safety Guard 계층을 구축하여 SELECT 외의 destructive query(DROP, DELETE 등) 실행을 원천 차단
  • Query Normalization 프로세스를 도입하여 주석 제거 및 SQL Injection 공격 시도를 필터링하는 전처리 단계 적용
  • Ollama를 활용한 Local LLM 배포로 외부 API 의존성을 제거하고 데이터 보안성과 비용 효율성을 동시에 확보
  • Tool-driven architecture를 통해 LLM이 단순 추론이 아닌 구조화된 도구 호출을 거쳐 정답을 도출하는 Deterministic Workflow 설계

1. LLM의 DB 접근 시 Read-Only 계정 사용 및 Application 레벨의 화이트리스트 기반 SQL 검증 로직 필수 적용

2. 전체 스키마를 Prompt에 넣는 대신, 필요한 테이블 정보만 동적으로 가져오는 Tool-based Schema Retrieval 구조 검토

3. Local LLM 도입 시 Ollama 등을 활용하여 인프라 제어권 확보 및 데이터 유출 리스크 제거

4. SQL 실행 결과의 최대 Row 수를 제한(예: 50 rows)하여 LLM의 토큰 오버플로우 및 메모리 부하 방지

원문 읽기