SECURITY MAP
安全摘要
持續更新中 這頁會持續補安全治理實機截圖、audit 範例與 roadmap 細節;目前 demo 區塊先保留替換位置。
Series 04 / 安全治理

SKILL HUB 的安全、可靠性與 AI Governance

這一頁整理 SKILL HUB 如何處理不可信 Skill package、網站入口攻擊、AI 成本失控、prompt/result 稽核與管理員審核責任。
核心原則很直接:AI 可以協助理解,正式上架要回到可驗證的掃描、狀態機、稽核與人工決策。

Implemented Operational Roadmap
設計邊界 SKILL HUB 不是執行 AI Skill 的 sandbox。它負責 Skill 進入組織前後的上傳、掃描、審核、知識化、稽核與採用追蹤。

30 秒安全摘要

  • 不可信輸入:作者上傳的資料夾、ZIP、README 與 SKILL.md 都被視為資料,不被當成系統指令。
  • 上傳防線:前端先排除 node_modules.env、build 產物與過大封裝;same-origin 上傳採保守 4 MB 上限。
  • 掃描與審核:server-side archive scan 寫入 tool_scan_results;正式狀態由 scan_statusapproval_status 與 Admin sign-off 決定。
  • 網站入口:登入、註冊、掃描、repo preview、AI suggest、admin tools 與 admin users 皆有 request rate limiting。
  • AI治理:一般使用者預設每日 15 次 AI 額度;prompt/result 預設只保留 redacted preview,完整內容必須由環境變數明確開啟。
  • 稽核與可靠性:登入、上傳、掃描、核准、退件、刪除與帳號治理進 immutable user action audit;error log 與 debug id 支援追查。

01 // DEFENSE MAP 四個控制點:從上傳入口到 AI 稽核

L1 Operational

Untrusted Package Gate

資料夾與 ZIP 在進入後端前先做硬排除,送到後端後再以 archive scan、path / regex 規則與 scan lock 檢查。

  • Client-side sensitive file exclusion
  • 4 MB same-origin upload ceiling
  • tool_scan_results scan history
L2 Implemented

Website and API Perimeter

前端資料存取經 Same-origin BFF 收斂,敏感 API 套用 rate limit、session check 與 RBAC,配置錯誤時採 fail-closed。

  • Same-origin cookie session
  • Admin / developer_admin split
  • CSP report and media RLS hardening
L3 Operational

AI Runtime Governance

AI 呼叫在進模型前先檢查 mode、quota、contextFiles 與 runtime settings。AI 結論只供理解,不可直接核准上架。

  • 15 requests/day default quota
  • Redacted AI audit by default
  • Rule fallback instead of auto-allow
L4 Implemented

Operational Evidence

安全流程如果沒有紀錄,後面就無法追查。SKILL HUB 把人的操作、AI 呼叫、錯誤與版本快照分開留證。

  • Immutable user action audit
  • AI audit and debug id
  • Version snapshots and scan review notes

02 // UPLOAD AND SCAN CHAIN Skill 上傳流程先縮小可放行範圍

01

前端先排除高風險內容

作者拖放資料夾或 ZIP 時,前端先排除 node_modules.env、build 產物與過大封裝。這不是完整安全掃描,但能把最常見的誤上傳擋在第一層。

02

上傳入口採保守上限

same-origin package / media upload 暫時收斂在 4 MB,避免大型 binary request body 直接壓進 serverless function。較大的 package 會放進 direct-to-storage roadmap。

03

後端掃描寫入正式結果

後端以 archive scan 和 path / regex 規則檢查敏感路徑與內容,結果寫入 tool_scan_results。掃描狀態不是前端按鈕文案,而是 API 決策依據。

04

人工審核保留最後責任

manual_review 不是通過,代表需要 Admin 明確 sign-off。failed 可被人工放行,但必須留下 note、actor 與 audit trail。

https://skill-hub.internal.corp/admin/approvals
實機 DEMO 圖片待補 admin-scan-review-manual-approval.png

建議放 scan review、manual approval、note、actor 與 audit trail 的管理端畫面。

03 // SITE AND API PERIMETER 網站對外防線:把容易外露的面收回 BFF

Auth

Same-origin BFF 與 fail-closed

前端不直接拿 Supabase client 當資料入口。API 走同網域 cookie session,middleware 發現雲端 auth 配置缺失時回 503,而不是退回較寬的舊路徑。

Rate Limit

敏感端點先限流

/api/session/api/register/api/scan/api/repo-preview/api/knowledge-profile-suggest 與 admin API 都有 request limiter。

Data Surface

媒體、CSP 與 RLS 分層

媒體上傳封鎖 SVG,CSP 違規可回報追蹤,media bucket RLS 精確化權限。Analytics summary 也補上 security invoker,避免 view owner 繞過底層 RLS。

Account

低摩擦帳號防護

登入與註冊使用 identifier/IP limiter、honeypot、最短填表時間與錯誤訊息泛化。Admin 登入 alert 先補上 MFA 前的可觀測性。

04 // AI GOVERNANCE AI 可以輔助整理,但不能變成上架權威

模型前的 gate 比 prompt 更重要

SKILL HUB 會用 AI 讀取作者選定的 SKILL.md、README 或既有 package,協助產生速讀欄位、標籤、流程與風險摘要。這些輸出都被視為草稿。

後端會先拒絕 disallowed path 或高可信敏感內容的 contextFiles,再消耗 quota 與呼叫模型。未知 mode 或缺必要欄位會先回 400,不會先扣每日額度。

AI audit 預設只保存 redacted prompt preview、compact result summary、compact trace、quota 與 debug id。只有明確設為 VIBEHUB_AI_AUDIT_INCLUDE_FULL_CONTENT=true,才會額外保留完整 prompt/result。

Mode control Basic / Full / Translation / Package AI 可由後台開關
Quota 一般帳號預設每日 15 次,Admin 不限但仍記錄 audit
Retention AI audit 與 user action audit 進 immutable chain,另有 90 天 retention policy
Decision AI 結論只做輔助,正式結果看 scan_status / approval_status / Admin sign-off

05 // RELIABILITY AND OPERABILITY 可靠性不是口號,要能定位、還原與追責

Error Logs

前端與 API 錯誤可被記錄並限流,避免錯誤回報本身變成新的壓力來源。

User Action Audit

登入、登出、上傳、掃描、核准、退件、刪除與帳號治理分流進操作稽核。

Version Snapshot

改版重傳會留下版本快照與差異摘要,審核者可回頭看每次 package 變了什麼。

Regression Tests

scan state、package submission、rate limit、AI audit、user action audit 與 admin analytics 有對應測試保護。

06 // LIMITS AND ROADMAP 目前邊界與下一批安全工作

Roadmap

Direct-to-storage upload

4 MB same-origin ceiling 適合目前保守入口。若要支援大型 package,應讓檔案直傳 storage,再由後端 worker 掃描。

Roadmap

AST / static scan

現有 path / regex scan 能擋常見敏感檔與危險線索。下一步可補 AST 或語言感知掃描,降低誤判與漏判。

Roadmap

Turnstile and Admin MFA

目前 bot 防護偏低摩擦。若平台暴露面變大,管理員登入與註冊入口應補 Cloudflare Turnstile / reCAPTCHA v3 與 MFA。

Roadmap

Sandbox trial

SKILL HUB 現階段不執行 Skill。若未來要提供試跑,需要獨立 sandbox、資源限制、網路限制與輸出審查。

回到技術架構,看控制點如何接進資料流

安全治理頁專注風險控制。技術架構頁會補上 BFF、Ingestion、版本快照、採用追蹤與模組邊界。

延伸討論 / Interaction

如果你想討論 Skill 上傳掃描、AI audit 或 Admin sign-off 的設計取捨,歡迎到 LinkedIn 交流。

connect ~/linkedin