代码审计
每周扫描整个仓库。识别复杂度热点、死代码、重复和架构问题。创建带有健康评分和优先建议的GitHub Issue。
How it works
静态分析与AI代理相结合,提供值得信赖的精准审查
Problem
Copilot和Claude等AI工具正在生成比以往更多的代码。开发速度在加快,但谁在守护你的代码库?
技术债务在悄悄积累。复杂函数、死代码、重复逻辑在PR审查中漏掉,随着时间慢慢堆积。
你需要一个自主维护代码的系统。不只是审查PR,而是持续监控整个代码库。
Instruments
Polyscan不会等待Pull Request。它按计划主动扫描整个代码库,发现架构问题,在问题变严重之前报告。
每周扫描整个仓库。识别复杂度热点、死代码、重复和架构问题。创建带有健康评分和优先建议的GitHub Issue。
自动审查Pull Request。在合并前捕获新代码中的问题。用实时反馈补充每周审计。
Analyzers
Polyscan 为每种语言使用专用静态分析引擎——Python 用 pyscn,JavaScript/TypeScript、Go、Rust 和 C++ 用 polyscan。它们解析AST来深入理解你的代码——不只是模式匹配。复杂度和重复代码覆盖所有语言;死代码、依赖关系和类设计分析目前支持 Python 和 JavaScript/TypeScript。
01
Python 的可变默认参数和循环导入;TypeScript 的不安全 any 和未使用的导出
02
基于AST的解析精准追踪变量作用域和函数调用
03
不是「看起来复杂」,而是「复杂度18」。可以行动的数字
Readings
validate_and_process() 的圈复杂度为 18(阈值:15)。复杂的函数更难测试,更容易出 bug。
Suggestion拆分为 validate_schema()、validate_constraints() 和 process_validated()。
user.py 第45-62行和 admin.py 第23-40行包含几乎相同的代码(87%匹配)。
Suggestion把共同的逻辑移到 utils/validation.py。这样就不用修复同一个bug两次了。
Agent
根据结果判断下一步使用哪个工具
与简单的LLM包装器不同,Polyscan的AI代理会先思考再行动。它查看结果,判断接下来要调查什么,然后调用合适的工具。就像人类审查者一样。
“先检查一下复杂度”
pyscn complexity ./src→ utils.py有一个复杂度18的函数
“复杂度很高。看看代码”
read_file("src/utils.py")→ validate_and_process()有80行
“看起来有重复逻辑。检查一下”
pyscn clones ./src→ admin.py里也有同样的代码(87%匹配)
“找到问题了。写建议”
生成审查评论
validate_and_process()复杂度18,且和admin.py有重复代码。把共同逻辑移到utils/validation.py。
AI代理不会只做一次分析。它查看结果,思考还有什么可能出错,然后继续调查。
就像人类代码审查者一样,它阅读代码,在发现问题时深入挖掘。
静态分析工具
Security
我们理解安全顾虑。以下是你的代码会如何被处理:
01
你的代码由运行在我们的本地部署环境中的本地大语言模型进行分析,不会发送到外部生成式 AI API。
02
我们不存储你的代码。审查生成并发布到 GitHub 后,代码就会被丢弃。
03
Polyscan 只请求必要的权限:读取代码、写入 PR 评论、为审计报告创建 Issue。
Install
安装 Polyscan 并创建 PR。在第一次审查中体验不同。
免费安装 →