Untrusted Package Gate
資料夾與 ZIP 在進入後端前先做硬排除,送到後端後再以 archive scan、path / regex 規則與 scan lock 檢查。
- Client-side sensitive file exclusion
- 4 MB same-origin upload ceiling
tool_scan_resultsscan history
這一頁整理 SKILL HUB 如何處理不可信 Skill package、網站入口攻擊、AI 成本失控、prompt/result 稽核與管理員審核責任。
核心原則很直接:AI 可以協助理解,正式上架要回到可驗證的掃描、狀態機、稽核與人工決策。
SKILL.md 都被視為資料,不被當成系統指令。node_modules、.env、build 產物與過大封裝;same-origin 上傳採保守 4 MB 上限。tool_scan_results;正式狀態由 scan_status、approval_status 與 Admin sign-off 決定。資料夾與 ZIP 在進入後端前先做硬排除,送到後端後再以 archive scan、path / regex 規則與 scan lock 檢查。
tool_scan_results scan history前端資料存取經 Same-origin BFF 收斂,敏感 API 套用 rate limit、session check 與 RBAC,配置錯誤時採 fail-closed。
AI 呼叫在進模型前先檢查 mode、quota、contextFiles 與 runtime settings。AI 結論只供理解,不可直接核准上架。
安全流程如果沒有紀錄,後面就無法追查。SKILL HUB 把人的操作、AI 呼叫、錯誤與版本快照分開留證。
作者拖放資料夾或 ZIP 時,前端先排除 node_modules、.env、build 產物與過大封裝。這不是完整安全掃描,但能把最常見的誤上傳擋在第一層。
same-origin package / media upload 暫時收斂在 4 MB,避免大型 binary request body 直接壓進 serverless function。較大的 package 會放進 direct-to-storage roadmap。
後端以 archive scan 和 path / regex 規則檢查敏感路徑與內容,結果寫入 tool_scan_results。掃描狀態不是前端按鈕文案,而是 API 決策依據。
manual_review 不是通過,代表需要 Admin 明確 sign-off。failed 可被人工放行,但必須留下 note、actor 與 audit trail。
前端不直接拿 Supabase client 當資料入口。API 走同網域 cookie session,middleware 發現雲端 auth 配置缺失時回 503,而不是退回較寬的舊路徑。
/api/session、/api/register、/api/scan、/api/repo-preview、/api/knowledge-profile-suggest 與 admin API 都有 request limiter。
媒體上傳封鎖 SVG,CSP 違規可回報追蹤,media bucket RLS 精確化權限。Analytics summary 也補上 security invoker,避免 view owner 繞過底層 RLS。
登入與註冊使用 identifier/IP limiter、honeypot、最短填表時間與錯誤訊息泛化。Admin 登入 alert 先補上 MFA 前的可觀測性。
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。
前端與 API 錯誤可被記錄並限流,避免錯誤回報本身變成新的壓力來源。
登入、登出、上傳、掃描、核准、退件、刪除與帳號治理分流進操作稽核。
改版重傳會留下版本快照與差異摘要,審核者可回頭看每次 package 變了什麼。
scan state、package submission、rate limit、AI audit、user action audit 與 admin analytics 有對應測試保護。
4 MB same-origin ceiling 適合目前保守入口。若要支援大型 package,應讓檔案直傳 storage,再由後端 worker 掃描。
現有 path / regex scan 能擋常見敏感檔與危險線索。下一步可補 AST 或語言感知掃描,降低誤判與漏判。
目前 bot 防護偏低摩擦。若平台暴露面變大,管理員登入與註冊入口應補 Cloudflare Turnstile / reCAPTCHA v3 與 MFA。
SKILL HUB 現階段不執行 Skill。若未來要提供試跑,需要獨立 sandbox、資源限制、網路限制與輸出審查。
如果你想討論 Skill 上傳掃描、AI audit 或 Admin sign-off 的設計取捨,歡迎到 LinkedIn 交流。
connect ~/linkedin