본문으로 건너뛰기

Synapsor Runner: 모델에 직접 SQL 권한을 주지 않는 Postgres/MySQL용 MCP 런타임

Synapsor Runner는 모델에 직접 SQL 실행 권한을 주지 않고 검토된 기능 표면과 외부 승인·검증 파이프라인으로 읽기·변경 프로포절을 제한하는 오픈소스 런타임이다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

Synapsor Runner는 모델이 원시 SQL을 직접 실행하지 못하게 하고 대신 검토된 의미적 기능 표면과 프로포절 기반 워크플로를 제공해 읽기 범위를 고정하고 모든 쓰기 적용을 모델 바깥의 신뢰된 워커로 이관하는 오픈소스 런타임이다. 구현은 테넌트·컬럼·행 스코프를 계약으로 고정하고 프로포절을 기록한 뒤 승인 절차를 통해 guarded writeback을 수행하며 적용 시 영수증과 재실행 링크로 모든 활동을 보관하는 방식이다. 저자는 여러 에이전트를 이용한 실험에서 크로스-테넌트 읽기 및 무단 쓰기가 발생하지 않았음을 보고했으나 도구는 프롬프트 주입 자체를 차단하지 못하고 UPSERT·DDL·무제한 쓰기 등 복잡한 시나리오는 애플리케이션 소유 실행으로 남겨두어야 한다. 이 방식은 권한 폭발을 물리적으로 차단해 보안 경계를 강화하고 모델 토큰 사용을 줄이는 방향의 이점이 있으나 자동 승인 규칙과 도구 표면 설계에 대한 추가 검증이 필요하다.

실용적 조언

  • 모델에 노출할 기능은 도메인 의미 단위로 좁히고 각 기능에 대해 허용 컬럼·행·영향 로우 한계를 계약에 선언해 두는 것이 기본이다. 권한 적용 전에 테넌트 스코프와 행 버전 검증을 루틴으로 포함하면 경합과 쓰기 불일치를 회피할 수 있다. 자동 승인 규칙은 금액·횟수·집계 한계를 명시하고 초과 시 즉시 인간 검토로 전환하는 방식을 채택해야 잠재적 위험 축적을 억제할 수 있다.
  • 프로덕션 배포 시에는 로컬 SQLite 대신 공유 PostgreSQL 런타임 스토어를 사용해 다중 프로세스·다중 워커 환경에서 원장 일관성을 확보해야 한다. 데모 단계에서 보여준 토큰 절감 효과를 실무에서 유지하려면 도구 표면을 정기적으로 리뷰해 불필요한 기능을 제거하고 계약을 경량화해야 한다. 감사용 영수증과 리플레이 링크를 활성화해 적용 이력을 자동으로 보관하면 문제 발생 시 원인 추적이 수월해진다.
  • 무제한 쓰기, DDL, 복잡한 트랜잭션 등은 애플리케이션 소유의 안전 실행기로 이관하고 그 경로는 엄격한 승인 절차와 별도의 보안 검증을 통해 호출하도록 설계해야 한다. 계약 파일은 Git으로 버전 관리해 변경 이력과 리뷰 프로세스를 확보하고 자동화된 테스트로 정책 규칙 충족 여부를 검증하는 파이프라인을 구축해야 운영 리스크를 낮출 수 있다.

섹션별 상세

01
모델에 원시 SQL 실행 도구를 넘기는 관행이 위험 반경을 키운다는 문제가 이 프로젝트의 출발점이다. Synapsor Runner는 모델에 SQL을 직접 노출하지 않고 도메인별 의미적 기능만 노출하는 방식으로 입력을 제한해 모델이 데이터베이스에 직접 쓰기 권한을 갖지 못하게 한다. 도메인 기능은 billing.inspect_invoice 같은 읽기 기능과 billing.propose_late_fee_waiver 같은 변경 요청 프로포절로 구성되며, 이들 기능은 실행 대신 요청 기록을 생성하는 형태로 동작한다. 결과적으로 모델이 악의적이거나 혼동된 프롬프트에 속아도 원천적으로 커밋 경로가 존재하지 않도록 설계된다.
02
경계는 세 가지 기술적 축으로 구현된다: 스코핑, 프로포절 기반 처리, 그리고 검증된 쓰기 적용이다. 스코핑 단계에서는 테넌트 범위, 허용 컬럼과 행이 신뢰 가능한 서버측 컨텍스트로 고정되어 모델 인수로부터 분리되며 모델은 이 범위를 넓힐 수 없다. 프로포절 단계에서는 요청 전후 상태를 기록하고 실제 데이터 변경은 발생시키지 않으며 승인과 실제 쓰기 작업은 MCP 루프 밖의 신뢰된 워커가 수행한다. 검증된 쓰기 적용은 행 버전, 영향 로우 한계, 원자성, 아이덤포텐시 점검을 통해 충돌 시 실패로 처리하고 모든 적용을 영수증으로 기록한다.
03
저자는 실험으로 여러 LLM 에이전트를 동일 서버에 배치하고 일부 에이전트에 테넌트 데이터 읽기나 예산 무시 같은 주입형 태스크를 부여했다는 결과를 보고했다. 실험 결과는 크로스-테넌트 읽기 0건과 무단 쓰기 0건으로 나타났으며, 저자는 이는 모델이 프롬프트를 거부해서가 아니라 쓰기 권한 경로가 외부에 고정되어 있었기 때문이라고 밝혔다. 이 사례는 토큰 탈취·SQL 주입 시나리오에서 원시 SQL 실행 도구가 없는 구조가 공격 경로를 차단하는 유효한 방어선이 될 수 있음을 시사한다. 다만 해당 수치는 저자의 환경에서 관찰된 사례이며 공개 벤치마크가 함께 제공되지는 않았다.
04
제한 조건도 명확히 규정되어 있다. Synapsor Runner는 프롬프트 주입 자체를 차단하지 않으며 최소 권한 데이터베이스 역할, 제한된 뷰, 행 수준 보안 같은 기존 보안 메커니즘을 대체하지 않는다. 또한 자유형 또는 모델 생성 술어 기반의 선택 규칙, UPSERT, DDL, 무제한 쓰기, 다중 테이블 트랜잭션과 외부 사이드 이펙트는 기본 보호 경로에서 제외되어 애플리케이션 소유 실행기에서 별도로 처리해야 한다. 따라서 이 도구는 권한 범위를 물리적으로 좁히는 경계로 기능하지만 모든 작업 유형을 자동으로 안전하게 만드는 만능 해결책은 아니다.
05
운영적 장점과 비용 측면에서 Synapsor Runner는 토큰 사용량을 줄이는 효과를 보고했다. 모델이 SQL과 스키마를 직접 생성·시험하는 대신 의미적 도구 호출로 동작하면 테이블·컬럼 덤프나 반복적인 SQL 오류-재시도 루프를 줄일 수 있으며 승인과 쓰기 적용이 모델 바깥에서 실행되므로 해당 단계의 토큰 비용이 발생하지 않는다. 다만 기능 수가 과도하게 노출되면 도구 목록이 비대해져 오히려 컨텍스트 비용이 늘어날 수 있어 잘 설계된 계약이 전제되어야 한다. 저자는 이 점을 방향성 이득으로만 제시했으며 정량적 벤치마크는 별도로 제공하지 않았다.
06
계약과 워크플로 측면에서 Synapsor Runner는 JSON 기반의 계약 파일과 선택적 SQL 유사 DSL을 지원해 기능·승인 정책·워프로우를 선언 가능하게 설계했다. 계약은 Git으로 버전 관리해 코드처럼 리뷰하고 배포할 수 있으며 사전 정의한 자동 승인 규칙으로 소액·저위험 프로포절은 즉시 적용되게 설정할 수 있다. 모든 적용과 거절 사유는 로컬 SQLite 원장 또는 공유 PostgreSQL 런타임 스토어에 기록되어 감사와 재실행 링크를 확보할 수 있게 했다.
bash
npx -y -p audit --example dangerous-db-mcp
npx -y -p u/synapsor-runner demo --quick

Synapsor Runner의 빠른 데모 실행 예시 명령이다. 첫 줄은 감사용 예제 패키지를 실행해 위험한 MCP 도구 형태를 검사하는 워크플로를 시연하며 두 번째 줄은 Synapsor Runner의 퀵 데모를 로컬에서 실행해 프로포절→증거→리플레이 경계 흐름을 확인한다. 데모는 실제 DB를 수정하지 않도록 설계되어 있다.

용어 해설

MCP
MCP는 모델과 외부 도구 사이의 통신 인터페이스로, 모델이 호출 가능한 도구 형태를 정형화해서 노출하는 런타임 패턴이다. 이 문맥에서는 모델이 SQL 같은 원시 실행 권한을 직접 갖지 않도록 도구 표면을 제한하고 제어된 기능만 노출하는 구조를 가리킨다. 런타임 수준에서 도구 호출과 승인, 기록을 분리하는 설계가 핵심이다.
정책 기반 기능 접근(Capability-based Access)
Capability-based Access는 권한을 세부 기능 단위로 나누어 모델에게는 읽기·제안 등 제한된 기능만 노출하고 커밋 권한은 외부에 보관하는 접근 제어 방식이다. Synapsor Runner는 이 방식을 통해 모델이 직접 DB에 쓰기 권한을 갖지 못하도록 기능 표면을 설계한다. 기능별 허용 컬럼·행·동작 한계를 계약으로 고정해 권한 확대를 방지한다.
검증된 쓰기 적용(Guarded Writeback)
Guarded Writeback은 모델이 제출한 변경 프로포절을 별도 신뢰 영역에서 검증한 뒤에만 실제 데이터베이스에 적용하는 과정이다. 적용 전 스코프 재검증, 행 버전 확인, 원자성 보장, 영향 로우 제한 등을 수행해 경쟁·충돌과 무단 적용을 방지한다. 모든 적용은 영수증과 재실행 링크로 기록돼 사후 감사 가능하다.
스코프 고정 계약(Scoped Contracts)
Scoped Contracts는 테넌트 범위, 허용 컬럼, 허용 행 조건 등을 검토된 JSON 계약으로 고정해 모델 쪽 인수로부터 분리된 신뢰 컨텍스트로 보관하는 방식이다. 계약은 Git으로 버전 관리가 가능하며 런타임은 계약에 선언된 규칙만 따라 모델 요청을 해석한다. 이 방식은 모델이 본래 허용 외의 데이터를 보거나 요청을 확장하는 경로를 물리적으로 차단한다.
자동 승인 정책(Auto-Approval Policies)
Auto-Approval Policies는 리스크가 낮은 소액·소규모 변경에 대해 사전에 정의된 규칙으로 자동으로 결재를 통과시키는 정책이다. 정책은 금액·횟수·집계 한계 같은 조건을 포함하고, 조건을 초과하면 인간 검토 경로로 전환된다. 이 정책은 운영 비용과 지연을 낮추면서 위험 축적을 방지하도록 설계된다.

언급된 도구

Synapsor Runner추천링크

MCP 클라이언트와 Postgres/MySQL 사이에 위치해 모델에 SQL 권한을 주지 않고 의미적 기능과 프로포절 기반 경계를 제공하는 런타임

언급된 리소스

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 07. 17.수집 2026. 07. 17.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.