9款软件敏感信息检测工具特点分析密钥元数据存储库json

随着软件开发的日益复杂,敏感信息(如API密钥和访问令牌)的安全性变得尤为重要。如图1.1,根据GitGuardian的监测数据,2023年GitHub存储库中的密钥暴露数量较2022年增长了28%,累计泄露超过1280万个身份验证和敏感密钥。这一问题不仅威胁到软件的安全性,还可能导致严重的安全漏洞和经济损失。例如,2022年9月,一名攻击者通过利用Uber公司PowerShell脚本中硬编码的管理员凭证,成功接管了该公司的内部工具和应用程序。

图1.12020年至2023年Github密钥泄漏数量

为了应对这一问题,市场上出现了许多开源和专有的敏感信息检测工具,如Gitleaks和SpectralOps等。然而,这些工具在实际使用中存在许多问题,其中最为突出的是高误报率。误报率过高不仅增加了开发人员的工作负担,还可能导致警报疲劳,使得开发人员忽视真正的安全威胁。

二.敏感信息识别的工具比较

2.1

基准数据集

评估软件敏感信息检测工具选择SecretBench作为基准数据集。SecretBench是一个公开可用的软件敏感信息基准数据集,通过GoogleCloudStorage和GoogleBigQuery访问。该数据集包含从GoogleBigQuery公共GitHub数据集中提取的818个公共GitHub存储库,使用了761种正则表达式模式来识别不同类型的敏感信息,总计97479个被标记为真或假,其中15084个是真实的密钥。如图2.1,密钥被手动分类为八个类别,前三个类别分别是私钥、API密钥和认证密钥。

图2.1SecretBench中的8种密钥类型

此外,数据集覆盖了49种编程语言和311种文件类型,并提供了详细的敏感元数据,如存储库名称、文件路径和提交ID。如图2.2,不同文件类型中敏感数据的最多是txt文件、toml配置文件、js文件、html文件与pem文件。

图2.2Top5的敏感文件类型

2.2

测试的敏感信息识别工具

根据可访问性、扫描能力、活跃度、标记精度和报告格式五个标准选择了9个工具(5个开源工具和4个专有工具)进行敏感信息识别比较。

5个开源识别工具

git-secrets是由AWS-Labs开发的开源工具,旨在防止将敏感信息提交到Git存储库中。工具通过扫描整个Git历史,检测并输出存储库中的敏感信息。

Gitleaks是一个用Go编写的开源工具,主要用于检测Git存储库中的敏感信息。通过使用详细模式扫描存储库,以检索匹配敏感信息的元数据,最后将检测到的结果输出为JSON文件,便于后续分析。

Repo-supervisor是一个用JavaScript编写的开源工具,支持通过webhooks扫描GitHub拉取请求,以及从命令行扫描本地存储库目录。该工具在命令行模式下运行,扫描本地存储库并将结果输出为JSON文件。

TruffleHog是由TruffleSecurity开发的开源工具,用于检测Git存储库中的高熵字符串和正则表达式匹配的敏感信息信息。通过启用了正则表达式和熵计算标志来扫描存储库,最后将检测结果输出为JSON文件,以便进一步分析。

Whispers是一个用Python编写的开源工具,支持YAML和XML等结构化文本解析格式。工具将源代码解析为键值对,并检测硬编码的敏感信息。通过使用whispers命令扫描存储库,将结果输出为JSON文件。

4个专有识别工具

CommercialX是一个专有工具,能够扫描GitHub存储库中的敏感信息,还可以检测图像和不可搜索的PDF中的敏感信息。工具支持与Slack、JIRA和GoogleDrive集成。作者联系了供应商团队,提供了基准存储库的快照,并接收了扫描报告。最后将报告中的敏感信息和元数据被解析并输出为CSV文件。

ggshield由GitGuardian开发,是一个依赖GitGuardian公共API的开源工具。通过使用详细模式扫描每个存储库,并将检测到的敏感信息输出为JSON文件。

GitHubSecretScanner是GitHub集成的扫描工具。通过在每个存储库中启用了“SecretScanner”设置,工具自动扫描并在“Security/Secretscanningalerts”选项卡下显示检测到的结果,利用Python脚本通过GitHubRestAPI提取每个存储库的敏感信息,并输出为CSV文件。

SpectralOps是一个专有工具,提供了开发者、安全和审计三种扫描模式。工具使用“安全”模式扫描存储库,以获得更好的精度和召回率。同样的,将敏感信息的详细元数据与对应扫描结果输出为JSON文件。

2.3

工具对比实验与结果

实验中敏感元数据包括CommitID、文件路径、行号和纯文本,这些信息能够识别出工具检测到的具体敏感信息的位置及其上下文。标准化文件路径和纯文本敏感信息有助于提高不同工具报告之间的比较精度。

如图2.3,不同工具的检测结果不同,为了准确评估敏感信息检测工具的性能,通过Jaro-Winkler相似度和Gestalt模式匹配算法,计算工具报告的敏感信息与基准数据集敏感信息的相似度,设定相应的相似度阈值,确保高效准确地匹配。

图2.33种不同工具对于相同敏感信息的不同输出结果

通过对九种工具的实验比较,评估其在检测敏感信息方面的精度、召回率和F1得分。如图2.4所示,GitHubSecretScanner在精度方面表现最佳(75%),但其召回率较低(6%),表明它漏掉了许多敏感信息。Gitleaks在两种召回率情况下均表现出色(情况1:86%,情况2:88%),并且在精度方面也表现良好(46%)。此外,TruffleHog在召回率方面表现良好,但精度较低(6%)。总的来说,没有一个工具同时具有高精度和高召回率,这表明目前的工具在检测敏感信息方面仍存在不足。使用机器学习技术的工具(如CommercialX和SpectralOps)在减少误报方面的表现并不理想,分别只有25%和1%的精度。

作者对敏感信息检测工具的误报和漏报进行了详细分析,发现工具使用通用正则表达式、无效的熵计算是误报的主要原因。另一方面,错误的正则表达式、跳过特定文件类型和规则集不足是漏报的主要原因。

三.总结

本文评估了九种敏感信息检测工具在检测代码库中的敏感信息方面的性能。通过对五个开源工具和四个专有工具的比较得出,GitHubSecretScanner在精度方面表现最佳,而Gitleaks在召回率方面表现突出。当然,不同工具在检测敏感信息方面各有优劣,开发人员应根据具体需求选择合适的工具。例如,GitHubSecretScanner尽管精度高,但召回率较低,表明其可能漏掉许多敏感信息。相反,Gitleaks在召回率和精度之间表现较为平衡,是一个值得推荐的工具。开发人员在选择和使用检测工具时,应根据项目中的具体需求和敏感信息类型,综合考虑工具的精度、召回率和功能。通过合理选择和配置这些工具,可以有效地保护代码库中的敏感信息,增强软件开发过程中的安全性和可靠性。

THE END
1.连锁传递的威胁——从软件供应链视角看网络安全[内部报告公开]此后阿里云安团队在10月22日监测到npm官方仓库ua-parser-js官方账号疑似遭遇劫持。这些事件连同2020年末,SolarWinds 旗下的Orion基础设施管理平台的源码遭到攻击者篡改,导致数百家关键机构遭遇入侵,引发了对软件供应链安全的高度关注。 此篇报告是由安天CERT在2017年9月编写的《连锁传递的威胁——从软件供应链视角看网络...https://card.weibo.com/article/m/show/id/2309634696681349251807
2.软件测试面试时常考的几道面试题数据和数据库完整性测试;功能测试;用户界面测试;性能评测;负载测试;强度测试;容量测试;安全性和访问控制测试;故障转移和恢复测试;配置测试;安装测试;加密测试;可用性测试;版本验证测试;文档测试在软件测试各个阶段通常完成什么工作?各个阶段的结果文件是什么?包括什么内容? https://www.itcast.cn/news/20190318/14230046904.shtml
3.保密+完整+可用+安全,规避代码安全「马奇诺防线」,构建软件供应链...还有软件漏洞和开源及第三方组件风险,据统计,国内有 90% 以上公司都使用了第三方开源代码,这个数字还在逐年增高。这些开源代码本身可能存在安全问题。 数据来源:漏洞知识库(CVE)&中国国家信息安全漏洞共享平台(CNVD) 传统软件安全主要关注软件运行过程中的安全,一般是在软件发布、交付前后对软件应用的安全进行测试和评估...https://xie.infoq.cn/article/923728f1d3b2472aca196e65d
1.存在隐私不合规行为,这13款App要注意,社会万象国家计算机病毒应急处理中心依据《网络安全法》《个人信息保护法》《App违法违规收集使用个人信息行为认定方法》等法律法规及相关国家标准要求,近期通过互联网监测发现13款移动App存在隐私不合规行为,涉及电商等领域。 1、在App首次运行时未通过弹窗等明显方式提示用户阅读隐私政策等收集使用规则、未声明App运营者的基本情况...https://www.lh168.net/portal.php?mod=view&aid=31462
2.网络安全e起学这17款APP有风险!看看你的手机里有没有!快看看你手机里有没有这些APP? 图源:工业和信息化部 工业和信息化部依据《个人信息保护法》《网络安全法》《电信条例》《电信和互联网用户个人信息保护规定》等法律法规,持续整治APP侵害用户权益的违规行为。近期,工业和信息化部组织第三方检测机构进行抽查,共发现17款APP及SDK存在侵害用户权益行为,现予以通报。上述...https://www.thepaper.cn/newsDetail_forward_28488396
3.朝鲜黑客创建经过安全验证的恶意软件攻击macOS系统Jamf 发现的 6 个恶意应用程序中有 5 个具有用合法的开发人员 ID 签名,并且恶意软件已通过公证,这意味着这些应用程序被苹果的自动化系统扫描并被认为安全。 经过安全签名、带有木马的扫雷游戏 Jamf 还发现了两款基于 Golang 和 Python 变体的应用,两者都向一个已知的与朝鲜有关联的域 "mbupdate.linkpc[.]net...https://www.51cto.com/article/801601.html
4.网络安全论文3000字(精选10篇)计算机技术更新速度越来越快,对计算机网络安全技术也提出了更多的挑战,加上人们对于计算机网络使用的范围和频率越来越高,因此做好计算机网络安全技术研究非常重要。计算机网络安全包括四个方面,信息安全、运行安全、物理安全和软件安全,也可以分为两大方面信息安全和控制安全。信息安全主要是指计算机网络中所有的存储信息和...https://mip.ruiwen.com/lunwen/1260841.html
5.GitHubakiritsu/cslearning容器是一个轻量级的、可执行的软件包,包含运行应用所需的一切:代码、运行时环境、库、环境变量和配置文件。 跨平台兼容性:Docker 容器可以在任何支持Docker的操作系统上运行,包括Linux、Windows和macOS。这消除了常见的“在我的机器上运行正常”的问题。 隔离性:每个Docker容器都在自己的隔离环境中运行。这提高了安全...https://github.com/akiritsu/cs-learning-map
6.钢铁行业工业互联网安全解决方案上海宝信软件股份有限公司 网络行业应用篇/工业互联网安全 1 概述 1.1背景 伴随着互联网信息技术、工业自动化技术的革命性突破和全球经济一体化的发展,工业互联网应运而生,并迅速成为热门技术,已经成为钢铁行业不断研究和持续探索的热点课题。经过近几年的发展,钢铁工业互联网的推广普及已经成为工业经济发展提供了更多的...http://www.aii-alliance.org/index.php/index/c156/n1593.html
7.思科网络技术学院教程(第6版):网络简介第1章“探索网络”:介绍网络的概念并概述各种不同的网络。探讨网络对我们的工作、学习和娱乐方式的影响,讨论新的网络趋势,如视频、云计算和BYOD,以及如何确保支持这些趋势的网络健壮、可靠而安全。 第2章“配置网络操作系统”:简要地介绍大多数思科设备使用的操作系统—Cisco IOS。描述IOS的基本用途和功能以及访问IOS...https://www.epubit.com/bookDetails?id=N15003
8.VPN安全风险须知为VPN 添加其他安全功能 可以针对 VPN 漏洞添加其他安全防护,例如采用防病毒软件、多因素身份验证和设备身份验证支持。但是,这样做会增加 IT 主管的工作量,并且需要持续维护,而且每个工具价格都很贵。对于 IT 团队来说,管理多种工具并确保这些工具能协同运作不但困难而且耗时。 https://www.splashtop.cn/cn/blog/vpn-security-risks
9.软件开发安全性问题都有哪些(软件的安全性包括哪些)软件开发中的安全性问题是多方面的,包括以下方面: 1. 输入验证: 不充分的输入验证可能导致恶意用户通过输入恶意数据来攻击应用程序。开发人员应确保输入数据被正确验证和过滤,以防止跨站点脚本(XSS)和SQL注入等攻击。 2. 身份验证和授权: 软件应用程序需要有效的身份验证和授权机制,以确保只有授权用户可以访问和执行特...https://www.zbj.com/zx/wz/5103515
10.用手机验证器让你的Origin帐号更安全软件资讯技巧应用1如何开启验证器 现在的游戏帐号或者是游戏平台帐号的安全防护措施已经越来越多,而手机验证器就是其中之一。像暴雪、盛大、Steam等这样的平台都有自己的专属手机验证软件,而EA旗下的Origin却没有,那么要怎么才能开启Origin的手机验证呢? 首先说一下为什么要开启Origin的手机验证。经常玩Origin平台游戏的玩家都知道,我们...https://soft.zol.com.cn/569/5691617_all.html
11.美国CISA云安全技术参考架构(第二版)全文翻译云技术经过多年发展,衍生出了各种_aaS服务,包括桌面即服务(DaaS)、安全即服务(SECaaS)、人工智能即服务(AIaaS)、容器即服务(CaaS)、灾难恢复即服务(DRaaS)、物联网即服务(IOTaaS)、位置即服务(LaaS)、监控即服务(MaaS)、统一通信即服务(UCaaS)和工作空间即服务(WaaS)等,这一名单仍在不断更新。这些新增的服务...https://www.secrss.com/articles/53867
12.针对准备安装时发生的错误的10个经过验证的修复方法更新或重新安装 Mac 操作系统 (macOS) 是维护系统性能和安全性的一项重要任务。 然而,有时 Mac 用户可能会遇到类似“准备安装时发生错误在 Mac 上更新或安装操作系统时。 在本文中,我们将讨论导致此错误的可能原因,并提供 10 种有效的解决方案来修复它。 https://www.apeaksoft.com/zh-CN/fix/an-error-occurred-while-preparing-the-installation.html
13.汽车基础软件信息安全关键技术基础软件自身安全的要求。为保证上述功能的安全实现不被绕过,基础软件还需保证自身的安全, 如不存在公开漏洞、安全启动等。 产品开发阶段 软件安全需要基于完整的安全分析进行设计,从硬件的安全信任根开始,保证每层的程序调用都是基于经过验证的,包括程序完整性的验证,访问权限的验证,参数合理性验证等。 软件实现过程是...https://www.eet-china.com/mp/a197140.html
14.离开华数,奔向未来的广电青年人!流媒体网4、智能软件定义安全验证平台 (1)基于Openstack的软件定义入侵检测系统 (2)基于Opendaylight的软件定义防火墙系统 (3)终端云端协同的智能蜜罐(Honeypot)系统 (4)基于Openstack的软件定义无线网络安全系统 (5)智能软件定义安全协同防护平台 5、NB-IoT开源平台 ...https://lmtw.com/mzw/content/detail/id/175825/keyword_id/155
15.云技术解决方案:芯片设计验证和软件安全新思科技将设计、存储和安全推向新高度 云服务提供商需要极速、节能的芯片来支持数据中心。随着越来越多的企业将关键任务应用迁移到云上,数据隐私和软件安全受到越来越多的关注。新思科技的技术带来生产效率、可扩展性、安全性和灵活性,可以在云中设计和验证芯片,并将软件应用迁移到云中。https://www.synopsys.com/zh-cn/cloud.html
16.如何识别和应对未受信任的企业级开发者风险常见问题这一事件提醒我们,在选择企业级开发者的产品时,应关注其安全性和响应速度。 拓展知识: 1、零信任安全模型 零信任安全模型是一种新的网络安全理念,强调不信任任何内部或外部的用户和设备,所有访问请求都需要经过严格的验证和授权。通过实施零信任安全模型,可以有效降低未受信任的企业级开发者带来的风险。 2、开源软件的...https://www.xiaoyuxitong.com/cjwt/164055.html
17.手机丢了要怎么办双重认证是一种更为安全的验证方式,即使手机丢失,也可以防止他人轻易进入你的账户。可以在重要账号(如Apple ID、微信、支付宝等)上开启双重认证,确保账户安全。 3、及时更新软件和系统 及时更新软件和系统可以避免手机存在漏洞,避免被黑客攻击的可能性。同时,及时更新还可以提升手机的性能和体验感。 https://www.jy135.com/shouji/253805.html