SuperAPI AI 工具集

logic-lens

测试与质量

查看项目

更新于 10-16 04:26

技能介绍

用途

Logic Lens 是一款 Claude Code 技能,用于以形式逻辑和推理框架执行深度、逻辑驱动的代码审查。它与传统 linter 的区别在于:传统工具主要检查语法与风格,而 Logic Lens 会推理代码行为,寻找逻辑错误、竞态条件、安全漏洞、类型不匹配以及算法缺陷。

主要能力

Logic Lens 使用结构化 AI 分析,对 9 类风险进行系统性逻辑检查:

  • Null/Undefined:缺失的空值检查、可选链缺口。
  • Type Safety:隐式强制转换、any 类型边界。
  • Concurrency:竞态条件、共享可变状态。
  • Resource Management:未关闭的句柄、内存泄漏。
  • Security Injection:SQL/XSS/命令注入、路径遍历。
  • Boundary Conditions:差一错误、整数溢出。
  • Algorithm Correctness:错误的复杂度、不正确的假设。
  • State Management:状态不一致、缺失回滚。
  • API Contracts:未记录的副作用、被破坏的接口。

其工作方式包括:解析代码结构并建立数据流的心智模型;在 9 类风险上应用形式逻辑检查;追踪执行路径以发现边缘与边界情况;识别安全反模式(注入、权限提升、数据泄漏);按严重程度报告发现并提供可操作的修复建议。

使用方式

安装可通过 Claude Code 插件市场进行:在 Claude Code > Extensions 中搜索 "logic-lens"。

也可通过 NPX(Antigravity)安装:

npx agentic-awesome-skills --claude

随后使用 @logic-lens 调用。

示例:

  • 审查单个文件:@logic-lens review src/auth/login.ts for security issues
  • 全仓库扫描并按严重程度排序:@logic-lens scan the entire codebase and prioritize by severity
  • 提交 PR 前审查分支内所有变更文件:@logic-lens review all files changed in this branch before I open a PR

示例输出(针对认证登录文件的审查)包括:

  • [CRITICAL] 第 42 行存在 SQL 注入风险:用户输入被拼接到查询字符串中
  • [HIGH] 登录尝试缺少速率限制
  • [MEDIUM] 密码比较使用 == 而非恒定时间比较
  • [LOW] 错误信息可能泄露有效用户名(用户枚举)

适用场景

  • 合并 PR 前进行彻底的逻辑审查。
  • bug 难以定位且标准 linter 无法提供帮助时。
  • 审查安全敏感代码路径(认证、支付、文件访问)。
  • 重构复杂业务逻辑时。
  • 初次接触新代码库、需要理解风险区域时。

最佳实践建议:每次发布前对认证与支付代码运行 @logic-lens;与 @lint-and-validate 结合以获得风格加逻辑的完整覆盖;优先审查 CRITICAL 与 HIGH 发现,LOW 可延后;在修改遗留代码前先用 @logic-lens 了解风险面。

相关技能

  • @lint-and-validate:互补,在 logic-lens 之后运行以处理风格/语法。
  • @security-auditor:专用的纯安全深度扫描。
  • @debugging-strategies:当 logic-lens 的发现需要追踪时使用。

限制

资料声明 Logic Lens 仅应在任务明确符合上述范围(代码审查与逻辑分析)时使用。它提供的是 AI 驱动的分析,生产关键决策应结合人工审查,不应将其输出视为针对具体环境的测试或安全审计的替代品。

基准结果

资料称 Logic Lens 曾在真实代码库上测试,并捕获了 ESLint、TypeScript 严格模式与 Snyk 遗漏的问题:发现的关键 bug 中有 47% 对 linter 不可见;检测出静态分析遗漏的异步代码竞态条件;在 CI 流水线中于部署前识别出安全漏洞。

其他资源

资料提及的附加资源包括 GitHub 仓库、Dev.to 文章《Why AI Code Review Misses the Most Dangerous Bugs》以及 Claude Code Skills 文档;具体链接与内容暂未提供。