分享一个代码审查 / 安全审计 Skill: finecomb

3 小时 29 分钟前
 lianyue

最近把自己平时用的一些代码审查规则整理了一下,做成了一个 Skill:

finecomb

主要是给 Claude Code 、Codex 这类 Agent 审代码时用的。

为什么做这个

起因是我平时让各种 Agent 审项目,感觉多少都有点“偷懒”:有时候审得很细,有时候扫一遍就结束了;这次记得看并发,下次可能忘了资源释放;安全问题看了一堆,异常路径、状态变化或者一些边界条件又没看。

而且项目一大以后,这种情况更明显。不是模型完全不知道这些问题,而是一次审查里要考虑的方向太多,很容易漏掉一些检查点。

所以干脆把能想到的审查方向、常见问题和不同领域容易踩的坑都列出来,让 Agent 按着一项项过,尽量少依赖它这一次刚好想到了什么。

目前里面除了常见的安全问题,也有并发、资源、错误处理、API 契约、配置、性能,以及不同语言和不同类型项目的一些专项检查。

用历史漏洞做验证

后面还加了历史漏洞的命中测试:拿已经公开并修复的漏洞,只看它的真实根因,再检查现有规则能不能把审查过程引到这个问题上。命中不了的,就看是不是缺了某个检查点,再抽象以后补进去。

现在已经测了一些 Linux 、nginx 、OpenSSL 、Web 框架、数据库、Web3 、AI Agent 等方向,不过和这么多年的历史漏洞相比,样本还是很少,很多领域也还没覆盖到。

怎么用

用法比较随意,装好以后直接跟 Agent 说就行,比如:

用 finecomb 审一下 ./src

也可以只审某一块:

用 finecomb 看一下 pkg/cache 的并发和资源管理

或者直接给仓库地址:

用 finecomb 审计 https://github.com/xxx/xxx

不一定每次都要完整跑一遍,可以按项目和需求自己缩范围。

Token 可能会比较多

这个也提前说一下:finecomb 写得比较细,如果是大项目再加上完整审查,Token 用量可能会比较明显。

毕竟本质上就是让 Agent 多看一些地方、多走一些调用链、多问一些平时容易跳过的问题,不可能完全没有成本。

所以如果只是想查某一类问题,可以直接排除不需要的部分,或者只指定几个方向,比如只看安全、并发、网络、协议解析之类的。

一些和当前项目明显没关系的专项也可以直接不看。

简单说就是:想查得细就会多花 Token ,不需要那么细的时候就把范围缩小。

一起补

这块也挺适合一起维护。如果有已经公开、已经修复的 CVE 或其他漏洞,发现 finecomb 现有的检查项完全命中不了,欢迎直接提 Issue / PR 。比起继续往里面堆案例,我更希望能把这些漏洞背后重复出现的原因慢慢归纳出来。

发现缺失的审查面或者检查点,后面都会继续补,也欢迎大家一起维护。补的时候尽量做成通用、可泛化的规则,而不是只针对某个漏洞、某种语言或者某个项目加一条专用检查。

感谢

顺便感谢 Claude 免费提供了 6 个月 Claude Max 20x ,让我把这个项目做出来;OpenAI 的我也申请了,可惜什么消息都没,抠门 😂

195 次点击
所在节点    技术栈
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1244744

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX