跳至主要內容
hs-sql-agent

SQL Compiler

把 AI 產生的 SQL 當成不可信輸入。

hs-sql-agent 先把 SQL 送進 typed compiler pipeline,驗證來源語意與 policy、證明 target capability,最後才產生 provider-specific SQL。

01

先 Parse

SQL 不會直接送進 database driver,而是先進入結構化 parser。

02

證明 Capability

來源或目標語意無法證明時直接拒絕,不偷偷降級。

03

依 Provider Compile

不同資料庫的差異留在明確的執行邊界裡處理。

AI 產生的 SQL 只是輸入,不是授權

LLM 可以提出 SQL,但不是只要資料庫本身能 parse,就代表這段 SQL 應該被執行。hs-sql-agent 在模型與連線之間建立 compiler 與 policy boundary。

整條 pipeline 採 fail-closed:無法安全表示或證明的 statement 直接拒絕,不會為了『能跑』而改寫成語意不同的 SQL。

Typed execution path

Query 依序經過 parsing、binding、validation、capability check、provider-specific compilation 與 immutable command execution,讓安全政策面對的是結構化 statement,而不是只靠 raw SQL text。

  • single-statement query validation
  • table authorization 與 query policy
  • source / target dialect capability boundary
  • 驗證完成後才做 provider-specific rendering

擴充語法,不犧牲 fail-closed

SQL 支援面可以持續擴充,但不需要放棄安全契約。新的語法必須同時進入 parser、typed model、validation、capability proof、renderer 與測試,才算真正被支援。