公粽号:黒掌
一个专注于分享网络安全、黑客圈热点、黑客工具技术区博主!
整个中文网络对semgrep
的信息之少,竟然只找到一篇内容还过得去的文章:介绍semgrep扫描xss漏洞,而且读起来还像是翻译的。这般待遇实在是与semgrep的强大和在国外的流行完全匹配不上,再加上近期团队做安全编码规范的配套扫描工具建设,从而催生了本文。
简介
semgrep是一款基于Facebook开源SAST工具pfff中的sgrep
组件开发的开源SAST工具,目前由安全公司r2c统一开发维护,走的是开源共建模式,主打轻量
、定制化
,slogan是Static analysis at ludicrous speed, Find bugs and enforce code standards
(以极致的速度扫描发现bug并强化代码规范的落地)。
原理
semgrep同时支持正则匹配和AST分析两种模式,跟国内前些年流行的开源SAST工具cobra原理比较相近,从技术演进的方向上看,semgrep大致位于中间地带:
如下图所示,扫描器核心逻辑在semgrep-core,可以看到工具主要是由OCaml语言开发,然后通过python执行系统命令去调用semgrep-core,关于semgrep-core的具体实现另文介绍。