Introduction(介绍)

    Cobra为什么能从源代码中扫描到漏洞?

    对于一些特征较为明显的可以使用正则规则来直接进行匹配出,比如硬编码密码、错误的配置等。 对于OWASP Top 10的漏洞,Cobra通过预先梳理能造成危害的函数,并定位代码中所有出现该危害函数的地方,继而基于Lex(Lexical Analyzer Generator, 词法分析生成器)和Yacc(Yet Another Compiler-Compiler, 编译器代码生成器)将对应源代码解析为AST(Abstract Syntax Tree, 抽象语法树),分析危害函数的入参是否可控来判断是否存在漏洞(目前仅接入了PHP-AST,其它语言AST接入中)。

    • 开发源代码(基于开放的MIT License,可更改源码)
    • 支持开发语言多(支持十多种开发语言和文件类型)
    • 支持漏洞类型多(支持数十种漏洞类型)
    • 专业支持,持续维护(由白帽子、开发工程师和安全工程师一起持续维护更新,并在多家企业内部使用)

    Cobra支持哪些开发语言?

    目前Cobra主要支持PHP、Java等主要开发语言及其它数十种文件类型,并持续更新规则和引擎以支持更多开发语言,具体见支持的开发语言和文件类型

    Cobra能应用在哪些场景?

    • 【漏洞出现前】通过内置的扫描规则对公司项目进行日常扫描,并推进解决发现的漏洞。
    • 【漏洞出现后】当出现一种新漏洞,可以立刻编写一条Cobra扫描规则对公司全部项目进行扫描来判断受影响的项目。

    Cobra提供Web服务的同时也提供了命令行服务。

    • 【CLI】通过命令行扫描本地源代码,发现其中安全问题。
    • 【API&GUI】以Web Server形式部署在服务器上,供内部人员通过GUI的形式访问使用,并可以通过API集成到CI或发布系统中。

    如何参与Cobra开发?

    Cobra文档