需通过定义静态分析规则实现定制化代码检查:一、用yaml编写规则,在规则中心新建并配置rule_id、pattern(如.rawquery(1?(${|+\srequest.|.get(|.getparameter()))、severity和message;二、导入符合schema的json规则文件,经校验后批量加载;三、基于ast定义语义规则,设置node_type、parent_type、property及conditions等条件。) ↩
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望在WorkBuddy中识别标准规则未覆盖的业务特有缺陷模式,需通过定义静态分析规则实现定制化代码检查。以下是完成该配置的具体操作路径:
一、使用YAML格式编写自定义SAST规则
WorkBuddy支持基于YAML语法声明检测逻辑,通过正则匹配与上下文语义约束组合识别高危代码片段,适用于绕过通用防护机制的框架专用API调用或内部DSL误用场景。
1、进入“规则中心”→“自定义规则”,点击“新建YAML规则”。
2、在rule_id字段填写唯一标识符,例如custom-orm-rawquery-sqli。
3、在pattern字段填入正则表达式\.rawQuery\([^)]*?(\$\{|\+\s*request\.|\.get\(|\.getParameter\()\),用于捕获含未过滤用户输入的原始SQL构造。
4、在severity字段设定为CRITICAL,在message字段填写提示文本检测到绕过预编译的rawQuery调用,存在SQL注入风险,保存后在项目规则组中启用该条目。
二、导入符合Schema的JSON规则文件
当团队已沉淀结构化规则资产时,可通过标准JSON Schema批量加载规则,确保跨环境一致性,并支持与CI流水线中的规则校验工具对齐。
1、准备符合WorkBuddy规则Schema的JSON文件,其中必须包含rule_id、severity、pattern、message字段,且pattern值为ECMAScript兼容正则。
使用 draw.io(.drawio 格式)和 SVG 生成兼容 Microsoft Visio 的架构图。当用户需要以下任一场景时触发: - 用于 Visio 或技术文档的架构/系统/网络图 - 带连接标注的分层控制系统图 - 将 draw.io XML 转换为稳定、可嵌入的 SVG - 修复 Visio 或 draw.io 无法打开的故障排查类图表 - 任何需专业级布局且文本可编辑的图表
2、在“规范模板”页面点击“导入规则”,选择本地custom-rules.rules.json文件。
3、系统执行语法校验与正则有效性验证,通过后显示共加载12条自定义规则提示。
三、基于AST节点类型定义语义级规则
针对动态拼接难以被正则覆盖的复杂场景(如多层方法链中参数污染传播),可利用WorkBuddy内置的抽象语法树解析能力,按节点类型、父节点关系及子树结构建模检测条件。
1、在“自定义规则”界面切换至“AST模式”,点击“新建语义规则”。
2、在node_type字段填写CallExpression,在parent_type字段填写MemberExpression,在property字段填写name为"execute"。
3、在conditions中添加child_filter: [{type: "Identifier", name: "sql"}],表示仅当调用参数为变量sql时触发。
4、设置severity为HIGH,message为直接执行未净化的SQL变量,违反安全编码规范,启用后立即参与增量扫描。










