介绍Semgrep和R2c

2020-10-30 00:36:50

免费、快速、开源、离线、可定制。这些词不常用来描述代码扫描工具,这是一种耻辱。

我们创建r2c是为了给开发者带来世界级的安全工具,因为我们坚信软件将运行未来最令人兴奋的部分:从医疗设备到机器人再到自动驾驶汽车,无所不包。安全过程不应该是敌人,而应该是快速软件开发的推动者。如果开发人员缺乏易于设置和理解的工具,或者如果开发人员每次更换工作时都必须说服他们的经理花费数百万美元购买高级安全工具,那么未来将是黯淡的。

在创立R2C之前,我们为大公司和政府开发安全和开发工具。令人大开眼界的是,尽管预算巨大,但他们的安全项目总体上落后于科技巨头一代人或更长时间。当谈到开发人员的安全工具时,大多数团队都厌倦了扫描代码中的漏洞;他们讨厌他们必须使用的工具,通常只做满足遵从性复选框所需的最低限度的工作,而忽略这些工具。

在Facebook、苹果、亚马逊、Netflix和谷歌等地进行代码扫描怎么样?他们通常不会使用传统的商业安全工具,这些工具会问我们如何才能找到每一个漏洞?相反,他们专注于可以为开发人员构建护栏的自定义工具。这不需要百万美元的工具,不需要程序分析的博士学位,也不需要几天的计算时间。它看起来更像是安全性的单元测试。

我们认为在传统的合规工具和简单的短针之间存在差距,这是一种新方法的成熟,我们很幸运地找到了Redpoint Ventures和Sequoia Capital的合作伙伴,他们同意这一点。在他们的帮助下,我们筹集了1300万美元的首轮融资,用来构建开发人员可能真的会喜欢的安全工具。我们已经悄悄地为它工作了一段时间了,我们终于准备好向全世界宣布它了!

我们的开源产品Semgrep是专门为根除错误类而设计的。开发人员和安全工程师可以说,这是我们一直使用的安全模式(例如,解析XML),在几分钟内编写一条规则,并对每个编辑器保存、提交和拉入请求强制执行该规则。

Semgrep是构建安全护栏的理想选择:首先使用考虑到安全性的框架,然后自动标记偏离默认安全路径的代码。这是谷歌、Facebook、亚马逊、Dropbox、Strip、Netflix和其他公司使用的方法-我和Clint Gibler在Global AppSec 2020上介绍了这个主题。此方法提高了开发人员的工作效率,减少了受攻击面,最大限度地减少了人工检查和审核的区域,并允许安全团队以可伸缩的方式保护数千名开发人员编写的代码。

Semgrep背后的思想很简单:它感觉像是一个常规搜索(Grep),但它是语法感知的。几分钟后你就可以学会Semgrep了!Semgrep可用于的不仅仅是安全问题:性能、国际化,或者只是偶然犯下的麻烦。

$semgrep-e foo(1)匹配所有等价变体。查看匹配EXEC呼叫的现场示例。

Semgrep最初是Facebook的一个开源项目,我们很幸运有它的原始作者Yoann Padioleau加入我们的r2c团队。自从今年早些时候我们发布了Facebook发布后的第一个版本(0.4)以来,我们已经发布了25个新版本,增加了对8种新语言的支持,重新修改了解析器,以便我们可以与Github合作开发Treate-Sitter,成千上万的GitHub热情追随者加入了我们的行列,并观看了超过10万次Semgrep Docker图片的拉取。

我们的路线图包含更多计划分析功能,以支持大型技术公司已经在大量利用的默认安全强制实施(持续传播、污点跟踪等),以及对更多语言的支持。

随着Semgrep的发布,我们再次宣布推出Semgrep Community和Semgrep Teams。Semgrep Community是用于管理Semgrep CI的免费托管服务,Semgrep Teams是一项付费服务,添加了对企业有用的Semgrep管理附加功能。这两个产品都为操作现代AppSec程序提供了SaaS基础设施。它们支持为您的项目集中定义代码标准,并显示您已经工作过的地方的结果:GitHub、GitLab、Slake、Jira、VS Code等等。

我们也很高兴Semgrep Registry已经有900多条由r2c和社区编写的规则-您现在就可以开始运行您的项目了!或者如果你喜欢DIY,试着写你自己的。

获取有关Semgrep的最新功能和我们的安全研究的最新新闻。我们保证永远不会给您发垃圾邮件。