首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS 静态代码扫描工具调研

作者:黄雪兰 团队:腾讯移动品质中心TMQ 为了进一步加强测试质量,同时探索测试左移在同步中的实践,iOS同步助手尝试接入静态代码扫描工具。希望通过不同的途径提前发现日常测试中难发现的问题。...然而iOS静态代码扫描工具有不少,它们都有什么不同?我应该选哪一个?因此,本文主要针对主流的几个工具,对同步助手的代码进行扫描,并分析对比它们的扫描结果,再敲定后续的接入计划。...源代码通过clang语法分析后,生成了语法分析树(AST)后,可作为静态分析工具对AST进行分析。...infer-out:report.csv、report.json 4、oclint Oclint是针对C、C++和Objective C代码静态扫描分析工具,可以和xcode、xcodebuild、xctool...; (4)oclint扫描出的问题数量最多,但大多是开发不关注的问题,可过滤特定结果类型关注,更适合作为扫描代码复杂度的工具

5.8K10

静态代码扫描方法及工具介绍

本文作者:国勇(信安之路特约作者) 静态扫描就是不运行程序,通过扫描代码的方式检查漏洞,常见的方法也有多种,如把源代码生成 AST(抽象语法树)后对 AST 进行分析,找出用户可控变量的使用过程是否流入到了危险函数...当然静态扫描由于不运行程序也有好多事情处理不了,如程序通过运算得到的一个结果后,就没办法分析这个结果了,所以需要动态运行程序来解决这个问题,也就是动态扫描,动态扫描可以通过单元测试或人工扫描等方式,下面分别介绍一下...AST 扫描 与 正则匹配两种常见静态扫描方式。...Javascript 扫描工具介绍 下面分别介绍两款工具,jsprime 和 NodeJSScan 的介绍与实现原理,其中 jsprime 是通过分析 AST 扫描,NodeJSScan 是通过正则表达式扫描...效果图,左边是源码,右边是分析结果 jsprime 是一个静态代码分析工具,其核心是基于 Esprima ECMAScript 生成 AST 进行扫描,此工具有在 blackhat 上演讲过,他的主要功能有

7.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    DevOps之静态代码扫描

    基于Sonar的代码质量检查 1、Sonar质量管理平台 与当今众多的代码质量管理工具相比,Sonar的优势主要体现为:它是一个开源的代码质量管理系统,支持 25+ 种语言,可以与Jenkins、Eclipse...和 JIRA 等其他外部工具集成,从而实现了对代码的质量的全面自动化分析和管理。...Sonar 为代码的质量管理提供了一个平台,对传统的代码静态检测如 PMD、FindBugs 等工具进行整合,可以说是目前最强大的代码质量管理开源工具之一。...Sonar默认规则进行代码扫描时,扫描出来的违反代码规则的代码量非常大,一下子给开发人员巨大的压力,开发下意识会拒绝修改这么大量的问题。...所以必须对代码扫描规则进行筛选、定制,前期尽量挑选适量的、高级别的规则进行扫描应用,等开发习惯后再分阶段逐步应用更多的规则。Java建议加入阿里巴巴的p3c开发规范。

    1.9K10

    C++静态代码扫描哪家强?

    静态代码分析是指无需运行被测代码,通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行扫描,找出代码隐藏的错误和缺陷,如参数不匹配,有歧义的嵌套语句,错误的递归,非法计算,可能出现的空指针引用等等...所以C++ 静态代码分析工具能够帮助开发人员快速、有效的定位代码缺陷并及时纠正这些问题,从而极大地提高软件可靠性并节省开发成本。...静态代码分析工具的优势 : 自动执行静态代码分析,快速定位代码隐藏错误和缺陷。 帮助代码设计人员更专注于分析和解决代码设计缺陷。...业界主流扫描工具概况 目前市场上的C++ 静态代码分析工具种类繁多且各有千秋,接下来主要介绍WeTest推出的TScanCode代码检查工具(TSC)和两种主流C++静态代码分析工具(cppcheck...内存泄漏是静态下很难检测的一种错误,当前各工具主要是从代码写法上检查内存分配和释放是否配对使用。

    6.4K60

    IOS静态代码扫描--分析与总结

    IOS静态代码扫描--分析与总结 为了进一步加强代码质量,规范并减少代码缺陷,静态代码扫描是上过环节中必不可少的一部分。大多数都希望通过不同的途径提前发现日常测试中难发现的问题。...然而iOS静态代码扫描工具有不少,它们都有什么不同?我应该选哪一个?因此,本文主要针对主流的几个工具,对同步助手的代码进行扫描,并分析对比它们的扫描结果,再敲定后续的接入计划。...源代码通过clang语法分析后,生成了语法分析树(AST)后,可作为静态分析工具对AST进行分析。...Infer命令行调用方法: 安装python 2.7:MAC自带; 安装infer:brew install infer 4、oclint Oclint是针对C、C++和Objective C代码静态扫描分析工具...(可进行缺陷扫描) (4)oclint扫描出的问题数量最多,但大多是开发不关注的问题,可过滤特定结果类型关注,更适合作为扫描代码复杂度的工具

    4.8K21

    利用SonarQube实现代码静态扫描

    SonarQube(Sonar)是一个用于管理代码质量的开源平台。...SonarQube目前已支持超过20种主流编程语言,它管理的代码质量主要涉及7个维度:架构与设计、重复、单元测试、复杂度、潜在的bug、代码标准、注释。 ?   ...使用SONARQUBE-SCANNER扫描分析具体代码   Sonar正常运行后,就需要添加/扫描/分析具体的代码了,SonarQube提供了支持多种工具扫描器(SonarQube Scanner),...其中包括针对MSBuild、Ant、Maven、Gradle这样构建工具以及Jenkins这样CI工具的插件支持之外,还有一个可以直接运行的独立Scanner。...这里就以一个简单的基于Gradle构建的Java项目为例,通过添加对应的gradle插件,实现对该项目代码代码分析。

    1.6K00

    Scanmycode:一款功能强大的静态代码安全扫描工具

    关于Scanmycode Scanmycode是一款功能强大的静态代码安全扫描工具,该工具基于静态分析技术,并使用了多种工具来对目标代码进行扫描扫描完成后会给研究人员生成一份详细的安全扫描报告。...值得一提的是,该工具还允许广大研究人员进行自定义开发或添加其他工具组件。...当前版本的Scanmycode支持多种语言和技术栈,工具概念结构如下图所示: 功能特性 1、集成了多种工具,生成统一报告; 2、标记假阳性; 3、检查器中支持单独启用/禁用检测项; 4、支持1000...多种检测技术; 5、检测速度快,重新检查时工具仅检查新代码; 6、Git支持(HTTPS/TLS和SSH),私有代码库仅支持SSH; 7、所有REST API均可调用(CI/CD可集成); 8、100%...的代码透明度和对代码的完全控制; 工具安装 首先,我们需要在本地设备上安装并配置好docker和docker-compose。

    3.1K20

    Android静态代码扫描效率优化与实践

    Android项目常用的静态扫描工具包括CheckStyle、Lint、FindBugs等,为降低接入成本,美团内部孵化了静态代码扫描插件,集合了以上常用的扫描工具。...静态代码扫描耗时分析 Android项目的构建依赖Gradle工具,一次构建过程实际上是执行所有的Gradle Task。...注:业界有一些增量扫描的案例,例如diff_cover,此工具主要是对单元测试整体覆盖率的检测,以增量代码覆盖率作为一个指标来衡量项目的质量,但是这跟我们的静态代码分析的需求不太符合。...但是对于静态代码扫描,仅仅的差异行不足以完成上下文的语义分析,尤其是针对FindBugs这类需要分析字节码的工具,获取的差异行还需要经过编译成Class文件才能进行分析,方案并不可取。...对于一个已经存在的工程,如果没有使用过静态代码扫描,我们希望在接入扫描插件后续新增的代码能够保证其经过增量扫描没有问题。

    1.6K10

    静态代码分析工具清单

    SAST,即静态应用程序安全测试,通过静态代码分析工具对源代码进行自动化检测,从而快速发现源代码中的安全缺陷。...本文是一个静态代码分析工具清单,收集了一些免费开源的项目,可从检测效率、支持的编程语言、第三方工具集成等几因素来综合考虑如何选择SAST工具。...---- 1、RIPS 一款不错的静态代码分析工具,主要用来挖掘PHP程序的漏洞。...项目地址: http://rips-scanner.sourceforge.net 2、SonarQube 一款企业级源代码静态分析工具,支持Java、PHP、C#、Python、Go等27种编程语言,...github项目地址: https://github.com/PyCQA/bandit 10、Brakeman 一个免费的漏洞扫描器,专门为 Ruby on Rails 应用程序设计。

    3.1K10

    容器静态安全漏洞扫描工具Clair介绍

    根据绿盟2018年3月的研究显示,目前Docker Hub上的镜像76%都存在漏洞,其研究人员拉取了Docker Hub上公开热门镜像中的前十页镜像,对其使用Docker镜像安全扫描工具Clair进行了...CVE扫描统计。...本文将介绍这块由CoreOS官方推出的容器静态安全漏洞扫描工具Clair,该工具也被多款docker registry集成,比如VMware中国开源的Harbor(CNCF成员项目)、Quary以及Dockyard...集成思路如下: 用户推送镜像到容器仓库,仓库根据设置的黑白名单选择是否调用Clair进行扫描 一旦触发Clair扫描,则等待扫描结果返回,然后通知用户 如果发现漏洞,则CI也同时阻止CD流程启动,否则CD...目前从官方列出的衍生开发工具里,已经有非常多的选择。

    2.7K30

    GitHub 官方代码扫描工具上线!

    今年 5 月的 Github Satellite 2020 大会,GitHub 率先推出了代码扫描功能的 beta 版,免费提供开源代码扫描功能。...据 GitHub 介绍,在内测阶段,有 12000 个存储库接受了代码扫描扫描次数达到 140 万次,总共发现了 20000 多个安全问题,包括远程代码执行(RCE)、SQL 注入和跨站脚本(XSS)...经过几个月来众多开发者的的测试与反馈,九月的最后一天,GitHub 宣布「代码扫描」正式上线了。 ? 目前,代码扫描面向公共存储库是免费的。...代码扫描功能首先是基于开发者的需求设计的,默认情况下,代码扫描不会提供过多的建议以免造成干扰,只会在保证安全的原则下运行,让开发者能够专注于手头的任务。...,用户可以将其他静态应用安全检查方案加入 GitHub 原生体验中,比如集成第三方扫描引擎以实现在单个界面查看所有安全检查的结果,或者通过单个 API 导出多个扫描结果。

    1.4K10

    Golang代码漏洞扫描工具介绍——trivy

    Golang代码漏洞扫描工具介绍——trivy Golang作为一款近年来最火热的服务端语言之一,深受广大程序员的喜爱,笔者最近也在用,特别是高并发的场景下,golang易用性的优势十分明显,但笔者这次想要介绍的并不是...golang本身,而且golang代码的漏洞扫描工具,毕竟作为服务端的程序,安全性一直是一个不同忽视的地方 Trivy Trivy介绍 Trivy是不是是一款功能强大的漏洞扫描工具,它的应用场景不仅仅在代码层面...所以一般建议使用在CI的流水线上,而且,由于具有代码扫描和镜像扫描两个能力,所以可以分别在代码合入发起时和接口用例测试前两个步骤进行添加 关于安装: 推荐一个万能的安装方式: 1.在https://>...构建工具,顾名思义就是用于构建(Build)的工具,构建包括编译(Compile)、连接(Link)、将代码打包成可用或可执行形式等等。...如果不使用构建工具,那么对于开发者而言,下载依赖、将源文件编译成二进制代码、打包等工作都需要一步步地手动完成。

    43040

    Golang代码漏洞扫描工具介绍——trivy

    Golang代码漏洞扫描 Golang作为一款近年来最火热的服务端语言之一,深受广大程序员的喜爱,笔者最近也在用,特别是高并发的场景下,golang易用性的优势十分明显,但笔者这次想要介绍的并不是golang...本身,而且golang代码的漏洞扫描工具,毕竟作为服务端的程序,安全性一直是一个不同忽视的地方 Trivy Trivy介绍 Trivy是不是是一款功能强大的漏洞扫描工具,它的应用场景不仅仅在代码层面...所以一般建议使用在CI的流水线上,而且,由于具有代码扫描和镜像扫描两个能力,所以可以分别在代码合入发起时和接口用例测试前两个步骤进行添加 关于安装: 推荐一个万能的安装方式: 1.在https:/...构建工具,顾名思义就是用于构建(Build)的工具,构建包括编译(Compile)、连接(Link)、将代码打包成可用或可执行形式等等。...如果不使用构建工具,那么对于开发者而言,下载依赖、将源文件编译成二进制代码、打包等工作都需要一步步地手动完成。但如果使用构建工具,我们只需要编写构建工具的脚本,构建工具就会自动地帮我们完成这些工作。

    2.1K130

    结合静态代码扫描来给插件间接口把把脉

    [7UH7jbV.png] 经过这么多版本的迭代相信应该有不少多余的水分,插件内的代码各FT通常会清理的比较及时也有一些现成的工具做冗余代码清理,但对外的接口大多担心外部兼容性及依赖问题通常清理不及时,...插件间接口规则实现 考虑插件间接口是通过传递接口常量来完成数据传递,我们可以通过代码扫描来构建我们的上述规则,结合我们的自定义需求来看看目前android常用的三款静态代码扫描工具: [GvZqpUP.png...: [Eg0f0tR.png] [m3205Xm.png] (1)查找插件接口定义: 在扫描工具中我们可以按抽象语法树来进行代码节点的查找,在Android Lint中scanner通过lombok.ast...…… 插件间接口整理只是我们静态代码扫描在缺陷/规范扫描之外结合业务的一个小应用,通过梳理业务定义处理规则,把代码的问题回到代码中来处理。...结合业务代码扫描我们还可以做的更多,也许你也有更多的代码扫描的应用场景也欢迎大家一起探讨~ 关注微信公众号:腾讯移动品质中心TMQ,获取更多测试干货! [4IiAvkh.jpg]

    1.2K60

    Golang代码漏洞扫描工具介绍——govulncheck

    GolangGolang作为一款近年来最火热的服务端语言之一,深受广大程序员的喜爱,笔者最近也在用,特别是高并发的场景下,golang易用性的优势十分明显,但笔者这次想要介绍的并不是golang本身,而且golang代码的漏洞扫描工具...govulncheck 终于有了1.0.0的发布版本,在官方文档中https://go.dev/blog/govulncheck中,一起发布的还有一份官方的安全最佳实践指引 ****:里面包含了以下几个方面: 1.定期扫描代码和二进制库...#Go的race detector检查多协程竞争的情况 5.使用Vet命令检查代码潜在的问题 看的出来golang安全团队在这里是下了大的功夫,这里主要介绍下第一个工具:govulncheckgovulncheckgovulncheck...该工具可以分析代码库和二进制文件,并通过优先考虑实际调用你代码的函数中的漏洞来减少干扰。...,在哪扫描,不同平台的扫描结果不同工程使用哪个go版本,就用对应go版本的govulncheck在函数指针和接口(interface)调用的分析、反射调用的分析比较保守,可能会出现误报6.参考https

    92300

    Golang代码漏洞扫描工具介绍——govulncheck

    Golang作为一款近年来最火热的服务端语言之一,深受广大程序员的喜爱,笔者最近也在用,特别是高并发的场景下,golang易用性的优势十分明显,但笔者这次想要介绍的并不是golang本身,而且golang代码的漏洞扫描工具...govulncheck 终于有了1.0.0的发布版本,在官方文档中https://go.dev/blog/govulncheck中,一起发布的还有一份官方的安全最佳实践指引 ****:里面包含了以下几个方面: 1.定期扫描代码和二进制库...#Go的race detector检查多协程竞争的情况 5.使用Vet命令检查代码潜在的问题 看的出来golang安全团队在这里是下了大的功夫,这里主要介绍下第一个工具:govulncheck govulncheck...该工具可以分析代码库和二进制文件,并通过优先考虑实际调用你代码的函数中的漏洞来减少干扰。...在哪编译,在哪扫描,不同平台的扫描结果不同 工程使用哪个go版本,就用对应go版本的govulncheck 在函数指针和接口(interface)调用的分析、反射调用的分析比较保守,可能会出现误报 6

    45930

    配置Android项目 - 静态代码分析工具

    https://hackernoon.com/configuring-android-project-static-code-analysis-tools-b6dd83282921#.29l4un3xn 静态代码分析工具...静态代码分析工具 - 分析代码而不执行它。...有助于保持你的代码健康,并保持代码质量。 在Android上,最流行的代码分析工具是: Lint PMD Findbugs 我通常将静态代码分析脚本和相关文件保存在单独的文件夹中。...Lint lint工具检查你的Android项目源文件是否存在潜在错误,并针对正确性,安全性,性能,可用性,可访问性和国际化进行优化改进。...Findbugs 静态代码分析工具,用于分析Java字节码并检测各种各样的问题。 配置 要添加findbug到你的android项目需要创建script-findbugs.gradle文件。 ?

    68220
    领券