mcpField
R
Regex Safety Audit

Regex Safety Audit

远程服务
github.com/tylerscomic-lab安全014 周前更新
代码仓库

关于 Regex Safety Audit

Regex Safety Audit 是面向开发者和编码 Agent 的 MCP 服务,通过结构化解析检测 ReDoS 风险,不会执行待检查的正则表达式。它还提供兼容 JavaScript 的改写建议和受限时测试输入。

主要功能

  1. 01基于 AST 的 ReDoS 分析
  2. 02检测嵌套量词、歧义分支和反向引用
  3. 03提供适用于 JavaScript 的安全改写建议
  4. 04生成攻击字符串候选并通过操作系统级超时测试

适用场景

  1. 01在将正则表达式加入应用前进行检查
  2. 02在安全审计中检查正则表达式变更
  3. 03测试已标记的模式,避免进程挂起

MCP 相关

向 MCP 客户端提供正则分析、攻击字符串生成和安全改写建议等工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://regex-safety-audit-mcp.mcpize.run/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

regex-safety-audit-mcp

License: MIT Live on MCPize

一个 MCP 服务,可将正则表达式解析为真正手写的 AST,以检测灾难性回溯(ReDoS)风险—— 而且绝不会执行正则表达式本身。 如果 ReDoS 扫描器运行自己正在扫描的正则表达式,就可能把自己卡住;而这个工具绝不会对任何内容调用 new RegExp(...).test()。

它能检测什么

嵌套的无界量词((a+)+)、重复组内含糊不清的分支((a|ab)+)以及反向引用——这三种模式几乎是所有真实 ReDoS 事件的根源。检测采用结构分析(真正的解析器,而不是针对正则表达式的字符串启发式),并在测试期间通过经典文献中的示例进行了验证。

JavaScript 特有的陷阱

通用的 ReDoS 建议会告诉你用原子组包住问题组,或使用占有量词。JavaScript 两者都不支持。 analyze_redos_risk 会明确说明这一点,而 suggest_safe_rewrite 会给出实际适用于 JavaScript 的修复方案(消除冗余嵌套,或使用否定字符类重新组织结构),而不是给出一旦尝试就会因语法错误而返回 400 的建议。

工具

analyze_redos_risk

完整的结构分析。返回风险等级、每项发现及其确切原因,并说明 JavaScript 不支持原子组和占有量词这一注意事项。

generate_attack_string

针对标记出的模式,生成几种长度的候选概念验证输入,并附带一段可直接运行的 Node 代码片段,用于为匹配计时,且采用由操作系统强制执行的子进程超时——因此,测试真正具有灾难性回溯风险的正则表达式也不会卡住你自己的测试进程。

suggest_safe_rewrite

针对可机械修复的模式,提供具体的改写版本;对于无法机械修复的模式,则如实说明“没有机械修复方案,以下是需要手动修改的内容”。

使用方法

托管服务(推荐): MCPize — 免费套餐,Pro 版每月 7 美元。

自行托管:

npm install
node server.js

小型工具套件的一部分

mcp-schema-audit-mcp, cron-schedule-audit-mcp, claude-cost-audit-mcp。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。