From 1fac87ec4f1358fa4ed5de8c82efad053e63a433 Mon Sep 17 00:00:00 2001 From: "xianzelin@huoxian.cn" Date: Sat, 4 Dec 2021 01:51:28 +0800 Subject: [PATCH] swaggerupdate --- swagger.json | 10635 ++++++++++++++++++++++++++++++++++++++++++- webapi/settings.py | 2 +- webapi/urls.py | 2 +- 3 files changed, 10636 insertions(+), 3 deletions(-) diff --git a/swagger.json b/swagger.json index a71688ad..07ad3e40 100644 --- a/swagger.json +++ b/swagger.json @@ -1 +1,10634 @@ -{"openapi": "3.0.3", "info": {"title": "DongTai WebApi Doc", "version": "1.0.3", "description": "\u8fd9\u91cc\u662fwebapi\u4e2d\u7684API\u6587\u6863\u3002\u53ef\u901a\u8fc7\u76f8\u5173\u7684tag\u6765\u627e\u5230\u5bf9\u5e94\u7684\u7ba1\u7406\u90e8\u5206API\u3002\n\n\u8fd9\u91cc\u6709\u4e24\u4e2a\u9274\u6743\u65b9\u5f0f\uff0c\u901a\u8fc7\u767b\u5f55\u6d41\u7a0b\u83b7\u53d6csrf_token\u548csessionid\uff0c\u6216\u8005\u901a\u8fc7\u7528\u6237\u5bf9\u5e94\u7684Token\u6765\u8bbf\u95ee\u5bf9\u5e94\u7684API\u3002\n\n\u63a8\u8350\u4f7f\u7528Token\u65b9\u5f0f\uff0c\u7528\u6237\u53ef\u5728\u5b89\u88c5Agent\u754c\u9762\u627e\u5230\u5982 -H 'Authorization: Token {token}' \uff0c\u6b64\u5904\u4e3a\u7528\u6237\u5bf9\u5e94\u7684token\uff0ctoken\u65b9\u5f0f\u540c\u6837\u9700\u8981\u5728\u8bf7\u6c42\u5934\u4e0a\u5e26\u4e0a\u4e00\u4e2a\u8fd9\u6837\u7684token\u3002 "}, "paths": {"/api/v1/agent/{id_}": {"get": {"operationId": "v1_agent_retrieve", "description": "\u901a\u8fc7\u6761\u4ef6\u5220\u9664\u6307\u5b9a\u7684\u9879\u76ee\u7248\u672c", "summary": "\u63a2\u9488\u8be6\u60c5", "parameters": [{"in": "path", "name": "id_", "schema": {"type": "integer"}, "required": true}], "tags": ["\u63a2\u9488"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715cf53a-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/agent/{id}/delete": {"get": {"operationId": "v1_agent_delete_retrieve", "description": "\u4f7f\u7528\u63a2\u9488\u5bf9\u5e94\u7684id\u6765\u5220\u9664\u63a2\u9488", "summary": "\u5220\u9664\u63a2\u9488", "parameters": [{"in": "path", "name": "id", "schema": {"type": "integer"}, "required": true}], "tags": ["\u63a2\u9488"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/7159d378-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/agent/alias/modified": {"post": {"operationId": "v1_agent_alias_modified_create", "description": "\u4fee\u6539\u63a2\u9488\u522b\u540d", "summary": "\u63a2\u9488\u522b\u540d\u4fee\u6539", "tags": ["\u63a2\u9488"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AgentAliasArgs"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/717637a2-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/agent/deploy/": {"get": {"operationId": "v1_agent_deploy_retrieve", "description": "\u63a2\u9488\u90e8\u7f72\u7684\u6587\u6863", "summary": "\u63a2\u9488\u90e8\u7f72\u7684\u6587\u6863", "parameters": [{"in": "query", "name": "language", "schema": {"type": "string"}}, {"in": "query", "name": "middleware", "schema": {"type": "string"}}], "tags": ["\u6587\u6863"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715c0f6c-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/agent/install": {"post": {"operationId": "v1_agent_install_create", "description": "\u901a\u8fc7\u6307\u5b9aid\u6765\u5b89\u88c5\u8fd0\u884c\u4e2d\u7684\u63a2\u9488", "summary": "\u63a2\u9488\u5b89\u88c5", "tags": ["\u63a2\u9488"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AgentInstallArgs"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715c60e8-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/agent/start": {"post": {"operationId": "v1_agent_start_create", "description": "\u901a\u8fc7\u6307\u5b9aid\u6765\u542f\u52a8\u505c\u6b62\u7684\u63a2\u9488", "summary": "\u63a2\u9488\u542f\u52a8", "tags": ["\u63a2\u9488"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AgentToggleArgs"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715c747a-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/agent/stop": {"post": {"operationId": "v1_agent_stop_create", "description": "\u4f7f\u7528\u63a2\u9488\u5bf9\u5e94\u7684id\u6765\u505c\u6b62\u63a2\u9488", "summary": "\u63a2\u9488\u505c\u6b62", "tags": ["\u63a2\u9488"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AgentToggleArgs"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715ca904-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/agent/uninstall": {"post": {"operationId": "v1_agent_uninstall_create", "description": "\u901a\u8fc7\u6307\u5b9aid\u6765\u5378\u8f7d\u8fd0\u884c\u4e2d\u7684\u63a2\u9488", "summary": "\u63a2\u9488\u5378\u8f7d", "tags": ["\u63a2\u9488"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AgentInstallArgs"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715cbc82-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/agents": {"get": {"operationId": "v1_agents_retrieve", "description": "\u57fa\u4e8e\u6240\u7ed9\u6761\u4ef6\u83b7\u53d6\u63a2\u9488\u4fe1\u606f\u5217\u8868", "summary": "\u63a2\u9488\u5217\u8868", "parameters": [{"in": "query", "name": "page", "schema": {"type": "integer", "default": 1}}, {"in": "query", "name": "pageSize", "schema": {"type": "integer", "default": 1}}, {"in": "query", "name": "project_name", "schema": {"type": "string"}}, {"in": "query", "name": "state", "schema": {"type": "integer", "default": 1}}, {"in": "query", "name": "token", "schema": {"type": "string"}}], "tags": ["\u63a2\u9488"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715d20be-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/agents/delete": {"get": {"operationId": "v1_agents_delete_retrieve", "description": "\u4f7f\u7528\u63a2\u9488\u5bf9\u5e94\u7684id\u6765\u505c\u6b62\u63a2\u9488", "summary": "\u63a2\u9488\u5220\u9664\uff08\u6279\u91cf\uff09", "parameters": [{"in": "query", "name": "ids", "schema": {"type": "string"}, "description": "agent\u5bf9\u5e94\u7684id\uff0c\u4f7f\u7528\",\"\u8fdb\u884c\u5207\u5206\u3002", "required": true}], "tags": ["\u63a2\u9488"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715c9806-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/agents/user": {"get": {"operationId": "v1_agents_user_retrieve", "description": "\u4f7f\u7528\u63a2\u9488\u5bf9\u5e94\u7684id\u6765\u505c\u6b62\u63a2\u9488", "summary": "\u63a2\u9488\uff08\u7528\u6237\u76f8\u5173\uff09", "tags": ["\u63a2\u9488"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715d3432-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/api_route/cover_rate": {"get": {"operationId": "v1_api_route_cover_rate_retrieve", "description": "\u901a\u8fc7\u6307\u5b9aid\u6765\u83b7\u53d6\u5bf9\u5e94\u9879\u76ee\u7684API\u8986\u76d6\u7387", "summary": "API\u5bfc\u822a\u8986\u76d6\u7387", "parameters": [{"in": "query", "name": "project_id", "schema": {"type": "integer"}}, {"in": "query", "name": "version_id", "schema": {"type": "integer"}}], "tags": ["API \u5bfc\u822a"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71745eaa-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/api_route/relationrequest": {"get": {"operationId": "v1_api_route_relationrequest_retrieve", "description": "\u901a\u8fc7\u6307\u5b9aid\u6765\u83b7\u53d6\u5bf9\u5e94\u9879\u76ee\u7684\u8986\u76d6\u7387", "summary": "API\u5bfc\u822a\u76f8\u5173\u7684\u8bf7\u6c42", "parameters": [{"in": "query", "name": "api_route_id", "schema": {"type": "integer"}}, {"in": "query", "name": "project_id", "schema": {"type": "integer"}}, {"in": "query", "name": "version_id", "schema": {"type": "integer"}}], "tags": ["API \u5bfc\u822a"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71743664-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/api_route/search": {"post": {"operationId": "v1_api_route_search_create", "description": "\u6839\u636e\u4ee5\u4e0b\u53c2\u6570\u641c\u7d22\u7528\u6237\u5bf9\u5e94\u7684agent", "summary": "API \u5bfc\u822a\u641c\u7d22", "tags": ["API \u5bfc\u822a"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiRouteSearchRequestBody"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71740db0-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/documents": {"get": {"operationId": "v1_documents_retrieve", "description": "\u83b7\u53d6\u5bf9\u5e94\u5e2e\u52a9\u6587\u6863.", "summary": "\u83b7\u53d6\u6587\u6863", "parameters": [{"in": "query", "name": "language", "schema": {"type": "string"}, "description": "\u6587\u6863\u5bf9\u5e94\u7684\u7f16\u7a0b\u8bed\u8a00"}, {"in": "query", "name": "page", "schema": {"type": "integer", "default": 1}, "description": "\u5bf9\u5e94\u9875\u7801"}, {"in": "query", "name": "page_size", "schema": {"type": "integer", "default": 20}, "description": "\u6bcf\u9875\u6570\u91cf"}], "tags": ["\u6587\u6863"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715d5e76-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/engine/hook/rule/add": {"post": {"operationId": "v1_engine_hook_rule_add_create", "description": "\u6839\u636e\u9009\u62e9\u7684\u7b56\u7565\u751f\u6210\u5bf9\u5e94\u7684\u7b56\u7565\u7ec4", "summary": "Hook\u89c4\u5219\u6dfb\u52a0", "tags": ["Hook \u89c4\u5219"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/_HookRuleAddBodyargs"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715d8b62-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/engine/hook/rule/modify": {"post": {"operationId": "v1_engine_hook_rule_modify_create", "description": "\u901a\u8fc7\u6307\u5b9aid\u6765\u83b7\u53d6\u5bf9\u5e94hook\u89c4\u5219", "summary": "Hook\u89c4\u5219\u4fee\u6539", "tags": ["Hook \u89c4\u5219"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/_EngineHookRuleModify"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715d9d28-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/engine/hook/rule/status": {"get": {"operationId": "v1_engine_hook_rule_status_retrieve", "description": "\u901a\u8fc7\u6307\u5b9aid\u6765\u4fee\u6539\u5bf9\u5e94\u89c4\u5219\u72b6\u6001", "summary": "Hook\u89c4\u5219\u72b6\u6001\u4fee\u6539", "parameters": [{"in": "query", "name": "op", "schema": {"enum": ["enable", "disable", "delete"], "type": "string"}, "description": "Hook\u89c4\u5219\u7684\u72b6\u6001", "required": true}, {"in": "query", "name": "rule_id", "schema": {"type": "integer"}, "description": "Hook\u89c4\u5219\u7684id", "required": true}], "tags": ["Hook \u89c4\u5219"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715dc280-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}, "post": {"operationId": "v1_engine_hook_rule_status_create", "description": "\u901a\u8fc7\u6307\u5b9aid\u6765\u6279\u91cf\u4fee\u6539\u5bf9\u5e94\u89c4\u5219\u72b6\u6001", "summary": "Hook\u89c4\u5219\u72b6\u6001\u4fee\u6539(\u6279\u91cf)", "tags": ["Hook \u89c4\u5219"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/EngineHookRuleStatusPostBody"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715dc8f2-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/engine/hook/rule/summary": {"get": {"operationId": "v1_engine_hook_rule_summary_retrieve", "description": "\u5bf9\u4e8eHook\u89c4\u5219\u6570\u91cf\u7684\u7edf\u8ba1", "summary": "Hook\u89c4\u5219\u6982\u89c8", "parameters": [{"in": "query", "name": "language_id", "schema": {"type": "integer", "nullable": true}, "description": "\u7f16\u7a0b\u8bed\u8a00\u7684id"}], "tags": ["Hook \u89c4\u5219"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715de058-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/engine/hook/rule_type/add": {"post": {"operationId": "v1_engine_hook_rule_type_add_create", "description": "\u57fa\u4e8e\u4ee5\u4e0b\u53c2\u6570\u521b\u5efaHook\u7c7b\u578b", "summary": "Hook\u89c4\u5219\u7c7b\u578b\u6dfb\u52a0", "tags": ["Hook \u89c4\u5219"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/_EngineHookRuleTypeAdd"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715dff7a-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/engine/hook/rule_type/disable": {"get": {"operationId": "v1_engine_hook_rule_type_disable_retrieve", "description": "\u901a\u8fc7\u6307\u5b9aid\u6765\u7981\u7528\u5bf9\u5e94\u89c4\u5219", "summary": "Hook\u89c4\u5219\u72b6\u6001\u7981\u7528", "parameters": [{"in": "query", "name": "rule_id", "schema": {"type": "integer", "default": 1}, "description": "Hook\u7c7b\u578b\u7684id"}], "tags": ["Hook \u89c4\u5219"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715e1276-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/engine/hook/rule_type/enable": {"get": {"operationId": "v1_engine_hook_rule_type_enable_retrieve", "description": "\u901a\u8fc7\u6307\u5b9aid\u6765\u542f\u7528\u5bf9\u5e94\u89c4\u5219", "summary": "Hook\u89c4\u5219\u72b6\u6001\u542f\u7528", "parameters": [{"in": "query", "name": "rule_id", "schema": {"type": "integer", "default": 1}, "description": "Hook\u7c7b\u578b\u7684id"}], "tags": ["Hook \u89c4\u5219"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715e25a4-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/engine/hook/rule_types": {"get": {"operationId": "v1_engine_hook_rule_types_retrieve", "description": "\u83b7\u53d6Hook\u89c4\u5219\u7c7b\u578b\u5217\u8868", "summary": "Hook\u89c4\u5219\u7c7b\u578b\u5217\u8868", "parameters": [{"in": "query", "name": "language_id", "schema": {"type": "integer", "default": 1}, "description": "\u7f16\u7a0b\u8bed\u8a00\u7684id"}, {"in": "query", "name": "page", "schema": {"type": "integer", "default": 1}, "description": "\u5bf9\u5e94\u9875\u7801"}, {"in": "query", "name": "pageSize", "schema": {"type": "integer", "default": 20}, "description": "\u6bcf\u9875\u6570\u91cf"}, {"in": "query", "name": "type", "schema": {"enum": [2, 5, 1, 3, 4], "type": "integer"}, "description": "Hook\u89c4\u5219\u7684\u7c7b\u578b \n 1 \u4ee3\u8868\u4f20\u64ad\u65b9\u6cd5, 2 \u4ee3\u8868\u6c61\u70b9\u6e90\u65b9\u6cd5, 3 \u4ee3\u8868\u8fc7\u6ee4\u65b9\u6cd5, 4 \u4ee3\u8868\u5371\u9669\u65b9\u6cd5", "required": true}], "tags": ["Hook \u89c4\u5219"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715e4458-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/engine/hook/rules": {"get": {"operationId": "v1_engine_hook_rules_retrieve", "description": "\u83b7\u53d6Hook\u7b56\u7565\u5217\u8868", "summary": "Hook\u89c4\u5219\u5217\u8868", "parameters": [{"in": "query", "name": "language_id", "schema": {"type": "integer", "default": 1}, "description": "\u7f16\u7a0b\u8bed\u8a00\u7684id"}, {"in": "query", "name": "page", "schema": {"type": "integer", "default": 1}, "description": "\u5bf9\u5e94\u9875\u7801"}, {"in": "query", "name": "page_size", "schema": {"type": "integer", "default": 20}, "description": "\u6bcf\u9875\u6570\u91cf"}, {"in": "query", "name": "strategy_type", "schema": {"type": "integer"}, "description": "Hook \u7c7b\u578bid"}, {"in": "query", "name": "type", "schema": {"enum": [2, 5, 1, 3, 4], "type": "integer"}, "description": "Hook\u89c4\u5219\u7684\u7c7b\u578b \n 1 \u4ee3\u8868\u4f20\u64ad\u65b9\u6cd5, 2 \u4ee3\u8868\u6c61\u70b9\u6e90\u65b9\u6cd5, 3 \u4ee3\u8868\u8fc7\u6ee4\u65b9\u6cd5, 4 \u4ee3\u8868\u5371\u9669\u65b9\u6cd5", "required": true}], "tags": ["Hook \u89c4\u5219"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715e5c22-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/engine/method_pool/sca": {"get": {"operationId": "v1_engine_method_pool_sca_retrieve", "description": "\u83b7\u53d6\u65b9\u6cd5\u8c03\u7528\u94fe\u76f8\u5173\u7684\u7ec4\u4ef6\u4fe1\u606f\u5217\u8868", "summary": "\u65b9\u6cd5\u8c03\u7528\u94fe\u76f8\u5173\u7ec4\u4ef6", "parameters": [{"in": "query", "name": "method_pool_id", "schema": {"type": "integer"}, "required": true}], "tags": ["\u65b9\u6cd5\u8c03\u7528\u94fe"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715eb636-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/engine/method_pool/search": {"post": {"operationId": "v1_engine_method_pool_search_create", "description": "\u6839\u636e\u4ee5\u4e0b\u6761\u4ef6\u641c\u7d22\u8c03\u7528\u94fe\u4fe1\u606f\uff0c\u9ed8\u8ba4\u4e3a\u6b63\u5219\u8868\u8fbe\u5f0f\u8f93\u5165\uff0c\u6b63\u5219\u89c4\u8303\u53c2\u7167REGEX POSIX 1003.2", "summary": "\u65b9\u6cd5\u8c03\u7528\u94fe\u641c\u7d22", "tags": ["\u65b9\u6cd5\u8c03\u7528\u94fe"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/MethodPoolSearchProxySer"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/715eff4c-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/engine/method_pool/timerange": {"get": {"operationId": "v1_engine_method_pool_timerange_retrieve", "description": "\u83b7\u53d6\u65b9\u6cd5\u8c03\u7528\u94fe\u7684\u6700\u65e9\u65f6\u95f4", "summary": "\u65b9\u6cd5\u8c03\u7528\u94fe\u65f6\u95f4\u8303\u56f4", "tags": ["\u65b9\u6cd5\u8c03\u7528\u94fe"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71765f8e-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/message/delete": {"post": {"operationId": "v1_message_delete_create", "description": "\u7528\u4e8e\u7528\u6237\u5220\u9664\u5bf9\u5e94\u7684\u6d88\u606f", "summary": "\u6d88\u606f\u5220\u9664", "tags": ["\u6d88\u606f"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/_MessagesDelArgs"}}}}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/message/list": {"get": {"operationId": "v1_message_list_retrieve", "description": "\u83b7\u53d6\u7528\u6237\u5bf9\u5e94\u7684\u6d88\u606f\u5217\u8868", "summary": "\u83b7\u53d6\u6d88\u606f\u5217\u8868", "parameters": [{"in": "query", "name": "page", "schema": {"type": "integer", "default": 1}, "description": "\u5bf9\u5e94\u9875\u7801"}, {"in": "query", "name": "page_size", "schema": {"type": "integer", "default": 20}, "description": "\u6bcf\u9875\u6570\u91cf"}], "tags": ["\u6d88\u606f"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71759270-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/message/unread_count": {"get": {"operationId": "v1_message_unread_count_retrieve", "description": "Used to get the number of messages corresponding to the user", "summary": "Messages Count", "tags": ["\u6d88\u606f"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/7175c1dc-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/openapi": {"get": {"operationId": "v1_openapi_retrieve", "description": "\u83b7\u53d6 DongTai-OpenApi \u7684URI", "summary": "\u83b7\u53d6\u914d\u7f6e\u4e2d\u7684DongTai-OpenApi\u5730\u5740", "tags": ["\u7cfb\u7edf\u914d\u7f6e"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/7160f32e-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}, "post": {"operationId": "v1_openapi_create", "description": "\u8bbe\u7f6eDongTai-OpenApi\u7684url\u5730\u5740\uff0c\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650", "summary": "\u4fee\u6539\u914d\u7f6e\u4e2d\u7684DongTai-OpenApi\u5730\u5740", "tags": ["\u7cfb\u7edf\u914d\u7f6e"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/OpenApiEndpoint"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/7160e6c2-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/plugin/vuln/count": {"get": {"operationId": "v1_plugin_vuln_count_retrieve", "description": "\u83b7\u53d6\u7528\u6237\u5bf9\u5e94\u7684\u6f0f\u6d1e\u5217\u8868", "summary": "\u6f0f\u6d1e\u603b\u6570\uff08Agent\u76f8\u5173\uff09", "parameters": [{"in": "query", "name": "name", "schema": {"type": "string"}}], "tags": ["\u6f0f\u6d1e"], "security": [{"cookieAuth": []}, {"tokenAuth": []}, {}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/7172098e-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/plugin/vuln/list": {"get": {"operationId": "v1_plugin_vuln_list_retrieve", "description": "\u4f7f\u7528agent\u540d\u83b7\u53d6\u5bf9\u5e94\u7684\u6f0f\u6d1e\u5217\u8868", "summary": "\u6f0f\u6d1e\u5217\u8868\uff08Agent\u76f8\u5173\uff09", "parameters": [{"in": "query", "name": "name", "schema": {"type": "string"}, "description": "Agent\u540d\u79f0"}, {"in": "query", "name": "order", "schema": {"type": "string"}, "description": "\u6392\u5e8f\u6307\u6807 : id,hook_type_id,url,http_method,top_stack,bottom_stack"}, {"in": "query", "name": "page", "schema": {"type": "integer", "default": 1}, "description": "\u5bf9\u5e94\u9875\u7801"}, {"in": "query", "name": "pageSize", "schema": {"type": "integer", "default": 20}, "description": "\u6bcf\u9875\u6570\u91cf"}, {"in": "query", "name": "url", "schema": {"type": "string"}, "description": "\u6f0f\u6d1e\u7684\u5bf9\u5e94url"}], "tags": ["\u6f0f\u6d1e"], "security": [{"cookieAuth": []}, {"tokenAuth": []}, {}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/7172a538-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/profile/{key}": {"get": {"operationId": "v1_profile_retrieve", "description": "\u6839\u636ekey\u83b7\u53d6\u914d\u7f6e", "summary": "\u83b7\u53d6\u914d\u7f6e", "parameters": [{"in": "path", "name": "key", "schema": {"type": "string"}, "required": true}], "tags": ["\u7cfb\u7edf\u914d\u7f6e"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}, "post": {"operationId": "v1_profile_create", "description": "\u4fee\u6539\u5bf9\u5e94key\u7684\u914d\u7f6e\u503c", "summary": "\u914d\u7f6e\u4fee\u6539", "parameters": [{"in": "path", "name": "key", "schema": {"type": "string"}, "required": true}], "tags": ["\u7cfb\u7edf\u914d\u7f6e"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProfilepostArgsSer"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/profile/batch/get": {"post": {"operationId": "v1_profile_batch_get_create", "description": "\u6839\u636ekey\u6279\u91cf\u83b7\u53d6\u914d\u7f6e", "summary": "\u6279\u91cf\u83b7\u53d6\u914d\u7f6e", "tags": ["\u7cfb\u7edf\u914d\u7f6e"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProfileBatchGetArgsSer"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/ProfileBatchGetResSer"}}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/profile/batch/modified": {"post": {"operationId": "v1_profile_batch_modified_create", "description": "\u4fee\u6539\u5bf9\u5e94key\u7684\u914d\u7f6e\u503c", "summary": "\u914d\u7f6e\u4fee\u6539", "tags": ["\u7cfb\u7edf\u914d\u7f6e"], "requestBody": {"content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/ProfileBatchPostArgsSer"}}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProfileBatchPostArgsSer"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/program_language": {"get": {"operationId": "v1_program_language_retrieve", "description": "\u83b7\u53d6\u7f16\u7a0b\u8bed\u8a00\u5217\u8868", "summary": "\u7f16\u7a0b\u8bed\u8a00\u5217\u8868", "tags": ["\u7f16\u7a0b\u8bed\u8a00"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/7174a7a2-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/project/{id}": {"get": {"operationId": "v1_project_retrieve", "description": "\u83b7\u53d6\u9879\u76ee\u7684\u7248\u672c\u4fe1\u606f\uff0c\u5305\u62ec\u9879\u76ee\u7684\u5f53\u524d\u7248\u672c", "summary": "\u9879\u76ee\u8be6\u60c5", "parameters": [{"in": "path", "name": "id", "schema": {"type": "integer"}, "required": true}], "tags": ["\u9879\u76ee"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/716177fe-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/project/add": {"post": {"operationId": "v1_project_add_create", "description": "\u6839\u636e\u6240\u7ed9\u6761\u4ef6\u65b0\u5efa\u9879\u76ee;\n \u5f53\u6307\u5b9a\u9879\u76eeid\u662f, \u6839\u636e\u6240\u7ed9\u6761\u4ef6\u66f4\u65b0\u5bf9\u5e94\u9879\u76ee", "summary": "\u9879\u76ee\u65b0\u5efa", "tags": ["\u9879\u76ee"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/_ProjectsAddBodyArgs"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71614914-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/project/delete": {"post": {"operationId": "v1_project_delete_create", "description": "\u4f7f\u7528\u63a2\u9488\u5bf9\u5e94\u7684id\u6765\u5220\u9664\u63a2\u9488", "summary": "\u5220\u9664\u9879\u76ee", "tags": ["\u9879\u76ee"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/_ProjectsDelBodyArgs"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71616084-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/project/engines/{pid}": {"get": {"operationId": "v1_project_engines_retrieve", "description": "\u83b7\u53d6\u9879\u76ee\u5bf9\u5e94\u7684\u63a2\u9488\u5217\u8868", "summary": "\u9879\u76ee\u63a2\u9488", "parameters": [{"in": "path", "name": "pid", "schema": {"type": "integer"}, "required": true}], "tags": ["\u9879\u76ee"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71618c1c-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/project/export": {"get": {"operationId": "v1_project_export_retrieve", "description": "\u57fa\u4e8e\u4ee5\u4e0b\u6761\u4ef6\uff0c\u5bfc\u51fa\u6307\u5b9a\u7248\u672c\u7684\u62a5\u544a\u6216\u662f\u7279\u5b9a\u6f0f\u6d1e\u7684\u62a5\u544a", "summary": "\u9879\u76ee\u62a5\u544a\u5bfc\u51fa", "parameters": [{"in": "query", "name": "pid", "schema": {"type": "integer"}, "description": "\u9879\u76eeID", "required": true}, {"in": "query", "name": "pname", "schema": {"type": "string"}, "description": "\u9879\u76ee\u540d", "required": true}, {"in": "query", "name": "vid", "schema": {"type": "string"}, "description": "\u9879\u76ee\u7684\u7248\u672cid", "required": true}], "tags": ["\u9879\u76ee"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/project/search": {"get": {"operationId": "v1_project_search_retrieve", "description": "Get the id and name of the item according to the search keyword matching the item name, in descending order of time.", "summary": "\u9879\u76ee\u641c\u7d22", "parameters": [{"in": "query", "name": "name", "schema": {"type": "string"}, "description": "\u9879\u76ee\u540d\uff0c\u652f\u6301\u6a21\u7cca\u641c\u7d22", "required": true}], "tags": ["\u9879\u76ee"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/716f21ba-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/project/version/add": {"post": {"operationId": "v1_project_version_add_create", "description": "\u57fa\u4e8e\u7ed9\u5b9a\u6761\u4ef6\u6dfb\u52a0\u6307\u5b9a\u9879\u76ee\u7248\u672c\uff0c\u82e5\u6307\u5b9a\u7248\u672c\u53f7\uff0c\u5c06\u57fa\u4e8e\u7ed9\u5b9a\u6761\u4ef6\u66f4\u65b0\u6307\u5b9a\u7248\u672c\u4fe1\u606f", "summary": "\u9879\u76ee\u7248\u672c\u6dfb\u52a0", "tags": ["\u9879\u76ee"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/VersionModify"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/716f3ca4-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/project/version/current": {"post": {"operationId": "v1_project_version_current_create", "description": "\u57fa\u4e8e\u7ed9\u5b9a\u6761\u4ef6\u83b7\u53d6\u7279\u5b9a\u9879\u76ee\u7684\u7248\u672c\u53f7", "summary": "\u5f53\u524d\u9879\u76ee\u7248\u672c\u83b7\u53d6", "tags": ["\u9879\u76ee"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/_ProjectVersionCurrent"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/716f5f5e-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/project/version/delete": {"post": {"operationId": "v1_project_version_delete_create", "description": "\u901a\u8fc7\u6761\u4ef6\u5220\u9664\u6307\u5b9a\u7684\u9879\u76ee\u7248\u672c", "summary": "\u9879\u76ee\u7248\u672c\u5220\u9664", "tags": ["\u9879\u76ee"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/_ProjectVersionDelete"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/716f7d2c-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/project/version/list/{project_id}": {"get": {"operationId": "v1_project_version_list_retrieve", "description": "\u83b7\u53d6\u7528\u6237\u5bf9\u5e94\u7684\u6f0f\u6d1e\u5217\u8868", "summary": "\u9879\u76ee\u7248\u672c\u5217\u8868", "parameters": [{"in": "path", "name": "project_id", "schema": {"type": "integer"}, "required": true}], "tags": ["\u9879\u76ee"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/716f9726-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/project/version/update": {"post": {"operationId": "v1_project_version_update_create", "description": "\u4f7f\u7528\u6307\u5b9a\u7248\u672cid\u83b7\u53d6\u5bf9\u5e94\u7684\u7248\u672c\u4fe1\u606f\u3002", "summary": "\u9879\u76ee\u7248\u672c\u66f4\u65b0", "tags": ["\u9879\u76ee"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/VersionModify"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/716faf4a-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/projects": {"get": {"operationId": "v1_projects_retrieve", "description": "\u9879\u76ee\u5bf9\u5e94\u7684\u7528\u6237\uff0c\u652f\u6301\u6a21\u7cca\u5339\u914d", "summary": "\u9879\u76ee\u5217\u8868", "parameters": [{"in": "query", "name": "name", "schema": {"type": "string"}, "description": "\u9879\u76ee\u540d\u641c\u7d22\uff0c\u652f\u6301\u6a21\u7cca\u5339\u914d"}, {"in": "query", "name": "page", "schema": {"type": "integer", "default": 1}, "description": "\u5bf9\u5e94\u9875\u7801"}, {"in": "query", "name": "page_size", "schema": {"type": "integer", "default": 20}, "description": "\u6bcf\u9875\u6570\u91cf"}], "tags": ["\u9879\u76ee"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/716fc462-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/projects/summary/{id}": {"get": {"operationId": "v1_projects_summary_retrieve", "description": "Get the id and name of the item according to the search keyword matching the item name, in descending order of time.", "summary": "\u9879\u76ee\u641c\u7d22", "parameters": [{"in": "path", "name": "id", "schema": {"type": "integer"}, "required": true}], "tags": ["\u9879\u76ee"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/716f03ce-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/sca/{id}": {"get": {"operationId": "v1_sca_retrieve", "description": "\u901a\u8fc7\u6307\u5b9aid\u6765\u83b7\u53d6\u5bf9\u5e94\u7ec4\u4ef6\u7684\u8be6\u60c5", "summary": "\u7ec4\u4ef6\u8be6\u60c5", "parameters": [{"in": "path", "name": "id", "schema": {"type": "integer"}, "required": true}], "tags": ["\u7ec4\u4ef6"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71704e8c-36d3-11ec-bcec-0242ac110002"}, "examples": {"\u83b7\u53d6\u6570\u636e\u6837\u4f8b": {"value": {"status": 201, "msg": "success", "data": {"id": 12897, "package_name": "log4j-to-slf4j-2.14.1.jar", "version": "2.14.1", "project_name": "demo", "project_id": 67, "project_version": "V1.0", "language": "JAVA", "agent_name": "Mac OS X-localhost-v1.0.0-d24bf703ca62499ebdd12770708296f5", "signature_value": "ce8a86a3f50a4304749828ce68e7478cafbc8039", "level": "INFO", "level_type": 4, "vul_count": 0, "dt": 1631088844, "vuls": []}}, "description": "\u805a\u5408\u7ed3\u679c\u5206\u522b\u4e3a\u7f16\u7a0b\u8bed\u8a00\uff0c\u98ce\u9669\u7b49\u7ea7\uff0c\u6f0f\u6d1e\u7c7b\u578b\uff0c\u9879\u76ee\u3002"}}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/sca/summary": {"get": {"operationId": "v1_sca_summary_retrieve", "description": "\u4f7f\u7528\u6307\u5b9a\u9879\u76ee\u4fe1\u606f\u83b7\u53d6\u5bf9\u5e94\u7684\u7ec4\u4ef6\u6982\u51b5\u3002", "summary": "\u7ec4\u4ef6\u6982\u51b5\uff08\u9879\u76ee\u76f8\u5173\uff09", "parameters": [{"in": "query", "name": "keyword", "schema": {"type": "string"}, "description": "\u6a21\u7cca\u641c\u7d22\u5173\u952e\u8bcd\uff0c\u9488\u5bf9package_name\u5b57\u6bb5"}, {"in": "query", "name": "language", "schema": {"type": "string"}, "description": "\u7f16\u7a0b\u8bed\u8a00"}, {"in": "query", "name": "level", "schema": {"type": "integer"}, "description": "The id level of vulnerability"}, {"in": "query", "name": "order", "schema": {"type": "string"}, "description": "\u6392\u5e8f\u6307\u6807 : version,level,vul_count,language,package_name"}, {"in": "query", "name": "page", "schema": {"type": "integer", "default": 1}, "description": "\u5bf9\u5e94\u9875\u7801"}, {"in": "query", "name": "pageSize", "schema": {"type": "integer", "default": 20}, "description": "\u6bcf\u9875\u6570\u91cf"}, {"in": "query", "name": "project_id", "schema": {"type": "integer"}, "description": "\u9879\u76eeID"}, {"in": "query", "name": "project_name", "schema": {"type": "string"}, "description": "\u9879\u76ee\u540d", "deprecated": true}, {"in": "query", "name": "version_id", "schema": {"type": "integer"}, "description": "\u9ed8\u8ba4\u503c\u4e3a\u9879\u76ee\u7684\u5f53\u524d\u7248\u672c\u3002"}], "tags": ["\u7ec4\u4ef6"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/7170b106-36d3-11ec-bcec-0242ac110002"}, "examples": {"\u83b7\u53d6\u6570\u636e\u6837\u4f8b": {"value": {"status": 201, "msg": "success", "data": {"language": [{"language": "JAVA", "count": 17}, {"language": "PYTHON", "count": 0}], "level": [{"level": "HIGH", "count": 0, "level_id": 1}, {"level": "MEDIUM", "count": 0, "level_id": 2}, {"level": "LOW", "count": 0, "level_id": 3}, {"level": "INFO", "count": 17, "level_id": 4}], "projects": [{"project_name": "demo", "count": 17, "id": 67}]}}, "description": "\u805a\u5408\u7ed3\u679c\u5206\u522b\u4e3a\u7f16\u7a0b\u8bed\u8a00\uff0c\u98ce\u9669\u7b49\u7ea7\uff0c\u6f0f\u6d1e\u7c7b\u578b\uff0c\u9879\u76ee\u3002"}}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/scas": {"get": {"operationId": "v1_scas_retrieve", "description": "\u4f7f\u7528\u6307\u5b9a\u9879\u76ee\u4fe1\u606f\u83b7\u53d6\u5bf9\u5e94\u7684\u7ec4\u4ef6\u3002", "summary": "\u7ec4\u4ef6\u5217\u8868\uff08\u9879\u76ee\u76f8\u5173\uff09", "parameters": [{"in": "query", "name": "keyword", "schema": {"type": "string"}, "description": "\u6a21\u7cca\u641c\u7d22\u5173\u952e\u8bcd\uff0c\u9488\u5bf9package_name\u5b57\u6bb5"}, {"in": "query", "name": "language", "schema": {"type": "string"}, "description": "\u7f16\u7a0b\u8bed\u8a00"}, {"in": "query", "name": "level", "schema": {"type": "integer"}, "description": "The id of level of vulnerability"}, {"in": "query", "name": "order", "schema": {"type": "string"}, "description": "\u6392\u5e8f\u6307\u6807 : version,level,vul_count,language,package_name"}, {"in": "query", "name": "page", "schema": {"type": "integer", "default": 1}, "description": "\u5bf9\u5e94\u9875\u7801"}, {"in": "query", "name": "pageSize", "schema": {"type": "integer", "default": 20}, "description": "\u6bcf\u9875\u6570\u91cf"}, {"in": "query", "name": "project_id", "schema": {"type": "integer"}, "description": "\u9879\u76eeID"}, {"in": "query", "name": "project_name", "schema": {"type": "string"}, "description": "\u9879\u76ee\u540d", "deprecated": true}, {"in": "query", "name": "version_id", "schema": {"type": "integer"}, "description": "\u9ed8\u8ba4\u503c\u4e3a\u9879\u76ee\u7684\u5f53\u524d\u7248\u672c\u3002"}], "tags": ["\u7ec4\u4ef6"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/7170c7ea-36d3-11ec-bcec-0242ac110002"}, "examples": {"\u83b7\u53d6\u6570\u636e\u6837\u4f8b": {"value": {"status": 201, "msg": "success", "data": [{"id": 13293, "package_name": "message-business-7.1.0.Final.jar", "version": "7.1.0.Final", "project_name": "No application", "project_id": 0, "project_version": "No application version", "language": "JAVA", "agent_name": "Mac OS X-bogon-v1.0.0-0c864ba2a60b48aaa1a8b49a53a6749b", "signature_value": "f744df92326c4bea7682fd16004bec184148db07", "level": "INFO", "level_type": 4, "vul_count": 0, "dt": 1631189450}], "page": {"alltotal": 795, "num_pages": 795, "page_size": 1}}, "description": "\u805a\u5408\u7ed3\u679c\u5206\u522b\u4e3a\u7f16\u7a0b\u8bed\u8a00\uff0c\u98ce\u9669\u7b49\u7ea7\uff0c\u6f0f\u6d1e\u7c7b\u578b\uff0c\u9879\u76ee\u3002"}}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/strategy/{id_}/delete": {"delete": {"operationId": "v1_strategy_delete_destroy", "description": "\u4f7f\u7528\u7b56\u7565\u5bf9\u5e94\u7684id\u6765\u5220\u9664\u7b56\u7565", "summary": "\u7b56\u7565\u5220\u9664", "parameters": [{"in": "path", "name": "id_", "schema": {"type": "integer"}, "required": true}], "tags": ["\u7b56\u7565"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71716fb0-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/strategy/{id}/disable": {"get": {"operationId": "v1_strategy_disable_retrieve", "description": "\u4f7f\u7528\u7b56\u7565\u5bf9\u5e94\u7684id\u6765\u505c\u7528\u7b56\u7565", "summary": "\u7b56\u7565\u505c\u7528", "parameters": [{"in": "path", "name": "id", "schema": {"type": "integer"}, "required": true}], "tags": ["\u7b56\u7565"], "security": [{"cookieAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/7170dbfe-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/strategy/{id}/enable": {"get": {"operationId": "v1_strategy_enable_retrieve", "description": "\u4f7f\u7528\u7b56\u7565\u5bf9\u5e94\u7684id\u6765\u542f\u7528\u7b56\u7565", "summary": "\u7b56\u7565\u542f\u7528", "parameters": [{"in": "path", "name": "id", "schema": {"type": "integer"}, "required": true}], "tags": ["\u7b56\u7565"], "security": [{"cookieAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/7170ef2c-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/strategy/types": {"get": {"operationId": "v1_strategy_types_retrieve", "description": "\u83b7\u53d6\u7b56\u7565\u7c7b\u578b\u5217\u8868", "summary": "\u7b56\u7565\u7c7b\u578b", "tags": ["\u7b56\u7565"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71715930-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/strategy/user/add": {"post": {"operationId": "v1_strategy_user_add_create", "description": "\u6839\u636e\u9009\u62e9\u7684\u7b56\u7565\u751f\u6210\u5bf9\u5e94\u7684\u7b56\u7565\u7ec4", "summary": "\u7b56\u7565\u6dfb\u52a0", "tags": ["\u7b56\u7565"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/_StrategyAddBodyargs"}}}, "required": true}, "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71712654-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/strategy/user/list": {"get": {"operationId": "v1_strategy_user_list_retrieve", "description": "\u83b7\u53d6\u7b56\u7565\u5217\u8868", "summary": "\u7b56\u7565\u5217\u8868\uff08\u7528\u6237\u76f8\u5173\uff09", "tags": ["\u7b56\u7565"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71713b1c-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/strategys": {"get": {"operationId": "v1_strategys_retrieve", "description": "\u83b7\u53d6\u7b56\u7565\u5217\u8868", "summary": "\u7b56\u7565\u5217\u8868", "tags": ["\u7b56\u7565"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71710f2a-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/vul/recheck": {"get": {"operationId": "v1_vul_recheck_retrieve", "description": "\u9a8c\u8bc1\u7528\u6237\u5bf9\u5e94\u7684\u6f0f\u6d1e.\u9700\u8981\u6307\u5b9a\u9a8c\u8bc1\u884c\u4e3a\u7684\u7c7b\u578b", "summary": "\u6f0f\u6d1e\u9a8c\u8bc1", "parameters": [{"in": "query", "name": "projectId", "schema": {"type": "integer"}, "description": "\u9879\u76ee\u7684\u5bf9\u5e94id.\u53ea\u6709\u5728type\u53c2\u6570\u4e3aproject\u65f6\uff0c\u8be5\u53c2\u6570\u624d\u4f1a\u88ab\u4f7f\u7528"}, {"in": "query", "name": "type", "schema": {"type": "string"}, "description": "\u53ef\u9009\u9879\u6709('all','project')\u3002\u5bf9\u5e94\u5168\u90e8\u6f0f\u6d1e\u548c\u6307\u5b9a\u9879\u76ee\u7684\u6f0f\u6d1e\u3002"}], "tags": ["\u6f0f\u6d1e"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/7172d6fc-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}, "post": {"operationId": "v1_vul_recheck_create", "description": "\u9a8c\u8bc1\u7528\u6237\u5bf9\u5e94\u7684\u6f0f\u6d1e.\u9700\u8981\u6307\u5b9a\u9a8c\u8bc1\u884c\u4e3a\u7684\u7c7b\u578b", "summary": "\u6f0f\u6d1e\u9a8c\u8bc1", "parameters": [{"in": "query", "name": "projectId", "schema": {"type": "integer"}, "description": "\u9879\u76ee\u7684\u5bf9\u5e94id.\u53ea\u6709\u5728type\u53c2\u6570\u4e3aproject\u65f6\uff0c\u8be5\u53c2\u6570\u624d\u4f1a\u88ab\u4f7f\u7528"}, {"in": "query", "name": "type", "schema": {"type": "string"}, "description": "\u53ef\u9009\u9879\u6709('all','project')\u3002\u5bf9\u5e94\u5168\u90e8\u6f0f\u6d1e\u548c\u6307\u5b9a\u9879\u76ee\u7684\u6f0f\u6d1e\u3002"}], "tags": ["\u6f0f\u6d1e"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/7172d6fc-36d3-11ec-bcec-0242ac110002"}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/vul/status_list": {"get": {"operationId": "v1_vul_status_list_retrieve", "description": "\u6f0f\u6d1e\u72b6\u6001\u5217\u8868\uff0c\u91cc\u9762\u5305\u542b\u4e86\u6f0f\u6d1e\u7684\u53ef\u9009\u72b6\u6001\uff0c\u8c03\u7528\u6f0f\u6d1e\u72b6\u6001\u4fee\u6539api\u65f6\u8bf7\u5148\u4ece\u6b64API\u83b7\u53d6\u6f0f\u6d1e\u72b6\u6001\u6570\u636e\u3002", "summary": "\u6f0f\u6d1e\u72b6\u6001\u5217\u8868", "tags": ["\u6f0f\u6d1e"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71737422-36d3-11ec-bcec-0242ac110002"}, "examples": {"\u83b7\u53d6\u6570\u636e\u6837\u4f8b": {"value": {"status": 201, "msg": "success", "data": [{"id": 1, "name": "Pending", "name_en": "Pending", "name_zh": "\u5f85\u9a8c\u8bc1"}, {"id": 2, "name": "Verifying", "name_en": "Verifying", "name_zh": "\u9a8c\u8bc1\u4e2d"}, {"id": 3, "name": "Confirmed", "name_en": "Confirmed", "name_zh": "\u5df2\u786e\u8ba4"}, {"id": 4, "name": "Ignore", "name_en": "Ignore", "name_zh": "\u5df2\u5ffd\u7565"}, {"id": 5, "name": "Solved", "name_en": "Solved", "name_zh": "\u5df2\u5904\u7406"}]}, "description": "\u805a\u5408\u7ed3\u679c\u5206\u522b\u4e3a\u7f16\u7a0b\u8bed\u8a00\uff0c\u98ce\u9669\u7b49\u7ea7\uff0c\u6f0f\u6d1e\u7c7b\u578b\uff0c\u9879\u76ee\u3002"}}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/vuln/{id}": {"get": {"operationId": "v1_vuln_retrieve", "description": "\u4f7f\u7528\u6f0f\u6d1e\u5bf9\u5e94\u7684id\u6765\u83b7\u53d6\u6f0f\u6d1e\u8be6\u60c5\u4fe1\u606f", "summary": "\u6f0f\u6d1e\u8be6\u60c5", "parameters": [{"in": "path", "name": "id", "schema": {"type": "integer"}, "required": true}], "tags": ["\u6f0f\u6d1e"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71728b84-36d3-11ec-bcec-0242ac110002"}, "examples": {"\u83b7\u53d6\u6570\u636e\u6837\u4f8b": {"value": {"status": 201, "msg": "success", "data": {"vul": {"url": "http://localhost:81/captcha/captchaImage", "uri": "/captcha/captchaImage", "agent_name": "Mac OS X-localhost-v1.0.0-d24bf703ca62499ebdd12770708296f5", "http_method": "GET", "type": "Weak Random Number Generation", "taint_position": null, "first_time": 1631089870, "latest_time": 1631089961, "project_name": "demo-4.6.1", "project_version": "V1.0", "language": "JAVA", "level": "LOW", "level_type": 3, "counts": 6, "req_header": "GET /captcha/captchaImage?type=math HTTP/1.1\nhost:localhost:81\nconnection:keep-alive\nsec-ch-ua:\"Google Chrome\";v=\"93\", \" Not;A Brand\";v=\"99\", \"Chromium\";v=\"93\"\nsec-ch-ua-mobile:?0\nuser-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36\nsec-ch-ua-platform:\"macOS\"\naccept:image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8\nsec-fetch-site:same-origin\nsec-fetch-mode:no-cors\nsec-fetch-dest:image\nreferer:http://localhost:81/login\naccept-encoding:gzip, deflate, br\naccept-language:zh-CN,zh;q=0.9\ncookie:JSESSIONID=4bada2e5-d848-4218-8e24-3b28f765b986\n", "response": "None\n\nNone", "graph": null, "context_path": "127.0.0.1", "client_ip": "127.0.0.1", "status": "Confirmed", "taint_value": null, "param_name": {}, "method_pool_id": null, "project_id": 69}, "server": {"name": "server.name", "hostname": "localhost", "ip": "localhost", "port": 81, "container": "Apache Tomcat/9.0.41", "server_type": "apache tomcat", "container_path": "/Users/erzhuangniu/workspace/vul/demo-4.6.1", "runtime": "OpenJDK Runtime Environment", "environment": "java.runtime.name=OpenJDK Runtime Environment, spring.output.ansi.enabled=always, project.name=demo-4.6.1, sun.boot.library.path=/Users/erzhuangniu/Library/Java/JavaVirtualMachines/corretto-1.8.0_292/Contents/Home/jre/lib, java.vm.version=25.292-b10, gop", "command": "com.ruoyi.demoApplication"}, "strategy": {"desc": "Verifies that weak sources of entropy are not used.", "sample_code": "", "repair_suggestion": null}}}, "description": "\u805a\u5408\u7ed3\u679c\u5206\u522b\u4e3a\u7f16\u7a0b\u8bed\u8a00\uff0c\u98ce\u9669\u7b49\u7ea7\uff0c\u6f0f\u6d1e\u7c7b\u578b\uff0c\u9879\u76ee\u3002"}}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/vuln/delete/{id}": {"post": {"operationId": "v1_vuln_delete_create", "description": "\u4f7f\u7528\u6f0f\u6d1e\u5bf9\u5e94\u7684id\u6765\u5220\u9664\u6f0f\u6d1e", "summary": "\u5220\u9664\u6f0f\u6d1e", "parameters": [{"in": "path", "name": "id", "schema": {"type": "integer"}, "required": true}], "tags": ["\u6f0f\u6d1e"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/vuln/status": {"post": {"operationId": "v1_vuln_status_create", "description": "\u4fee\u6539\u6307\u5b9aid\u7684\u6f0f\u6d1e\u72b6\u6001\uff0c\u72b6\u6001\u7531\u4ee5\u4e0b\u4e24\u4e2a\u53c2\u6570\u6307\u5b9a\uff0cstatus\u5bf9\u5e94\u72b6\u6001\u540d\u8bcd\uff0cstatus_id\u5bf9\u5e94\u72b6\u6001\u7684id\uff0c\u5747\u53ef\u7531\u6f0f\u6d1e\u72b6\u6001\u5217\u8868API\u83b7\u5f97\uff0c\u4f18\u5148\u4f7f\u7528status_id", "summary": "\u6f0f\u6d1e\u72b6\u6001\u4fee\u6539", "tags": ["\u6f0f\u6d1e"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71732166-36d3-11ec-bcec-0242ac110002"}, "examples": {"\u83b7\u53d6\u6570\u636e\u6837\u4f8b": {"value": {"status": 201, "msg": "Vulnerability status is modified to Confirmed"}, "description": "\u805a\u5408\u7ed3\u679c\u5206\u522b\u4e3a\u7f16\u7a0b\u8bed\u8a00\uff0c\u98ce\u9669\u7b49\u7ea7\uff0c\u6f0f\u6d1e\u7c7b\u578b\uff0c\u9879\u76ee\u3002"}}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/vuln/summary": {"get": {"operationId": "v1_vuln_summary_retrieve", "description": "\u4f7f\u7528\u4e0b\u5217\u6761\u4ef6\u6765\u67e5\u770b\u9879\u76ee\u7684\u6f0f\u6d1e\u6570\u91cf\u7edf\u8ba1", "summary": "\u6f0f\u6d1e\u6982\u89c8", "parameters": [{"in": "query", "name": "language", "schema": {"type": "string"}, "description": "\u7f16\u7a0b\u8bed\u8a00"}, {"in": "query", "name": "level", "schema": {"type": "integer"}, "description": "\u6f0f\u6d1e\u7b49\u7ea7 : 1,2,3,4"}, {"in": "query", "name": "order", "schema": {"type": "string"}, "description": "\u6392\u5e8f\u6307\u6807 : type,type,first_time,latest_time,url"}, {"in": "query", "name": "project_id", "schema": {"type": "integer"}, "description": "\u9879\u76eeID"}, {"in": "query", "name": "project_name", "schema": {"type": "string"}, "description": "\u9879\u76ee\u540d", "deprecated": true}, {"in": "query", "name": "status", "schema": {"type": "string"}, "description": "\u72b6\u6001\u540d", "deprecated": true}, {"in": "query", "name": "status_id", "schema": {"type": "integer"}, "description": "\u72b6\u6001ID"}, {"in": "query", "name": "type", "schema": {"type": "string"}, "description": "\u6f0f\u6d1e\u7c7b\u578b"}, {"in": "query", "name": "url", "schema": {"type": "string"}, "description": "\u6f0f\u6d1e\u7684\u5bf9\u5e94url"}, {"in": "query", "name": "version_id", "schema": {"type": "integer"}, "description": "\u9ed8\u8ba4\u503c\u4e3a\u9879\u76ee\u7684\u5f53\u524d\u7248\u672c\u3002"}], "tags": ["\u6f0f\u6d1e"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71709d38-36d3-11ec-bcec-0242ac110002"}, "examples": {"\u83b7\u53d6\u6570\u636e\u6837\u4f8b": {"value": {"status": 201, "msg": "success", "data": {"language": [{"language": "JAVA", "count": 136}, {"language": "PYTHON", "count": 0}], "level": [{"level": "HIGH", "count": 116, "level_id": 1}, {"level": "MEDIUM", "count": 16, "level_id": 2}, {"level": "LOW", "count": 4, "level_id": 3}, {"level": "INFO", "count": 0, "level_id": 4}], "type": [{"type": "Path Traversal", "count": 79}, {"type": "OS Command Injection", "count": 26}, {"type": "Cross-Site Scripting", "count": 16}, {"type": "SQL Injection", "count": 9}, {"type": "Weak Random Number Generation", "count": 2}, {"type": "Hibernate Injection", "count": 2}, {"type": "Insecure Hash Algorithms", "count": 1}, {"type": "Arbitrary Server Side Forwards", "count": 1}], "projects": [{"project_name": "demo1", "count": 23, "id": 58}, {"project_name": "demo3", "count": 4, "id": 63}, {"project_name": "demo", "count": 2, "id": 67}, {"project_name": "demo4", "count": 2, "id": 69}, {"project_name": "demo5", "count": 1, "id": 71}]}, "level_data": []}, "description": "\u805a\u5408\u7ed3\u679c\u5206\u522b\u4e3a\u7f16\u7a0b\u8bed\u8a00\uff0c\u98ce\u9669\u7b49\u7ea7\uff0c\u6f0f\u6d1e\u7c7b\u578b\uff0c\u9879\u76ee\u3002"}}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}, "/api/v1/vulns": {"get": {"operationId": "v1_vulns_retrieve", "description": "\u83b7\u53d6\u9879\u76ee\u5bf9\u5e94\u7684\u6f0f\u6d1e\u5217\u8868", "summary": "\u6f0f\u6d1e\u5217\u8868\uff08\u9879\u76ee\u76f8\u5173\uff09", "parameters": [{"in": "query", "name": "language", "schema": {"type": "string"}, "description": "\u7f16\u7a0b\u8bed\u8a00"}, {"in": "query", "name": "level", "schema": {"type": "integer"}, "description": "\u6f0f\u6d1e\u7b49\u7ea7\u7684id : 1,2,3,4"}, {"in": "query", "name": "order", "schema": {"type": "string"}, "description": "\u6392\u5e8f\u6307\u6807 : type,level,first_time,latest_time,url"}, {"in": "query", "name": "page", "schema": {"type": "integer", "default": 1}, "description": "\u5bf9\u5e94\u9875\u7801"}, {"in": "query", "name": "pageSize", "schema": {"type": "integer", "default": 20}, "description": "\u6bcf\u9875\u6570\u91cf"}, {"in": "query", "name": "project_id", "schema": {"type": "integer"}, "description": "\u9879\u76eeID"}, {"in": "query", "name": "project_name", "schema": {"type": "string"}, "description": "\u9879\u76ee\u540d", "deprecated": true}, {"in": "query", "name": "status", "schema": {"type": "string"}, "description": "\u72b6\u6001\u540d", "deprecated": true}, {"in": "query", "name": "status_id", "schema": {"type": "integer"}, "description": "\u72b6\u6001ID"}, {"in": "query", "name": "type", "schema": {"type": "string"}, "description": "\u6f0f\u6d1e\u7c7b\u578b"}, {"in": "query", "name": "url", "schema": {"type": "string"}, "description": "\u6f0f\u6d1e\u7684\u5bf9\u5e94url"}, {"in": "query", "name": "version_id", "schema": {"type": "integer"}, "description": "\u9ed8\u8ba4\u503c\u4e3a\u9879\u76ee\u7684\u5f53\u524d\u7248\u672c\u3002"}], "tags": ["\u6f0f\u6d1e"], "security": [{"cookieAuth": []}, {"tokenAuth": []}], "responses": {"200": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/71734e66-36d3-11ec-bcec-0242ac110002"}, "examples": {"\u83b7\u53d6\u6570\u636e\u6837\u4f8b": {"value": {"status": 201, "msg": "success", "data": [{"id": 12024, "type": "Weak Random Number Generation", "hook_type_id": 45, "url": "http://localhost:81/captcha/captchaImage", "uri": "/captcha/captchaImage", "agent_id": 820, "level_id": 3, "http_method": "GET", "top_stack": null, "bottom_stack": null, "taint_position": null, "latest_time": 1631092302, "first_time": 1631092263, "language": "JAVA", "status": "Confirmed", "index": 0, "project_name": "demo", "project_id": 71, "server_name": "Apache Tomcat/9.0.41", "server_type": "apache tomcat", "level_type": 3, "level": "LOW"}], "page": {"alltotal": 1, "num_pages": 1, "page_size": 20}}, "description": "\u805a\u5408\u7ed3\u679c\u5206\u522b\u4e3a\u7f16\u7a0b\u8bed\u8a00\uff0c\u98ce\u9669\u7b49\u7ea7\uff0c\u6f0f\u6d1e\u7c7b\u578b\uff0c\u9879\u76ee\u3002"}}}}, "description": "http\u72b6\u6001\u7801\u5747\u4e3a200\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u8be6\u60c5\uff0c\u901a\u8fc7\u54cd\u5e94\u6570\u636e\u8fd4\u56de\u7684status\u4e0emsg\u5b57\u6bb5\u8fdb\u884c\u6392\u67e5"}}}}}, "components": {"schemas": {"7159d378-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :agent\u4e0d\u5b58\u5728\u6216\u65e0\u6743\u9650\u8bbf\u95ee ; \u5220\u9664\u8fc7\u7a0b\u51fa\u9519\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5 ; agent\u53ca\u76f8\u5173\u6570\u636e\u5220\u9664\u6210\u529f ; "}}}, "715c0f6c-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u627e\u4e0d\u5230\u5bf9\u5e94\u90e8\u7f72\u6587\u6863 ; "}}}, "715c60e8-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u5f15\u64ce\u4e0d\u5b58\u5728\u6216\u65e0\u6743\u64cd\u4f5c ; \u5b89\u88c5\u5b8c\u6210 ; \u5f15\u64ce\u6b63\u5728\u88ab\u5b89\u88c5\u6216\u5378\u8f7d\uff0c\u8bf7\u7a0d\u540e\u518d\u8bd5 ; "}}}, "715c747a-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u6b63\u5728\u6682\u505c... ; "}}}, "715c9806-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u6210\u529f\u5220\u9664{}\u6761\uff0c\u5220\u9664\u5931\u8d25{}\u6761 ; \u5220\u9664\u6210\u529f ; \u5220\u9664\u5931\u8d25 ; "}}}, "715ca904-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u6b63\u5728\u6682\u505c... ; "}}}, "715cbc82-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u5f15\u64ce\u4e0d\u5b58\u5728\u6216\u65e0\u6743\u64cd\u4f5c ; \u6b63\u5728\u5378\u8f7d... ; \u5f15\u64ce\u6b63\u5728\u88ab\u5b89\u88c5\u6216\u5378\u8f7d\uff0c\u8bf7\u7a0d\u540e\u518d\u8bd5 ; "}}}, "715cf53a-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/_AgentResponseData"}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "715d20be-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Agent"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "715d3432-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/_UserAgentResponseData"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "715d5e76-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/ResponseData"}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "715d8b62-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u53c2\u6570\u4e0d\u5b8c\u6574\uff0c\u8bf7\u68c0\u67e5 ; \u7b56\u7565\u542f\u7528\u6210\u529f\uff0c\u5171{}\u6761hook\u89c4\u5219 ; \u7b56\u7565\u521b\u5efa\u5931\u8d25 ; "}}}, "715d9d28-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u7b56\u7565\u521b\u5efa\u6210\u529f ; \u53c2\u6570\u4e0d\u5b8c\u6574\uff0c\u8bf7\u68c0\u67e5 ; \u7b56\u7565\u521b\u5efa\u5931\u8d25 ; "}}}, "715dc280-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u64cd\u4f5c\u6210\u529f ; \u7b56\u7565\u4e0d\u5b58\u5728 ; \u64cd\u4f5c\u7c7b\u578b\u4e0d\u5b58\u5728 ; "}}}, "715dc8f2-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u53c2\u6570\u4e0d\u6b63\u786e ; \u64cd\u4f5c\u6210\u529f ; \u64cd\u4f5c\u7c7b\u578b\u4e0d\u5b58\u5728 ; "}}}, "715de058-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/EngineHookRuleSummary"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "715dff7a-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u6570\u636e\u4e0d\u5b8c\u6574 ; \u89c4\u5219\u7c7b\u578b\u4fdd\u5b58\u6210\u529f ; "}}}, "715e1276-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u7b56\u7565\u7c7b\u578b\u4e0d\u5b58\u5728 ; \u7b56\u7565\u4e0d\u5b58\u5728 ; \u7981\u7528\u6210\u529f ; "}}}, "715e25a4-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u7b56\u7565\u7c7b\u578b\u4e0d\u5b58\u5728 ; \u542f\u7528\u6210\u529f ; \u64cd\u4f5c\u7c7b\u578b\u4e0d\u5b58\u5728 ; "}}}, "715e4458-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/HookTypeSerialize"}, "nullable": true}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "715e5c22-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/HookRule"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "715eb636-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Sca"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "715eff4c-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/MethodPoolSearchResponseSer"}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "7160e6c2-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u53c2\u6570\u9519\u8bef ; \u521b\u5efa\u6210\u529f ; \u5f53\u524d\u7528\u6237\u65e0\u6743\u4fee\u6539 ; "}}}, "7160f32e-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/OpenApiEndpointGetResponse"}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; \u83b7\u53d6openapi\u914d\u7f6e\u5931\u8d25 ; "}}, "required": ["data"]}, "71614914-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; 203 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u53c2\u6570\u9519\u8bef ; \u521b\u5efa\u6210\u529f ; agent\u5df2\u88ab\u5176\u4ed6\u9879\u76ee\u7ed1\u5b9a ; \u521b\u5efa\u5931\u8d25\uff0c\u9879\u76ee\u540d\u79f0\u5df2\u5b58\u5728 ; "}}}, "71616084-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u5220\u9664\u5931\u8d25 ; \u9879\u76ee\u5220\u9664\u6210\u529f ; "}}}, "716177fe-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/ProjectsResponseData"}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 203 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; no permission ; "}}, "required": ["data"]}, "71618c1c-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/_ProjectEnginesData"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "716f03ce-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/_ProjectSummaryData"}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "716f21ba-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/_ProjectSearchData"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "716f3ca4-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u53c2\u6570\u9519\u8bef ; \u521b\u5efa\u6210\u529f ; "}}}, "716f5f5e-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u7248\u672c\u8bbe\u7f6e\u6210\u529f ; \u7248\u672c\u8bbe\u7f6e\u5931\u8d25 ; \u7248\u672c\u4e0d\u5b58\u5728 ; "}}}, "716f7d2c-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u53c2\u6570\u9519\u8bef ; \u5220\u9664\u6210\u529f ; \u7248\u672c\u4e0d\u5b58\u5728 ; "}}}, "716f9726-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/_VersionListData"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "716faf4a-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u53c2\u6570\u9519\u8bef ; \u66f4\u65b0\u6210\u529f ; "}}}, "716fc462-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Project"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "71704e8c-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/ScaDetailResponseDataSerializers"}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "71709d38-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/VulSummaryResponseData"}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "7170b106-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/_ScaSummaryResponseData"}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "7170c7ea-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Sca"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "7170dbfe-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u7b56\u7565\u7981\u7528\u6210\u529f\uff0c\u5171{}\u6761hook\u89c4\u5219 ; \u7b56\u7565\u4e0d\u5b58\u5728 ; "}}}, "7170ef2c-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u7b56\u7565\u4e0d\u5b58\u5728 ; \u7b56\u7565\u542f\u7528\u6210\u529f\uff0c\u5171{}\u6761hook\u89c4\u5219 ; "}}}, "71710f2a-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/_StrategyResponseDataStrategy"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "71712654-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/_StrategyResponseDataStrategy"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "71713b1c-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/_StrategyResponseDataStrategy"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "71715930-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/_StrategyTypeResponseDataStrategy"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "71716fb0-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/_StrategyResponseDataStrategy"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "7172098e-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "integer"}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "71728b84-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/_VulDetailResponseData"}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "7172a538-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/VulForPlugin"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "7172d6fc-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/VulReCheckData"}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :ids\u4e0d\u80fd\u4e3a\u7a7a ; \u5904\u7406\u6210\u529f ; ids\u5fc5\u987b\u4e3a\uff1a\u6f0f\u6d1eID,\u6f0f\u6d1eID \u683c\u5f0f ; \u6f0f\u6d1e\u91cd\u653e\u51fa\u9519 ; "}}, "required": ["data"]}, "71732166-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :\u53c2\u6570\u4e0d\u6b63\u786e ; \u6f0f\u6d1e\u72b6\u6001\u4fee\u6539\u4e3a{} ; "}}}, "71734e66-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/_VulsEndPointResponse"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "71737422-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/VulnerabilityStatus"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "71740db0-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/ApiRouteSearchResponse"}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "71743664-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/ApiRouteCoverRelation"}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "71745eaa-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/ApiRouteCoverRateResponse"}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "7174a7a2-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/IastProgramLanguageSerializers"}}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "71759270-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/ResponseData"}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "7175c1dc-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/ResponseData"}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "717637a2-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; 202 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :agent\u4e0d\u5b58\u5728\u6216\u65e0\u6743\u9650\u8bbf\u95ee ; \u5220\u9664\u8fc7\u7a0b\u51fa\u9519\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5 ; \u4fee\u6539\u6210\u529f ; "}}}, "71765f8e-36d3-11ec-bcec-0242ac110002": {"type": "object", "properties": {"data": {"type": "integer", "description": "the eariest time of method_pool"}, "status": {"type": "integer", "default": 201, "description": "\u72b6\u6001\u7801 :201 ; "}, "msg": {"type": "string", "default": "success", "description": "\u72b6\u6001\u4fe1\u606f :success ; "}}, "required": ["data"]}, "Agent": {"type": "object", "properties": {"id": {"type": "integer", "readOnly": true}, "token": {"type": "string", "nullable": true, "maxLength": 255}, "server": {"type": "string", "readOnly": true}, "running_status": {"type": "string", "readOnly": true}, "system_load": {"type": "string", "readOnly": true}, "owner": {"type": "string", "readOnly": true}, "latest_time": {"type": "integer", "maximum": 2147483647, "minimum": -2147483648, "nullable": true}, "project_name": {"type": "string", "nullable": true, "maxLength": 255}, "is_core_running": {"type": "integer", "maximum": 2147483647, "minimum": -2147483648, "nullable": true}, "language": {"type": "string", "nullable": true, "maxLength": 10}, "flow": {"type": "string", "readOnly": true}, "is_control": {"type": "integer", "maximum": 2147483647, "minimum": -2147483648, "nullable": true}, "report_queue": {"type": "string", "readOnly": true}, "method_queue": {"type": "string", "readOnly": true}, "replay_queue": {"type": "string", "readOnly": true}, "alias": {"type": "string", "readOnly": true}, "register_time": {"type": "string", "readOnly": true}, "startup_time": {"type": "integer", "maximum": 2147483647, "minimum": -2147483648}}, "required": ["alias", "flow", "id", "method_queue", "owner", "register_time", "replay_queue", "report_queue", "running_status", "server", "system_load"]}, "AgentAliasArgs": {"type": "object", "properties": {"id": {"type": "integer", "description": "\u63a2\u9488\u7684\u5bf9\u5e94id"}, "alias": {"type": "string", "description": "\u63a2\u9488\u7684\u522b\u540d"}}, "required": ["alias", "id"]}, "AgentInstallArgs": {"type": "object", "properties": {"id": {"type": "integer", "description": "\u63a2\u9488\u7684\u5bf9\u5e94id"}}, "required": ["id"]}, "AgentToggleArgs": {"type": "object", "properties": {"id": {"type": "integer", "description": "\u63a2\u9488\u7684\u5bf9\u5e94id"}, "ids": {"type": "string", "description": "agent\u5bf9\u5e94\u7684id\uff0c\u4f7f\u7528\",\"\u8fdb\u884c\u5207\u5206\u3002"}}, "required": ["id", "ids"]}, "ApiRouteCoverRateResponse": {"type": "object", "properties": {"cover_rate": {"type": "integer", "description": "\u9879\u76ee\u7684api\u8986\u76d6\u7387"}}, "required": ["cover_rate"]}, "ApiRouteCoverRelation": {"type": "object", "properties": {"id": {"type": "integer", "readOnly": true}, "url": {"type": "string", "nullable": true, "maxLength": 2000}, "uri": {"type": "string", "nullable": true, "maxLength": 2000}, "http_method": {"type": "string", "maxLength": 10}, "http_scheme": {"type": "string", "nullable": true, "maxLength": 20}, "http_protocol": {"type": "string", "nullable": true, "maxLength": 255}, "req_header": {"type": "string", "nullable": true, "maxLength": 2000}, "req_params": {"type": "string", "nullable": true, "maxLength": 2000}, "req_data": {"type": "string", "nullable": true, "maxLength": 4000}, "res_header": {"type": "string", "nullable": true, "maxLength": 1000}, "res_body": {"type": "string", "nullable": true, "maxLength": 1000}, "req_header_fs": {"type": "string", "nullable": true}, "context_path": {"type": "string", "nullable": true, "maxLength": 255}, "method_pool": {"type": "string", "nullable": true}, "pool_sign": {"type": "string", "nullable": true, "maxLength": 40}, "clent_ip": {"type": "string", "nullable": true, "maxLength": 255}, "create_time": {"type": "integer", "maximum": 2147483647, "minimum": -2147483648, "nullable": true}, "update_time": {"type": "integer", "maximum": 2147483647, "minimum": -2147483648, "nullable": true}, "uri_sha1": {"type": "string", "maxLength": 40}, "agent": {"type": "integer", "nullable": true}, "sinks": {"type": "array", "items": {"type": "integer"}}}, "required": ["id"]}, "ApiRouteHttpMethodSerialier": {"type": "object", "properties": {"httpmethod": {"type": "string"}}, "required": ["httpmethod"]}, "ApiRouteMethodSerialier": {"type": "object", "properties": {"apimethod": {"type": "string", "description": "\u8be5API\u6240\u7ed1\u5b9a\u7684\u65b9\u6cd5"}, "httpmethods": {"type": "array", "items": {"$ref": "#/components/schemas/ApiRouteHttpMethodSerialier"}, "description": "\u8be5API\u6240\u7ed1\u5b9a\u7684\u65b9\u6cd5\uff0c\u6570\u7ec4\u5f62\u5f0f"}}, "required": ["apimethod", "httpmethods"]}, "ApiRouteParameterSerialier": {"type": "object", "properties": {"id": {"type": "integer", "description": "API\u7684ID"}, "name": {"type": "string", "description": "\u8be5API\u7684\u540d\u79f0"}, "parameter_type": {"type": "string", "description": "\u53c2\u6570\u7c7b\u578b"}, "parameter_type_shortcut": {"type": "string", "description": "\u53c2\u6570\u7c7b\u578b\u7f29\u5199\uff0c\u5982:java.lang.String -> String"}, "annotaion": {"type": "string", "description": "\u5173\u4e8e\u8be5\u53c2\u6570\u7684\u6ce8\u91ca"}, "route": {"type": "integer", "description": "\u8be5\u53c2\u6570\u7684\u5bf9\u5e94\u7684api ID"}}, "required": ["annotaion", "id", "name", "parameter_type", "parameter_type_shortcut", "route"]}, "ApiRouteResponseSerialier": {"type": "object", "properties": {"id": {"type": "integer", "description": "API\u54cd\u5e94\u6570\u636e\u7684ID"}, "return_type": {"type": "string", "description": "\u8be5api\u54cd\u5e94\u7684\u7c7b\u578b"}, "route": {"type": "integer", "description": "\u8be5\u54cd\u5e94\u7684\u5bf9\u5e94\u7684api ID"}, "return_type_shortcut": {"type": "string", "description": "return_type\u7684\u7b80\u79f0"}}, "required": ["id", "return_type", "return_type_shortcut", "route"]}, "ApiRouteSearchRequestBody": {"type": "object", "properties": {"page_size": {"type": "integer", "default": 1, "description": "\u6bcf\u9875\u6570\u91cf"}, "uri": {"type": "string", "description": "Api\u5bfc\u822a\u5bf9\u5e94\u7684uri"}, "http_method": {"type": "string", "description": "\u8be5API\u5bf9\u5e94\u7684http\u65b9\u6cd5"}, "project_id": {"type": "integer", "description": "\u9879\u76eeID"}, "version_id": {"type": "integer", "description": "\u9879\u76ee\u7684\u7248\u672cid"}, "exclude_ids": {"type": "string", "description": "\u6392\u9664\u4ee5\u4e0bid\u7684api route\uff0c\u8be5\u5b57\u6bb5\u7528\u4e8e\u5206\u6279\u83b7\u53d6\u6574\u4e2a\u9879\u76ee\u7684\u6570\u636e\u3002"}, "is_cover": {"allOf": [{"$ref": "#/components/schemas/IsCoverEnum"}], "description": "\u8868\u793a\u8be5api\u662f\u5426\u88ab\u8986\u76d6\uff0c\u8986\u76d6\u6307\u8bb0\u5f55\u5230\u4e86\u76f8\u5173\u7684\u65b9\u6cd5\u8c03\u7528\u94fe"}}, "required": ["project_id"]}, "ApiRouteSearchResponse": {"type": "object", "properties": {"id": {"type": "integer", "description": "API\u7684ID"}, "path": {"type": "string", "description": "API\u7684uri"}, "code_class": {"type": "string", "description": "\u8be5api\u7684\u5bf9\u5e94\u7c7b"}, "description": {"type": "string", "description": "Api\u5bfc\u822a\u5bf9\u5e94\u7684\u6ce8\u91ca"}, "code_file": {"type": "string", "description": "Api\u5bfc\u822a\u5bf9\u5e94\u7684\u4ee3\u7801\u6587\u4ef6"}, "controller": {"type": "string", "description": "Api\u5bfc\u822a\u5bf9\u5e94\u7684controller"}, "agent": {"type": "integer", "description": "\u4e0a\u62a5\u8be5api\u7684\u63a2\u9488\u7684id"}, "is_cover": {"allOf": [{"$ref": "#/components/schemas/IsCoverEnum"}], "description": "\u8868\u793a\u8be5api\u662f\u5426\u88ab\u8986\u76d6\uff0c\u8986\u76d6\u6307\u8bb0\u5f55\u5230\u4e86\u76f8\u5173\u7684\u65b9\u6cd5\u8c03\u7528\u94fe"}, "responses": {"type": "array", "items": {"$ref": "#/components/schemas/ApiRouteResponseSerialier"}}, "parameters": {"type": "array", "items": {"$ref": "#/components/schemas/ApiRouteParameterSerialier"}}, "vulnerablities": {"type": "array", "items": {"$ref": "#/components/schemas/ApiRouteVulnerabitySerialier"}}, "method": {"$ref": "#/components/schemas/ApiRouteMethodSerialier"}}, "required": ["agent", "code_class", "code_file", "controller", "description", "id", "method", "parameters", "path", "responses", "vulnerablities"]}, "ApiRouteVulnerabitySerialier": {"type": "object", "properties": {"level_id": {"type": "integer", "description": "\u6f0f\u6d1e\u7c7b\u578bid"}, "hook_type_name": {"type": "string", "description": "\u6f0f\u6d1e\u7c7b\u578b\u540d\u79f0"}}, "required": ["hook_type_name", "level_id"]}, "Document": {"type": "object", "properties": {"id": {"type": "integer", "readOnly": true}, "title": {"type": "string", "nullable": true, "maxLength": 100}, "url": {"type": "string", "nullable": true, "maxLength": 2000}, "language": {"type": "string", "nullable": true, "maxLength": 100}, "weight": {"type": "integer", "maximum": 2147483647, "minimum": -2147483648}}, "required": ["id"]}, "EnableEnum": {"enum": [1, 0], "type": "integer"}, "EngineHookRuleStatusPostBody": {"type": "object", "properties": {"ids": {"type": "string", "description": "Hook\u89c4\u5219\u7684\u5bf9\u5e94\u7684id\uff0c\u4f7f\u7528\",\"\u8fdb\u884c\u5207\u5206\u3002"}, "op": {"allOf": [{"$ref": "#/components/schemas/OpEnum"}], "description": "Hook\u89c4\u5219\u7684\u72b6\u6001"}}, "required": ["ids", "op"]}, "EngineHookRuleSummary": {"type": "object", "properties": {"typeCount": {"type": "integer", "description": "\u89c4\u5219\u7c7b\u578b\u7684\u603b\u6570"}, "ruleCount": {"type": "integer", "description": "\u89c4\u5219\u7684\u603b\u6570"}, "sinkCount": {"type": "integer", "description": "\u6c61\u70b9\u7c7b\u578b\u89c4\u5219\u7684\u540c\u5c5e"}}, "required": ["ruleCount", "sinkCount", "typeCount"]}, "HookRule": {"type": "object", "properties": {"id": {"type": "integer", "description": "\u7b56\u7565id"}, "rule_type_id": {"type": "string", "readOnly": true, "description": "Hook\u89c4\u5219\u7c7b\u578b\u540d\u79f0"}, "rule_type": {"type": "string", "readOnly": true, "description": "Hook\u89c4\u5219\u7684\u540d\u79f0"}, "value": {"type": "string", "description": "\u7b56\u7565\u540d", "maxLength": 255}, "source": {"type": "string", "description": "\u6c61\u70b9\u6e90\n\n\u5355\u6570\u65f6\u7684\u4f8b\u5b50: O, P<1,2,3,4,...>, R\n\u7ec4\u5408\u60c5\u51b5\u4e0b\u7684\u6837\u4f8b: O&R, O&P1, etc.\nO \u4ee3\u8868\u5bf9\u8c61\u672c\u8eab; R \u4ee3\u8868\u8fd4\u56de\u503c; P \u4ee3\u8868\u53c2\u6570, \u6570\u5b57\u4ee3\u8868\u53c2\u6570\u4f4d\u7f6e\n", "maxLength": 255}, "target": {"type": "string", "description": "\u6c61\u70b9\u76ee\u6807\n\n\u5355\u6570\u65f6\u7684\u4f8b\u5b50: O, P<1,2,3,4,...>, R\n\u7ec4\u5408\u60c5\u51b5\u4e0b\u7684\u6837\u4f8b: O&R, O&P1, etc.\nO \u4ee3\u8868\u5bf9\u8c61\u672c\u8eab; R \u4ee3\u8868\u8fd4\u56de\u503c; P \u4ee3\u8868\u53c2\u6570, \u6570\u5b57\u4ee3\u8868\u53c2\u6570\u4f4d\u7f6e\n", "maxLength": 255}, "inherit": {"type": "string", "description": "\u7ee7\u627f\u7c7b\u578b, false\u4ee3\u8868\u5f53\u524d\u7c7b, true\u4ee3\u8868\u5b50\u7c7b, all\u4ee3\u8868\u5f53\u524d\u7c7b\u548c\u5b50\u7c7b", "maxLength": 255}, "track": {"type": "string", "description": "\u8868\u793a\u662f\u5426\u542f\u7528\u6c61\u70b9\u8ffd\u8e2a\uff0ctrue\u4ee3\u8868\u662f\uff0cfalse\u4ee3\u8868\u5426", "maxLength": 5}, "update_time": {"type": "integer", "description": "hook\u7b56\u7565\u7684\u66f4\u65b0\u65f6\u95f4"}, "enable": {"type": "integer", "default": 1, "description": "hook\u7b56\u7565\u7684\u72b6\u6001:0-\u7981\u7528,1-\u542f\u7528,-1-\u5220\u9664"}, "user": {"type": "string", "readOnly": true, "description": "Hook\u89c4\u5219\u7c7b\u578b\u7684\u521b\u5efa\u8005"}}, "required": ["id", "inherit", "rule_type", "rule_type_id", "source", "target", "track", "update_time", "user", "value"]}, "HookTypeSerialize": {"type": "object", "properties": {"id": {"type": "integer", "readOnly": true}, "name": {"type": "string", "nullable": true, "maxLength": 255}}, "required": ["id"]}, "IastProgramLanguageSerializers": {"type": "object", "properties": {"id": {"type": "integer", "description": "\u7f16\u7a0b\u8bed\u8a00\u7684id"}, "name": {"type": "string", "description": "\u8be5\u7f16\u7a0b\u8bed\u8a00\u7684\u540d\u79f0"}}, "required": ["id", "name"]}, "IsCoverEnum": {"enum": [1, 0], "type": "integer"}, "LanguageIdEnum": {"enum": [1, 2, 3, 4], "type": "integer"}, "MethodPoolSearchProxySer": {"type": "object", "properties": {"page_size": {"type": "integer", "minimum": 1, "description": "\u6bcf\u9875\u6570\u91cf"}, "highlight": {"type": "integer", "default": 1, "description": "\u662f\u5426\u542f\u7528\u9ad8\u4eae\uff0c\u4f1a\u5bf9\u6b63\u5219\u8868\u8fbe\u5f0f\u5339\u914d\u5904\u7684\u6587\u672c\u8fdb\u884c\u9ad8\u4eae"}, "exclude_ids": {"type": "array", "items": {"type": "integer"}, "description": "\u6392\u9664\u4ee5\u4e0bid\u7684\u65b9\u6cd5\u8c03\u7528\u94fe\uff0c\u8be5\u5b57\u6bb5\u7528\u4e8e\u5206\u6279\u83b7\u53d6\u6574\u4e2a\u9879\u76ee\u7684\u6570\u636e\u3002"}, "time_range": {"type": "array", "items": {"type": "integer", "minimum": 1, "description": "time format such as 1,1628190947242"}, "description": "\u65f6\u95f4\u8303\u56f4,\u9ed8\u8ba4\u4e3a\u5f53\u524d\u65f6\u523b\u5230\u524d\u4e03\u5929\uff0c\u4f7f\u7528','\u5206\u5272\uff0c\u683c\u5f0f\u5982\uff0c1,1628190947242", "maxItems": 2, "minItems": 2}, "url": {"type": "string", "description": "\u8c03\u7528\u94fe\u7684url\uff0c\u4f7f\u7528\u6b63\u5219\u8bed\u6cd5\u8fdb\u884c\u641c\u7d22"}, "res_header": {"type": "string", "description": "\u8c03\u7528\u94fe\u7684\u54cd\u5e94\u5934\uff0c\u4f7f\u7528\u6b63\u5219\u8bed\u6cd5\u8fdb\u884c\u641c\u7d22"}, "res_body": {"type": "string", "description": "\u8c03\u7528\u94fe\u7684\u54cd\u5e94\u4f53\uff0c\u4f7f\u7528\u6b63\u5219\u8bed\u6cd5\u8fdb\u884c\u641c\u7d22"}, "req_header_fs": {"type": "string", "description": "\u8c03\u7528\u94fe\u7684\u8bf7\u6c42\u5934\uff0c\u4f7f\u7528\u6b63\u5219\u8bed\u6cd5\u8fdb\u884c\u641c\u7d22"}, "req_data": {"type": "string", "description": "\u8c03\u7528\u94fe\u7684\u8bf7\u6c42\u4f53\uff0c\u4f7f\u7528\u6b63\u5219\u8bed\u6cd5\u8fdb\u884c\u641c\u7d22"}, "sinkvalues": {"type": "string", "description": "\u8c03\u7528\u94fe\u7684\u6c61\u70b9\u503c\uff0c\u4f7f\u7528\u6b63\u5219\u8bed\u6cd5\u8fdb\u884c\u641c\u7d22"}, "signature": {"type": "string", "description": "\u8c03\u7528\u94fe\u7684\u65b9\u6cd5\u7b7e\u540d\uff0c\u4f7f\u7528\u6b63\u5219\u8bed\u6cd5\u8fdb\u884c\u641c\u7d22"}, "update_time": {"type": "string", "description": "\u8fc7\u6ee4\u5b57\u6bb5\uff0c\u4f1a\u8fd4\u56de\u66f4\u65b0\u65f6\u95f4\u5728\u8fd9\u65f6\u95f4\u4e4b\u540e\u7684\u65b9\u6cd5\u8c03\u7528\u94fe\uff0c\u53ef\u7ed3\u5408exclude_ids\u5b57\u6bb5\u6765\u5904\u7406\u5206\u9875"}, "search_mode": {"type": "integer", "default": 1, "description": "the search_mode , 1-regex match ,2-regex not match "}}, "required": ["page_size", "time_range"]}, "MethodPoolSearchResponseAfterkeySer": {"type": "object", "properties": {"update_time": {"type": "integer"}}, "required": ["update_time"]}, "MethodPoolSearchResponseAggregationSer": {"type": "object", "properties": {"method_pool_id": {"type": "integer"}, "count": {"type": "integer"}}, "required": ["count", "method_pool_id"]}, "MethodPoolSearchResponseMethodPoolSer": {"type": "object", "properties": {"id": {"type": "integer"}, "agent_id": {"type": "integer"}, "url": {"type": "string"}, "uri": {"type": "string"}, "http_method": {"type": "string"}, "http_scheme": {"type": "string"}, "http_protocol": {"type": "string"}, "req_header": {"type": "string"}, "req_header_fs": {"type": "string"}, "req_params": {"type": "string"}, "req_data": {"type": "string"}, "res_header": {"type": "string"}, "res_body": {"type": "string"}, "context_path": {"type": "string"}, "method_pool": {"type": "string"}, "pool_sign": {"type": "string"}, "client_ip": {"type": "string"}, "update_time": {"type": "integer"}, "create_time": {"type": "integer"}, "uri_sha1": {"type": "string"}, "uri_highlight": {"type": "string"}, "res_header_highlight": {"type": "string"}, "res_body_highlight": {"type": "string"}, "req_header_fs_highlight": {"type": "string"}, "req_data_highlight": {"type": "string"}}, "required": ["agent_id", "client_ip", "context_path", "create_time", "http_method", "http_protocol", "http_scheme", "id", "method_pool", "pool_sign", "req_data", "req_data_highlight", "req_header", "req_header_fs", "req_header_fs_highlight", "req_params", "res_body", "res_body_highlight", "res_header", "res_header_highlight", "update_time", "uri", "uri_highlight", "uri_sha1", "url"]}, "MethodPoolSearchResponseRelationSer": {"type": "object", "properties": {"method_pool_id": {"type": "integer"}, "agent_id": {"type": "integer"}, "agent_name": {"type": "string"}, "agent_is_running": {"type": "integer"}, "project_name": {"type": "string"}, "user_id": {"type": "integer"}, "user_name": {"type": "string"}, "vulnerablities": {"type": "array", "items": {"$ref": "#/components/schemas/MethodPoolSearchResponseRelationVulnerablitySer"}}}, "required": ["agent_id", "agent_is_running", "agent_name", "method_pool_id", "project_name", "user_id", "user_name", "vulnerablities"]}, "MethodPoolSearchResponseRelationVulnerablitySer": {"type": "object", "properties": {"vulnerablity_type": {"type": "string"}, "vulnerablity_hook_type_id": {"type": "integer"}, "vulnerablity_id": {"type": "integer"}, "level_id": {"type": "integer"}}, "required": ["level_id", "vulnerablity_hook_type_id", "vulnerablity_id", "vulnerablity_type"]}, "MethodPoolSearchResponseSer": {"type": "object", "properties": {"method_pools": {"type": "array", "items": {"$ref": "#/components/schemas/MethodPoolSearchResponseMethodPoolSer"}}, "relations": {"type": "array", "items": {"$ref": "#/components/schemas/MethodPoolSearchResponseRelationSer"}}, "aggregation": {"type": "array", "items": {"$ref": "#/components/schemas/MethodPoolSearchResponseAggregationSer"}}, "afterkeys": {"type": "array", "items": {"$ref": "#/components/schemas/MethodPoolSearchResponseAfterkeySer"}}}, "required": ["afterkeys", "aggregation", "method_pools", "relations"]}, "ModeEnum": {"enum": ["\u63d2\u6869\u6a21\u5f0f"], "type": "string"}, "OpEnum": {"enum": ["enable", "disable", "delete"], "type": "string"}, "OpenApiEndpoint": {"type": "object", "properties": {"value": {"type": "string", "description": "The openapi url"}}, "required": ["value"]}, "OpenApiEndpointGetResponse": {"type": "object", "properties": {"url": {"type": "string", "description": "The openapi url"}}, "required": ["url"]}, "ProfileBatchGetArgsSer": {"type": "object", "properties": {"keys": {"type": "array", "items": {}, "description": "\u914d\u7f6ekey"}}, "required": ["keys"]}, "ProfileBatchGetResSer": {"type": "object", "properties": {"id": {"type": "integer", "description": "profile id"}, "key": {"type": "string", "description": "\u914d\u7f6ekey"}, "value": {"type": "string", "description": "\u914d\u7f6e\u503c"}}, "required": ["id", "key", "value"]}, "ProfileBatchPostArgsSer": {"type": "object", "properties": {"value": {"type": "string", "description": "\u914d\u7f6e\u503c"}, "key": {"type": "string", "description": "\u914d\u7f6ekey"}}, "required": ["key", "value"]}, "ProfilepostArgsSer": {"type": "object", "properties": {"value": {"type": "string", "description": "\u914d\u7f6e\u503c"}}, "required": ["value"]}, "Project": {"type": "object", "properties": {"id": {"type": "integer", "readOnly": true}, "name": {"type": "string", "nullable": true, "maxLength": 255}, "mode": {"type": "string", "nullable": true, "maxLength": 255}, "vul_count": {"type": "string", "readOnly": true, "description": "Vulnerability Count"}, "agent_count": {"type": "string", "readOnly": true, "description": "Project current surviving agent"}, "owner": {"type": "string", "readOnly": true, "description": "Project owner"}, "latest_time": {"type": "integer", "maximum": 2147483647, "minimum": -2147483648, "nullable": true}, "agent_language": {"type": "string", "readOnly": true, "description": "Agent language currently included in the project"}}, "required": ["agent_count", "agent_language", "id", "owner", "vul_count"]}, "ProjectSummaryDataLevelCount": {"type": "object", "properties": {"level_name": {"type": "string", "description": "\u6f0f\u6d1e\u7b49\u7ea7\u540d\u79f0"}, "level_id": {"type": "integer", "description": "\u6f0f\u6d1e\u7b49\u7ea7id"}, "num": {"type": "integer", "description": "\u6f0f\u6d1e\u7ea7\u522b\u5bf9\u5e94\u7684\u6f0f\u6d1e\u6570\u91cf"}}, "required": ["level_id", "level_name", "num"]}, "ProjectSummaryDataTypeSummary": {"type": "object", "properties": {"type_name": {"type": "string", "description": "\u6f0f\u6d1e\u540d"}, "type_count": {"type": "integer", "description": "\u6f0f\u6d1e\u7c7b\u578b\u7684\u4e2a\u6570"}, "type_level": {"type": "integer", "description": "\u6f0f\u6d1e\u7b49\u7ea7"}}, "required": ["type_count", "type_level", "type_name"]}, "ProjectsResponseData": {"type": "object", "properties": {"name": {"type": "string", "description": "\u9879\u76ee\u540d"}, "agent_ids": {"type": "string", "description": "agent\u5bf9\u5e94\u7684id\uff0c\u4f7f\u7528\",\"\u8fdb\u884c\u5207\u5206\u3002"}, "mode": {"allOf": [{"$ref": "#/components/schemas/ModeEnum"}], "description": "\u9879\u76ee\u6a21\u5f0f"}, "scan_id": {"type": "integer", "description": "\u626b\u63cf\u7b56\u7565\u7684\u5bf9\u4e8eid"}, "versionData": {"allOf": [{"$ref": "#/components/schemas/ProjectsVersionData"}], "description": "\u9879\u76ee\u7684\u7248\u672c\u4fe1\u606f"}, "id": {"type": "integer", "description": "\u9879\u76eeID"}}, "required": ["agent_ids", "id", "mode", "name", "scan_id", "versionData"]}, "ProjectsVersionData": {"type": "object", "properties": {"description": {"type": "string", "description": "\u9879\u76ee\u7684\u63cf\u8ff0\u4fe1\u606f"}, "version_id": {"type": "string", "description": "\u9879\u76ee\u7684\u7248\u672cid"}, "version_name": {"type": "string", "description": "\u9879\u76ee\u7684\u7248\u672c\u540d\u3002"}}, "required": ["description", "version_id", "version_name"]}, "ResponseData": {"type": "object", "properties": {"documents": {"type": "array", "items": {"$ref": "#/components/schemas/Document"}}}, "required": ["documents"]}, "Sca": {"type": "object", "properties": {"id": {"type": "integer", "readOnly": true}, "package_name": {"type": "string", "nullable": true, "maxLength": 255}, "version": {"type": "string", "nullable": true, "maxLength": 255}, "project_name": {"type": "string", "readOnly": true}, "project_id": {"type": "string", "readOnly": true}, "project_version": {"type": "string", "readOnly": true}, "language": {"type": "string", "readOnly": true}, "agent_name": {"type": "string", "readOnly": true}, "signature_value": {"type": "string", "nullable": true, "maxLength": 255}, "level": {"type": "string", "readOnly": true}, "level_type": {"type": "string", "readOnly": true}, "vul_count": {"type": "integer", "maximum": 2147483647, "minimum": -2147483648, "nullable": true}, "dt": {"type": "integer", "maximum": 2147483647, "minimum": -2147483648, "nullable": true}}, "required": ["agent_name", "id", "language", "level", "level_type", "project_id", "project_name", "project_version"]}, "ScaDetailResponseDataSerializers": {"type": "object", "properties": {"id": {"type": "integer", "readOnly": true}, "package_name": {"type": "string", "nullable": true, "maxLength": 255}, "version": {"type": "string", "nullable": true, "maxLength": 255}, "project_name": {"type": "string", "readOnly": true}, "project_id": {"type": "string", "readOnly": true}, "project_version": {"type": "string", "readOnly": true}, "language": {"type": "string", "readOnly": true}, "agent_name": {"type": "string", "readOnly": true}, "signature_value": {"type": "string", "nullable": true, "maxLength": 255}, "level": {"type": "string", "readOnly": true}, "level_type": {"type": "string", "readOnly": true}, "vul_count": {"type": "integer", "maximum": 2147483647, "minimum": -2147483648, "nullable": true}, "dt": {"type": "integer", "maximum": 2147483647, "minimum": -2147483648, "nullable": true}, "vuls": {"type": "array", "items": {"$ref": "#/components/schemas/ScaDetailResponseDataVulsSerializers"}}}, "required": ["agent_name", "id", "language", "level", "level_type", "project_id", "project_name", "project_version", "vuls"]}, "ScaDetailResponseDataVulsSerializers": {"type": "object", "properties": {"safe_version": {"type": "string"}, "vulcve": {"type": "string"}, "vulcwe": {"type": "string"}, "vulname": {"type": "string"}, "overview": {"type": "string"}, "teardown": {"type": "string"}, "reference": {"type": "string"}, "level": {"type": "string"}}, "required": ["level", "overview", "reference", "safe_version", "teardown", "vulcve", "vulcwe", "vulname"]}, "TypeEnum": {"enum": [2, 5, 1, 3, 4], "type": "integer"}, "VersionModify": {"type": "object", "properties": {"version_id": {"type": "string", "description": "\u9879\u76ee\u7684\u7248\u672cid"}, "version_name": {"type": "string", "description": "\u9879\u76ee\u7684\u7248\u672c\u540d\u3002"}, "description": {"type": "string", "description": "\u9879\u76ee\u7248\u672c\u7684\u63cf\u8ff0"}, "project_id": {"type": "integer", "description": "\u9879\u76eeID"}, "current_version": {"type": "integer", "description": "\u8868\u793a\u662f\u5426\u4e3a\u5f53\u524d\u7248\u672c\uff0c1\u4ee3\u8868\u662f\uff0c0\u4ee3\u8868\u5426"}}, "required": ["current_version", "description", "project_id", "version_id", "version_name"]}, "VulForPlugin": {"type": "object", "properties": {"id": {"type": "integer", "readOnly": true}, "type": {"type": "string", "readOnly": true}, "level_id": {"type": "integer", "nullable": true, "readOnly": true}, "url": {"type": "string", "nullable": true, "maxLength": 2000}, "http_method": {"type": "string", "nullable": true, "maxLength": 10}, "top_stack": {"type": "string", "nullable": true, "maxLength": 255}, "bottom_stack": {"type": "string", "nullable": true, "maxLength": 255}, "hook_type_id": {"type": "integer", "readOnly": true}, "level": {"type": "string", "readOnly": true, "description": "The level name of vulnerablity"}}, "required": ["hook_type_id", "id", "level", "level_id", "type"]}, "VulReCheckData": {"type": "object", "properties": {"no_agent": {"type": "boolean", "description": "\u9879\u76ee\u662f\u5426\u5b58\u5728\u63a2\u9488"}, "pending": {"type": "integer", "description": "\u91cd\u653e\u7684\u7b49\u5f85\u961f\u5217\u957f\u5ea6"}, "recheck": {"type": "integer", "description": "\u91cd\u653e\u7684\u6210\u529f\u961f\u5217\u957f\u5ea6"}, "checking": {"type": "integer", "description": "\u91cd\u653e\u7684\u68c0\u6d4b\u961f\u5217\u957f\u5ea6"}}, "required": ["checking", "no_agent", "pending", "recheck"]}, "VulSummaryLanguage": {"type": "object", "properties": {"language": {"type": "string", "description": "\u7f16\u7a0b\u8bed\u8a00"}, "count": {"type": "integer", "description": "\u7f16\u7a0b\u8bed\u8a00\u5bf9\u5e94\u7684\u6f0f\u6d1e\u6570\u91cf"}}, "required": ["count", "language"]}, "VulSummaryLevel": {"type": "object", "properties": {"level": {"type": "string", "description": "\u6f0f\u6d1e\u7c7b\u578b\u540d\u79f0"}, "count": {"type": "integer", "description": "\u6f0f\u6d1e\u7ea7\u522b\u5bf9\u5e94\u7684\u6f0f\u6d1e\u6570\u91cf"}, "level_id": {"type": "integer", "description": "\u6f0f\u6d1e\u7c7b\u578bid"}}, "required": ["count", "level", "level_id"]}, "VulSummaryProject": {"type": "object", "properties": {"project_name": {"type": "string", "description": "\u9879\u76ee\u540d"}, "count": {"type": "integer", "description": "\u9879\u76ee\u5bf9\u5e94\u7684\u6f0f\u6d1e\u6570\u91cf"}, "id": {"type": "integer", "description": "\u9879\u76eeID"}}, "required": ["count", "id", "project_name"]}, "VulSummaryResponseData": {"type": "object", "properties": {"language": {"type": "array", "items": {"$ref": "#/components/schemas/VulSummaryLanguage"}}, "level": {"type": "array", "items": {"$ref": "#/components/schemas/VulSummaryLevel"}}, "type": {"type": "array", "items": {"$ref": "#/components/schemas/VulSummaryType"}}, "projects": {"type": "array", "items": {"$ref": "#/components/schemas/VulSummaryProject"}}}, "required": ["language", "level", "projects", "type"]}, "VulSummaryType": {"type": "object", "properties": {"type": {"type": "string", "description": "\u6f0f\u6d1e\u7c7b\u578b\u7684\u5bf9\u5e94\u540d\u79f0"}, "count": {"type": "integer", "description": "\u6f0f\u6d1e\u7c7b\u578b\u5bf9\u5e94\u7684\u6f0f\u6d1e\u6570\u91cf"}}, "required": ["count", "type"]}, "VulnerabilityStatus": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "name_en": {"type": "string"}, "name_zh": {"type": "string"}}, "required": ["id", "name", "name_en", "name_zh"]}, "_AgentResponseData": {"type": "object", "properties": {"agent": {"$ref": "#/components/schemas/_AgentResponseDataAgent"}}, "required": ["agent"]}, "_AgentResponseDataAgent": {"type": "object", "properties": {"id": {"type": "string", "description": "\u63a2\u9488\u7684id"}, "token": {"type": "string", "description": "\u63a2\u9488\u540d\u79f0"}, "version": {"type": "string", "description": "\u63a2\u9488\u7248\u672c"}, "latest_time": {"type": "integer", "description": "\u63a2\u9488\u7684\u6700\u540e\u66f4\u65b0\u65f6\u95f4"}, "is_running": {"type": "integer", "description": "\u63a2\u9488\u7684\u8fd0\u884c\u72b6\u6001"}, "is_core_running": {"type": "integer", "description": "\u63a2\u9488\u7684\u8fd0\u884c\u72b6\u6001"}, "control": {"type": "integer", "description": "\u63a2\u9488\u72b6\u6001\u4f4d\uff0c1\u4ee3\u8868\u5b89\u88c5\uff0c2\u4ee3\u8868\u5378\u8f7d\uff0c0\u4ee3\u8868\u5931\u53bb\u63a7\u5236"}, "is_control": {"type": "integer", "description": "\u8868\u793a\u662f\u5426\u53d7\u63a7\uff0c0\u4ee3\u8868\u5426\uff0c1\u4ee3\u8868\u662f"}, "bind_project_id": {"type": "integer", "default": 0, "description": "\u7ed1\u5b9a\u7684\u9879\u76eeid\uff0c\u5982\u679c\u5b58\u5728\u5219\u63a2\u9488\u88ab\u7ed1\u5b9a"}, "project_name": {"type": "string", "description": "\u9879\u76ee\u540d\uff0c\u7528\u6765\u521d\u6b21\u542f\u52a8\u63a2\u9488\u5e76\u521b\u5efa\u9879\u76ee"}, "online": {"type": "integer", "description": "1\u4ee3\u8868\u8fd0\u884c\u4e2d\uff0c0\u4ee3\u8868\u79bb\u7ebf\uff0c\u540c\u4e00token\u7684\u63a2\u9488\u53ea\u80fd\u6709\u4e00\u4e2a\u5728\u7ebf"}, "project_version_id": {"type": "integer", "default": 0, "description": "\u7ed1\u5b9a\u9879\u76ee\u7684\u7248\u672cid\uff0c\u82e5\u679c\u5b58\u5728\uff0c\u5219\u63a2\u9488\u88ab\u7ed1\u5b9a"}, "language": {"type": "string", "description": "\u9879\u76ee\u4e2d\u6240\u6d89\u53ca\u7684\u63a2\u9488\u5bf9\u5e94\u7684\u8bed\u8a00"}}, "required": ["control", "id", "is_control", "is_core_running", "is_running", "language", "latest_time", "online", "project_name", "token", "version"]}, "_EngineHookRuleModify": {"type": "object", "properties": {"rule_id": {"type": "integer", "description": "Hook\u89c4\u5219\u7684id"}, "rule_type_id": {"type": "integer", "description": "Hook\u89c4\u5219\u7c7b\u578b\u540d\u79f0"}, "rule_value": {"type": "string", "description": "\u7b56\u7565\u540d", "maxLength": 255}, "rule_source": {"type": "string", "description": "\u6c61\u70b9\u6e90\n\n\u5355\u6570\u65f6\u7684\u4f8b\u5b50: O, P<1,2,3,4,...>, R\n\u7ec4\u5408\u60c5\u51b5\u4e0b\u7684\u6837\u4f8b: O&R, O&P1, etc.\nO \u4ee3\u8868\u5bf9\u8c61\u672c\u8eab; R \u4ee3\u8868\u8fd4\u56de\u503c; P \u4ee3\u8868\u53c2\u6570, \u6570\u5b57\u4ee3\u8868\u53c2\u6570\u4f4d\u7f6e\n", "maxLength": 255}, "rule_target": {"type": "string", "description": "\u6c61\u70b9\u76ee\u6807\n\n\u5355\u6570\u65f6\u7684\u4f8b\u5b50: O, P<1,2,3,4,...>, R\n\u7ec4\u5408\u60c5\u51b5\u4e0b\u7684\u6837\u4f8b: O&R, O&P1, etc.\nO \u4ee3\u8868\u5bf9\u8c61\u672c\u8eab; R \u4ee3\u8868\u8fd4\u56de\u503c; P \u4ee3\u8868\u53c2\u6570, \u6570\u5b57\u4ee3\u8868\u53c2\u6570\u4f4d\u7f6e\n", "maxLength": 255}, "inherit": {"type": "string", "description": "\u7ee7\u627f\u7c7b\u578b, false\u4ee3\u8868\u5f53\u524d\u7c7b, true\u4ee3\u8868\u5b50\u7c7b, all\u4ee3\u8868\u5f53\u524d\u7c7b\u548c\u5b50\u7c7b", "maxLength": 255}, "track": {"type": "string", "description": "\u8868\u793a\u662f\u5426\u542f\u7528\u6c61\u70b9\u8ffd\u8e2a\uff0ctrue\u4ee3\u8868\u662f\uff0cfalse\u4ee3\u8868\u5426", "maxLength": 5}}, "required": ["inherit", "rule_id", "rule_source", "rule_target", "rule_type_id", "rule_value", "track"]}, "_EngineHookRuleTypeAdd": {"type": "object", "properties": {"type": {"allOf": [{"$ref": "#/components/schemas/TypeEnum"}], "description": "Hook\u89c4\u5219\u7684\u7c7b\u578b \n 1 \u4ee3\u8868\u4f20\u64ad\u65b9\u6cd5, 2 \u4ee3\u8868\u6c61\u70b9\u6e90\u65b9\u6cd5, 3 \u4ee3\u8868\u8fc7\u6ee4\u65b9\u6cd5, 4 \u4ee3\u8868\u5371\u9669\u65b9\u6cd5"}, "enable": {"allOf": [{"$ref": "#/components/schemas/EnableEnum"}], "description": "hook\u7b56\u7565\u7684\u72b6\u6001:0\u4ee3\u8868\u7981\u7528\uff0c1\u4ee3\u8868\u542f\u7528"}, "name": {"type": "string", "description": "Hook\u7c7b\u578b\u7684\u540d\u79f0", "maxLength": 255}, "short_name": {"type": "string", "description": "Hook\u7c7b\u578b\u7684\u7b80\u79f0", "maxLength": 255}, "language_id": {"allOf": [{"$ref": "#/components/schemas/LanguageIdEnum"}], "default": 1, "description": "The id of programming language,find it in the programming language api"}}, "required": ["enable", "name", "short_name", "type"]}, "_HookRuleAddBodyargs": {"type": "object", "properties": {"rule_type_id": {"type": "integer", "description": "Hook\u89c4\u5219\u7c7b\u578b\u540d\u79f0"}, "rule_value": {"type": "string", "description": "\u7b56\u7565\u540d", "maxLength": 255}, "rule_source": {"type": "string", "description": "\u6c61\u70b9\u6e90\n\n\u5355\u6570\u65f6\u7684\u4f8b\u5b50: O, P<1,2,3,4,...>, R\n\u7ec4\u5408\u60c5\u51b5\u4e0b\u7684\u6837\u4f8b: O&R, O&P1, etc.\nO \u4ee3\u8868\u5bf9\u8c61\u672c\u8eab; R \u4ee3\u8868\u8fd4\u56de\u503c; P \u4ee3\u8868\u53c2\u6570, \u6570\u5b57\u4ee3\u8868\u53c2\u6570\u4f4d\u7f6e\n", "maxLength": 255}, "rule_target": {"type": "string", "description": "\u6c61\u70b9\u76ee\u6807\n\n\u5355\u6570\u65f6\u7684\u4f8b\u5b50: O, P<1,2,3,4,...>, R\n\u7ec4\u5408\u60c5\u51b5\u4e0b\u7684\u6837\u4f8b: O&R, O&P1, etc.\nO \u4ee3\u8868\u5bf9\u8c61\u672c\u8eab; R \u4ee3\u8868\u8fd4\u56de\u503c; P \u4ee3\u8868\u53c2\u6570, \u6570\u5b57\u4ee3\u8868\u53c2\u6570\u4f4d\u7f6e\n", "maxLength": 255}, "inherit": {"type": "string", "description": "\u7ee7\u627f\u7c7b\u578b, false\u4ee3\u8868\u5f53\u524d\u7c7b, true\u4ee3\u8868\u5b50\u7c7b, all\u4ee3\u8868\u5f53\u524d\u7c7b\u548c\u5b50\u7c7b", "maxLength": 255}, "track": {"type": "string", "description": "\u8868\u793a\u662f\u5426\u542f\u7528\u6c61\u70b9\u8ffd\u8e2a\uff0ctrue\u4ee3\u8868\u662f\uff0cfalse\u4ee3\u8868\u5426", "maxLength": 5}}, "required": ["inherit", "rule_source", "rule_target", "rule_type_id", "rule_value", "track"]}, "_MessagesDelArgs": {"type": "object", "properties": {"id": {"type": "integer", "description": "\u6d88\u606f\u7684id"}, "all": {"type": "boolean", "nullable": true, "default": false, "description": "all\u53c2\u6570\u4e3atrue\u65f6\uff0c\u5220\u9664\u6240\u6709\u6d88\u606f"}}}, "_ProjectEnginesData": {"type": "object", "properties": {"id": {"type": "integer", "description": "\u63a2\u9488id"}, "token": {"type": "string", "description": "\u63a2\u9488\u540d\u79f0"}, "shortname": {"type": "string", "description": "\u63a2\u9488\u7b80\u79f0"}}, "required": ["id", "shortname", "token"]}, "_ProjectSearchData": {"type": "object", "properties": {"id": {"type": "integer", "description": "\u9879\u76eeID"}, "name": {"type": "string", "description": "\u9879\u76ee\u540d"}}, "required": ["id", "name"]}, "_ProjectSummaryData": {"type": "object", "properties": {"name": {"type": "string", "description": "\u9879\u76ee\u540d"}, "mode": {"allOf": [{"$ref": "#/components/schemas/ModeEnum"}], "description": "\u9879\u76ee\u6a21\u5f0f"}, "id": {"type": "integer", "description": "\u9879\u76eeID"}, "latest_time": {"type": "integer", "description": "\u9ed8\u8ba4\u503c\u4e3a\u9879\u76ee\u7684\u5f53\u524d\u7248\u672c\u3002"}, "versionData": {"allOf": [{"$ref": "#/components/schemas/ProjectsVersionData"}], "description": "\u9879\u76ee\u7684\u7248\u672c\u4fe1\u606f"}, "type_summary": {"type": "array", "items": {"$ref": "#/components/schemas/ProjectSummaryDataTypeSummary"}, "description": "\u5173\u4e8e\u6f0f\u6d1e\u7c7b\u578b\u7684\u6f0f\u6d1e\u6570\u91cf\u7edf\u8ba1"}, "agent_language": {"type": "array", "items": {"type": "string"}, "description": "\u9879\u76ee\u4e2d\u6240\u6d89\u53ca\u7684\u63a2\u9488\u5bf9\u5e94\u7684\u8bed\u8a00"}, "level_count": {"type": "array", "items": {"$ref": "#/components/schemas/ProjectSummaryDataLevelCount"}, "description": "\u57fa\u4e8e\u6f0f\u6d1e\u7b49\u7ea7\u7684\u6f0f\u6d1e\u6570\u91cf\u7edf\u8ba1"}}, "required": ["agent_language", "id", "latest_time", "level_count", "mode", "name", "type_summary", "versionData"]}, "_ProjectVersionCurrent": {"type": "object", "properties": {"version_id": {"type": "string", "description": "\u9879\u76ee\u7684\u7248\u672cid"}, "project_id": {"type": "integer", "description": "\u9879\u76eeID"}}, "required": ["project_id", "version_id"]}, "_ProjectVersionDelete": {"type": "object", "properties": {"version_id": {"type": "string", "description": "\u9879\u76ee\u7684\u7248\u672cid"}, "project_id": {"type": "integer", "description": "\u9879\u76eeID"}}, "required": ["project_id", "version_id"]}, "_ProjectsAddBodyArgs": {"type": "object", "properties": {"name": {"type": "string", "description": "\u9879\u76ee\u540d"}, "agent_ids": {"type": "string", "description": "agent\u5bf9\u5e94\u7684id\uff0c\u4f7f\u7528\",\"\u8fdb\u884c\u5207\u5206\u3002"}, "mode": {"allOf": [{"$ref": "#/components/schemas/ModeEnum"}], "description": "\u9879\u76ee\u6a21\u5f0f"}, "scan_id": {"type": "integer", "description": "\u626b\u63cf\u7b56\u7565\u7684\u5bf9\u4e8eid"}, "version_name": {"type": "string", "description": "\u9879\u76ee\u7684\u7248\u672c\u540d\u3002"}, "pid": {"type": "integer", "description": "\u9879\u76eeID"}, "description": {"type": "string", "description": "\u9879\u76ee\u7684\u63cf\u8ff0\u4fe1\u606f"}}, "required": ["agent_ids", "description", "mode", "name", "pid", "scan_id", "version_name"]}, "_ProjectsDelBodyArgs": {"type": "object", "properties": {"id": {"type": "integer", "description": "\u9879\u76eeID"}}, "required": ["id"]}, "_ScaSummaryResponseData": {"type": "object", "properties": {"language": {"type": "array", "items": {"$ref": "#/components/schemas/VulSummaryLanguage"}}, "level": {"type": "array", "items": {"$ref": "#/components/schemas/VulSummaryLevel"}}, "projects": {"type": "array", "items": {"$ref": "#/components/schemas/VulSummaryProject"}}}, "required": ["language", "level", "projects"]}, "_StrategyAddBodyargs": {"type": "object", "properties": {"ids": {"type": "string", "description": "\u7b56\u7565\u5bf9\u5e94\u7684id\uff0c\u4f7f\u7528\",\"\u8fdb\u884c\u5207\u5206\u3002"}, "name": {"type": "string", "description": "\u7b56\u7565\u540d"}}, "required": ["ids", "name"]}, "_StrategyResponseDataStrategy": {"type": "object", "properties": {"id": {"type": "string", "description": "\u7b56\u7565id"}}, "required": ["id"]}, "_StrategyTypeResponseDataStrategy": {"type": "object", "properties": {"level_id": {"type": "integer", "description": "\u6f0f\u6d1e\u7b49\u7ea7id"}, "level_name": {"type": "integer", "description": "\u6f0f\u6d1e\u7b49\u7ea7\u540d\u79f0"}, "type_value": {"type": "array", "items": {"$ref": "#/components/schemas/_StrategyTypeResponseDataTypeValue"}}}, "required": ["level_id", "level_name", "type_value"]}, "_StrategyTypeResponseDataTypeValue": {"type": "object", "properties": {"strategy_id": {"type": "string", "description": "\u7b56\u7565id"}, "vul_name": {"type": "string", "description": "\u7b56\u7565\u5bf9\u5e94\u7684\u6f0f\u6d1e\u7c7b\u578b\u540d\u79f0"}, "level_id": {"type": "integer", "description": "\u6f0f\u6d1e\u7b49\u7ea7\u7684\u5bf9\u5e94\u7b56\u7565"}}, "required": ["level_id", "strategy_id", "vul_name"]}, "_UserAgentResponseData": {"type": "object", "properties": {"token": {"type": "string", "description": "\u63a2\u9488\u540d\u79f0"}, "id": {"type": "string", "description": "\u63a2\u9488\u7684id"}}, "required": ["id", "token"]}, "_VersionListData": {"type": "object", "properties": {"version_id": {"type": "integer", "description": "\u9879\u76ee\u7684\u7248\u672cid"}, "version_name": {"type": "string", "description": "\u9879\u76ee\u7684\u7248\u672c\u540d\u3002"}, "current_version": {"type": "integer", "description": "\u8868\u793a\u662f\u5426\u4e3a\u5f53\u524d\u7248\u672c\uff0c1\u4ee3\u8868\u662f\uff0c0\u4ee3\u8868\u5426"}, "description": {"type": "string", "description": "\u9879\u76ee\u7248\u672c\u7684\u63cf\u8ff0"}}, "required": ["current_version", "description", "version_id", "version_name"]}, "_VulDetailResponseData": {"type": "object", "properties": {"vul": {"$ref": "#/components/schemas/_VulDetailResponseDataVul"}, "server": {"$ref": "#/components/schemas/_VulDetailResponseDataServer"}, "strategy": {"$ref": "#/components/schemas/_VulDetailResponseDataStrategy"}}, "required": ["server", "strategy", "vul"]}, "_VulDetailResponseDataServer": {"type": "object", "properties": {"name": {"type": "string"}, "hostname": {"type": "string"}, "ip": {"type": "string"}, "port": {"type": "string"}, "container": {"type": "string"}, "server_type": {"type": "string"}, "container_path": {"type": "string"}, "runtime": {"type": "string"}, "environment": {"type": "string"}, "command": {"type": "string"}}, "required": ["command", "container", "container_path", "environment", "hostname", "ip", "name", "port", "runtime", "server_type"]}, "_VulDetailResponseDataStrategy": {"type": "object", "properties": {"desc": {"type": "string"}, "sample_code": {"type": "string"}, "repair_suggestion": {"type": "string"}}, "required": ["desc", "repair_suggestion", "sample_code"]}, "_VulDetailResponseDataVul": {"type": "object", "properties": {"url": {"type": "string"}, "uri": {"type": "string"}, "agent_name": {"type": "string"}, "http_method": {"type": "string"}, "type": {"type": "string"}, "taint_position": {"type": "string"}, "first_time": {"type": "integer"}, "latest_time": {"type": "integer"}, "project_name": {"type": "string", "description": "\u9879\u76ee\u540d"}, "project_version": {"type": "string", "description": "\u9879\u76ee\u7684\u7248\u672c\u540d\u3002"}, "language": {"type": "string", "description": "\u7f16\u7a0b\u8bed\u8a00"}, "level": {"type": "string", "description": "\u6f0f\u6d1e\u7c7b\u578b\u540d\u79f0"}, "level_type": {"type": "integer", "description": "\u6f0f\u6d1e\u7c7b\u578bid"}, "counts": {"type": "integer"}, "request_header": {"type": "string"}, "response": {"type": "string"}, "graph": {"type": "string"}, "context_path": {"type": "string"}, "client_ip": {"type": "string"}, "status": {"type": "string"}, "taint_value": {"type": "string"}, "param_name": {"type": "string"}, "method_pool_id": {"type": "integer"}, "project_id": {"type": "integer", "description": "\u9879\u76eeID"}}, "required": ["agent_name", "client_ip", "context_path", "counts", "first_time", "graph", "http_method", "latest_time", "level", "level_type", "method_pool_id", "param_name", "project_id", "project_name", "project_version", "request_header", "response", "status", "taint_position", "taint_value", "type", "uri", "url"]}, "_VulsEndPointResponse": {"type": "object", "properties": {"id": {"type": "integer", "readOnly": true}, "type": {"type": "string", "readOnly": true}, "hook_type_id": {"type": "integer", "readOnly": true}, "url": {"type": "string", "nullable": true, "maxLength": 2000}, "uri": {"type": "string", "nullable": true, "maxLength": 255}, "agent_id": {"type": "integer", "nullable": true, "readOnly": true}, "level_id": {"type": "integer", "nullable": true, "readOnly": true}, "http_method": {"type": "string", "nullable": true, "maxLength": 10}, "top_stack": {"type": "string", "nullable": true, "maxLength": 255}, "bottom_stack": {"type": "string", "nullable": true, "maxLength": 255}, "taint_position": {"type": "string", "nullable": true, "maxLength": 255}, "latest_time": {"type": "integer", "maximum": 2147483647, "minimum": -2147483648, "nullable": true}, "first_time": {"type": "integer", "maximum": 2147483647, "minimum": -2147483648, "nullable": true}, "language": {"type": "string", "readOnly": true}, "status": {"type": "string", "readOnly": true}, "index": {"type": "integer"}, "project_name": {"type": "string", "default": "\u6682\u672a\u7ed1\u5b9a\u9879\u76ee", "description": "\u9879\u76ee\u540d"}, "project_id": {"type": "integer", "default": 0, "description": "\u9879\u76eeID"}, "server_name": {"type": "string", "default": "JavaApplication"}, "server_type": {"type": "string"}, "level_type": {"type": "integer"}, "level": {"type": "string"}}, "required": ["agent_id", "hook_type_id", "id", "index", "language", "level", "level_id", "level_type", "server_type", "status", "type"]}}, "securitySchemes": {"cookieAuth": {"type": "apiKey", "in": "cookie", "name": "sessionid"}, "tokenAuth": {"type": "apiKey", "in": "header", "name": "Authorization", "description": "Token-based authentication with required prefix \"Token\""}}}} \ No newline at end of file +{ + "openapi": "3.0.3", + "info": { + "title": "DongTai WebApi Doc", + "version": "1.1.0", + "description": "这里是webapi中的API文档。可通过相关的tag来找到对应的管理部分API。\n\n这里有两个鉴权方式,通过登录流程获取csrf_token和sessionid,或者通过用户对应的Token来访问对应的API。\n\n推荐使用Token方式,用户可在安装Agent界面找到如 -H 'Authorization: Token {token}' ,此处为用户对应的token,token方式同样需要在请求头上带上一个这样的token。 " + }, + "paths": { + "/api/XZPcGFKoxYXScwGjQtJx8u/schema/": { + "get": { + "operationId": "XZPcGFKoxYXScwGjQtJx8u_schema_retrieve", + "description": "OpenApi3 schema for this API. Format can be selected via content negotiation.\n\n- YAML: application/vnd.oai.openapi\n- JSON: application/vnd.oai.openapi+json", + "parameters": [ + { + "in": "query", + "name": "lang", + "schema": { + "type": "string", + "enum": [ + "en", + "zh" + ] + } + } + ], + "tags": [ + "XZPcGFKoxYXScwGjQtJx8u" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + }, + {} + ], + "responses": { + "200": { + "content": { + "application/vnd.oai.openapi+json": { + "schema": { + "type": "object", + "additionalProperties": {} + } + }, + "application/json": { + "schema": { + "type": "object", + "additionalProperties": {} + } + } + }, + "description": "" + } + } + } + }, + "/api/v1/agent/{id_}": { + "get": { + "operationId": "v1_agent_retrieve", + "description": "通过条件删除指定的项目版本", + "summary": "探针详情", + "parameters": [ + { + "in": "path", + "name": "id_", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "探针" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35dc65d0-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/agent/{id}/delete": { + "get": { + "operationId": "v1_agent_delete_retrieve", + "description": "使用探针对应的id来删除探针", + "summary": "删除探针", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "探针" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35db6f18-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/agent/alias/modified": { + "post": { + "operationId": "v1_agent_alias_modified_create", + "description": "修改探针别名", + "summary": "探针别名修改", + "tags": [ + "探针" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentAliasArgs" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35efe150-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/agent/deploy/": { + "get": { + "operationId": "v1_agent_deploy_retrieve", + "description": "探针部署的文档", + "summary": "探针部署的文档", + "parameters": [ + { + "in": "query", + "name": "language", + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "query", + "name": "middleware", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "tags": [ + "文档" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35db8872-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/agent/download": { + "get": { + "operationId": "v1_agent_download_retrieve", + "description": ":param request:\n:return:", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/agent/install": { + "post": { + "operationId": "v1_agent_install_create", + "description": "通过指定id来安装运行中的探针", + "summary": "探针安装", + "tags": [ + "探针" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentInstallArgs" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35dbd2be-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/agent/start": { + "post": { + "operationId": "v1_agent_start_create", + "description": "通过指定id来启动停止的探针", + "summary": "探针启动", + "tags": [ + "探针" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentToggleArgs" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35dbe4c0-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/agent/status/update": { + "get": { + "operationId": "v1_agent_status_update_retrieve", + "description": "通过Token和Sessin验证的API入口", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/agent/stop": { + "post": { + "operationId": "v1_agent_stop_create", + "description": "使用探针对应的id来停止探针", + "summary": "探针停止", + "tags": [ + "探针" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentToggleArgs" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35dc1a4e-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/agent/uninstall": { + "post": { + "operationId": "v1_agent_uninstall_create", + "description": "通过指定id来卸载运行中的探针", + "summary": "探针卸载", + "tags": [ + "探针" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentInstallArgs" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35dc2ba6-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/agents": { + "get": { + "operationId": "v1_agents_retrieve", + "description": "基于所给条件获取探针信息列表", + "summary": "探针列表", + "parameters": [ + { + "in": "query", + "name": "page", + "schema": { + "type": "integer", + "default": 1 + } + }, + { + "in": "query", + "name": "pageSize", + "schema": { + "type": "integer", + "default": 1 + } + }, + { + "in": "query", + "name": "project_name", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "state", + "schema": { + "type": "integer", + "default": 1 + } + }, + { + "in": "query", + "name": "token", + "schema": { + "type": "string" + } + } + ], + "tags": [ + "探针" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35dc8e8e-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/agents/delete": { + "get": { + "operationId": "v1_agents_delete_retrieve", + "description": "使用探针对应的id来停止探针", + "summary": "探针删除(批量)", + "parameters": [ + { + "in": "query", + "name": "ids", + "schema": { + "type": "string", + "minLength": 1 + }, + "description": "agent对应的id,使用\",\"进行切分。", + "required": true + } + ], + "tags": [ + "探针" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35dc09e6-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/agents/user": { + "get": { + "operationId": "v1_agents_user_retrieve", + "description": "使用探针对应的id来停止探针", + "summary": "探针(用户相关)", + "tags": [ + "探针" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35dca298-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/api_route/cover_rate": { + "get": { + "operationId": "v1_api_route_cover_rate_retrieve", + "description": "通过指定id来获取对应项目的API覆盖率", + "summary": "API导航覆盖率", + "parameters": [ + { + "in": "query", + "name": "project_id", + "schema": { + "type": "integer" + } + }, + { + "in": "query", + "name": "version_id", + "schema": { + "type": "integer" + } + } + ], + "tags": [ + "API 导航" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ef143c-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/api_route/relationrequest": { + "get": { + "operationId": "v1_api_route_relationrequest_retrieve", + "description": "通过指定id来获取对应项目的覆盖率", + "summary": "API导航相关的请求", + "parameters": [ + { + "in": "query", + "name": "api_route_id", + "schema": { + "type": "integer" + } + }, + { + "in": "query", + "name": "project_id", + "schema": { + "type": "integer" + } + }, + { + "in": "query", + "name": "version_id", + "schema": { + "type": "integer" + } + } + ], + "tags": [ + "API 导航" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35eeff6a-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/api_route/search": { + "post": { + "operationId": "v1_api_route_search_create", + "description": "根据以下参数搜索用户对应的agent", + "summary": "API 导航搜索", + "tags": [ + "API 导航" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiRouteSearchRequestBody" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35eeeade-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/captcha/refresh": { + "get": { + "operationId": "v1_captcha_refresh_retrieve", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + }, + {} + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/demo": { + "get": { + "operationId": "v1_demo_retrieve", + "description": "通过Token和Sessin验证的API入口", + "tags": [ + "v1" + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/department/{id}": { + "get": { + "operationId": "v1_department_retrieve", + "description": "部门获取", + "summary": "部门", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "管理" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "post": { + "operationId": "v1_department_create", + "description": ":param request:\n:param pk:\n:return:", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "put": { + "operationId": "v1_department_update", + "description": "增加部门", + "summary": "部门", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "管理" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DepartmentPutArgSer" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "delete": { + "operationId": "v1_department_destroy", + "description": "基于APIView封装的API入口处理类,需要针对请求进行统一处理的都通过该类实现", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "204": { + "description": "No response body" + } + } + } + }, + "/api/v1/department/{id}/delete": { + "get": { + "operationId": "v1_department_delete_retrieve", + "description": "部门获取", + "summary": "部门", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "管理" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "post": { + "operationId": "v1_department_delete_create", + "description": ":param request:\n:param pk:\n:return:", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "put": { + "operationId": "v1_department_delete_update", + "description": "增加部门", + "summary": "部门", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "管理" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DepartmentPutArgSer" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "delete": { + "operationId": "v1_department_delete_destroy", + "description": "基于APIView封装的API入口处理类,需要针对请求进行统一处理的都通过该类实现", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "204": { + "description": "No response body" + } + } + } + }, + "/api/v1/department/add": { + "get": { + "operationId": "v1_department_add_retrieve", + "description": "部门获取", + "summary": "部门", + "tags": [ + "管理" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "post": { + "operationId": "v1_department_add_create", + "description": ":param request:\n:param pk:\n:return:", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "put": { + "operationId": "v1_department_add_update", + "description": "增加部门", + "summary": "部门", + "tags": [ + "管理" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DepartmentPutArgSer" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "delete": { + "operationId": "v1_department_add_destroy", + "description": "基于APIView封装的API入口处理类,需要针对请求进行统一处理的都通过该类实现", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "204": { + "description": "No response body" + } + } + } + }, + "/api/v1/departments": { + "get": { + "operationId": "v1_departments_retrieve", + "description": "部门获取", + "summary": "部门", + "tags": [ + "管理" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "post": { + "operationId": "v1_departments_create", + "description": ":param request:\n:param pk:\n:return:", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "put": { + "operationId": "v1_departments_update", + "description": "增加部门", + "summary": "部门", + "tags": [ + "管理" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DepartmentPutArgSer" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "delete": { + "operationId": "v1_departments_destroy", + "description": "基于APIView封装的API入口处理类,需要针对请求进行统一处理的都通过该类实现", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "204": { + "description": "No response body" + } + } + } + }, + "/api/v1/documents": { + "get": { + "operationId": "v1_documents_retrieve", + "description": "获取对应帮助文档.", + "summary": "获取文档", + "parameters": [ + { + "in": "query", + "name": "language", + "schema": { + "type": "string", + "minLength": 1 + }, + "description": "文档对应的编程语言" + }, + { + "in": "query", + "name": "page", + "schema": { + "type": "integer", + "default": 1 + }, + "description": "对应页码" + }, + { + "in": "query", + "name": "page_size", + "schema": { + "type": "integer", + "default": 20 + }, + "description": "每页数量" + } + ], + "tags": [ + "文档" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35dccad4-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/engine/graph": { + "get": { + "operationId": "v1_engine_graph_retrieve", + "description": "通过Token和Sessin验证的API入口", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/engine/hook/rule/add": { + "post": { + "operationId": "v1_engine_hook_rule_add_create", + "description": "根据选择的策略生成对应的策略组", + "summary": "Hook规则添加", + "tags": [ + "Hook 规则" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/_HookRuleAddBodyargs" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35dcf950-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/engine/hook/rule/modify": { + "post": { + "operationId": "v1_engine_hook_rule_modify_create", + "description": "通过指定id来获取对应hook规则", + "summary": "Hook规则修改", + "tags": [ + "Hook 规则" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/_EngineHookRuleModify" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35dd0bde-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/engine/hook/rule/status": { + "get": { + "operationId": "v1_engine_hook_rule_status_retrieve", + "description": "通过指定id来修改对应规则状态", + "summary": "Hook规则状态修改", + "parameters": [ + { + "in": "query", + "name": "op", + "schema": { + "enum": [ + "enable", + "disable", + "delete" + ], + "type": "string", + "minLength": 1 + }, + "description": "Hook规则的状态", + "required": true + }, + { + "in": "query", + "name": "rule_id", + "schema": { + "type": "integer" + }, + "description": "Hook规则的id", + "required": true + } + ], + "tags": [ + "Hook 规则" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35dd2da8-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "post": { + "operationId": "v1_engine_hook_rule_status_create", + "description": "通过指定id来批量修改对应规则状态", + "summary": "Hook规则状态修改(批量)", + "tags": [ + "Hook 规则" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EngineHookRuleStatusPostBody" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35dd3492-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/engine/hook/rule/summary": { + "get": { + "operationId": "v1_engine_hook_rule_summary_retrieve", + "description": "对于Hook规则数量的统计", + "summary": "Hook规则概览", + "parameters": [ + { + "in": "query", + "name": "language_id", + "schema": { + "type": "integer", + "nullable": true + }, + "description": "编程语言的id" + } + ], + "tags": [ + "Hook 规则" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35dd4dce-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/engine/hook/rule_type/add": { + "post": { + "operationId": "v1_engine_hook_rule_type_add_create", + "description": "基于以下参数创建Hook类型", + "summary": "Hook规则类型添加", + "tags": [ + "Hook 规则" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/_EngineHookRuleTypeAdd" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35dd6ade-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/engine/hook/rule_type/disable": { + "get": { + "operationId": "v1_engine_hook_rule_type_disable_retrieve", + "description": "通过指定id来禁用对应规则", + "summary": "Hook规则状态禁用", + "parameters": [ + { + "in": "query", + "name": "rule_id", + "schema": { + "type": "integer", + "default": 1 + }, + "description": "Hook类型的id" + } + ], + "tags": [ + "Hook 规则" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35dd7e8e-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/engine/hook/rule_type/enable": { + "get": { + "operationId": "v1_engine_hook_rule_type_enable_retrieve", + "description": "通过指定id来启用对应规则", + "summary": "Hook规则状态启用", + "parameters": [ + { + "in": "query", + "name": "rule_id", + "schema": { + "type": "integer", + "default": 1 + }, + "description": "Hook类型的id" + } + ], + "tags": [ + "Hook 规则" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35dd91f8-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/engine/hook/rule_types": { + "get": { + "operationId": "v1_engine_hook_rule_types_retrieve", + "description": "获取Hook规则类型列表", + "summary": "Hook规则类型列表", + "parameters": [ + { + "in": "query", + "name": "language_id", + "schema": { + "type": "integer", + "default": 1 + }, + "description": "编程语言的id" + }, + { + "in": "query", + "name": "page", + "schema": { + "type": "integer", + "default": 1 + }, + "description": "对应页码" + }, + { + "in": "query", + "name": "pageSize", + "schema": { + "type": "integer", + "default": 20 + }, + "description": "每页数量" + }, + { + "in": "query", + "name": "type", + "schema": { + "enum": [ + 2, + 5, + 1, + 3, + 4 + ], + "type": "integer" + }, + "description": "Hook规则的类型 \n 1 代表传播方法, 2 代表污点源方法, 3 代表过滤方法, 4 代表危险方法", + "required": true + } + ], + "tags": [ + "Hook 规则" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ddaf80-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/engine/hook/rules": { + "get": { + "operationId": "v1_engine_hook_rules_retrieve", + "description": "获取Hook策略列表", + "summary": "Hook规则列表", + "parameters": [ + { + "in": "query", + "name": "keyword", + "schema": { + "type": "string", + "minLength": 1 + }, + "description": "The keyword for search" + }, + { + "in": "query", + "name": "language_id", + "schema": { + "type": "integer", + "default": 1 + }, + "description": "编程语言的id" + }, + { + "in": "query", + "name": "page", + "schema": { + "type": "integer", + "default": 1 + }, + "description": "对应页码" + }, + { + "in": "query", + "name": "pageSize", + "schema": { + "type": "integer", + "default": 20 + }, + "description": "每页数量" + }, + { + "in": "query", + "name": "strategy_type", + "schema": { + "type": "integer" + }, + "description": "Hook 类型id" + }, + { + "in": "query", + "name": "type", + "schema": { + "enum": [ + 2, + 5, + 1, + 3, + 4 + ], + "type": "integer" + }, + "description": "Hook规则的类型 \n 1 代表传播方法, 2 代表污点源方法, 3 代表过滤方法, 4 代表危险方法", + "required": true + } + ], + "tags": [ + "Hook 规则" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ddc8a8-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/engine/method_pool/detail": { + "post": { + "operationId": "v1_engine_method_pool_detail_create", + "description": ":param request:\n:return:\ntoken: agent-ip-port-path", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/engine/method_pool/sca": { + "get": { + "operationId": "v1_engine_method_pool_sca_retrieve", + "description": "获取方法调用链相关的组件信息列表", + "summary": "方法调用链相关组件", + "parameters": [ + { + "in": "query", + "name": "method_pool_id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "方法调用链" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35de2474-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/engine/method_pool/search": { + "post": { + "operationId": "v1_engine_method_pool_search_create", + "description": "根据以下条件搜索调用链信息,默认为正则表达式输入,正则规范参照REGEX POSIX 1003.2", + "summary": "方法调用链搜索", + "tags": [ + "方法调用链" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MethodPoolSearchProxySer" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35de84dc-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/engine/method_pool/timerange": { + "get": { + "operationId": "v1_engine_method_pool_timerange_retrieve", + "description": "获取方法调用链的最早时间", + "summary": "方法调用链时间范围", + "tags": [ + "方法调用链" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35eff19a-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/engine/request/replay": { + "get": { + "operationId": "v1_engine_request_replay_retrieve", + "description": "通过Token和Sessin验证的API入口", + "parameters": [ + { + "in": "query", + "name": "replay_type", + "schema": { + "type": "integer" + }, + "description": "available options are (2,3)" + }, + { + "in": "query", + "name": "replayid", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "post": { + "operationId": "v1_engine_request_replay_create", + "description": ":param request:{\n 'id':vul_id,\n 'request': 'header'\n}\n:return:", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/filereplace/{filename}": { + "post": { + "operationId": "v1_filereplace_create", + "description": "基于APIView封装的API入口处理类,需要针对请求进行统一处理的都通过该类实现", + "parameters": [ + { + "in": "path", + "name": "filename", + "schema": { + "type": "string" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/health": { + "get": { + "operationId": "v1_health_retrieve", + "description": "通过Token和Sessin验证的API入口", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/i18n/setlang": { + "get": { + "operationId": "v1_i18n_setlang_retrieve", + "description": "通过Token和Sessin验证的API入口", + "parameters": [ + { + "in": "query", + "name": "language", + "schema": { + "type": "string" + }, + "description": "The options are (en,zh)" + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/log/clear": { + "get": { + "operationId": "v1_log_clear_retrieve", + "description": "通过Token和Sessin验证的API入口", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/log/delete": { + "post": { + "operationId": "v1_log_delete_create", + "description": "通过Token和Sessin验证的API入口", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/log/export": { + "get": { + "operationId": "v1_log_export_retrieve", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + }, + {} + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/logs": { + "get": { + "operationId": "v1_logs_retrieve", + "description": "通过Token和Sessin验证的API入口", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/message/delete": { + "post": { + "operationId": "v1_message_delete_create", + "description": "用于用户删除对应的消息", + "summary": "消息删除", + "tags": [ + "消息" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/_MessagesDelArgs" + } + } + } + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/message/list": { + "get": { + "operationId": "v1_message_list_retrieve", + "description": "获取用户对应的消息列表", + "summary": "获取消息列表", + "parameters": [ + { + "in": "query", + "name": "page", + "schema": { + "type": "integer", + "default": 1 + }, + "description": "对应页码" + }, + { + "in": "query", + "name": "page_size", + "schema": { + "type": "integer", + "default": 20 + }, + "description": "每页数量" + } + ], + "tags": [ + "消息" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ef9d80-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/message/unread_count": { + "get": { + "operationId": "v1_message_unread_count_retrieve", + "description": "Used to get the number of messages corresponding to the user", + "summary": "Messages Count", + "tags": [ + "消息" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35efb090-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/openapi": { + "get": { + "operationId": "v1_openapi_retrieve", + "description": "获取 DongTai-OpenApi 的URI", + "summary": "获取配置中的DongTai-OpenApi地址", + "tags": [ + "系统配置" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35e06dc4-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "post": { + "operationId": "v1_openapi_create", + "description": "设置DongTai-OpenApi的url地址,需要管理员权限", + "summary": "修改配置中的DongTai-OpenApi地址", + "tags": [ + "系统配置" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OpenApiEndpoint" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35e061da-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/oss/health": { + "get": { + "operationId": "v1_oss_health_retrieve", + "description": "通过Token和Sessin验证的API入口", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/plugin/vuln/count": { + "get": { + "operationId": "v1_plugin_vuln_count_retrieve", + "description": "获取用户对应的漏洞列表", + "summary": "漏洞总数(Agent相关)", + "parameters": [ + { + "in": "query", + "name": "name", + "schema": { + "type": "string" + } + } + ], + "tags": [ + "漏洞" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + }, + {} + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ed6e16-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/plugin/vuln/list": { + "get": { + "operationId": "v1_plugin_vuln_list_retrieve", + "description": "使用agent名获取对应的漏洞列表", + "summary": "漏洞列表(Agent相关)", + "parameters": [ + { + "in": "query", + "name": "name", + "schema": { + "type": "string" + }, + "description": "Agent名称" + }, + { + "in": "query", + "name": "order", + "schema": { + "type": "string" + }, + "description": "排序指标 : id,hook_type_id,url,http_method,top_stack,bottom_stack" + }, + { + "in": "query", + "name": "page", + "schema": { + "type": "integer", + "default": 1 + }, + "description": "对应页码" + }, + { + "in": "query", + "name": "pageSize", + "schema": { + "type": "integer", + "default": 20 + }, + "description": "每页数量" + }, + { + "in": "query", + "name": "url", + "schema": { + "type": "string" + }, + "description": "漏洞的对应url" + } + ], + "tags": [ + "漏洞" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + }, + {} + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35edcf96-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/profile/{key}": { + "get": { + "operationId": "v1_profile_retrieve", + "description": "根据key获取配置", + "summary": "获取配置", + "parameters": [ + { + "in": "path", + "name": "key", + "schema": { + "type": "string" + }, + "required": true + } + ], + "tags": [ + "系统配置" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "post": { + "operationId": "v1_profile_create", + "description": "修改对应key的配置值", + "summary": "配置修改", + "parameters": [ + { + "in": "path", + "name": "key", + "schema": { + "type": "string" + }, + "required": true + } + ], + "tags": [ + "系统配置" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProfilepostArgsSer" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/profile/batch/get": { + "post": { + "operationId": "v1_profile_batch_get_create", + "description": "根据key批量获取配置", + "summary": "批量获取配置", + "tags": [ + "系统配置" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProfileBatchGetArgsSer" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProfileBatchGetResSer" + } + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/profile/batch/modified": { + "post": { + "operationId": "v1_profile_batch_modified_create", + "description": "修改对应key的配置值", + "summary": "配置修改", + "tags": [ + "系统配置" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProfileBatchPostArgsSer" + } + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProfileBatchPostArgsSer" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/program_language": { + "get": { + "operationId": "v1_program_language_retrieve", + "description": "获取编程语言列表", + "summary": "编程语言列表", + "tags": [ + "编程语言" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ef37aa-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/project/{id}": { + "get": { + "operationId": "v1_project_retrieve", + "description": "获取项目的版本信息,包括项目的当前版本", + "summary": "项目详情", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "项目" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35e110e4-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/project/add": { + "post": { + "operationId": "v1_project_add_create", + "description": "根据所给条件新建项目;\n 当指定项目id是, 根据所给条件更新对应项目", + "summary": "项目新建", + "tags": [ + "项目" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/_ProjectsAddBodyArgs" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35e0ce2c-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/project/delete": { + "post": { + "operationId": "v1_project_delete_create", + "description": "使用探针对应的id来删除探针", + "summary": "删除项目", + "tags": [ + "项目" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/_ProjectsDelBodyArgs" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35e0eb1e-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/project/engines/{pid}": { + "get": { + "operationId": "v1_project_engines_retrieve", + "description": "获取项目对应的探针列表", + "summary": "项目探针", + "parameters": [ + { + "in": "path", + "name": "pid", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "项目" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35e126f6-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/project/export": { + "get": { + "operationId": "v1_project_export_retrieve", + "description": "基于以下条件,导出指定版本的报告或是特定漏洞的报告", + "summary": "项目报告导出", + "parameters": [ + { + "in": "query", + "name": "pid", + "schema": { + "type": "integer" + }, + "description": "项目ID", + "required": true + }, + { + "in": "query", + "name": "pname", + "schema": { + "type": "string", + "minLength": 1 + }, + "description": "项目名", + "required": true + }, + { + "in": "query", + "name": "vid", + "schema": { + "type": "string", + "minLength": 1 + }, + "description": "项目的版本id", + "required": true + } + ], + "tags": [ + "项目" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/project/report/async_add": { + "post": { + "operationId": "v1_project_report_async_add_create", + "description": "According to the conditions, export the report of the specified project or the project of the specified vulnerability async.", + "summary": "Vulnerability Report Async Export", + "tags": [ + "项目" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/_ProjectReportExportQuery" + } + } + } + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/project/report/delete": { + "post": { + "operationId": "v1_project_report_delete_create", + "description": "According to the conditions, delete the report of the specified project or the project of the specified vulnerability.", + "summary": "项目报告导出", + "tags": [ + "项目" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/_ProjectReportSearchQuerys" + } + } + } + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ead80e-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/project/report/download": { + "get": { + "operationId": "v1_project_report_download_retrieve", + "description": "基于以下条件,导出指定版本的报告或是特定漏洞的报告", + "summary": "Projects Report Download", + "parameters": [ + { + "in": "query", + "name": "id", + "schema": { + "type": "integer", + "default": 0 + }, + "description": "The id of the project report" + } + ], + "tags": [ + "项目" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/project/report/list": { + "get": { + "operationId": "v1_project_report_list_retrieve", + "description": "According to the conditions, list the report of the specified project or the project of the specified vulnerability.", + "summary": "Projects Report List", + "parameters": [ + { + "in": "query", + "name": "page", + "schema": { + "type": "integer", + "default": 1 + }, + "description": "对应页码" + }, + { + "in": "query", + "name": "page_size", + "schema": { + "type": "integer", + "default": 20 + }, + "description": "每页数量" + }, + { + "in": "query", + "name": "pid", + "schema": { + "type": "integer", + "default": 1 + }, + "description": "Project id" + } + ], + "tags": [ + "项目" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/project/search": { + "get": { + "operationId": "v1_project_search_retrieve", + "description": "Get the id and name of the item according to the search keyword matching the item name, in descending order of time.", + "summary": "项目搜索", + "parameters": [ + { + "in": "query", + "name": "name", + "schema": { + "type": "string", + "minLength": 1 + }, + "description": "项目名,支持模糊搜索", + "required": true + } + ], + "tags": [ + "项目" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35e9e516-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/project/version/add": { + "post": { + "operationId": "v1_project_version_add_create", + "description": "基于给定条件添加指定项目版本,若指定版本号,将基于给定条件更新指定版本信息", + "summary": "项目版本添加", + "tags": [ + "项目" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VersionModify" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35e9f7c2-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/project/version/check": { + "get": { + "operationId": "v1_project_version_check_retrieve", + "description": "通过Token和Sessin验证的API入口", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/project/version/current": { + "post": { + "operationId": "v1_project_version_current_create", + "description": "基于给定条件获取特定项目的版本号", + "summary": "当前项目版本获取", + "tags": [ + "项目" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/_ProjectVersionCurrent" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ea0f0a-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/project/version/delete": { + "post": { + "operationId": "v1_project_version_delete_create", + "description": "通过条件删除指定的项目版本", + "summary": "项目版本删除", + "tags": [ + "项目" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/_ProjectVersionDelete" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ea24ae-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/project/version/list/{project_id}": { + "get": { + "operationId": "v1_project_version_list_retrieve", + "description": "获取用户对应的漏洞列表", + "summary": "项目版本列表", + "parameters": [ + { + "in": "path", + "name": "project_id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "项目" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ea3a66-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/project/version/update": { + "post": { + "operationId": "v1_project_version_update_create", + "description": "使用指定版本id获取对应的版本信息。", + "summary": "项目版本更新", + "tags": [ + "项目" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VersionModify" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ea4c18-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/projects": { + "get": { + "operationId": "v1_projects_retrieve", + "description": "项目对应的用户,支持模糊匹配", + "summary": "项目列表", + "parameters": [ + { + "in": "query", + "name": "name", + "schema": { + "type": "string", + "minLength": 1 + }, + "description": "项目名搜索,支持模糊匹配" + }, + { + "in": "query", + "name": "page", + "schema": { + "type": "integer", + "default": 1 + }, + "description": "对应页码" + }, + { + "in": "query", + "name": "page_size", + "schema": { + "type": "integer", + "default": 20 + }, + "description": "每页数量" + } + ], + "tags": [ + "项目" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ea64b4-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/projects/summary/{id}": { + "get": { + "operationId": "v1_projects_summary_retrieve", + "description": "Get the id and name of the item according to the search keyword matching the item name, in descending order of time.", + "summary": "项目搜索", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "项目" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35e9cdc4-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/sca/{id}": { + "get": { + "operationId": "v1_sca_retrieve", + "description": "通过指定id来获取对应组件的详情", + "summary": "组件详情", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "组件" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35eb519e-5461-11ec-88b0-0242ac110002" + }, + "examples": { + "获取数据样例": { + "value": { + "status": 201, + "msg": "success", + "data": { + "id": 12897, + "package_name": "log4j-to-slf4j-2.14.1.jar", + "version": "2.14.1", + "project_name": "demo", + "project_id": 67, + "project_version": "V1.0", + "language": "JAVA", + "agent_name": "Mac OS X-localhost-v1.0.0-d24bf703ca62499ebdd12770708296f5", + "signature_value": "ce8a86a3f50a4304749828ce68e7478cafbc8039", + "level": "INFO", + "level_type": 4, + "vul_count": 0, + "dt": 1631088844, + "vuls": [] + } + }, + "description": "聚合结果分别为编程语言,风险等级,漏洞类型,项目。" + } + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/sca/summary": { + "get": { + "operationId": "v1_sca_summary_retrieve", + "description": "使用指定项目信息获取对应的组件概况。", + "summary": "组件概况(项目相关)", + "parameters": [ + { + "in": "query", + "name": "keyword", + "schema": { + "type": "string" + }, + "description": "模糊搜索关键词,针对package_name字段" + }, + { + "in": "query", + "name": "language", + "schema": { + "type": "string" + }, + "description": "编程语言" + }, + { + "in": "query", + "name": "level", + "schema": { + "type": "integer" + }, + "description": "The id level of vulnerability" + }, + { + "in": "query", + "name": "order", + "schema": { + "type": "string" + }, + "description": "排序指标 : version,level,vul_count,language,package_name" + }, + { + "in": "query", + "name": "page", + "schema": { + "type": "integer", + "default": 1 + }, + "description": "对应页码" + }, + { + "in": "query", + "name": "pageSize", + "schema": { + "type": "integer", + "default": 20 + }, + "description": "每页数量" + }, + { + "in": "query", + "name": "project_id", + "schema": { + "type": "integer" + }, + "description": "项目ID" + }, + { + "in": "query", + "name": "project_name", + "schema": { + "type": "string" + }, + "description": "项目名", + "deprecated": true + }, + { + "in": "query", + "name": "version_id", + "schema": { + "type": "integer" + }, + "description": "默认值为项目的当前版本。" + } + ], + "tags": [ + "组件" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ebb60c-5461-11ec-88b0-0242ac110002" + }, + "examples": { + "获取数据样例": { + "value": { + "status": 201, + "msg": "success", + "data": { + "language": [ + { + "language": "JAVA", + "count": 17 + }, + { + "language": "PYTHON", + "count": 0 + } + ], + "level": [ + { + "level": "HIGH", + "count": 0, + "level_id": 1 + }, + { + "level": "MEDIUM", + "count": 0, + "level_id": 2 + }, + { + "level": "LOW", + "count": 0, + "level_id": 3 + }, + { + "level": "INFO", + "count": 17, + "level_id": 4 + } + ], + "projects": [ + { + "project_name": "demo", + "count": 17, + "id": 67 + } + ] + } + }, + "description": "聚合结果分别为编程语言,风险等级,漏洞类型,项目。" + } + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/scan_strategy": { + "get": { + "operationId": "v1_scan_strategy_list", + "description": "项目对应的用户,支持模糊匹配", + "summary": "ScanStrategy List", + "parameters": [ + { + "in": "query", + "name": "name", + "schema": { + "type": "string", + "minLength": 1 + }, + "description": "项目名搜索,支持模糊匹配" + }, + { + "in": "query", + "name": "page", + "schema": { + "type": "integer", + "default": 1 + }, + "description": "对应页码" + }, + { + "in": "query", + "name": "page_size", + "schema": { + "type": "integer", + "default": 20 + }, + "description": "每页数量" + } + ], + "tags": [ + "ScanStrategy" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "post": { + "operationId": "v1_scan_strategy_create", + "description": "Create ScanStrategy", + "summary": "ScanStrategy Create", + "tags": [ + "ScanStrategy" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScanCreate" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/scan_strategy/{id}": { + "get": { + "operationId": "v1_scan_strategy_retrieve", + "description": "Get the item with pk", + "summary": "ScanStrategy get", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "ScanStrategy" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "put": { + "operationId": "v1_scan_strategy_update", + "description": "项目对应的用户,支持模糊匹配", + "summary": "ScanStrategy Update", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "ScanStrategy" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScanCreate" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "delete": { + "operationId": "v1_scan_strategy_destroy", + "description": "项目对应的用户,支持模糊匹配", + "summary": "ScanStrategy delete", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "ScanStrategy" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/scan_strategy/{id}/relationprojects": { + "get": { + "operationId": "v1_scan_strategy_relationprojects_retrieve", + "description": "Get scan strategy relation projects", + "summary": "ScanStrategy Relation Projects", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "ScanStrategy" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/scan_strategy/all": { + "post": { + "operationId": "v1_scan_strategy_all_create", + "description": "all update status.", + "summary": "ScanStrategy all status", + "tags": [ + "ScanStrategy" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BatchStatusUpdate" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/scas": { + "get": { + "operationId": "v1_scas_retrieve", + "description": "使用指定项目信息获取对应的组件。", + "summary": "组件列表(项目相关)", + "parameters": [ + { + "in": "query", + "name": "keyword", + "schema": { + "type": "string" + }, + "description": "模糊搜索关键词,针对package_name字段" + }, + { + "in": "query", + "name": "language", + "schema": { + "type": "string" + }, + "description": "编程语言" + }, + { + "in": "query", + "name": "level", + "schema": { + "type": "integer" + }, + "description": "The id of level of vulnerability" + }, + { + "in": "query", + "name": "order", + "schema": { + "type": "string" + }, + "description": "排序指标 : version,level,vul_count,language,package_name" + }, + { + "in": "query", + "name": "page", + "schema": { + "type": "integer", + "default": 1 + }, + "description": "对应页码" + }, + { + "in": "query", + "name": "pageSize", + "schema": { + "type": "integer", + "default": 20 + }, + "description": "每页数量" + }, + { + "in": "query", + "name": "project_id", + "schema": { + "type": "integer" + }, + "description": "项目ID" + }, + { + "in": "query", + "name": "project_name", + "schema": { + "type": "string" + }, + "description": "项目名", + "deprecated": true + }, + { + "in": "query", + "name": "version_id", + "schema": { + "type": "integer" + }, + "description": "默认值为项目的当前版本。" + } + ], + "tags": [ + "组件" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ebd506-5461-11ec-88b0-0242ac110002" + }, + "examples": { + "获取数据样例": { + "value": { + "status": 201, + "msg": "success", + "data": [ + { + "id": 13293, + "package_name": "message-business-7.1.0.Final.jar", + "version": "7.1.0.Final", + "project_name": "No application", + "project_id": 0, + "project_version": "No application version", + "language": "JAVA", + "agent_name": "Mac OS X-bogon-v1.0.0-0c864ba2a60b48aaa1a8b49a53a6749b", + "signature_value": "f744df92326c4bea7682fd16004bec184148db07", + "level": "INFO", + "level_type": 4, + "vul_count": 0, + "dt": 1631189450 + } + ], + "page": { + "alltotal": 795, + "num_pages": 795, + "page_size": 1 + } + }, + "description": "聚合结果分别为编程语言,风险等级,漏洞类型,项目。" + } + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/sensitive_info_rule": { + "get": { + "operationId": "v1_sensitive_info_rule_list", + "description": "项目对应的用户,支持模糊匹配", + "summary": "SensitiveInfoRule List", + "parameters": [ + { + "in": "query", + "name": "name", + "schema": { + "type": "string", + "minLength": 1 + }, + "description": "项目名搜索,支持模糊匹配" + }, + { + "in": "query", + "name": "page", + "schema": { + "type": "integer", + "default": 1 + }, + "description": "对应页码" + }, + { + "in": "query", + "name": "page_size", + "schema": { + "type": "integer", + "default": 20 + }, + "description": "每页数量" + } + ], + "tags": [ + "SensitiveInfoRule" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "post": { + "operationId": "v1_sensitive_info_rule_create", + "description": "项目对应的用户,支持模糊匹配", + "summary": "SensitiveInfoRule Create", + "tags": [ + "SensitiveInfoRule" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SensitiveInfoRuleCreate" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/sensitive_info_rule/{pattern_type}_validation": { + "post": { + "operationId": "v1_sensitive_info_rule__validation_create", + "description": "项目对应的用户,支持模糊匹配", + "summary": "SensitiveInfoRule validated_data", + "parameters": [ + { + "in": "path", + "name": "pattern_type", + "schema": { + "type": "string" + }, + "required": true + } + ], + "tags": [ + "SensitiveInfoRule" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/_RegexPatternValidation" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/sensitive_info_rule/{id}": { + "get": { + "operationId": "v1_sensitive_info_rule_retrieve", + "description": "项目对应的用户,支持模糊匹配", + "summary": "SensitiveInfoRule get", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "SensitiveInfoRule" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "put": { + "operationId": "v1_sensitive_info_rule_update", + "description": "项目对应的用户,支持模糊匹配", + "summary": "SensitiveInfoRule Update", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "SensitiveInfoRule" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SensitiveInfoRuleCreate" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "delete": { + "operationId": "v1_sensitive_info_rule_destroy", + "description": "项目对应的用户,支持模糊匹配", + "summary": "SensitiveInfoRule delete", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "SensitiveInfoRule" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/sensitive_info_rule/all": { + "post": { + "operationId": "v1_sensitive_info_rule_all_create", + "description": "all update status.", + "summary": "SensitiveInfoRule all status", + "tags": [ + "SensitiveInfoRule" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AllStatusUpdate" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/sensitive_info_rule/batch_update": { + "post": { + "operationId": "v1_sensitive_info_rule_batch_update_create", + "description": "batch update status.", + "summary": "SensitiveInfoRule batch status", + "tags": [ + "SensitiveInfoRule" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BatchStatusUpdate" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/sensitive_info_rule/pattern_type": { + "get": { + "operationId": "v1_sensitive_info_rule_pattern_type_retrieve", + "description": "Get the item corresponding to the user.", + "summary": "SensitiveInfoRule Pattern Type List", + "tags": [ + "SensitiveInfoRule" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/strategy/{id_}/delete": { + "delete": { + "operationId": "v1_strategy_delete_destroy", + "description": "使用策略对应的id来删除策略", + "summary": "策略删除", + "parameters": [ + { + "in": "path", + "name": "id_", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "策略" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ec9f54-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/strategy/{id_}/update": { + "put": { + "operationId": "v1_strategy_update_update", + "description": "获取策略列表", + "summary": "Strategy modified", + "parameters": [ + { + "in": "path", + "name": "id_", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "策略" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StrategyCreate" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ecaecc-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/strategy/{id}/disable": { + "get": { + "operationId": "v1_strategy_disable_retrieve", + "description": "使用策略对应的id来停用策略", + "summary": "策略停用", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "策略" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ebf162-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/strategy/{id}/enable": { + "get": { + "operationId": "v1_strategy_enable_retrieve", + "description": "使用策略对应的id来启用策略", + "summary": "策略启用", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "策略" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ec05e4-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/strategy/{id}": { + "get": { + "operationId": "v1_strategy_retrieve", + "description": "Get a strategiey by id.", + "summary": "Strategy retrieve", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "策略" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ec3f82-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/strategy/types": { + "get": { + "operationId": "v1_strategy_types_retrieve", + "description": "获取策略类型列表", + "summary": "策略类型", + "tags": [ + "策略" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ec8b90-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/strategy/user/add": { + "post": { + "operationId": "v1_strategy_user_add_create", + "description": "根据选择的策略生成对应的策略组", + "summary": "Sacn Strategy Add", + "tags": [ + "策略" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/_StrategyAddBodyargs" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ec5ed6-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/strategy/user/list": { + "get": { + "operationId": "v1_strategy_user_list_retrieve", + "description": "获取策略列表", + "summary": "策略列表(用户相关)", + "tags": [ + "策略" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ec745c-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/strategys": { + "get": { + "operationId": "v1_strategys_retrieve", + "description": "获取策略列表", + "summary": "策略列表", + "parameters": [ + { + "in": "query", + "name": "name", + "schema": { + "type": "string", + "minLength": 1 + }, + "description": "项目名搜索,支持模糊匹配" + }, + { + "in": "query", + "name": "page", + "schema": { + "type": "integer" + }, + "description": "对应页码" + }, + { + "in": "query", + "name": "page_size", + "schema": { + "type": "integer" + }, + "description": "每页数量" + } + ], + "tags": [ + "策略" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ec3f82-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "post": { + "operationId": "v1_strategys_create", + "description": "根据选择的策略生成对应的策略组", + "summary": "策略添加", + "tags": [ + "策略" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StrategyCreate" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ec3f82-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/system/info": { + "get": { + "operationId": "v1_system_info_retrieve", + "description": "基于APIView封装的API入口处理类,需要针对请求进行统一处理的都通过该类实现", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/talent/{id}": { + "get": { + "operationId": "v1_talent_retrieve", + "description": ":param request:\n:return:", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "post": { + "operationId": "v1_talent_create", + "description": ":param request:\n:param pk:\n:return:", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "put": { + "operationId": "v1_talent_update", + "description": ":param request:\n:return:", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "delete": { + "operationId": "v1_talent_destroy", + "description": ":param request:\n:return:", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "204": { + "description": "No response body" + } + } + } + }, + "/api/v1/talent/{id}/delete": { + "get": { + "operationId": "v1_talent_delete_retrieve", + "description": ":param request:\n:return:", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "post": { + "operationId": "v1_talent_delete_create", + "description": ":param request:\n:param pk:\n:return:", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "put": { + "operationId": "v1_talent_delete_update", + "description": ":param request:\n:return:", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "delete": { + "operationId": "v1_talent_delete_destroy", + "description": ":param request:\n:return:", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "204": { + "description": "No response body" + } + } + } + }, + "/api/v1/talent/add": { + "get": { + "operationId": "v1_talent_add_retrieve", + "description": ":param request:\n:return:", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "post": { + "operationId": "v1_talent_add_create", + "description": ":param request:\n:param pk:\n:return:", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "put": { + "operationId": "v1_talent_add_update", + "description": ":param request:\n:return:", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "delete": { + "operationId": "v1_talent_add_destroy", + "description": ":param request:\n:return:", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "204": { + "description": "No response body" + } + } + } + }, + "/api/v1/talents": { + "get": { + "operationId": "v1_talents_retrieve", + "description": ":param request:\n:return:", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "post": { + "operationId": "v1_talents_create", + "description": ":param request:\n:param pk:\n:return:", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "put": { + "operationId": "v1_talents_update", + "description": ":param request:\n:return:", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "delete": { + "operationId": "v1_talents_destroy", + "description": ":param request:\n:return:", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "204": { + "description": "No response body" + } + } + } + }, + "/api/v1/user/{user_id}": { + "get": { + "operationId": "v1_user_retrieve", + "description": ":param request:\n:return:", + "parameters": [ + { + "in": "path", + "name": "user_id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "post": { + "operationId": "v1_user_create", + "description": "基于APIView封装的API入口处理类,需要针对请求进行统一处理的都通过该类实现", + "parameters": [ + { + "in": "path", + "name": "user_id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "put": { + "operationId": "v1_user_update", + "description": "增加用户", + "summary": "用户", + "parameters": [ + { + "in": "path", + "name": "user_id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "管理" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserAddSer" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "delete": { + "operationId": "v1_user_destroy", + "description": "基于APIView封装的API入口处理类,需要针对请求进行统一处理的都通过该类实现", + "parameters": [ + { + "in": "path", + "name": "user_id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "204": { + "description": "No response body" + } + } + } + }, + "/api/v1/user/{user_id}/delete": { + "get": { + "operationId": "v1_user_delete_retrieve", + "description": ":param request:\n:return:", + "parameters": [ + { + "in": "path", + "name": "user_id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "post": { + "operationId": "v1_user_delete_create", + "description": "基于APIView封装的API入口处理类,需要针对请求进行统一处理的都通过该类实现", + "parameters": [ + { + "in": "path", + "name": "user_id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "put": { + "operationId": "v1_user_delete_update", + "description": "增加用户", + "summary": "用户", + "parameters": [ + { + "in": "path", + "name": "user_id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "管理" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserAddSer" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "delete": { + "operationId": "v1_user_delete_destroy", + "description": "基于APIView封装的API入口处理类,需要针对请求进行统一处理的都通过该类实现", + "parameters": [ + { + "in": "path", + "name": "user_id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "204": { + "description": "No response body" + } + } + } + }, + "/api/v1/user/add": { + "get": { + "operationId": "v1_user_add_retrieve", + "description": ":param request:\n:return:", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "post": { + "operationId": "v1_user_add_create", + "description": "基于APIView封装的API入口处理类,需要针对请求进行统一处理的都通过该类实现", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "put": { + "operationId": "v1_user_add_update", + "description": "增加用户", + "summary": "用户", + "tags": [ + "管理" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserAddSer" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "delete": { + "operationId": "v1_user_add_destroy", + "description": "基于APIView封装的API入口处理类,需要针对请求进行统一处理的都通过该类实现", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "204": { + "description": "No response body" + } + } + } + }, + "/api/v1/user/changePassword": { + "post": { + "operationId": "v1_user_changePassword_create", + "description": "通过Token和Sessin验证的API入口", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/user/info": { + "get": { + "operationId": "v1_user_info_retrieve", + "description": "通过Token和Sessin验证的API入口", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/user/login": { + "post": { + "operationId": "v1_user_login_create", + "description": "通过Token和Sessin验证的API入口", + "tags": [ + "v1" + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/user/logout": { + "get": { + "operationId": "v1_user_logout_retrieve", + "description": "具有匿名用户权限验证的API入口", + "tags": [ + "v1" + ], + "security": [ + {} + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/user/password/reset": { + "post": { + "operationId": "v1_user_password_reset_create", + "description": "基于APIView封装的API入口处理类,需要针对请求进行统一处理的都通过该类实现", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/user/register": { + "get": { + "operationId": "v1_user_register_retrieve", + "description": "基于APIView封装的API入口处理类,需要针对请求进行统一处理的都通过该类实现", + "tags": [ + "v1" + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "post": { + "operationId": "v1_user_register_create", + "description": "{\n \"form\": \"xJfeTv\",\n \"entry\": {\n \"field1\": 123,\n \"field2\": \"Hello, World\",\n \"field3\": \"It's very good.\"\n }\n}\n:param request:\n:param token:\n:return:", + "tags": [ + "v1" + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/user/register/{token}": { + "get": { + "operationId": "v1_user_register_retrieve_2", + "description": "基于APIView封装的API入口处理类,需要针对请求进行统一处理的都通过该类实现", + "parameters": [ + { + "in": "path", + "name": "token", + "schema": { + "type": "string" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "post": { + "operationId": "v1_user_register_create_2", + "description": "{\n \"form\": \"xJfeTv\",\n \"entry\": {\n \"field1\": 123,\n \"field2\": \"Hello, World\",\n \"field3\": \"It's very good.\"\n }\n}\n:param request:\n:param token:\n:return:", + "parameters": [ + { + "in": "path", + "name": "token", + "schema": { + "type": "string" + }, + "required": true + } + ], + "tags": [ + "v1" + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/user/token": { + "get": { + "operationId": "v1_user_token_retrieve", + "description": "通过Token和Sessin验证的API入口", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/users": { + "get": { + "operationId": "v1_users_retrieve", + "description": ":param request:\n:return:", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "post": { + "operationId": "v1_users_create", + "description": "基于APIView封装的API入口处理类,需要针对请求进行统一处理的都通过该类实现", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + }, + "put": { + "operationId": "v1_users_update", + "description": "增加用户", + "summary": "用户", + "tags": [ + "管理" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserAddSer" + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "delete": { + "operationId": "v1_users_destroy", + "description": "基于APIView封装的API入口处理类,需要针对请求进行统一处理的都通过该类实现", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "204": { + "description": "No response body" + } + } + } + }, + "/api/v1/version_update/K23DiutPrwpoqAddqNbHUk": { + "get": { + "operationId": "v1_version_update_K23DiutPrwpoqAddqNbHUk_retrieve", + "description": "基于APIView封装的API入口处理类,需要针对请求进行统一处理的都通过该类实现", + "tags": [ + "v1" + ], + "security": [ + { + "cookieAuth": [] + } + ], + "responses": { + "200": { + "description": "No response body" + } + } + } + }, + "/api/v1/vul/recheck": { + "get": { + "operationId": "v1_vul_recheck_retrieve", + "description": "验证用户对应的漏洞.需要指定验证行为的类型", + "summary": "漏洞验证", + "parameters": [ + { + "in": "query", + "name": "projectId", + "schema": { + "type": "integer" + }, + "description": "项目的对应id.只有在type参数为project时,该参数才会被使用" + }, + { + "in": "query", + "name": "type", + "schema": { + "type": "string" + }, + "description": "可选项有('all','project')。对应全部漏洞和指定项目的漏洞。" + } + ], + "tags": [ + "漏洞" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ee0074-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + }, + "post": { + "operationId": "v1_vul_recheck_create", + "description": "验证用户对应的漏洞.需要指定验证行为的类型", + "summary": "漏洞验证", + "parameters": [ + { + "in": "query", + "name": "projectId", + "schema": { + "type": "integer" + }, + "description": "项目的对应id.只有在type参数为project时,该参数才会被使用" + }, + { + "in": "query", + "name": "type", + "schema": { + "type": "string" + }, + "description": "可选项有('all','project')。对应全部漏洞和指定项目的漏洞。" + } + ], + "tags": [ + "漏洞" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ee0074-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/vul/status_list": { + "get": { + "operationId": "v1_vul_status_list_retrieve", + "description": "漏洞状态列表,里面包含了漏洞的可选状态,调用漏洞状态修改api时请先从此API获取漏洞状态数据。", + "summary": "漏洞状态列表", + "tags": [ + "漏洞" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ee81fc-5461-11ec-88b0-0242ac110002" + }, + "examples": { + "获取数据样例": { + "value": { + "status": 201, + "msg": "success", + "data": [ + { + "id": 1, + "name": "Pending", + "name_en": "Pending", + "name_zh": "待验证" + }, + { + "id": 2, + "name": "Verifying", + "name_en": "Verifying", + "name_zh": "验证中" + }, + { + "id": 3, + "name": "Confirmed", + "name_en": "Confirmed", + "name_zh": "已确认" + }, + { + "id": 4, + "name": "Ignore", + "name_en": "Ignore", + "name_zh": "已忽略" + }, + { + "id": 5, + "name": "Solved", + "name_en": "Solved", + "name_zh": "已处理" + } + ] + }, + "description": "聚合结果分别为编程语言,风险等级,漏洞类型,项目。" + } + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/vul_levels": { + "get": { + "operationId": "v1_vul_levels_retrieve", + "description": "Get a list of vul level.", + "summary": "Vul level List", + "tags": [ + "Vul level list" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35f003a6-5461-11ec-88b0-0242ac110002" + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/vuln/{id}": { + "get": { + "operationId": "v1_vuln_retrieve", + "description": "使用漏洞对应的id来获取漏洞详情信息", + "summary": "漏洞详情", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "漏洞" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35edb92a-5461-11ec-88b0-0242ac110002" + }, + "examples": { + "获取数据样例": { + "value": { + "status": 201, + "msg": "success", + "data": { + "vul": { + "url": "http://localhost:81/captcha/captchaImage", + "uri": "/captcha/captchaImage", + "agent_name": "Mac OS X-localhost-v1.0.0-d24bf703ca62499ebdd12770708296f5", + "http_method": "GET", + "type": "Weak Random Number Generation", + "taint_position": null, + "first_time": 1631089870, + "latest_time": 1631089961, + "project_name": "demo-4.6.1", + "project_version": "V1.0", + "language": "JAVA", + "level": "LOW", + "level_type": 3, + "counts": 6, + "req_header": "GET /captcha/captchaImage?type=math HTTP/1.1\nhost:localhost:81\nconnection:keep-alive\nsec-ch-ua:\"Google Chrome\";v=\"93\", \" Not;A Brand\";v=\"99\", \"Chromium\";v=\"93\"\nsec-ch-ua-mobile:?0\nuser-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36\nsec-ch-ua-platform:\"macOS\"\naccept:image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8\nsec-fetch-site:same-origin\nsec-fetch-mode:no-cors\nsec-fetch-dest:image\nreferer:http://localhost:81/login\naccept-encoding:gzip, deflate, br\naccept-language:zh-CN,zh;q=0.9\ncookie:JSESSIONID=4bada2e5-d848-4218-8e24-3b28f765b986\n", + "response": "None\n\nNone", + "graph": null, + "context_path": "127.0.0.1", + "client_ip": "127.0.0.1", + "status": "Confirmed", + "taint_value": null, + "param_name": {}, + "method_pool_id": null, + "project_id": 69 + }, + "server": { + "name": "server.name", + "hostname": "localhost", + "ip": "localhost", + "port": 81, + "container": "Apache Tomcat/9.0.41", + "server_type": "apache tomcat", + "container_path": "/Users/erzhuangniu/workspace/vul/demo-4.6.1", + "runtime": "OpenJDK Runtime Environment", + "environment": "java.runtime.name=OpenJDK Runtime Environment, spring.output.ansi.enabled=always, project.name=demo-4.6.1, sun.boot.library.path=/Users/erzhuangniu/Library/Java/JavaVirtualMachines/corretto-1.8.0_292/Contents/Home/jre/lib, java.vm.version=25.292-b10, gop", + "command": "com.ruoyi.demoApplication" + }, + "strategy": { + "desc": "Verifies that weak sources of entropy are not used.", + "sample_code": "", + "repair_suggestion": null + } + } + }, + "description": "聚合结果分别为编程语言,风险等级,漏洞类型,项目。" + } + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/vuln/delete/{id}": { + "post": { + "operationId": "v1_vuln_delete_create", + "description": "使用漏洞对应的id来删除漏洞", + "summary": "删除漏洞", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "tags": [ + "漏洞" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/vuln/status": { + "post": { + "operationId": "v1_vuln_status_create", + "description": "修改指定id的漏洞状态,状态由以下两个参数指定,status对应状态名词,status_id对应状态的id,均可由漏洞状态列表API获得,优先使用status_id", + "summary": "漏洞状态修改", + "tags": [ + "漏洞" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ee36de-5461-11ec-88b0-0242ac110002" + }, + "examples": { + "获取数据样例": { + "value": { + "status": 201, + "msg": "Vulnerability status is modified to Confirmed" + }, + "description": "聚合结果分别为编程语言,风险等级,漏洞类型,项目。" + } + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/vuln/summary": { + "get": { + "operationId": "v1_vuln_summary_retrieve", + "description": "使用下列条件来查看项目的漏洞数量统计", + "summary": "漏洞概览", + "parameters": [ + { + "in": "query", + "name": "language", + "schema": { + "type": "string" + }, + "description": "编程语言" + }, + { + "in": "query", + "name": "level", + "schema": { + "type": "integer" + }, + "description": "漏洞等级 : 1,2,3,4" + }, + { + "in": "query", + "name": "order", + "schema": { + "type": "string" + }, + "description": "排序指标 : type,type,first_time,latest_time,url" + }, + { + "in": "query", + "name": "project_id", + "schema": { + "type": "integer" + }, + "description": "项目ID" + }, + { + "in": "query", + "name": "project_name", + "schema": { + "type": "string" + }, + "description": "项目名", + "deprecated": true + }, + { + "in": "query", + "name": "status", + "schema": { + "type": "string" + }, + "description": "状态名", + "deprecated": true + }, + { + "in": "query", + "name": "status_id", + "schema": { + "type": "integer" + }, + "description": "状态ID" + }, + { + "in": "query", + "name": "type", + "schema": { + "type": "string" + }, + "description": "漏洞类型" + }, + { + "in": "query", + "name": "url", + "schema": { + "type": "string" + }, + "description": "漏洞的对应url" + }, + { + "in": "query", + "name": "version_id", + "schema": { + "type": "integer" + }, + "description": "默认值为项目的当前版本。" + } + ], + "tags": [ + "漏洞" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35eba004-5461-11ec-88b0-0242ac110002" + }, + "examples": { + "获取数据样例": { + "value": { + "status": 201, + "msg": "success", + "data": { + "language": [ + { + "language": "JAVA", + "count": 136 + }, + { + "language": "PYTHON", + "count": 0 + } + ], + "level": [ + { + "level": "HIGH", + "count": 116, + "level_id": 1 + }, + { + "level": "MEDIUM", + "count": 16, + "level_id": 2 + }, + { + "level": "LOW", + "count": 4, + "level_id": 3 + }, + { + "level": "INFO", + "count": 0, + "level_id": 4 + } + ], + "type": [ + { + "type": "Path Traversal", + "count": 79 + }, + { + "type": "OS Command Injection", + "count": 26 + }, + { + "type": "Cross-Site Scripting", + "count": 16 + }, + { + "type": "SQL Injection", + "count": 9 + }, + { + "type": "Weak Random Number Generation", + "count": 2 + }, + { + "type": "Hibernate Injection", + "count": 2 + }, + { + "type": "Insecure Hash Algorithms", + "count": 1 + }, + { + "type": "Arbitrary Server Side Forwards", + "count": 1 + } + ], + "projects": [ + { + "project_name": "demo1", + "count": 23, + "id": 58 + }, + { + "project_name": "demo3", + "count": 4, + "id": 63 + }, + { + "project_name": "demo", + "count": 2, + "id": 67 + }, + { + "project_name": "demo4", + "count": 2, + "id": 69 + }, + { + "project_name": "demo5", + "count": 1, + "id": 71 + } + ] + }, + "level_data": [] + }, + "description": "聚合结果分别为编程语言,风险等级,漏洞类型,项目。" + } + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + }, + "/api/v1/vulns": { + "get": { + "operationId": "v1_vulns_retrieve", + "description": "获取项目对应的漏洞列表", + "summary": "漏洞列表(项目相关)", + "parameters": [ + { + "in": "query", + "name": "language", + "schema": { + "type": "string" + }, + "description": "编程语言" + }, + { + "in": "query", + "name": "level", + "schema": { + "type": "integer" + }, + "description": "漏洞等级的id : 1,2,3,4" + }, + { + "in": "query", + "name": "order", + "schema": { + "type": "string" + }, + "description": "排序指标 : type,level,first_time,latest_time,url" + }, + { + "in": "query", + "name": "page", + "schema": { + "type": "integer", + "default": 1 + }, + "description": "对应页码" + }, + { + "in": "query", + "name": "pageSize", + "schema": { + "type": "integer", + "default": 20 + }, + "description": "每页数量" + }, + { + "in": "query", + "name": "project_id", + "schema": { + "type": "integer" + }, + "description": "项目ID" + }, + { + "in": "query", + "name": "project_name", + "schema": { + "type": "string" + }, + "description": "项目名", + "deprecated": true + }, + { + "in": "query", + "name": "status", + "schema": { + "type": "string" + }, + "description": "状态名", + "deprecated": true + }, + { + "in": "query", + "name": "status_id", + "schema": { + "type": "integer" + }, + "description": "状态ID" + }, + { + "in": "query", + "name": "type", + "schema": { + "type": "string" + }, + "description": "漏洞类型" + }, + { + "in": "query", + "name": "url", + "schema": { + "type": "string" + }, + "description": "漏洞的对应url" + }, + { + "in": "query", + "name": "version_id", + "schema": { + "type": "integer" + }, + "description": "默认值为项目的当前版本。" + } + ], + "tags": [ + "漏洞" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/35ee61ae-5461-11ec-88b0-0242ac110002" + }, + "examples": { + "获取数据样例": { + "value": { + "status": 201, + "msg": "success", + "data": [ + { + "id": 12024, + "type": "Weak Random Number Generation", + "hook_type_id": 45, + "url": "http://localhost:81/captcha/captchaImage", + "uri": "/captcha/captchaImage", + "agent_id": 820, + "level_id": 3, + "http_method": "GET", + "top_stack": null, + "bottom_stack": null, + "taint_position": null, + "latest_time": 1631092302, + "first_time": 1631092263, + "language": "JAVA", + "status": "Confirmed", + "index": 0, + "project_name": "demo", + "project_id": 71, + "server_name": "Apache Tomcat/9.0.41", + "server_type": "apache tomcat", + "level_type": 3, + "level": "LOW" + } + ], + "page": { + "alltotal": 1, + "num_pages": 1, + "page_size": 20 + } + }, + "description": "聚合结果分别为编程语言,风险等级,漏洞类型,项目。" + } + } + } + }, + "description": "http状态码均为200,请点击查看详情,通过响应数据返回的status与msg字段进行排查" + } + } + } + } + }, + "components": { + "schemas": { + "35db6f18-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :agent及相关数据删除成功 ; 删除过程出错,请稍后重试 ; agent不存在或无权限访问 ; " + } + } + }, + "35db8872-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :找不到对应部署文档 ; " + } + } + }, + "35dbd2be-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :引擎不存在或无权操作 ; 安装完成 ; 引擎正在被安装或卸载,请稍后再试 ; " + } + } + }, + "35dbe4c0-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :正在暂停... ; " + } + } + }, + "35dc09e6-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :成功删除{}条,删除失败{}条 ; 删除成功 ; 删除失败 ; " + } + } + }, + "35dc1a4e-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :正在暂停... ; " + } + } + }, + "35dc2ba6-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :引擎不存在或无权操作 ; 正在卸载... ; 引擎正在被安装或卸载,请稍后再试 ; " + } + } + }, + "35dc65d0-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/_AgentResponseData" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35dc8e8e-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Agent" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35dca298-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_UserAgentResponseData" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35dccad4-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ResponseData" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35dcf950-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :策略创建失败 ; 参数不完整,请检查 ; 策略启用成功,共{}条hook规则 ; " + } + } + }, + "35dd0bde-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :策略创建成功 ; 策略创建失败 ; 参数不完整,请检查 ; " + } + } + }, + "35dd2da8-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :策略不存在 ; 操作成功 ; 操作类型不存在 ; " + } + } + }, + "35dd3492-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :操作成功 ; 参数不正确 ; 操作类型不存在 ; " + } + } + }, + "35dd4dce-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EngineHookRuleSummary" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35dd6ade-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :规则类型保存成功 ; 数据不完整 ; " + } + } + }, + "35dd7e8e-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :策略不存在 ; 禁用成功 ; 策略类型不存在 ; " + } + } + }, + "35dd91f8-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :启用成功 ; 操作类型不存在 ; 策略类型不存在 ; " + } + } + }, + "35ddaf80-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HookTypeSerialize" + }, + "nullable": true + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35ddc8a8-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HookRule" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35de2474-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sca" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35de84dc-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/MethodPoolSearchResponseSer" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35e061da-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :当前用户无权修改 ; 参数错误 ; 创建成功 ; " + } + } + }, + "35e06dc4-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/OpenApiEndpointGetResponse" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :获取openapi配置失败 ; success ; " + } + }, + "required": [ + "data" + ] + }, + "35e0ce2c-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; 203 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :参数错误 ; agent已被其他项目绑定 ; 创建失败,项目名称已存在 ; 创建成功 ; " + } + } + }, + "35e0eb1e-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :项目删除成功 ; 删除失败 ; " + } + } + }, + "35e110e4-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ProjectsResponseData" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 203 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :no permission ; success ; " + } + }, + "required": [ + "data" + ] + }, + "35e126f6-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_ProjectEnginesData" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35e9cdc4-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/_ProjectSummaryData" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35e9e516-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_ProjectSearchData" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35e9f7c2-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :参数错误 ; 创建成功 ; " + } + } + }, + "35ea0f0a-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :版本设置失败 ; 版本不存在 ; 版本设置成功 ; " + } + } + }, + "35ea24ae-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :参数错误 ; 版本不存在 ; 删除成功 ; " + } + } + }, + "35ea3a66-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_VersionListData" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35ea4c18-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :参数错误 ; 更新成功 ; " + } + } + }, + "35ea64b4-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Project" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35ead80e-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/_ProjectReportSearchQuerys" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35eb519e-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ScaDetailResponseDataSerializers" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35eba004-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/VulSummaryResponseData" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35ebb60c-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/_ScaSummaryResponseData" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35ebd506-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sca" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35ebf162-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :策略不存在 ; 策略禁用成功,共{}条hook规则 ; " + } + } + }, + "35ec05e4-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :策略不存在 ; 策略启用成功,共{}条hook规则 ; " + } + } + }, + "35ec3f82-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_StrategyResponseDataStrategy" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35ec5ed6-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_StrategyResponseDataStrategy" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35ec745c-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_StrategyResponseDataStrategy" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35ec8b90-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_StrategyTypeResponseDataStrategy" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35ec9f54-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_StrategyResponseDataStrategy" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35ecaecc-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + } + }, + "35ed6e16-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "integer" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35edb92a-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/_VulDetailResponseData" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35edcf96-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VulForPlugin" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35ee0074-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/VulReCheckData" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :ids不能为空 ; ids必须为:漏洞ID,漏洞ID 格式 ; 处理成功 ; 漏洞重放出错 ; " + } + }, + "required": [ + "data" + ] + }, + "35ee36de-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :漏洞状态修改为{} ; 参数不正确 ; " + } + } + }, + "35ee61ae-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_VulsEndPointResponse" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35ee81fc-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VulnerabilityStatus" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35eeeade-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ApiRouteSearchResponse" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35eeff6a-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ApiRouteCoverRelation" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35ef143c-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ApiRouteCoverRateResponse" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35ef37aa-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IastProgramLanguageSerializers" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35ef9d80-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ResponseData" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35efb090-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ResponseData" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35efe150-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; 202 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :修改成功 ; 删除过程出错,请稍后重试 ; agent不存在或无权限访问 ; " + } + } + }, + "35eff19a-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "integer", + "description": "the eariest time of method_pool" + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "35f003a6-5461-11ec-88b0-0242ac110002": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IastVulLevelSerializers" + } + }, + "status": { + "type": "integer", + "default": 201, + "description": "状态码 :201 ; " + }, + "msg": { + "type": "string", + "default": "success", + "description": "状态信息 :success ; " + } + }, + "required": [ + "data" + ] + }, + "Agent": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "readOnly": true + }, + "token": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "server": { + "type": "string", + "readOnly": true + }, + "running_status": { + "type": "string", + "readOnly": true + }, + "system_load": { + "type": "string", + "readOnly": true + }, + "owner": { + "type": "string", + "readOnly": true + }, + "latest_time": { + "type": "string", + "readOnly": true + }, + "project_name": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "is_core_running": { + "type": "integer", + "maximum": 2147483647, + "minimum": -2147483648, + "nullable": true + }, + "language": { + "type": "string", + "nullable": true, + "maxLength": 10 + }, + "flow": { + "type": "string", + "readOnly": true + }, + "is_control": { + "type": "integer", + "maximum": 2147483647, + "minimum": -2147483648, + "nullable": true + }, + "report_queue": { + "type": "string", + "readOnly": true + }, + "method_queue": { + "type": "string", + "readOnly": true + }, + "replay_queue": { + "type": "string", + "readOnly": true + }, + "alias": { + "type": "string", + "readOnly": true + }, + "register_time": { + "type": "string", + "readOnly": true + }, + "startup_time": { + "type": "integer", + "maximum": 2147483647, + "minimum": -2147483648 + } + }, + "required": [ + "alias", + "flow", + "id", + "latest_time", + "method_queue", + "owner", + "register_time", + "replay_queue", + "report_queue", + "running_status", + "server", + "system_load" + ] + }, + "AgentAliasArgs": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "探针的对应id" + }, + "alias": { + "type": "string", + "description": "探针的别名" + } + }, + "required": [ + "alias", + "id" + ] + }, + "AgentInstallArgs": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "探针的对应id" + } + }, + "required": [ + "id" + ] + }, + "AgentToggleArgs": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "探针的对应id" + }, + "ids": { + "type": "string", + "description": "agent对应的id,使用\",\"进行切分。" + } + }, + "required": [ + "id", + "ids" + ] + }, + "AllStatusUpdate": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/StatusEnum" + } + }, + "required": [ + "status" + ] + }, + "ApiRouteCoverRateResponse": { + "type": "object", + "properties": { + "cover_rate": { + "type": "integer", + "description": "项目的api覆盖率" + } + }, + "required": [ + "cover_rate" + ] + }, + "ApiRouteCoverRelation": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "readOnly": true + }, + "url": { + "type": "string", + "nullable": true, + "maxLength": 2000 + }, + "uri": { + "type": "string", + "nullable": true, + "maxLength": 2000 + }, + "http_method": { + "type": "string", + "maxLength": 10 + }, + "http_scheme": { + "type": "string", + "nullable": true, + "maxLength": 20 + }, + "http_protocol": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "req_header": { + "type": "string", + "nullable": true, + "maxLength": 2000 + }, + "req_params": { + "type": "string", + "nullable": true, + "maxLength": 2000 + }, + "req_data": { + "type": "string", + "nullable": true, + "maxLength": 4000 + }, + "res_header": { + "type": "string", + "nullable": true, + "maxLength": 1000 + }, + "res_body": { + "type": "string", + "nullable": true + }, + "req_header_fs": { + "type": "string", + "nullable": true + }, + "context_path": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "method_pool": { + "type": "string", + "nullable": true + }, + "pool_sign": { + "type": "string", + "nullable": true, + "maxLength": 40 + }, + "clent_ip": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "create_time": { + "type": "integer", + "maximum": 2147483647, + "minimum": -2147483648, + "nullable": true + }, + "update_time": { + "type": "integer", + "maximum": 2147483647, + "minimum": -2147483648, + "nullable": true + }, + "uri_sha1": { + "type": "string", + "maxLength": 40 + }, + "agent": { + "type": "integer", + "nullable": true + }, + "sinks": { + "type": "array", + "items": { + "type": "integer" + } + } + }, + "required": [ + "id" + ] + }, + "ApiRouteHttpMethodSerialier": { + "type": "object", + "properties": { + "httpmethod": { + "type": "string" + } + }, + "required": [ + "httpmethod" + ] + }, + "ApiRouteMethodSerialier": { + "type": "object", + "properties": { + "apimethod": { + "type": "string", + "description": "该API所绑定的方法" + }, + "httpmethods": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApiRouteHttpMethodSerialier" + }, + "description": "该API所绑定的方法,数组形式" + } + }, + "required": [ + "apimethod", + "httpmethods" + ] + }, + "ApiRouteParameterSerialier": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "API的ID" + }, + "name": { + "type": "string", + "description": "该API的名称" + }, + "parameter_type": { + "type": "string", + "description": "参数类型" + }, + "parameter_type_shortcut": { + "type": "string", + "description": "参数类型缩写,如:java.lang.String -> String" + }, + "annotaion": { + "type": "string", + "description": "关于该参数的注释" + }, + "route": { + "type": "integer", + "description": "该参数的对应的api ID" + } + }, + "required": [ + "annotaion", + "id", + "name", + "parameter_type", + "parameter_type_shortcut", + "route" + ] + }, + "ApiRouteResponseSerialier": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "API响应数据的ID" + }, + "return_type": { + "type": "string", + "description": "该api响应的类型" + }, + "route": { + "type": "integer", + "description": "该响应的对应的api ID" + }, + "return_type_shortcut": { + "type": "string", + "description": "return_type的简称" + } + }, + "required": [ + "id", + "return_type", + "return_type_shortcut", + "route" + ] + }, + "ApiRouteSearchRequestBody": { + "type": "object", + "properties": { + "page_size": { + "type": "integer", + "default": 1, + "description": "每页数量" + }, + "uri": { + "type": "string", + "description": "Api导航对应的uri" + }, + "http_method": { + "type": "string", + "description": "该API对应的http方法" + }, + "project_id": { + "type": "integer", + "description": "项目ID" + }, + "version_id": { + "type": "integer", + "description": "项目的版本id" + }, + "exclude_ids": { + "type": "string", + "description": "排除以下id的api route,该字段用于分批获取整个项目的数据。" + }, + "is_cover": { + "allOf": [ + { + "$ref": "#/components/schemas/IsCoverEnum" + } + ], + "description": "表示该api是否被覆盖,覆盖指记录到了相关的方法调用链" + } + }, + "required": [ + "project_id" + ] + }, + "ApiRouteSearchResponse": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "API的ID" + }, + "path": { + "type": "string", + "description": "API的uri" + }, + "code_class": { + "type": "string", + "description": "该api的对应类" + }, + "description": { + "type": "string", + "description": "Api导航对应的注释" + }, + "code_file": { + "type": "string", + "description": "Api导航对应的代码文件" + }, + "controller": { + "type": "string", + "description": "Api导航对应的controller" + }, + "agent": { + "type": "integer", + "description": "上报该api的探针的id" + }, + "is_cover": { + "allOf": [ + { + "$ref": "#/components/schemas/IsCoverEnum" + } + ], + "description": "表示该api是否被覆盖,覆盖指记录到了相关的方法调用链" + }, + "responses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApiRouteResponseSerialier" + } + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApiRouteParameterSerialier" + } + }, + "vulnerablities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApiRouteVulnerabitySerialier" + } + }, + "method": { + "$ref": "#/components/schemas/ApiRouteMethodSerialier" + } + }, + "required": [ + "agent", + "code_class", + "code_file", + "controller", + "description", + "id", + "method", + "parameters", + "path", + "responses", + "vulnerablities" + ] + }, + "ApiRouteVulnerabitySerialier": { + "type": "object", + "properties": { + "level_id": { + "type": "integer", + "description": "漏洞类型id" + }, + "hook_type_name": { + "type": "string", + "description": "漏洞类型名称" + } + }, + "required": [ + "hook_type_name", + "level_id" + ] + }, + "BatchStatusUpdate": { + "type": "object", + "properties": { + "ids": { + "type": "array", + "items": { + "type": "integer" + } + }, + "status": { + "$ref": "#/components/schemas/StatusEnum" + } + }, + "required": [ + "ids", + "status" + ] + }, + "DepartmentPutArgSer": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "parent": { + "type": "integer" + }, + "principal_id": { + "type": "integer", + "default": 0 + } + }, + "required": [ + "name", + "parent" + ] + }, + "DepartmentSer": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + }, + "Document": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "readOnly": true + }, + "title": { + "type": "string", + "nullable": true, + "maxLength": 100 + }, + "url": { + "type": "string", + "nullable": true, + "maxLength": 2000 + }, + "language": { + "type": "string", + "nullable": true, + "maxLength": 100 + }, + "weight": { + "type": "integer", + "maximum": 2147483647, + "minimum": -2147483648 + } + }, + "required": [ + "id" + ] + }, + "EnableEnum": { + "enum": [ + 1, + 0 + ], + "type": "integer" + }, + "EngineHookRuleStatusPostBody": { + "type": "object", + "properties": { + "ids": { + "type": "string", + "description": "Hook规则的对应的id,使用\",\"进行切分。" + }, + "op": { + "allOf": [ + { + "$ref": "#/components/schemas/OpEnum" + } + ], + "description": "Hook规则的状态" + } + }, + "required": [ + "ids", + "op" + ] + }, + "EngineHookRuleSummary": { + "type": "object", + "properties": { + "typeCount": { + "type": "integer", + "description": "规则类型的总数" + }, + "ruleCount": { + "type": "integer", + "description": "规则的总数" + }, + "sinkCount": { + "type": "integer", + "description": "污点类型规则的同属" + } + }, + "required": [ + "ruleCount", + "sinkCount", + "typeCount" + ] + }, + "HookRule": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "策略id" + }, + "rule_type_id": { + "type": "string", + "readOnly": true, + "description": "Hook规则类型名称" + }, + "rule_type": { + "type": "string", + "readOnly": true, + "description": "Hook规则的名称" + }, + "value": { + "type": "string", + "description": "策略名", + "maxLength": 255 + }, + "source": { + "type": "string", + "description": "污点源\n\n单数时的例子: O, P<1,2,3,4,...>, R\n组合情况下的样例: O&R, O&P1, etc.\nO 代表对象本身; R 代表返回值; P 代表参数, 数字代表参数位置\n", + "maxLength": 255 + }, + "target": { + "type": "string", + "description": "污点目标\n\n单数时的例子: O, P<1,2,3,4,...>, R\n组合情况下的样例: O&R, O&P1, etc.\nO 代表对象本身; R 代表返回值; P 代表参数, 数字代表参数位置\n", + "maxLength": 255 + }, + "inherit": { + "type": "string", + "description": "继承类型, false代表当前类, true代表子类, all代表当前类和子类", + "maxLength": 255 + }, + "track": { + "type": "string", + "description": "表示是否启用污点追踪,true代表是,false代表否", + "maxLength": 5 + }, + "update_time": { + "type": "integer", + "description": "hook策略的更新时间" + }, + "enable": { + "type": "integer", + "default": 1, + "description": "hook策略的状态:0-禁用,1-启用,-1-删除" + }, + "user": { + "type": "string", + "readOnly": true, + "description": "Hook规则类型的创建者" + } + }, + "required": [ + "id", + "inherit", + "rule_type", + "rule_type_id", + "source", + "target", + "track", + "update_time", + "user", + "value" + ] + }, + "HookTypeSerialize": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "readOnly": true + }, + "name": { + "type": "string", + "nullable": true, + "maxLength": 255 + } + }, + "required": [ + "id" + ] + }, + "IastProgramLanguageSerializers": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "编程语言的id" + }, + "name": { + "type": "string", + "description": "该编程语言的名称" + } + }, + "required": [ + "id", + "name" + ] + }, + "IastVulLevelSerializers": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "readOnly": true + }, + "name_value": { + "type": "string", + "nullable": true, + "maxLength": 255 + } + }, + "required": [ + "id" + ] + }, + "IsCoverEnum": { + "enum": [ + 1, + 0 + ], + "type": "integer" + }, + "LanguageIdEnum": { + "enum": [ + 1, + 2, + 3, + 4 + ], + "type": "integer" + }, + "MethodPoolSearchProxySer": { + "type": "object", + "properties": { + "page_size": { + "type": "integer", + "minimum": 1, + "description": "每页数量" + }, + "highlight": { + "type": "integer", + "default": 1, + "description": "是否启用高亮,会对正则表达式匹配处的文本进行高亮" + }, + "exclude_ids": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "排除以下id的方法调用链,该字段用于分批获取整个项目的数据。" + }, + "time_range": { + "type": "array", + "items": { + "type": "integer", + "minimum": 1, + "description": "time format such as 1,1628190947242" + }, + "description": "时间范围,默认为当前时刻到前七天,使用','分割,格式如,1,1628190947242", + "maxItems": 2, + "minItems": 2 + }, + "url": { + "type": "string", + "description": "调用链的url,使用正则语法进行搜索" + }, + "res_header": { + "type": "string", + "description": "调用链的响应头,使用正则语法进行搜索" + }, + "res_body": { + "type": "string", + "description": "调用链的响应体,使用正则语法进行搜索" + }, + "req_header_fs": { + "type": "string", + "description": "调用链的请求头,使用正则语法进行搜索" + }, + "req_data": { + "type": "string", + "description": "调用链的请求体,使用正则语法进行搜索" + }, + "sinkvalues": { + "type": "string", + "description": "调用链的污点值,使用正则语法进行搜索" + }, + "signature": { + "type": "string", + "description": "调用链的方法签名,使用正则语法进行搜索" + }, + "update_time": { + "type": "string", + "description": "过滤字段,会返回更新时间在这时间之后的方法调用链,可结合exclude_ids字段来处理分页" + }, + "search_mode": { + "type": "integer", + "default": 1, + "description": "the search_mode , 1-regex match ,2-regex not match " + } + }, + "required": [ + "page_size", + "time_range" + ] + }, + "MethodPoolSearchResponseAfterkeySer": { + "type": "object", + "properties": { + "update_time": { + "type": "integer" + } + }, + "required": [ + "update_time" + ] + }, + "MethodPoolSearchResponseAggregationSer": { + "type": "object", + "properties": { + "method_pool_id": { + "type": "integer" + }, + "count": { + "type": "integer" + } + }, + "required": [ + "count", + "method_pool_id" + ] + }, + "MethodPoolSearchResponseMethodPoolSer": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "agent_id": { + "type": "integer" + }, + "url": { + "type": "string" + }, + "uri": { + "type": "string" + }, + "http_method": { + "type": "string" + }, + "http_scheme": { + "type": "string" + }, + "http_protocol": { + "type": "string" + }, + "req_header": { + "type": "string" + }, + "req_header_fs": { + "type": "string" + }, + "req_params": { + "type": "string" + }, + "req_data": { + "type": "string" + }, + "res_header": { + "type": "string" + }, + "res_body": { + "type": "string" + }, + "context_path": { + "type": "string" + }, + "method_pool": { + "type": "string" + }, + "pool_sign": { + "type": "string" + }, + "client_ip": { + "type": "string" + }, + "update_time": { + "type": "integer" + }, + "create_time": { + "type": "integer" + }, + "uri_sha1": { + "type": "string" + }, + "uri_highlight": { + "type": "string" + }, + "res_header_highlight": { + "type": "string" + }, + "res_body_highlight": { + "type": "string" + }, + "req_header_fs_highlight": { + "type": "string" + }, + "req_data_highlight": { + "type": "string" + } + }, + "required": [ + "agent_id", + "client_ip", + "context_path", + "create_time", + "http_method", + "http_protocol", + "http_scheme", + "id", + "method_pool", + "pool_sign", + "req_data", + "req_data_highlight", + "req_header", + "req_header_fs", + "req_header_fs_highlight", + "req_params", + "res_body", + "res_body_highlight", + "res_header", + "res_header_highlight", + "update_time", + "uri", + "uri_highlight", + "uri_sha1", + "url" + ] + }, + "MethodPoolSearchResponseRelationSer": { + "type": "object", + "properties": { + "method_pool_id": { + "type": "integer" + }, + "agent_id": { + "type": "integer" + }, + "agent_name": { + "type": "string" + }, + "agent_is_running": { + "type": "integer" + }, + "project_name": { + "type": "string" + }, + "user_id": { + "type": "integer" + }, + "user_name": { + "type": "string" + }, + "vulnerablities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MethodPoolSearchResponseRelationVulnerablitySer" + } + } + }, + "required": [ + "agent_id", + "agent_is_running", + "agent_name", + "method_pool_id", + "project_name", + "user_id", + "user_name", + "vulnerablities" + ] + }, + "MethodPoolSearchResponseRelationVulnerablitySer": { + "type": "object", + "properties": { + "vulnerablity_type": { + "type": "string" + }, + "vulnerablity_hook_type_id": { + "type": "integer" + }, + "vulnerablity_id": { + "type": "integer" + }, + "level_id": { + "type": "integer" + } + }, + "required": [ + "level_id", + "vulnerablity_hook_type_id", + "vulnerablity_id", + "vulnerablity_type" + ] + }, + "MethodPoolSearchResponseSer": { + "type": "object", + "properties": { + "method_pools": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MethodPoolSearchResponseMethodPoolSer" + } + }, + "relations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MethodPoolSearchResponseRelationSer" + } + }, + "aggregation": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MethodPoolSearchResponseAggregationSer" + } + }, + "afterkeys": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MethodPoolSearchResponseAfterkeySer" + } + } + }, + "required": [ + "afterkeys", + "aggregation", + "method_pools", + "relations" + ] + }, + "ModeEnum": { + "enum": [ + "插桩模式" + ], + "type": "string" + }, + "NullEnum": { + "enum": [ + null + ] + }, + "OpEnum": { + "enum": [ + "enable", + "disable", + "delete" + ], + "type": "string" + }, + "OpenApiEndpoint": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The openapi url" + } + }, + "required": [ + "value" + ] + }, + "OpenApiEndpointGetResponse": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The openapi url" + } + }, + "required": [ + "url" + ] + }, + "ProfileBatchGetArgsSer": { + "type": "object", + "properties": { + "keys": { + "type": "array", + "items": {}, + "description": "配置key" + } + }, + "required": [ + "keys" + ] + }, + "ProfileBatchGetResSer": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "profile id" + }, + "key": { + "type": "string", + "description": "配置key" + }, + "value": { + "type": "string", + "description": "配置值" + } + }, + "required": [ + "id", + "key", + "value" + ] + }, + "ProfileBatchPostArgsSer": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "配置值" + }, + "key": { + "type": "string", + "description": "配置key" + } + }, + "required": [ + "key", + "value" + ] + }, + "ProfilepostArgsSer": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "配置值" + } + }, + "required": [ + "value" + ] + }, + "Project": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "readOnly": true + }, + "name": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "mode": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "vul_count": { + "type": "string", + "readOnly": true, + "description": "Vulnerability Count" + }, + "agent_count": { + "type": "string", + "readOnly": true, + "description": "Project current surviving agent" + }, + "owner": { + "type": "string", + "readOnly": true, + "description": "Project owner" + }, + "latest_time": { + "type": "integer", + "maximum": 2147483647, + "minimum": -2147483648, + "nullable": true + }, + "agent_language": { + "type": "string", + "readOnly": true, + "description": "Agent language currently included in the project" + }, + "vul_validation": { + "oneOf": [ + { + "$ref": "#/components/schemas/VulValidationEnum" + }, + { + "$ref": "#/components/schemas/NullEnum" + } + ] + } + }, + "required": [ + "agent_count", + "agent_language", + "id", + "owner", + "vul_count" + ] + }, + "ProjectSummaryDataLevelCount": { + "type": "object", + "properties": { + "level_name": { + "type": "string", + "description": "漏洞等级名称" + }, + "level_id": { + "type": "integer", + "description": "漏洞等级id" + }, + "num": { + "type": "integer", + "description": "漏洞级别对应的漏洞数量" + } + }, + "required": [ + "level_id", + "level_name", + "num" + ] + }, + "ProjectSummaryDataTypeSummary": { + "type": "object", + "properties": { + "type_name": { + "type": "string", + "description": "漏洞名" + }, + "type_count": { + "type": "integer", + "description": "漏洞类型的个数" + }, + "type_level": { + "type": "integer", + "description": "漏洞等级" + } + }, + "required": [ + "type_count", + "type_level", + "type_name" + ] + }, + "ProjectsResponseData": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "项目名" + }, + "agent_ids": { + "type": "string", + "description": "agent对应的id,使用\",\"进行切分。" + }, + "mode": { + "allOf": [ + { + "$ref": "#/components/schemas/ModeEnum" + } + ], + "description": "项目模式" + }, + "scan_id": { + "type": "integer", + "description": "扫描策略的对于id" + }, + "versionData": { + "allOf": [ + { + "$ref": "#/components/schemas/ProjectsVersionData" + } + ], + "description": "项目的版本信息" + }, + "id": { + "type": "integer", + "description": "项目ID" + }, + "vul_validation": { + "type": "integer", + "description": "vul validation switch" + } + }, + "required": [ + "agent_ids", + "id", + "mode", + "name", + "scan_id", + "versionData", + "vul_validation" + ] + }, + "ProjectsVersionData": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "项目的描述信息" + }, + "version_id": { + "type": "string", + "description": "项目的版本id" + }, + "version_name": { + "type": "string", + "description": "项目的版本名。" + } + }, + "required": [ + "description", + "version_id", + "version_name" + ] + }, + "ResponseData": { + "type": "object", + "properties": { + "documents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Document" + } + } + }, + "required": [ + "documents" + ] + }, + "Sca": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "readOnly": true + }, + "package_name": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "version": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "project_name": { + "type": "string", + "readOnly": true + }, + "project_id": { + "type": "string", + "readOnly": true + }, + "project_version": { + "type": "string", + "readOnly": true + }, + "language": { + "type": "string", + "readOnly": true + }, + "package_path": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "agent_name": { + "type": "string", + "readOnly": true + }, + "signature_value": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "level": { + "type": "string", + "readOnly": true + }, + "level_type": { + "type": "string", + "readOnly": true + }, + "vul_count": { + "type": "integer", + "maximum": 2147483647, + "minimum": -2147483648, + "nullable": true + }, + "dt": { + "type": "integer", + "maximum": 2147483647, + "minimum": -2147483648, + "nullable": true + } + }, + "required": [ + "agent_name", + "id", + "language", + "level", + "level_type", + "project_id", + "project_name", + "project_version" + ] + }, + "ScaDetailResponseDataSerializers": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "readOnly": true + }, + "package_name": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "version": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "project_name": { + "type": "string", + "readOnly": true + }, + "project_id": { + "type": "string", + "readOnly": true + }, + "project_version": { + "type": "string", + "readOnly": true + }, + "language": { + "type": "string", + "readOnly": true + }, + "package_path": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "agent_name": { + "type": "string", + "readOnly": true + }, + "signature_value": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "level": { + "type": "string", + "readOnly": true + }, + "level_type": { + "type": "string", + "readOnly": true + }, + "vul_count": { + "type": "integer", + "maximum": 2147483647, + "minimum": -2147483648, + "nullable": true + }, + "dt": { + "type": "integer", + "maximum": 2147483647, + "minimum": -2147483648, + "nullable": true + }, + "vuls": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ScaDetailResponseDataVulsSerializers" + } + } + }, + "required": [ + "agent_name", + "id", + "language", + "level", + "level_type", + "project_id", + "project_name", + "project_version", + "vuls" + ] + }, + "ScaDetailResponseDataVulsSerializers": { + "type": "object", + "properties": { + "safe_version": { + "type": "string" + }, + "vulcve": { + "type": "string" + }, + "vulcwe": { + "type": "string" + }, + "vulname": { + "type": "string" + }, + "overview": { + "type": "string" + }, + "teardown": { + "type": "string" + }, + "reference": { + "type": "string" + }, + "level": { + "type": "string" + } + }, + "required": [ + "level", + "overview", + "reference", + "safe_version", + "teardown", + "vulcve", + "vulcwe", + "vulname" + ] + }, + "ScanCreate": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/StatusEnum" + }, + "content": { + "type": "array", + "items": { + "type": "integer" + } + } + }, + "required": [ + "content", + "name", + "status" + ] + }, + "SensitiveInfoRuleCreate": { + "type": "object", + "properties": { + "strategy_id": { + "type": "integer", + "minimum": 1 + }, + "pattern_type_id": { + "type": "integer", + "minimum": 1 + }, + "pattern": { + "type": "string" + }, + "status": { + "type": "integer" + } + }, + "required": [ + "pattern", + "pattern_type_id", + "status", + "strategy_id" + ] + }, + "StatusEnum": { + "enum": [ + -1, + 0, + 1 + ], + "type": "integer" + }, + "StrategyCreate": { + "type": "object", + "properties": { + "vul_name": { + "type": "string", + "description": "策略对应的漏洞类型名称" + }, + "vul_type": { + "type": "string", + "description": "获取用户对应的漏洞列表" + }, + "state": { + "type": "string", + "description": "表示漏洞是否启用,1启用,0停用" + }, + "vul_desc": { + "type": "string", + "description": "使用策略对应的id来删除策略" + }, + "level_id": { + "type": "integer", + "description": "漏洞等级的对应策略" + }, + "vul_fix": { + "type": "string", + "description": "策略对应的漏洞修复提示" + } + }, + "required": [ + "level_id", + "state", + "vul_desc", + "vul_fix", + "vul_name", + "vul_type" + ] + }, + "TypeEnum": { + "enum": [ + 2, + 5, + 1, + 3, + 4 + ], + "type": "integer" + }, + "UserAddSer": { + "type": "object", + "properties": { + "password": { + "type": "string" + }, + "re_password": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "role": { + "type": "integer" + }, + "department": { + "$ref": "#/components/schemas/DepartmentSer" + } + }, + "required": [ + "department", + "email", + "password", + "phone", + "re_password", + "role", + "username" + ] + }, + "VersionModify": { + "type": "object", + "properties": { + "version_id": { + "type": "string", + "description": "项目的版本id" + }, + "version_name": { + "type": "string", + "description": "项目的版本名。" + }, + "description": { + "type": "string", + "description": "项目版本的描述" + }, + "project_id": { + "type": "integer", + "description": "项目ID" + }, + "current_version": { + "type": "integer", + "description": "表示是否为当前版本,1代表是,0代表否" + } + }, + "required": [ + "current_version", + "description", + "project_id", + "version_id", + "version_name" + ] + }, + "VulForPlugin": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "readOnly": true + }, + "type": { + "type": "string", + "readOnly": true + }, + "level_id": { + "type": "integer", + "nullable": true, + "readOnly": true + }, + "url": { + "type": "string", + "nullable": true, + "maxLength": 2000 + }, + "http_method": { + "type": "string", + "nullable": true, + "maxLength": 10 + }, + "top_stack": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "bottom_stack": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "hook_type_id": { + "type": "integer", + "readOnly": true + }, + "level": { + "type": "string", + "readOnly": true, + "description": "The level name of vulnerablity" + } + }, + "required": [ + "hook_type_id", + "id", + "level", + "level_id", + "type" + ] + }, + "VulReCheckData": { + "type": "object", + "properties": { + "no_agent": { + "type": "boolean", + "description": "项目是否存在探针" + }, + "pending": { + "type": "integer", + "description": "重放的等待队列长度" + }, + "recheck": { + "type": "integer", + "description": "重放的成功队列长度" + }, + "checking": { + "type": "integer", + "description": "重放的检测队列长度" + } + }, + "required": [ + "checking", + "no_agent", + "pending", + "recheck" + ] + }, + "VulSummaryLanguage": { + "type": "object", + "properties": { + "language": { + "type": "string", + "description": "编程语言" + }, + "count": { + "type": "integer", + "description": "编程语言对应的漏洞数量" + } + }, + "required": [ + "count", + "language" + ] + }, + "VulSummaryLevel": { + "type": "object", + "properties": { + "level": { + "type": "string", + "description": "漏洞类型名称" + }, + "count": { + "type": "integer", + "description": "漏洞级别对应的漏洞数量" + }, + "level_id": { + "type": "integer", + "description": "漏洞类型id" + } + }, + "required": [ + "count", + "level", + "level_id" + ] + }, + "VulSummaryProject": { + "type": "object", + "properties": { + "project_name": { + "type": "string", + "description": "项目名" + }, + "count": { + "type": "integer", + "description": "项目对应的漏洞数量" + }, + "id": { + "type": "integer", + "description": "项目ID" + } + }, + "required": [ + "count", + "id", + "project_name" + ] + }, + "VulSummaryResponseData": { + "type": "object", + "properties": { + "language": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VulSummaryLanguage" + } + }, + "level": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VulSummaryLevel" + } + }, + "type": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VulSummaryType" + } + }, + "projects": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VulSummaryProject" + } + } + }, + "required": [ + "language", + "level", + "projects", + "type" + ] + }, + "VulSummaryType": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "漏洞类型的对应名称" + }, + "count": { + "type": "integer", + "description": "漏洞类型对应的漏洞数量" + } + }, + "required": [ + "count", + "type" + ] + }, + "VulValidationEnum": { + "enum": [ + 0, + 1, + 2 + ] + }, + "VulnerabilityStatus": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "name_en": { + "type": "string" + }, + "name_zh": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "name_en", + "name_zh" + ] + }, + "_AgentResponseData": { + "type": "object", + "properties": { + "agent": { + "$ref": "#/components/schemas/_AgentResponseDataAgent" + } + }, + "required": [ + "agent" + ] + }, + "_AgentResponseDataAgent": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "探针的id" + }, + "token": { + "type": "string", + "description": "探针名称" + }, + "version": { + "type": "string", + "description": "探针版本" + }, + "latest_time": { + "type": "integer", + "description": "探针的最后更新时间" + }, + "is_running": { + "type": "integer", + "description": "探针的运行状态" + }, + "is_core_running": { + "type": "integer", + "description": "探针的运行状态" + }, + "control": { + "type": "integer", + "description": "探针状态位,1代表安装,2代表卸载,0代表失去控制" + }, + "is_control": { + "type": "integer", + "description": "表示是否受控,0代表否,1代表是" + }, + "bind_project_id": { + "type": "integer", + "default": 0, + "description": "绑定的项目id,如果存在则探针被绑定" + }, + "project_name": { + "type": "string", + "description": "项目名,用来初次启动探针并创建项目" + }, + "online": { + "type": "integer", + "description": "1代表运行中,0代表离线,同一token的探针只能有一个在线" + }, + "project_version_id": { + "type": "integer", + "default": 0, + "description": "绑定项目的版本id,若果存在,则探针被绑定" + }, + "language": { + "type": "string", + "description": "项目中所涉及的探针对应的语言" + } + }, + "required": [ + "control", + "id", + "is_control", + "is_core_running", + "is_running", + "language", + "latest_time", + "online", + "project_name", + "token", + "version" + ] + }, + "_EngineHookRuleModify": { + "type": "object", + "properties": { + "rule_id": { + "type": "integer", + "description": "Hook规则的id" + }, + "rule_type_id": { + "type": "integer", + "description": "Hook规则类型名称" + }, + "rule_value": { + "type": "string", + "description": "策略名", + "maxLength": 255 + }, + "rule_source": { + "type": "string", + "description": "污点源\n\n单数时的例子: O, P<1,2,3,4,...>, R\n组合情况下的样例: O&R, O&P1, etc.\nO 代表对象本身; R 代表返回值; P 代表参数, 数字代表参数位置\n", + "maxLength": 255 + }, + "rule_target": { + "type": "string", + "description": "污点目标\n\n单数时的例子: O, P<1,2,3,4,...>, R\n组合情况下的样例: O&R, O&P1, etc.\nO 代表对象本身; R 代表返回值; P 代表参数, 数字代表参数位置\n", + "maxLength": 255 + }, + "inherit": { + "type": "string", + "description": "继承类型, false代表当前类, true代表子类, all代表当前类和子类", + "maxLength": 255 + }, + "track": { + "type": "string", + "description": "表示是否启用污点追踪,true代表是,false代表否", + "maxLength": 5 + } + }, + "required": [ + "inherit", + "rule_id", + "rule_source", + "rule_target", + "rule_type_id", + "rule_value", + "track" + ] + }, + "_EngineHookRuleTypeAdd": { + "type": "object", + "properties": { + "type": { + "allOf": [ + { + "$ref": "#/components/schemas/TypeEnum" + } + ], + "description": "Hook规则的类型 \n 1 代表传播方法, 2 代表污点源方法, 3 代表过滤方法, 4 代表危险方法" + }, + "enable": { + "allOf": [ + { + "$ref": "#/components/schemas/EnableEnum" + } + ], + "description": "hook策略的状态:0代表禁用,1代表启用" + }, + "name": { + "type": "string", + "description": "Hook类型的名称", + "maxLength": 255 + }, + "short_name": { + "type": "string", + "description": "Hook类型的简称", + "maxLength": 255 + }, + "language_id": { + "allOf": [ + { + "$ref": "#/components/schemas/LanguageIdEnum" + } + ], + "default": 1, + "description": "The id of programming language,find it in the programming language api" + } + }, + "required": [ + "enable", + "name", + "short_name", + "type" + ] + }, + "_HookRuleAddBodyargs": { + "type": "object", + "properties": { + "rule_type_id": { + "type": "integer", + "description": "Hook规则类型名称" + }, + "rule_value": { + "type": "string", + "description": "策略名", + "maxLength": 255 + }, + "rule_source": { + "type": "string", + "description": "污点源\n\n单数时的例子: O, P<1,2,3,4,...>, R\n组合情况下的样例: O&R, O&P1, etc.\nO 代表对象本身; R 代表返回值; P 代表参数, 数字代表参数位置\n", + "maxLength": 255 + }, + "rule_target": { + "type": "string", + "description": "污点目标\n\n单数时的例子: O, P<1,2,3,4,...>, R\n组合情况下的样例: O&R, O&P1, etc.\nO 代表对象本身; R 代表返回值; P 代表参数, 数字代表参数位置\n", + "maxLength": 255 + }, + "inherit": { + "type": "string", + "description": "继承类型, false代表当前类, true代表子类, all代表当前类和子类", + "maxLength": 255 + }, + "track": { + "type": "string", + "description": "表示是否启用污点追踪,true代表是,false代表否", + "maxLength": 5 + } + }, + "required": [ + "inherit", + "rule_source", + "rule_target", + "rule_type_id", + "rule_value", + "track" + ] + }, + "_MessagesDelArgs": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "消息的id" + }, + "all": { + "type": "boolean", + "nullable": true, + "default": false, + "description": "all参数为true时,删除所有消息" + } + } + }, + "_ProjectEnginesData": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "探针id" + }, + "token": { + "type": "string", + "description": "探针名称" + }, + "shortname": { + "type": "string", + "description": "探针简称" + } + }, + "required": [ + "id", + "shortname", + "token" + ] + }, + "_ProjectReportExportQuery": { + "type": "object", + "properties": { + "vid": { + "type": "integer", + "description": "The vulnerability id of the project" + }, + "pname": { + "type": "string", + "description": "项目名" + }, + "pid": { + "type": "integer", + "description": "项目ID" + }, + "type": { + "type": "string", + "description": "The type of the vulnerability report" + } + } + }, + "_ProjectReportSearchQuerys": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "default": 0, + "description": "The id of the project report" + } + } + }, + "_ProjectSearchData": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "项目ID" + }, + "name": { + "type": "string", + "description": "项目名" + } + }, + "required": [ + "id", + "name" + ] + }, + "_ProjectSummaryData": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "项目名" + }, + "mode": { + "allOf": [ + { + "$ref": "#/components/schemas/ModeEnum" + } + ], + "description": "项目模式" + }, + "id": { + "type": "integer", + "description": "项目ID" + }, + "latest_time": { + "type": "integer", + "description": "默认值为项目的当前版本。" + }, + "versionData": { + "allOf": [ + { + "$ref": "#/components/schemas/ProjectsVersionData" + } + ], + "description": "项目的版本信息" + }, + "type_summary": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProjectSummaryDataTypeSummary" + }, + "description": "关于漏洞类型的漏洞数量统计" + }, + "agent_language": { + "type": "array", + "items": { + "type": "string" + }, + "description": "项目中所涉及的探针对应的语言" + }, + "level_count": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProjectSummaryDataLevelCount" + }, + "description": "基于漏洞等级的漏洞数量统计" + } + }, + "required": [ + "agent_language", + "id", + "latest_time", + "level_count", + "mode", + "name", + "type_summary", + "versionData" + ] + }, + "_ProjectVersionCurrent": { + "type": "object", + "properties": { + "version_id": { + "type": "string", + "description": "项目的版本id" + }, + "project_id": { + "type": "integer", + "description": "项目ID" + } + }, + "required": [ + "project_id", + "version_id" + ] + }, + "_ProjectVersionDelete": { + "type": "object", + "properties": { + "version_id": { + "type": "string", + "description": "项目的版本id" + }, + "project_id": { + "type": "integer", + "description": "项目ID" + } + }, + "required": [ + "project_id", + "version_id" + ] + }, + "_ProjectsAddBodyArgs": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "项目名" + }, + "agent_ids": { + "type": "string", + "description": "agent对应的id,使用\",\"进行切分。" + }, + "scan_id": { + "type": "integer", + "description": "扫描策略的对于id" + }, + "version_name": { + "type": "string", + "description": "项目的版本名。" + }, + "pid": { + "type": "integer", + "description": "项目ID" + }, + "description": { + "type": "string", + "description": "项目的描述信息" + }, + "vul_validation": { + "type": "integer", + "description": "vul validation switch" + } + }, + "required": [ + "agent_ids", + "description", + "name", + "pid", + "scan_id", + "version_name", + "vul_validation" + ] + }, + "_ProjectsDelBodyArgs": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "项目ID" + } + }, + "required": [ + "id" + ] + }, + "_RegexPatternValidation": { + "type": "object", + "properties": { + "pattern": { + "type": "string", + "description": "regex pattern" + }, + "test_data": { + "type": "string", + "description": "the data for test regex" + } + }, + "required": [ + "pattern", + "test_data" + ] + }, + "_ScaSummaryResponseData": { + "type": "object", + "properties": { + "language": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VulSummaryLanguage" + } + }, + "level": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VulSummaryLevel" + } + }, + "projects": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VulSummaryProject" + } + } + }, + "required": [ + "language", + "level", + "projects" + ] + }, + "_StrategyAddBodyargs": { + "type": "object", + "properties": { + "ids": { + "type": "string", + "description": "策略对应的id,使用\",\"进行切分。" + }, + "name": { + "type": "string", + "description": "策略名" + } + }, + "required": [ + "ids", + "name" + ] + }, + "_StrategyResponseDataStrategy": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "策略id" + } + }, + "required": [ + "id" + ] + }, + "_StrategyTypeResponseDataStrategy": { + "type": "object", + "properties": { + "level_id": { + "type": "integer", + "description": "漏洞等级id" + }, + "level_name": { + "type": "integer", + "description": "漏洞等级名称" + }, + "type_value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_StrategyTypeResponseDataTypeValue" + } + } + }, + "required": [ + "level_id", + "level_name", + "type_value" + ] + }, + "_StrategyTypeResponseDataTypeValue": { + "type": "object", + "properties": { + "strategy_id": { + "type": "string", + "description": "策略id" + }, + "vul_name": { + "type": "string", + "description": "策略对应的漏洞类型名称" + }, + "level_id": { + "type": "integer", + "description": "漏洞等级的对应策略" + } + }, + "required": [ + "level_id", + "strategy_id", + "vul_name" + ] + }, + "_UserAgentResponseData": { + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "探针名称" + }, + "id": { + "type": "string", + "description": "探针的id" + } + }, + "required": [ + "id", + "token" + ] + }, + "_VersionListData": { + "type": "object", + "properties": { + "version_id": { + "type": "integer", + "description": "项目的版本id" + }, + "version_name": { + "type": "string", + "description": "项目的版本名。" + }, + "current_version": { + "type": "integer", + "description": "表示是否为当前版本,1代表是,0代表否" + }, + "description": { + "type": "string", + "description": "项目版本的描述" + } + }, + "required": [ + "current_version", + "description", + "version_id", + "version_name" + ] + }, + "_VulDetailResponseData": { + "type": "object", + "properties": { + "vul": { + "$ref": "#/components/schemas/_VulDetailResponseDataVul" + }, + "server": { + "$ref": "#/components/schemas/_VulDetailResponseDataServer" + }, + "strategy": { + "$ref": "#/components/schemas/_VulDetailResponseDataStrategy" + } + }, + "required": [ + "server", + "strategy", + "vul" + ] + }, + "_VulDetailResponseDataServer": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "hostname": { + "type": "string" + }, + "ip": { + "type": "string" + }, + "port": { + "type": "string" + }, + "container": { + "type": "string" + }, + "server_type": { + "type": "string" + }, + "container_path": { + "type": "string" + }, + "runtime": { + "type": "string" + }, + "environment": { + "type": "string" + }, + "command": { + "type": "string" + } + }, + "required": [ + "command", + "container", + "container_path", + "environment", + "hostname", + "ip", + "name", + "port", + "runtime", + "server_type" + ] + }, + "_VulDetailResponseDataStrategy": { + "type": "object", + "properties": { + "desc": { + "type": "string" + }, + "sample_code": { + "type": "string" + }, + "repair_suggestion": { + "type": "string" + } + }, + "required": [ + "desc", + "repair_suggestion", + "sample_code" + ] + }, + "_VulDetailResponseDataVul": { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "uri": { + "type": "string" + }, + "agent_name": { + "type": "string" + }, + "http_method": { + "type": "string" + }, + "type": { + "type": "string" + }, + "taint_position": { + "type": "string" + }, + "first_time": { + "type": "integer" + }, + "latest_time": { + "type": "integer" + }, + "project_name": { + "type": "string", + "description": "项目名" + }, + "project_version": { + "type": "string", + "description": "项目的版本名。" + }, + "language": { + "type": "string", + "description": "编程语言" + }, + "level": { + "type": "string", + "description": "漏洞类型名称" + }, + "level_type": { + "type": "integer", + "description": "漏洞类型id" + }, + "counts": { + "type": "integer" + }, + "request_header": { + "type": "string" + }, + "response": { + "type": "string" + }, + "graph": { + "type": "string" + }, + "context_path": { + "type": "string" + }, + "client_ip": { + "type": "string" + }, + "status": { + "type": "string" + }, + "taint_value": { + "type": "string" + }, + "param_name": { + "type": "string" + }, + "method_pool_id": { + "type": "integer" + }, + "project_id": { + "type": "integer", + "description": "项目ID" + } + }, + "required": [ + "agent_name", + "client_ip", + "context_path", + "counts", + "first_time", + "graph", + "http_method", + "latest_time", + "level", + "level_type", + "method_pool_id", + "param_name", + "project_id", + "project_name", + "project_version", + "request_header", + "response", + "status", + "taint_position", + "taint_value", + "type", + "uri", + "url" + ] + }, + "_VulsEndPointResponse": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "readOnly": true + }, + "type": { + "type": "string", + "readOnly": true + }, + "hook_type_id": { + "type": "integer", + "readOnly": true + }, + "url": { + "type": "string", + "nullable": true, + "maxLength": 2000 + }, + "uri": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "agent_id": { + "type": "integer", + "nullable": true, + "readOnly": true + }, + "level_id": { + "type": "integer", + "nullable": true, + "readOnly": true + }, + "http_method": { + "type": "string", + "nullable": true, + "maxLength": 10 + }, + "top_stack": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "bottom_stack": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "taint_position": { + "type": "string", + "nullable": true, + "maxLength": 255 + }, + "latest_time": { + "type": "integer", + "maximum": 2147483647, + "minimum": -2147483648, + "nullable": true + }, + "first_time": { + "type": "integer", + "maximum": 2147483647, + "minimum": -2147483648, + "nullable": true + }, + "language": { + "type": "string", + "readOnly": true + }, + "status": { + "type": "string", + "readOnly": true + }, + "index": { + "type": "integer" + }, + "project_name": { + "type": "string", + "default": "暂未绑定项目", + "description": "项目名" + }, + "project_id": { + "type": "integer", + "default": 0, + "description": "项目ID" + }, + "server_name": { + "type": "string", + "default": "JavaApplication" + }, + "server_type": { + "type": "string" + }, + "level_type": { + "type": "integer" + }, + "level": { + "type": "string" + } + }, + "required": [ + "agent_id", + "hook_type_id", + "id", + "index", + "language", + "level", + "level_id", + "level_type", + "server_type", + "status", + "type" + ] + } + }, + "securitySchemes": { + "cookieAuth": { + "type": "apiKey", + "in": "cookie", + "name": "sessionid" + }, + "tokenAuth": { + "type": "apiKey", + "in": "header", + "name": "Authorization", + "description": "Token-based authentication with required prefix \"Token\"" + } + } + } +} \ No newline at end of file diff --git a/webapi/settings.py b/webapi/settings.py index 57f35ec3..15ff0afe 100644 --- a/webapi/settings.py +++ b/webapi/settings.py @@ -323,7 +323,7 @@ def safe_execute(default, exception, function, *args): MIDDLEWARE.append('dongtai_agent_python.middlewares.django_middleware.FireMiddleware') if os.getenv('environment', None) == 'TEST' or os.getenv('SAVEEYE', None) == 'TRUE': CAPTCHA_NOISE_FUNCTIONS = ('captcha.helpers.noise_null',) -if os.getenv('environment', 'PROD') in ('TEST', 'DOC'): +if os.getenv('environment', 'PROD') in ('TEST', 'DOC') or os.getenv('DOC', None) == 'TRUE': from django.utils.translation import gettext_lazy as _ INSTALLED_APPS.append('drf_spectacular') SPECTACULAR_SETTINGS = { diff --git a/webapi/urls.py b/webapi/urls.py index 3c46b43f..5c04d48d 100644 --- a/webapi/urls.py +++ b/webapi/urls.py @@ -24,7 +24,7 @@ ] urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) -if os.getenv('environment', 'PROD') in ('TEST', 'DOC'): +if os.getenv('environment', 'PROD') in ('TEST', 'DOC') or os.getenv('DOC', None) == 'TRUE': from drf_spectacular.views import SpectacularJSONAPIView, SpectacularRedocView, SpectacularSwaggerView urlpatterns.extend([ path('api/XZPcGFKoxYXScwGjQtJx8u/schema/',