Add files via upload

This commit is contained in:
公明
2026-05-27 11:44:15 +08:00
committed by GitHub
parent f0a80a8e58
commit 6bb3a73f73
4 changed files with 10 additions and 9 deletions
+4
View File
@@ -1076,10 +1076,14 @@ func setupRoutes(
// 项目管理与事实黑板
protected.GET("/projects", projectHandler.ListProjects)
protected.POST("/projects", projectHandler.CreateProject)
protected.GET("/projects/:id/stats", projectHandler.GetProjectStats)
protected.GET("/projects/:id/conversations", projectHandler.ListProjectConversations)
protected.GET("/projects/:id", projectHandler.GetProject)
protected.PUT("/projects/:id", projectHandler.UpdateProject)
protected.DELETE("/projects/:id", projectHandler.DeleteProject)
protected.GET("/projects/:id/facts", projectHandler.ListFacts)
protected.GET("/projects/:id/facts/:factId/previous-version", projectHandler.GetFactPreviousVersion)
protected.GET("/projects/:id/facts/:factId/versions", projectHandler.ListFactVersions)
protected.POST("/projects/:id/facts", projectHandler.CreateFact)
protected.PUT("/projects/:id/facts/:factId", projectHandler.UpdateFact)
protected.DELETE("/projects/:id/facts/:factId", projectHandler.DeleteFact)
+1
View File
@@ -49,6 +49,7 @@ func registerProjectFactTools(mcpServer *mcp.Server, db *database.DB, cfg *confi
upsertTool := mcp.Tool{
Name: builtin.ToolUpsertProjectFact,
Description: "写入或更新项目黑板事实,用于跨会话沉淀可复现上下文(非正式漏洞条目;可交付漏洞另用 record_vulnerability)。" +
"边渗透边记录:每确认新认知(端口/入口/凭据/可利用点)后立即调用,同 fact_key 覆盖更新,勿等会话结束。" +
"禁止仅写结论:summary 须含什么+在哪+如何验证;body 须含攻击链/请求响应/命令等复现细节。" +
"发现类建议 fact_key 为 finding|chain|exploit|poc/<slug>category 对应 finding|chain|exploit|pocbody 按攻击链模板填写。" +
"环境类用 target|auth|infra|business/<slug>。同 fact_key 覆盖更新。需当前对话已绑定项目。",
+1 -1
View File
@@ -163,7 +163,7 @@ func registerVulnerabilityTools(mcpServer *mcp.Server, db *database.DB, logger *
func registerRecordVulnerabilityTool(mcpServer *mcp.Server, db *database.DB, logger *zap.Logger) {
tool := mcp.Tool{
Name: builtin.ToolRecordVulnerability,
Description: "记录发现的漏洞详情到漏洞管理系统。当发现有效漏洞时,使用此工具记录漏洞信息,包括标题、描述、严重程度、类型、目标、证明、影响和建议等。记录前可先 list_vulnerabilities 避免重复。",
Description: "记录发现的漏洞详情到漏洞管理系统。边渗透边记录:每验证出一条可复现漏洞(含 POC/影响)后立即调用,勿等会话结束。包括标题、描述、严重程度、类型、目标、证明、影响和建议等。记录前可先 list_vulnerabilities 避免重复。",
ShortDescription: "记录发现的漏洞详情到漏洞管理系统",
InputSchema: map[string]interface{}{
"type": "object",
@@ -5,7 +5,6 @@ import (
"cyberstrike-ai/internal/agents"
"cyberstrike-ai/internal/config"
"cyberstrike-ai/internal/mcp/builtin"
"cyberstrike-ai/internal/project"
)
@@ -107,13 +106,9 @@ func DefaultPlanExecuteOrchestratorInstruction() string {
当工具返回错误时错误信息会包含在工具响应中请仔细阅读并做出合理的决策
## 项目黑板事实与漏洞记录分离
` + project.FactRecordingBlackboardSection(true) + `
绑定项目时会自动注入黑板索引fact_key + 摘要**摘要不足必须 ` + builtin.ToolGetProjectFact + `(fact_key) body禁止臆造** 环境认知用 ` + builtin.ToolUpsertProjectFact + `key target/primary_domain发现/利用上下文用 finding|chain|exploit|poc/ 前缀且 body 含完整攻击链与 POC正式漏洞用 ` + builtin.ToolRecordVulnerability + `记前可先 ` + builtin.ToolListVulnerabilities + ` 防重复详情用 ` + builtin.ToolGetVulnerability + `二者可各记一次误报用 ` + builtin.ToolDeprecateProjectFact + `漏洞查询默认仅当前项目未绑项目则仅当前会话
` + project.FactRecordingGuidanceBlock() + `
严重程度critical / high / medium / low / info证明须含足够证据
- **计划步骤须要求执行器落库**不得在计划中写会话结束再记录每步成功标准应包含 upsert 事实或已 record 漏洞或已输出待落库块
## 技能库Skills与知识库
@@ -209,7 +204,8 @@ func DefaultSupervisorOrchestratorInstruction() string {
- **委派优先**可独立封装需要专项上下文的子目标枚举验证归纳报告素材优先 transfer 给匹配子代理并在委派说明中写清子目标约束期望交付物结构证据要求
- **亲自执行**仅当无合适专家需全局衔接或子代理结果不足时由你直接调用工具
- **汇总**子代理输出是证据来源你要对齐矛盾补全上下文给出统一结论与可复现验证步骤避免机械拼接
- **事实与漏洞**环境认知用 ` + builtin.ToolUpsertProjectFact + `发现/利用须用 finding|chain|exploit|poc/ key 并在 body 写全攻击链与 POC正式漏洞用 ` + builtin.ToolRecordVulnerability + `查询用 ` + builtin.ToolListVulnerabilities + ` / ` + builtin.ToolGetVulnerability + `索引摘要不足时必须 ` + builtin.ToolGetProjectFact + ` 取详情
` + project.FactRecordingBlackboardSection(true) + `
## transfer 交接与防重复劳动