:用任務(wù)創(chuàng)建接口搭建自己的自動(dòng)化掃描流水線)
AI-Infra-Guard API參考手冊(cè)用任務(wù)創(chuàng)建接口搭建自己的自動(dòng)化掃描流水線【免費(fèi)下載鏈接】AI-Infra-GuardA full-stack AI Red Teaming platform securing AI ecosystems via Agent Scan, Skills Scan, MCP scan, AI Infra scan and LLM jailbreak evaluation.項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ai/AI-Infra-GuardAI-Infra-GuardA.I.G是一款 AI 紅隊(duì)安全掃描平臺(tái)覆蓋 Agent 掃描、MCP 服務(wù)掃描、AI 基礎(chǔ)設(shè)施漏洞掃描和大模型越獄評(píng)估Jailbreak Evaluation四大能力。本文將帶你用它的API 接口搭建一條自動(dòng)化安全掃描流水線只需一個(gè)統(tǒng)一的任務(wù)創(chuàng)建接口就能把掃描任務(wù)交給腳本、CI 或定時(shí)任務(wù)來(lái)跑全程無(wú)需點(diǎn)鼠標(biāo)。一、先認(rèn)識(shí) API 體系Base URL 與統(tǒng)一響應(yīng)格式項(xiàng)目運(yùn)行后所有接口都掛在同一個(gè)網(wǎng)關(guān)下官方 API 文檔見(jiàn) api.md —— 這里直接給出關(guān)鍵信息Base URLhttp://localhost:8088按實(shí)際部署調(diào)整Swagger 在線文檔http://localhost:8088/docs/index.htmlContent-Typeapplication/json所有接口返回統(tǒng)一格式判斷成功只看status字段字段說(shuō)明status0成功1失敗message提示或錯(cuò)誤信息data真正的業(yè)務(wù)數(shù)據(jù)這套 API 由 Go 后端實(shí)現(xiàn)路由與任務(wù)調(diào)度邏輯分別在common/websocket/task.go和common/websocket/task_manager.go中定義Swagger 規(guī)范文件為docs/swagger.yaml想深入細(xì)節(jié)可以直接閱讀這些源碼。二、核心中的核心統(tǒng)一任務(wù)創(chuàng)建接口整個(gè)平臺(tái)最關(guān)鍵的接口只有一個(gè)——任務(wù)創(chuàng)建接口POST /api/v1/app/taskapi/tasks Content-Type: application/json請(qǐng)求體結(jié)構(gòu)非常簡(jiǎn)單參數(shù)類型必填說(shuō)明typestring是任務(wù)類型agent_scan/mcp_scan/model_redteam_report/ai_infra_scancontentobject是任務(wù)內(nèi)容隨任務(wù)類型變化調(diào)用成功后返回session_id任務(wù)會(huì)話 ID后續(xù)用它查詢進(jìn)度和結(jié)果。可以說(shuō)記住這一個(gè)接口 四種 type 值就掌握了 80% 的 API。1?? Agent 安全掃描agent_scan對(duì) Dify、Coze 或任意 HTTP 端點(diǎn)的 AI Agent 做注入、越權(quán)、數(shù)據(jù)泄露檢測(cè)。content中二選一提供agent_id預(yù)存配置或agent_config內(nèi)聯(lián) YAML免預(yù)存{ type: agent_scan, content: { agent_config: provider: dify\nbase_url: https://your-dify.example.com\napi_key: app-xxx, eval_model: { model: gpt-4, token: sk-xxx, base_url: https://api.openai.com/v1 }, language: zh, prompt: 重點(diǎn)關(guān)注越權(quán)與數(shù)據(jù)泄露風(fēng)險(xiǎn) } } 預(yù)存 Agent 配置走POST /api/v1/app/knowledge/agent/:name適合在流水線里配置一次、反復(fù)引用。2?? MCP 服務(wù)掃描mcp_scan檢測(cè) MCP Server 的工具投毒、憑據(jù)竊取、命令注入等風(fēng)險(xiǎn)。兩種模式源碼掃描先把源碼包通過(guò)文件上傳接口傳上去把返回的fileUrl填進(jìn)attachments遠(yuǎn)程掃描把 MCP Server 的 URL 直接寫(xiě)進(jìn)prompt字段{ type: mcp_scan, content: { prompt: https://mcp-server.example.com, model: { model: gpt-4, token: sk-xxx, base_url: https://api.openai.com/v1 }, thread: 4, language: zh, headers: { Authorization: Bearer your-token } } }3?? 大模型越獄評(píng)估m(xù)odel_redteam_report用內(nèi)置紅隊(duì)數(shù)據(jù)集批量攻擊被測(cè)模型輸出安全評(píng)分與風(fēng)險(xiǎn)率。content需要三個(gè)要素model被測(cè)試模型列表可多個(gè)eval_model擔(dān)任裁判的評(píng)估模型dataset數(shù)據(jù)集組合 提示詞數(shù)量 隨機(jī)種子內(nèi)置數(shù)據(jù)集位于data/eval/目錄常用組合如下數(shù)據(jù)集適用場(chǎng)景JailBench-Tiny快速小樣本越獄基準(zhǔn)測(cè)試JailbreakPrompts-Tiny常見(jiàn)越獄手法防護(hù)測(cè)試ChatGPT-Jailbreak-Prompts針對(duì) ChatGPT 的專項(xiàng)測(cè)試JADE-db-v3.0綜合性 AI 安全評(píng)估HarmfulEvalBenchmark有害內(nèi)容生成風(fēng)險(xiǎn)評(píng)估{ type: model_redteam_report, content: { model: [ { model: gpt-4, token: sk-xxx } ], eval_model: { model: gpt-4, token: sk-eval-key }, dataset: { dataFile: [JailBench-Tiny, JailbreakPrompts-Tiny], numPrompts: 100, randomSeed: 42 } } }4?? AI 基礎(chǔ)設(shè)施掃描ai_infra_scan針對(duì) Ollama、vLLM、Dify 等 130 種 AI 組件做指紋識(shí)別與 CVE 漏洞匹配內(nèi)置 2000 規(guī)則參數(shù)最輕量{ type: ai_infra_scan, content: { target: [https://ai-service1.example.com, https://ai-service2.example.com], headers: { Authorization: Bearer your-token }, timeout: 30, model: { model: gpt-4, token: sk-xxx } } }三、搭建流水線上傳 → 創(chuàng)建 → 輪詢 → 取結(jié)果一個(gè)完整、可復(fù)用的自動(dòng)化掃描流水線只有四步。第 1 步文件上傳接口需要源碼時(shí)POST /api/v1/app/taskapi/upload multipart/form-data字段名 file支持 zip / json / txt 等格式返回fileUrl供后續(xù)引用。第 2 步創(chuàng)建任務(wù)——即上面的POST /api/v1/app/taskapi/tasks拿到session_id。第 3 步輪詢?nèi)蝿?wù)狀態(tài)GET /api/v1/app/taskapi/status/{session_id}返回的status有四個(gè)取值pending排隊(duì)、running執(zhí)行中、completed完成、failed失敗附帶log字段可實(shí)時(shí)查看執(zhí)行日志。輪詢間隔建議 10 秒起越獄評(píng)估耗時(shí)較長(zhǎng)可放寬到 30 秒。第 4 步拉取掃描結(jié)果GET /api/v1/app/taskapi/result/{session_id}結(jié)果包含漏洞列表、安全評(píng)分、風(fēng)險(xiǎn)等級(jí)與修復(fù)建議可直接寫(xiě)入工單系統(tǒng)或安全報(bào)告。用一條命令驗(yàn)證接口是否可用curl -X POST http://localhost:8088/api/v1/app/taskapi/tasks \ -H Content-Type: application/json \ -d {type:ai_infra_scan,content:{target:[https://your-ai.example.com]}}這樣一條每夜定時(shí)掃描全部 AI 服務(wù)的流水線就是cron/CI 里跑一段腳本 → 依次調(diào)這四個(gè)接口 → 把結(jié)果推送到通知渠道。四、模型管理 API讓流水線少傳參數(shù)如果不想每次任務(wù)都內(nèi)聯(lián)模型配置可以先把模型存進(jìn)平臺(tái)之后省略model字段自動(dòng)回落到系統(tǒng)默認(rèn)模型。模型管理接口一覽接口方法說(shuō)明/api/v1/app/modelsGET獲取模型列表token 自動(dòng)打碼/api/v1/app/models/{id}GET獲取模型詳情/api/v1/app/modelsPOST創(chuàng)建模型創(chuàng)建時(shí)自動(dòng)校驗(yàn)連通性/api/v1/app/models/{id}PUT更新模型token 傳********表示保持原值/api/v1/app/modelsDELETE批量刪除body 傳model_ids數(shù)組另一種零代碼方式是 YAML 配置模型db/model.yaml可聲明某模型為指定任務(wù)類型的默認(rèn)模型例如- model_id: system_default model_name: deepseek-chat token: sk-your-api-key base_url: https://api.deepseek.com/v1 default: [mcp_scan, ai_infra_scan]?? YAML 模型只讀無(wú)法通過(guò) API 修改或刪除。五、踩坑清單讓流水線更穩(wěn)定只信status一切以status 0為準(zhǔn)失敗時(shí)讀message定位原因控制并發(fā)不要同時(shí)創(chuàng)建過(guò)多任務(wù)建議串行排隊(duì)或用隊(duì)列及時(shí)落盤(pán)結(jié)果拿到result后立刻持久化避免任務(wù)被清理后數(shù)據(jù)丟失合理超時(shí)timeout按目標(biāo)響應(yīng)速度調(diào)整默認(rèn) 30 秒數(shù)據(jù)集要固定種子randomSeed固定下來(lái)回歸對(duì)比才有意義完整參數(shù)與示例代碼api.md英文與api_zh.md中文里有每種任務(wù)類型的完整 Python / cURL 示例照抄即可寫(xiě)在最后AI-Infra-Guard 的 API 設(shè)計(jì)很克制一個(gè)統(tǒng)一的任務(wù)創(chuàng)建入口承載四種掃描類型加上狀態(tài)輪詢和結(jié)果查詢?nèi)拙蜆?gòu)成完整的自動(dòng)化閉環(huán)。把它接入 CI/CD 或定時(shí)任務(wù)你的 AI 資產(chǎn)安全體檢就能從偶爾想起來(lái)點(diǎn)一下升級(jí)為每天自動(dòng)跑一遍。【免費(fèi)下載鏈接】AI-Infra-GuardA full-stack AI Red Teaming platform securing AI ecosystems via Agent Scan, Skills Scan, MCP scan, AI Infra scan and LLM jailbreak evaluation.項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ai/AI-Infra-Guard創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考