精华内容
下载资源
问答
  • 代码扫描工具

    2019-03-25 16:42:42
    端玛企业级静态源代码扫描分析服务平台(英文简称:DMSCA)是一个独特的源代码安全漏洞、质量缺陷和逻辑缺陷扫描分析服务平台。该平台可用于识别、跟踪和修复在源代码中的技术和逻辑上的缺陷,让软件开发团队及测试...

    端玛企业级静态源代码扫描分析服务平台(英文简称:DMSCA)是一个独特的源代码安全漏洞、质量缺陷和逻辑缺陷扫描分析服务平台。该平台可用于识别、跟踪和修复在源代码中的技术和逻辑上的缺陷,让软件开发团队及测试团队快速、准确定位源代码中的安全漏洞、质量和业务逻辑缺陷等问题,并依据提供的专业中肯的修复建议,快速修复。提高软件产品的可靠性、安全性。同时兼容并达到国际、国内相关行业的合规要求。

    DMSCA是端玛科技在多年静态分析技术的积累及研发努力的基础上,联合多所国内及国际知名大学、专家共同分析全球静态分析技术的优缺点后、结合当前开发语言的技术现状、源代码缺陷的发展势态和市场后,研发出的新一代源代码企业级分析方案,旨在从根源上识别、跟踪和修复源代码技术和逻辑上的缺陷。该方案克服了传统静态分析工具误报率(False Positive)高和漏报(False Negative)的缺陷。打断了国外产品在高端静态分析产品方面的垄断,形成中国自主可控的高端源代码安全和质量扫描产品,并支持中国自己的源代码检测方面的国家标准(GB/T34944-2017 Java、GB/T34943-2017 C/C++、GB/T34946-2017 C#),致力于为在中国的企业提供更直接,更个性化的平台定制和本地化服务。

    DMSCA支持主流编程语言安全漏洞及质量缺陷扫描和分析,支持客户化平台界面、报告、规则自定义,以满足客户特定安全策略、安全标准和研发运营环境集成的需要。产品从面世,就获得了中国国内众多客户的青睐,这些客户包括但不限于银行、在线支付、保险、电力、能源、电信、汽车、媒体娱乐、软件、服务和军事等行业的财富1000企业。

    自主式代码安全扫描分析

    主要是采用国内端玛科技的企业级源代码扫描分析服务平台DMSCA和国际知名的VeraCode源代码扫描分析服务平台。以下是相关服务平台的概述 :

    1. DMSCA-企业级静态源代码扫描分析服务平台
      系统构架
      在这里插入图片描述
      可以通过Internet或者局域网络 从浏览器、Eclipse、Visual Studio 、命令行 、甚至 Web 服务访问DMSCA 服务平台,上传扫描代码,选择扫描策略,自动化扫描, 并利用平台可视化环境 ,审计扫描结果 ,生成审计报告 ,并可以利用平台提供的知识库 ,学习软件安全漏洞 、代码质量缺陷等多方面的知识,加速源代码缺陷修复 。 如需了解更详细信息,下载地址:代码审计网

    2、VeraCode静态源代码扫描分析服务平台

    Veracode静态源代码分析服务平台是全球商业运营最好的平台,全球数千家 软件科技公司都在使用其服务发现软件安全漏洞、质量缺陷。

    在这里插入图片描述
    支持众多主流的开发语言和框架:

    Java

    .NET

    JavaScript & TypeScript (including AngularJS, Node.js, and jQuery)

    Python, Perl, PHP, Ruby on Rails, Scala, ColdFusion, Classic ASP

    iOS (Objective-C and Swift), Android (Java), PhoneGap, Cordova, Titanium, Xamarin

    C/C++ (Windows, RedHat Linux, OpenSUSE, Solaris)

    COBOL, RPG, Visual Basic 6

    1. Fortify SCA 及 Checkmarx
    展开全文
  • TscanCode是一款静态代码扫描工具,TscanCode旨在助力开发与测试人员从代码层面挖掘问题,将那些长期困扰项目的诸如空指针宕机等问题,扼杀于萌芽阶段。支持用户根据不同需求自定义配置检查项,有极强的扩展性和可...
  • 逻辑错误,重复的代码分支,bool类型和INT进行比较,表达式永远True或者false等共18类检查; 可疑代码检查,if判断中含有可疑的=号; 运算错误,判断无符号数小于0,对bool类型进行++自增等,共计11类检查。 二、...

    一、简介


    TscanCode支持以下类型规则扫描:

    1. 空指针检查,包含可疑的空指针;
    2. 数据越界;
    3. 内存泄漏,分配和释放不匹配;
    4. 逻辑错误,重复的代码分支,bool类型和INT进行比较,表达式永远True或者false等共18类检查;
    5. 可疑代码检查,if判断中含有可疑的=号;
    6. 运算错误,判断无符号数小于0,对bool类型进行++自增等,共计11类检查。

    二、安装


    (linux环境)进入代码仓库:https://github.com/Tencent/TscanCode, 克隆到本地(或者到码云镜像https://gitee.com/tyq123/TscanCode

    $ git clone https://github.com/Tencent/TscanCode

    1、直接使用编译好的执行文件,在release目录下:

           $ cd ./TscanCode-t/release/linux
                  $ cd ./TscanCodeV2.14.24.linux/TscanCodeV2.14.2395.linux
                  $ chmod a+x tscancode 

    2、源码编译
                  $ cd trunk/ 
                  $ make 
                  修改cfg/cfg.xml #cfg.xml 配置不当,可能导致检测结果为空,建议value="0"的再开启一些

    代码安全静态扫描工具TscanCode支持多平台运行,包括Linux、Windows和mac版本,在Linux下可通过cfg/cfg.xml对扫描的规则进行配置,
    其中通过设置value=0则禁用,value=1则启用。windows下是GUI,交互比较友好。

    三、扫描过程


    $ ./tscancode --xml --enable=all -q ${CODE_DIR} >scan_result.xml 2>&1

    执行./tscancode 或 ./tscancode -h 可获得帮助信息

    一些参数:

    --enable=<id> all:检查所有    warning:检查warning级别的项目    unusedFunction:检查未使用函数 等

    -I <dir> 指示头文件目录

    -j <jobs> [jobs]个线程同时扫描

    -q 静默模式

    --xml 输出xml格式的扫描报告

    示例:

    $ export CODE_DIR=/data/your/code/dir/

    $ ./tscancode --xml --enable=all -I $CODE_DIR/include $CODE_DIR/*.cpp 2>result.xml

    处理过程:

     

    分析过程:

     

    检查过程:

     

    普通文本格式扫描结果:

    查看下具体代码:

    上图的给指针pp直接置空有问题,内存泄漏了。然后关闭释放资源pp也有问题,因为pp为空指针了。

    上图411行,对data2这个指针求长度,被认为是异常的,应该是求变量的长度。

    等等...

     

    一般开发时使用可能只需要知道行号即可,也可以用xml格式输出,查看问题代码上下文。

    四、规则扩展


    开源代码,可根据情况修改。

    五、其他代码检查工具调研


    1、cppcheck

    Cppcheck是 用于C / C ++代码的静态分析工具。它提供独特的代码分析以检测错误,并专注于检测未定义的行为和危险的代码构造。目标是极少出现误报。

    也有windows和linux版本,windows版为图形界面。

    可通过sourceforge下载安装:wget https://master.dl.sourceforge.net/project/cppcheck/cppcheck/1.75/cppcheck-1.75.tar.gz

    编译同样很简单:$ make

    使用和tscancode很相似:$ ./cppcheck --enable=all /home/your/code/dir/*.cpp

    但是得出的结论是,准确率没有比tscancode高,而且会有较多误报:不同函数里定义的同名变量,被认为是重复定义。

     

    还有其他几款代码检查工具:pclint、coverity、clang等

    以下来自网上技术文章中的对比信息:

    https://blog.csdn.net/bandaoyu/article/details/108114456

    准确率规则也分空指针、越界、变量为初始化、内存/资源泄漏、逻辑错误等规则,以上对比是综合评分。

    展开全文
  • 端玛企业级静态源代码扫描分析服务平台(英文简称:DMSCA)是一个独特的源代码安全漏洞、质量缺陷和逻辑缺陷扫描分析服务平台。该平台可用于识别、跟踪和修复在源代码中的技术和逻辑上的缺陷,让软件开发团队及测试...

    转载于:https://www.cnblogs.com/xiaominggong/archive/2019/05/06/10821005.html

    一、DMSCA-企业级静态源代码扫描分析服务平台

        端玛企业级静态源代码扫描分析服务平台(英文简称:DMSCA)是一个独特的源代码安全漏洞、质量缺陷和逻辑缺陷扫描分析服务平台。该平台可用于识别、跟踪和修复在源代码中的技术和逻辑上的缺陷,让软件开发团队及测试团队快速、准确定位源代码中的安全漏洞、质量和业务逻辑缺陷等问题,并依据提供的专业中肯的修复建议,快速修复。提高软件产品的可靠性、安全性。同时兼容并达到国际、国内相关行业的合规要求。    

     DMSCA是端玛科技在多年静态分析技术的积累及研发努力的基础上,联合多所国内及国际知名大学、专家共同分析全球静态分析技术的优缺点后、结合当前开发语言的技术现状、源代码缺陷的发展势态和市场后,研发出的新一代源代码企业级分析方案旨在从根源上识别、跟踪和修复源代码技术和逻辑上的缺陷。该方案克服了传统静态分析工具误报率(False Positive)高和漏报(False Negative)的缺陷。打断了国外产品在高端静态分析产品方面的垄断,形成中国自主可控的高端源代码安全和质量扫描产品,并支持中国自己的源代码检测方面的国家标准(GB/T34944-2017 Java、GB/T34943-2017 C/C++、GB/T34946-2017 C#),致力于为在中国的企业提供更直接,更个性化的平台定制和本地化服务。    

     DMSCA支持主流编程语言安全漏洞及质量缺陷扫描和分析,支持客户化平台界面、报告、规则自定义,以满足客户特定安全策略、安全标准和研发运营环境集成的需要。产品从面世,就获得了中国国内众多客户的青睐,这些客户包括但不限于银行、在线支付、保险、电力、能源、电信、汽车、媒体娱乐、软件、服务和军事等行业的财富1000企业。

        1、系统架构

    2、系统组件

    3、产品界面

    4、集成SDLC

     五 、主要功能及特性

     操作系统独立。代码扫描不依赖于特定操作系统,只需在在企业范围内部署一台扫描服务器,就可以扫描其它操作系统开发环境下的代码。

    编译器独立、开发环境独立,搭建测试环境简单快速且统一。由于采用了独特的虚拟编译器技术,代码扫描不需要依赖编译器和开发环境,无需为每种开发语言的代码安装编译器和测试环境,只需要通过客户端、浏览器、开发环境集成插件登录到we服务器。

    工具学习、培训和使用的成本少,最小化影响开发进度。由于编译器、操作系统和开发环境独立,使用者无需去学习每种平台下如何去编译代码,调试代码、如何扫描测试代码,无需去看每种平台下繁琐的使用手则。因为端玛代码扫描系统服务只需要提供源代码即可扫描,并给出精确的扫描结果。 

    低误报。 DMSCA企业服务在扫描过程中全面分析应用的所有路径和变量。准确地分析结果,验证可能的风险是否真正导致安全问题,自动排除噪音信息,扫描结果几乎就是最终的分析结果,误报率(False Positive)几乎为零。极大的减少了审计分析的人工劳动成本,极大节省了代码审计的时间,为开发团队赢得更多的开发时间。 

     安全漏洞覆盖面广且全面 (低漏报)。数以百计的安全漏洞检查适合任于何组织,支持最新的OWASP 、CWE、SANS、PCI、SOX、GDPR、等国际权威组织对软件安全漏洞的定义,同时支持中国国家源代码安全检测标准(GB/T34944-2017 Java、GB/T34943-2017 C/C++、GB/T34946-2017 C#)。漏洞覆盖面广,安全检查全面,其自定义查询语言可以让用户灵活制定需要的代码规则,极大的丰富组织特定的代码安全和代码质量的需要。

    安全查询规则清晰且完全公开实现。规则定义清晰,并完全公开所有规则的定义和实现让用户清楚知道工具如何去定义风险、如何去查找风险,透明各种语言风险。让用户知道工具已经做了那些工作,没有做那些该工作。而不是给用户一个黑匣子,用户无法了解工具的细节和缺陷,无法在代码审计过程中规避工具的风险(比如漏报和误报),比如利用人工或者其它手段查找工具不能定位的问题。

    安全规则自定义简单高效。由于公开了所有规则实现的细节和语法,用户可以快速修改规则或者参考已有的规则语句自定义自己需要规则,规则学习,定义简单高效。能快速实现组织软件安全策略。

    业务逻辑和架构风险调查。端玛代码扫描系统服务可以对所有扫描代码的任意一个代码元素(词汇)做动态的数据影响、控制影响和业务逻辑研究和调查。分析代码逻辑和架构特有的安全风险,并最后定义规则精确查找这些风险。这是目前唯一能动态分析业务逻辑和软件架构的静态技术。

    攻击路径的可视化,并以3D形式展现。每一个安全漏洞的攻击模式和路径完全呈现出来,以3D图形的方式显示,便于安全问题调查和分析。

    支持主流语言:Java、JSP、JavaSript、VBSript、C#、ASP.net、VB.Net、VB6、C/C++、ASP、PHP、Python、Swift、Ruby、Perl、PL/SQL、Android、OWASP ESAPI、MISRA、obxxxxjective-C (iOS)、API及第三方语言。

    支持的主流框架(frxxxxamework):Struts、Spring、Ibatis、GWT、Hiberante、Enterprise Libraries、 Telerik、ComponentArt、Infragistics、FarPoint、Ibatis.NET、Hibernate.Net [*]、MFC。可针对客户特定框架快速定制支持。

    服务独立,全面的团队扫描支持。作为服务器运行。开发人员、管理人员和审计人员都可以凭各自的身份凭证从任何一处登录服务器,进行代码扫描、安全审计、团队、用户和扫描任务管理。

    高度自动化扫描任务。自动集成版本管理(SubVersion、TFS、Git、其它)、SMTP邮件服务器和Windows账户管理,实现自动扫描代码更新、自动扫描、自动报警和自动邮件通知等。

    支持多任务排队扫描、并发扫描、循环扫描、按时间调度扫描,提高团队扫描效率。

    云服务实现:支持跨Internet实现源代码安全扫描“云服务”。

    支持最佳修复位置建议 ,图形显示最佳修复点。

    支持客户化平台定制:定规则、定策略、定界面、定报告、定流程、定规范及接口集成。

     

    二、VeraCode静态源代码扫描分析服务平台

    Veracode静态源代码分析服务平台是全球商业运营最好的平台,全球数千家 软件科技公司都在使用其服务发现软件安全漏洞、质量缺陷。

     

    支持众多主流的开发语言和框架:   

     Java

    .NET

     jaxxxxvascxxxxript & Typescxxxxript (including AngularJS Node.js and jQuery)

     Python Perl PHP Ruby on Rails Scala ColdFusion Classic ASP

    iOS (obxxxxjective-C and Swift) Android (Java) PhoneGap Cordova Titanium Xamarin

     C/C++ (Windows RedHat Linux OpenSUSE Solaris)

     COBOL RPG Visual Basic 6

     

    三、Fortify Scan

          Fortify SCA是一个静态的、白盒的软件源代码安全测试工具。它通过内置的五大主要分析引擎:数据流、语义、结构、控制流、配置流等对应用软件的源代码进行静态分析,分析的过程中与它特有的软件安全漏洞规则进行全面地匹配、查找,从而将源代码中存在的安全漏洞扫描出来,并给于整理报告。

     

    四、Checkmarx

          Checkmarx的CxEnterprise静态源代码安全漏洞扫描和管理方案是一款比较全面的、综合的源代码安全扫描和管理方案,该方案提供用户、角色和团队管理、权限管理、扫描结果管理、扫描调度和自动化管理、扫描资源管理、查询规则管理、扫描策略管理、更新管理、报表管理等多种企业环境下实施源代码安全扫描和管理功能。

    展开全文
  • Flake8 是由Python官方发布的一款辅助检测...Flake8是对下面三个工具的封装:1)PyFlakes:静态检查Python代码逻辑错误的工具。2)Pep8: 静态检查PEP8编码风格的工具。3)NedBatchelder’s McCabe script:静态分析Py...

    Flake8 是由Python官方发布的一款辅助检测Python代码是否规范的工具,相对于目前热度比较高的Pylint来说,Flake8检查规则灵活,支持集成额外插件,扩展性强。Flake8是对下面三个工具的封装:

    1)PyFlakes:静态检查Python代码逻辑错误的工具。

    2)Pep8: 静态检查PEP8编码风格的工具。

    3)NedBatchelder’s McCabe script:静态分析Python代码复杂度的工具。

    不光对以上三个工具的封装,Flake8还提供了扩展的开发接口。

    官方文档:https://pypi.python.org/pypi/flake8/

    一、安装flake8

    pip install flake8

    可通过flake8 -h来检测是否安装成功

    二、使用方法

    假设文件结构如下:

    1、检查整个项目的代码:

    flake8 yzs-pytest

    如下,检查结果图:

    2、对于一些代码长度的错误我们希望可以忽略他,可以使用如下命令

    如果需要选择多个特定错误码用逗号隔开就可以了,eg:错误码1,错误码2

    flake8 yzs-pytest --ignore E501

    3、可以指定每行代码可接受的长度,默认的长度是79

    flake8 yzs-pytest -max-line-length=130

    4、统计扫描的问题总数

    flake8 yzs-pytest --count

    5、扫描指定的py文件的代码

    flake8 yzs-pytest/common/get_token.py

    6、展示特定的错误

    flake8 --select E501  yzs-pytest

    如果需要选择以特定类型开头的错误码,eg:以E开头

    flake8  --select E  yzs-pytest

    如果需要选择多个特定错误码用逗号隔开就可以了,eg:错误码1,错误码2

    7、忽略特定文件/文件夹

    静态代码检查忽略conftest.py文件,设定多个忽略方法同上;也可以指定以某后缀结尾的,eg:.svn,.git等

    falke8 --exclude yzs-pytest/conftest.py

    8、将检查结果导出(可以指定导出的路径及导出的文件格式,如下我是导出到桌面)

    flake8 yzs-pytest --output-file C:\Users\admin\Desktop\scanResult.txt

    常用的差不多就这些了吧

    关于flake8的更多命令参考:flake8 -h

    展开全文
  • 端玛企业级静态源代码扫描分析服务平台(英文简称:DMSCA)是一个独特的源代码安全漏洞、质量缺陷和逻辑缺陷扫描分析服务平台。该平台可用于识别、跟踪和修复在源代码中的技术和逻辑上的缺陷,让软件开发团队及测试...
  • 端玛企业级静态源代码扫描分析服务平台(英文简称:DMSCA)是一个独特的源代码安全漏洞、质量缺陷和逻辑缺陷扫描分析服务平台。该平台可用于识别、跟踪和修复在源代码中的技术和逻辑上的缺陷,让软件开发团队及测试...
  • (3)统计证明,在整个软件开发生命周期中,30% 至 70% 的代码逻辑设计和编码缺陷是可以通过静态代码分析来发现和修复的。 目标:希望在编码阶段发现更多问题。(静态代码扫描、code review) 静态代码分析理论基础...
  • 1 扫描逻辑程序有两个非并行的逻辑,第一个逻辑是检测dom型xss,第二个逻辑是检测经过后端的xss。在执行两个逻辑之前,程序会先判断目标路径上是否有参数值为空的情况,有则赋为1,比如:baidu.com/?id=99&name=...
  • 逻辑错误,重复的代码分支,bool类型和INT进行比较,表达式永远True或者false等共18类检查 可疑代码检查,if判断中含有可疑的=号,自由变量返回局部变量等共计15类检查 运算错误,判断无符号数小于0,对bool类型进行+...
  • findBugs 代码静态扫描 学习笔记

    千次阅读 2016-04-26 16:07:52
    为了有针对性的使用这个工具,减少bug的误报,提高使用效率,我们选择了10个左右的bug模式,下面就是对这10个模式的解释。 这些bug可能会引起程序的性能或逻辑问题. 需要说明的是,findbugs能检测的bug pattern远...
  • 代码静态检查工具汇总

    千次阅读 2014-03-31 20:43:01
    静态代码扫描,借用一段网上的原文解释一下(这里叫静态检查):“静态测试包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。代码检查代码检查...
  • 目录 0x00 废话 0x01 扫描逻辑 第一个逻辑:dom型xss 第二个逻辑:经过后端的xss 0x02 总结 ...DSXS是一个只有一百行代码的xss扫描器,其作者刚好就是写sqlmap的那位,下面来看一下其扫描逻辑...
  • 静态代码分析工具汇总

    万次阅读 2015-10-26 14:49:36
    静态代码扫描,借用一段网上的原文解释一下(这里叫静态检查):“静态测试包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。代码检查代码检查...
  • 静态代码分析工具

    千次阅读 2013-07-15 10:02:14
    本帖hyddd原创,转载请标明,谢谢8>~ 这两天看关于静态代码扫描的东东,一开始没什么头绪,搜了一下...它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。代码检查代码检查包括代码走查、
  • 静态代码扫描,借用一段网上的原文解释一下(这里叫静态检查):“静态测试包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。代码检查代码检查...
  • 问题描述:最近梳理项目功能时,发现人肉代码太费时,想找一下关于java代码静态扫描的的工具,都是基于代码运行时链路跟踪的那套,我是想在代码非运行时,通过代码扫描获取所有业务代码的调用顺序逻辑。类似Idea中的...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 212
精华内容 84
关键字:

代码逻辑扫描工具