令人敬畏的软件 - 供应链 - 安全性
软件供应链安全域中资源的汇编,重点是开源。
- 令人敬畏的软件 - 供应链 - 安全性
- 关于此列表
- 依赖智能
- 使用点验证
- 身份,签名和出处
- 框架和最佳实践参考
- 建立技术
- 会谈,文章,媒体报道和其他阅读
关于此列表
该领域没有规定的分类学。该列表必须与DevSecops,Sast,SCA等学科和类别有一些重叠。
供应链合成的存储库提供了有关为什么是这种情况的长期阅读,并随着演变而了解和导航的有用指针。
对于awesome-software-supply-chain-security我们采用以下高级方法:供应链中的不同演员为链中代表的元素做出了证明。
在这种以过程为中心的观点中,发出证明,增强(例如,在组成期间)并进行了验证。
乔什·布雷斯斯(Josh Bressers)在这里描述了另一种看待这一点的方法,这是Spotify的野外叙述
使用这些镜头,我们可以识别大量的“主题”(依赖性),“事实”(许可或脆弱性)的不同类别以及身份,出处和建筑系统的具体作用。这是当前标题背后的基本原理,预计将随着域而发展。
定义该域的正在进行的过程的其他示例包括添加不良设计作为供应链方案·问题#249·SLSA-FRAMEWORK/SLSA,SLSA如何适合更广泛的供应链安全? ·问题#276·SLSA-FRAMEWORK/SLSA。从Aeva Black和Dan Lorenc查看此推文,以获取另一个关键项目的另一个观点。
依赖智能
本节包括:软件包管理,库管理,依赖管理,供应商依赖关系管理,划界搜索,软件包,图书馆和依赖项命名,库行为标签,图书馆出版,注册表和存储库,发布门和扫描,依赖性生命周期。
- 开源见解
- GUACSEC/GUAC:GUAC将软件安全元数据汇总到高保真图形数据库中。
- 包装 - url/purl-spec:purl aka的最小规范。一个软件包“主要是通用” URL,在https://gitter.im/package-url/lobby上加入讨论
- 在线服务有助于了解特定依赖性是什么,或者至少是已知的(通常将其喂食包装标识符,例如
purl ,CPE或其他形式的ecosystem:name:version或通过Hash):- NSRL:COTS软件的哈希,从Sleuthkit/Hfind到Nsrllookup的工具整合
- 可以通过公共API查询的来源(HTTP和DNS!),并且可以更开源感知是Circl Hashlookup
- Repology在多个分布中对Linux软件包具有传奇的覆盖范围;它的重复学院和其他基础设施是开源的。它为Wikidata提供了更新程序,该更新机还具有供应链安全域的感兴趣的属性。
- Debian的外部存储库元数据
- Tidelift的Libraries.io提供API,并支持30多个软件包生态系统(以及几种有用的开源工具)
- Whitesource的统一代理还提供了一些复杂的文件匹配能力
- 软件遗产项目具有大量的摄入功能,并提供了一个API,可以有效检查是否已知哈希,并在文件上提供某些信息(如果是这样)
- hashdd-已知的良好加密哈希
- 鉴于其坐标,明确定义为开源组件提供许可信息
- LGTM-查找和防止漏洞的代码分析平台允许通过GitHub Repo手动搜索
- 二进制透明度目录提供了一个API,允许通过哈希搜索包和其他属性搜索软件包
- 与CloudFlare如何验证Code WhatsApp Web为用户验证的下半部分是一个相关的读取。
- 和子资源完整性
- 不要与二进制透明度的传奇阅读混淆
- 对于获取的输入,例如,通过
curl :- Spectralops/Preflight:前飞行前可帮助您验证脚本和可执行文件,以减轻诸如最近的Codecov Hack之类的供应攻击链。
- apiaryio/curl-trace-parser:curl-trace选项输出的解析器
- 朋友不要让朋友卷曲| bash
- 以及非常有趣的使卷曲| bash和其他野生物品的包装。 jordansissel·拉动请求#1957·Jordansissel/fpm
- 法尔科
- Aquasecurity/Tracee:使用EBPF的Linux运行时安全性和取证
- feenInetools/bane:用于Docker容器的自定义和更好的Apparmor配置文件生成器。
- 容器/OCI-Seccomp-BPF钩:OCI钩子跟踪Syscalls并生成Seccomp配置文件
- Bottlerocket-OS/HotDog:HotDog是一组OCI钩子,用于将Log4J热贴剂注入容器中。
- DeepFence/theantMapper:开源云本机安全可观察性平台。 Linux,K8S,AWS Fargate等。
- 依赖性检查
- OSSF/软件包 - 分析:开源软件包分析和OSSF/软件包馈线:语言软件包管理器更新的feed解析
- 相关:介绍包分析:扫描开放源代码包的恶意行为
- 同样,ARGO安全自动化具有OSS-Fuzz,通过模糊CNCF景观和Google/Oss-Fuzz来提高安全性:OSS-FUZZ-连续模糊开源软件。
- 和clusterfuzzlite
- for Node.js:codeintelligenceTesting/jazzer.js:覆盖范围引导的,程序中的for node.js
- 另外,尽管可以说,在应用程序可观察性领域,Intellabs/Control-Flag:一个系统通过从培训数据中学习典型表达式来标记异常源代码表达式的系统
- Abhisek/Supply-Chain-Security-Gateway:参考架构和供应链安全概念实现的证明
- CUGU/GOCAP:列出您的依赖项功能,并监视更新是否需要更多功能。
- MATE:具有代码属性图的交互式程序分析,请参见Galoisinc/Mate:Mate是一套用于交互式程序分析的工具,专注于使用代码属性图和文档中的C和C ++代码中的错误狩猎
- CheckMarx/ChainaLert-Github-action:在扫描流行的软件包和警报时,有人怀疑帐户收购
- 开源安全基金会(OPENSSF)Alpha-Omega项目
- 插座 - 查找并比较数百万个开源软件包,重点是JavaScript
- 分散镜:对文件,档案和目录的深入比较
- Redhatproductsecurity/组件注册:组件注册表(CORGI)汇总了Red Hat支持的产品,托管服务和内部产品管道服务的组件数据。
- 由TIDB Cloud提供动力的OSS Insight是一种洞察力工具,可以帮助您深入分析任何单个GitHub存储库/开发人员,使用相同的指标比较任意两个存储库,并提供全面,有价值的,有价值的和趋势的开源源见解。
- 宣布FOSSA风险情报的私人Beta
- 来自项目|软件透明基金会,请参阅OSSKB |免费开源库存
- 特别是:scanoss.py/package.md在main·scanoss/scanoss.py
- 工件枢纽,包含包装安全报告,并通过cosign验证
- crt.sh |证书搜索
- GREP.App |代码搜索
- GitHub代码搜索
- 搜索码|源代码搜索引擎
- SourceGraph的SourceGraph
- 开源枢纽上的板载开源贡献者,请参阅Codesee中的Docker-Slim示例
- SNYK的代码检查器
- 开始 - 福斯科
- CVE-Search/git-vuln-finder:从GIT提交消息中查找潜在的软件漏洞
- Chaoss/Augur:Python图书馆和Web服务,用于开源软件健康与可持续性指标和数据收集。您可以在此处轻松找到我们的文档和新贡献者信息:https://chaoss.github.io/augur/并在我们的网站https://augurlabs.io中了解有关Augur的更多信息。
- IBM/CBOM:密码学法案
- appthreat/blint:Blint是一个二进制林格,用于检查安全性属性和可执行文件中的功能。它由Lief提供动力。
另请阅读:
- taptuit/Awesome-devsecops:策划最佳的DevSecops资源和工具。
- 阅读:轮廓:二进制透明度的实用系统
- 几个有趣的概念:Shopify/Seer-Protype:安全专家启发风险
SCA和SBOM
本节包括:软件包/库扫描仪和检测器,SBOM格式,标准,创作和验证以及一些应用程序。可能包括SCA。
最完整的参考是Awesomesbom/Awesome-Sbom。另一个专注于发电机的回购是Cybeats/SBOMGEN:SBOM生成工具列表。
- Gitbom
- 另外:git-bom/bomsh:bomsh是探索Gitbom想法的工具的收集
- yonhan3/gitbom-repo:gitbom文档的存储库Linux二进制文件
- 听:Gitbom。它不是git或sbom和gitbom:重新利用供应链安全性和透明度的git图
- 另请参见Main·DPP/Bomsage的Bomsage/Vision.md,Master·PKGConf/PKGConf(此线程中的更多信息)
- NEXB/scancode-toolkit:Scancode检测许可,版权,软件包表现和依赖项以及更多通过扫描代码...发现和库存开源和代码中使用的第三方包装。
- OWASP的SCA工具列表本身就是全面的
- Grafeas:组件元数据API
- TrailofBits/IT依赖性:一种用于自动构建依赖关系图和软件材料清单(SBOM)的工具,用于软件包和任意源代码存储库。
- 修改SCA SBOM,修补螺栓:查找和修复开源漏洞和Whitesource Renovate:自动化依赖性更新
- RenovateBot/Renovate:适合您工作流程的通用依赖性更新工具。
- JFrog XRAR-通用组件分析和容器安全扫描
- 依赖关系/依赖关系 - 轨道:依赖关系 - 轨道是一个智能组件分析平台,允许组织识别和降低软件供应链中的风险。
- OSS-REVIEW-TOOLKIT/ORT:一套工具,可帮助审查开源软件依赖性。
- 锚/隔离:CLI工具和库,用于从软件供应链安全解决方案中从容器图像和文件系统中生成软件材料清单•锚
- 另请注意:New
docker sbom命令使用隔离创建SBOM - 使用隔离和sigstore创建SBOM证明
- 简单流程:主要·Marco-Lancini/Utils的UTILS/CI/GITHUB/DOCKER-BUILD-SIGN-SIGN-SIGN-SIGN-SIGNS
- 宣布:扫描现在处于维护模式·发行#352·shiftleftsecurity/sast-scan
- 容器安全| Qualys,Inc。
- Aqua Cloud本地安全性,容器安全和无服务器安全性
- Tern-Tools/Tern:Tern是一种软件组成分析工具和Python库,可为容器图像和Dockerfiles生成软件材料清单。 Tern生成的SBOM将以各种格式,包括人类可读,JSON,HTML,SPDX等,使您可以逐层视图对您的容器内部的内容。
- 该推文中的Master·rjb4标准/rea-rododucts/re-products/c-scrm使用案例
- 门分析PR作用:GitHub行动,分析了对门的开源供应链问题的拉力请求|软件供应链安全公司
- Microsoft/组件检测:扫描您的项目以确定您使用的组件
- 矮5标准
- 软件标识(SWID)标记| CSRC和创建可互操作软件标识(SWID)标签的准则
- 简洁的软件标识标签
- Hughsie/Python-Uswid:用于嵌入coswid标签的小工具
- ckotzbauer/sbom-operator:分类kubernetes群集的所有图像to syfts to多个目标
- Dynatrace应用程序安全性安全性安全
- 缺陷/django-defectdojo:缺陷是DevSecops和漏洞管理工具。
- 与样本集成的令人印象深刻的列表:缺陷/示例扫描文件:用于测试缺陷导入的示例扫描文件
- Swingletree-oss/swingletree:整合并观察CI/CD管道工具的结果
- Mercedes -Benz/sechub:Sechub-一种与一个API/客户端一起使用不同安全工具的中心和简便方法
- Marcinguy/BetterScan -CE:代码扫描/SAST/静态分析/用许多工具/扫描仪与一份报告(代码,IAC) - BetterScan社区版(CE)
- BBVA/Susto:系统的通用安全测试编排
- Appthreat/Rosa:到目前为止看起来非常有前途的实验。
- 窝的SBOM解决方案
- Rezillion动态SBOM
- OpenSBOM生成器/SPDX-SBOM生成器:通过Golang工具支持CI SBOM的生成。
- Tauruseer的SBOM工具
- SOO的支持语言和清单
- 堡垒:软件材料清单
- Javixeneize/Yasca:又是SCA工具
- Cybeats SBOM工作室
- Edgebitio/Edgebit-build:GitHub动作将SBOM上传到Edgebit并在您的拉动请求中接收漏洞的上下文 - 实时供应链安全,使安全团队能够达到目标并协调脆弱性补救,而无需劳作。
- Rea的软件保证监护人Point Man(SAG-PM)
- Microsoft/SBOM-Tool:SBOM工具是一种高度可扩展的企业现成工具,可为任何各种文物创建SPDX 2.2兼容SBOM
- VeraCode的SCA自动扫描,请参见演示:如何使用VeraCode软件组成分析生成软件材料清单(SBOM)
- 企业版-Blubracket:代码安全与秘密检测
- 软件组成分析(SCA)|塞伯雷斯
- Nexus Intelligence -Sonatype数据服务
- AppThreat/dep-Scan:基于已知漏洞和咨询的项目依赖性的完全开源安全审核。支持本地存储库和容器图像。与各种CI环境(例如Azure Pipelines,Circleci,Google Cloudbuild)集成。无需服务器!
- SBS2001/FATBOM:FATBOM(脂肪材料清单)是一种将各种工具生成的SBOM结合到一个脂肪SBOM中的工具。因此利用每个工具的强度。
- Sonatype BOM医生
- JHUTCHINGS1/SPDX-TO依赖性图形:一种gitHub操作,将SPDX SBOMS并将其上传到GitHub的依赖项提交API上,以供电
- 另请参阅:EVRYFS/SBOM依赖性 - 求职:将SBOM提交给GitHub的依赖项提交API
- 和依赖性提交文档
- TAP8STRY/ORION:超越SBOM的软件包管理器发现
- Patriksvensson/Covenant:从源代码文物中生成SBOM(软件材料法案)的工具。
- Cyclonedx/cyclonedx-webpack-plugin:在编译时从WebPack捆绑包中创建Cyclonedx材料清单(SBOM)。
- 高级安全/GH-SBOM:用GH CLI生成SBOM
- Interlynk -io/sbomqs:SBOM质量得分 - SBOMS的质量指标
- eBay/SBOM-SCORECARD:为您的SBOM生成一个分数,以了解它是否真的很有用。
更多有趣的资源:
- 制动安全播客:2020-031-Allan Friedman,SBOM,软件透明度,并知道如何制作香肠
- 第312集:SBOM的传奇
- 重新构想网络播客:log4j漏洞提供了未知依赖性的苛刻课程
- 技术债务燃烧播客系列1 E11:Allan Friedman和SBOMS
- SOUNIL YU在SBOMS上,软件供应链安全性 - 安全对话
- 探索安全性。 SBOM的批判性。斯科特·麦格雷戈(Scott McGregor),云安全,风河
- 在安全性Rabbithole播客中,DTSR第487集 - 软件供应链是BFD
- 软件组成分析播客:软件供应链 - 第1集
- 关键更新:您知道软件中有什么吗?
- 软件材料清单| CISA
- SBOM用例-RKVST和RKVST SBOM HUB -RKVST
- BOF:用于嵌入式系统的SBOM:什么是有效的,什么无? -Kate Stewart,Linux基金会
- 关于那个bom的一切
- OWASP CYCLONEDX启动SBOM Exchange API
- 阅读:SBOM管理|它阻止SBOM蔓延的六种方式
- 阅读:NTIA是软件材料清单的最低要素
- 阅读:SBOM可以为您做什么
一些开源项目在公开场合记录了他们如何获得依赖性。这个有意的,人性化的,长期的例子可以说明:
- Envoy/distionency_policy.md在Main·EnvoyProxy/Envoy
- 卷曲对依赖的期望
- 安全:SBOM的价值来自磁通量
脆弱性信息交换
- OSV
- 阅读:行动中的SBOM:使用软件材料清单查找漏洞
- 相关:SPDX/SPDX-TO-OSV:基于SPDX文档中的信息生成开源漏洞JSON文件
- 工具:Google/OSV-SCANNER:用GO编写的漏洞扫描仪使用https://osv.dev提供的数据
- Qualys的脆弱性检测管道
- vuls·Linux/freebsd的无代理漏洞扫描仪
- 漏洞数据库,也可以使用API;请参阅vuldb
- appthreat/bulenerability-db:漏洞数据库和软件包搜索源,例如OSV,NVD,GITHUB和NPM。
- Aquasecurity/Trivy:容器图像,文件系统和GIT存储库中漏洞的扫描仪以及配置问题
- SAST用于代码安全| SNYK代码
- 对比社区版
- 已知的利用漏洞目录| CISA
- CVE-Search/CVE-Search:CVE-Search-执行本地搜索已知漏洞的工具
- 外来-IO/KEPLER:基于NIST的CVE查找商店和由Rust提供动力的API
- NEXB/vlynerablecode:一种用于免费开放漏洞数据库及其影响的软件包的过程中。以及汇总和关联这些漏洞的工具。由nlnet https://nlnet.nl/project/project/vulnerabilitydatabase/ https://www.aboutcode.org/ https://gitter.im/gitter.im/about.im/aboutcode-orgotcode-orgecode-orgecode-orgecode-orgotcode-org ot https://nlnet.nl/project/project/vulnerabilitydatabase/
- Toolswatch/vfeed:相关的CVE漏洞和威胁智能数据库API
- OSSF/记分卡:安全记分卡 - 开源的安全健康指标,OpenSSF指标和OSSF/Security -Reviews:开源软件组件的安全评论社区集合。
- OSSF/记分卡 - 行动:OSSF记分卡的官方GitHub行动。
- 注意:Openssf记分卡的GitHub Action V2 Action如何使用Sigstore使用GitHub OIDC
- 还可以开开Security Insights Spec
- 阅读:OpenSSF记分卡如何帮助评估开源软件风险
- 伟大的现实生活示例:Eclipse Foundation GitHub存储库
- Lynis- Linux/UNIX的安全审核和硬化工具
- 受害者/受害者CVE-DB:CVE数据库商店
- Anchore/Grype:容器图像和文件系统的漏洞扫描仪
- 另请参阅使用Grype来识别GitHub动作漏洞
- 现在,Grype现在支持Cyclonedx和SPDX标准
- GitHub咨询数据库现在向社区贡献开放
- 全球安全数据库工作组| CSA,另请参阅CloudSecurityAlliance/GSD数据库:全局安全数据库
- Trickest/CVE:收集并更新所有可用的CVE和最新的CVE。
- RFC 9116:一种文件格式,以帮助安全漏洞披露
- AOSP漏洞练习:Quarkslab/aosp_dataset:基于AOSP CVE的大型提交精确漏洞数据集
- Nyph-Infosec/匕首
- Davideshay/vulnscan:基于Grype和Sixft的脆弱性扫描仪套件
- DevOps-Kung-Fu/bomber:SCANS SBOMS for SECurity漏洞
- 堡垒:脆弱性管理
- 脆弱性管理| Adolus
- SECVISOGRAM/SECVISOGRAM:SECVISOGRAM是用于在CSAF 2.0格式中创建和编辑安全咨询的网络工具
- Future-Architect/vuls:Linux,FreeBSD,Container,WordPress,编程语言库,网络设备
- Infobyte/faraday:FARADAY的开源漏洞管理平台 - 社区V4版本
- MITER/SAF:MITER安全自动化框架(SAF)命令行接口(CLI)将MITER和Security Community开发的应用程序,技术,库和工具汇集在一起,以简化系统和DevOps管道的安全自动化
- DevOps-Kung-Fu/bomber:扫描软件材料清单(SBOMS)的安全漏洞
- REZILION/MI-X:通过考虑影响实际可剥削性的所有因素(运行时执行,配置,权限,缓解措施,OS等的存在),确定您的计算是否真正容易受到特定漏洞的影响。
- OSSF-CVE基准/OSSF-CVE基准:OPENSF CVE基准由代码和元数据组成,用于200多个现实生活CVE,以及使用各种静态分析安全测试(SAST)工具(SAST)工具和生成报告来评估这些工具。
- 请参阅Neuvector文档中的脆弱性管理,以获取集成示例在容器方案中
- NOQCKS/XEOL:容器图像,系统和SBOM的寿命末(EOL)软件包扫描仪
- MCHMARNY/VIMP:比较来自多个漏洞扫描仪的数据,以更完整地了解潜在的暴露。
关于Vex的专用部分,读取:
- Cyclonedx-脆弱性可利用性交换(VEX)
- 解释了脆弱性可利用性交换:vex如何使SBOMS可起诉
- Vex如何帮助SBOM+SLSA提高供应链可见性| Google云博客
- 什么是烦恼,与SBOM有什么关系?
- 什么是vex?这是脆弱性可利用性交换!
- 脆弱性可利用性交换(VEX)标准
- vex和sboms
- VDR或VEX - 我使用哪个?第1部分
- 烦恼!或...如何通过一个简单的技巧来减少CVE噪音!弗雷德里克·考茨(Frederick Kautz)
- 脆弱性可利用性交换(VEX) - 状态理由
- 实时烦恼
另请参阅:
- 弃用路径上的vulncode-db
- GitHub为Rust社区带来了供应链安全功能
- Cycognito采用映射ATT&CK进行CVE造成影响
- 阅读:仔细查看CVSS分数,补丁疯狂:供应商undsusion被打破,破坏了,并且不完整地查看漏洞数据库和评分方法论
- 阅读:如何分析SBOM以及如何从Cloudsmith生成和主机SBOM
- 阅读:在Google的开源见解团队的咨询之后
使用点验证
本节包括:入学和摄入策略,拖拉时间验证和最终用户验证。
- kyverno
- 阅读:用kyverno证明图像扫描
- 和:将kyverno政策作为OCI文物,并带有Ocirepository来源
- 另外:tistifysec/judge-k8s:使用证人证明验证库的概念证明kubernetes录取控制器
- ckotzbauer/sbom-operator:分类kubernetes群集的所有图像to syfts to多个目标
- Connaisseur-验证Kubernetes中的容器图像签名
- SIGSTORE/Policy-Controller:用于在Cosign的可验证的供应链元数据集群上执行策略的政策入学控制器。
- 另请参阅:Lukehinds/Policy-Controller-Demo:与Sigstore Kubernetes策略控制器的无钥匙签名演示
- Main·IBM/Portieris的Portieris/policies.md
- 可重现的容器/repro-get:可重复的apt/dnf/apk/pacman,带有内容addressing
- kpcyrd/pacman-bintrans:与Sigstore和Rekor的Pacman实验性二元透明度
- 另请参阅:kpcyrd/apt-swarm:? P2P八卦网络用于更新透明度,基于PGP?
- 开放政策代理
- Conftest允许使用“开放策略代理”查询语言对结构化配置数据进行编写测试:这是一个示例
- 几个预加入钩子允许在依赖摄入时间摄入代码库之前立即检查漏洞
- 例如,PYUPIO/安全:安全检查您的已知安全漏洞的依赖项
- 或NPM审核
- 另请参见Snyk-Labs/SNYNC:减轻依赖混淆供应链安全风险的安全问题
- 和lirantal/lockfile-lint:lint npm或纱线锁紧列来分析和检测安全问题
- 或需要。IO|监视您的依赖项
- 或Brakeman安全扫描仪
- 或trailofbits/pip-audit:审核Python环境和依赖树的已知漏洞
- 另请参阅:依赖关系警报立即浮出水面,如果您的代码正在调用漏洞
- 和:使用Data-Dist-Info-Metadata(PEP 658)将分辨率分解为Cosmicexplorer下载
- 有趣的Python相关项目:Thoth Project,使用人工智能分析和推荐Python应用程序的软件堆栈
- 或CheckMarx/Chainjacking:查找您的哪个Go Lang Direct GitHub依赖性容易受到链接派对的影响
- 或货物兽医和CREV-DEV/CARGO-CREV:货物(Rust)软件包管理器的密码可验证的代码审核系统。
- 不是自动验证,而是针对Java的全面指导,具有与供应链安全有关的一些关键点:Google的Java库最佳实践
- 在此阶段,通常使用静态分析,以检测依赖性的获取,例如:
- semgrep
- Semgrep供应链入门
- 另请参阅:使用SEMGREP捕获安全漏洞
- 大师的graudit/签名·Wireghoul/Graudit
- Banyanops/collector:用于静态分析码头容器图像的框架
- 码头/克莱尔:容器的脆弱性静态分析
- Datadog/GuardDog:GuardDog是识别恶意PYPI和NPM软件包的CLI工具
- Eliasgranderubio/dagda:对Docker Images/Containser中的已知漏洞,特洛伊木马,病毒,恶意软件和其他恶意威胁进行静态分析的工具,并监视Docker守护程序和运行Docker容器以检测异常活动
- 一半辉煌,一半有趣,充分有用:kpcyrd/libredefender:想象信息安全合规指南表示您需要防病毒,但您运行Arch Linux
- KICS - 确保基础架构为代码安全
- Tinkerbell/lint-Antall:始终为开源项目安装合理的Linter规则
- 有关包装安装的
hadolint规则,例如,Hadolint/readme.md,D16F342C8E70FCFFC7A788D122ABA60202075250D·Hadolint/Hadolint- Also dockerfile resource scans - checkov from bridgecrewio/checkov: Prevent cloud misconfigurations during build-time for Terraform, CloudFormation, Kubernetes, Serverless framework and other infrastructure-as-code-languages with Checkov by Bridgecrew.
- 和:XLAB-SI/IAC-SCAN-RUNNER:扫描基础架构作为常见漏洞的代码的服务
- 和:aws-samples/自动 - 安全性 - 赫尔珀1
- 脆弱性评估| OpenScap门户
- 用wazuh检测log4shell
- Aquasecurity/Antboard:Kubernetes-Native Security Toolkit
- Armosec/kubescape:Kubescape是K8S开源工具,可提供多云的K8S单窗格,包括风险分析,安全合规性,RBAC可视化器和图像漏洞扫描。
- 另外:Kubescape Visual Studio代码扩展
- ckotzbauer/漏洞 - 操作员:扫描SBOMS漏洞
- Chen-Keinan/Kube-Beacon:K8S群集的开源运行时扫描仪,并根据CIS Kubernetes基准规范执行安全审核检查
- Aquasecurity/Kube-Bench:检查Kubernetes是否根据安全性最佳实践部署,如CIS Kubernetes基准和Aquasecurity/Kube-Hunter:Hunt Kubernetes clusters clusters clusters clusters in kubernetes基准/kube-hunter。
- OpenClarity/kubeclarity:kubeclarity是用于检测和管理软件材料清单(SBOM)(SBOM)和容器图像和文件系统漏洞的工具
- Stackrox/Stackrox:Stackrox Kubernetes安全平台对容器环境进行风险分析,提供可见性和运行时警报,并提供建议,以通过硬化环境来主动提高安全性。
- CloudQuery/plugins/source/k8s/policies in Main·CloudQuery/CloudQuery
- Quarkslab/kdigger:用于渗透测试的Kubernetes集中的容器评估和上下文发现工具
- ossillate-inc/packJ:我们大规模安全分析平台背后的审核工具,以检测恶意/风险的开源软件包和PackJ |避免“风险”软件包的审核工具
- Doowon/sigtool:用于签名的PE文件的Sigtool
- 引入“安全NPM”,插座NPM包装器 - 插座
- 介绍SafeDep兽医| Safedep
另请参阅:
- 分析工具-DEV/静态分析:用于所有编程语言,配置文件,构建工具等的静态分析(SAST)工具的策划列表。
- Anderseknert/Awesome-Opa:与OPA相关工具,框架和文章的精选列表
- jupiterone/secops-automation-examples:有关如何将安全/合规性作为代码保持和使用jupiterone平台自动化的示例。
- 我们如何使用Cyclonedx生成软件材料清单(SBOM)
- 用stackrox / rhacs和sigstore确保CICD管道
- 观看:您信任您的软件包经理吗?在2022年安全节
图书馆以外的供应链
以及除图书馆和软件依赖性以外的几件事:
- 系统透明度|裸金属服务器的安全体系结构
- 模拟FWUPD中的主机配置文件
- gnome警告用户如果禁用安全启动,请准备其他固件安全帮助
- 内核自我保护项目 - Linux内核安全子系统
- 钥匙扣 /钥匙扣:一个CNCF项目,用于引导和维护边缘 /云和物联网的信任
- AlallaxSecond/Parsec:安全服务的平台抽象
- TPM CARTE BLANCHE的引导证明
身份,签名和出处
本节包括:针对开发人员身份,OIDC,钥匙扣和相关主题的项目和讨论细节。
- Sigstore的一部分
- cosign
- Fulcio
- Rekor
- 另请参阅:kubernetes攻击sigstore to tot thwart开源软件供应链攻击
- OpenSSF景观的特定特定景点
- CAS- CAS认证服务
- 见证人 - tistifysec/证人:证人是软件供应链风险管理的可插入框架。它可以自动化,归一化和验证软件人工制品出处。
- 观看:与证人确保供应链-Cole Kennedy,tistifysec
- 另请参阅:tistifysec/go-ima:go-ima是检查文件是否已篡改的工具。这对于确保CI系统的完整性很有用
- PUERCO/TEJOLOTE:高度可配置的构建执行者和观察者,旨在生成有关构建运行的签名SLSA出处证明。
- 势力运行 - github市场和触发/github-action:toto intoto formentagn github Action
- SLSA3通用发电机的一般可用性用于GitHub操作
- slsa-framework/slsa-github-generator:github动作的语言 - 敏捷SLSA出处
- 另请参阅:认证手工艺| Chainloop文档
- Technosophos/Helm-gpg:使用GNUPG签名和验证掌舵。
- CashApp/Pivit是用于管理带有PIV Applet支持的X509证书的命令行工具,该证书与
git完全兼容 - NotaryProject/Notary:公证人是一个允许任何人对任意数据收集的信任的项目
- NotaryProject/路线图:NotaryV2的路线图
- NotaryProject/note法:符号是一个项目,可以在注册表生态系统中添加签名作为标准项目,并构建一组简单的工具,用于签名和验证这些签名。 Based on Notary V2 standard.
- notaryproject/tuf: The Update Framework for OCI Registries
- Also see vmware-labs/repository-editor-for-tuf: Command line tool for editing and maintaining a TUF repository
- Also see How to easily try out TUF + in-toto
- Check out Python-TUF reaches version 1.0.0
- Related project: werf/trdl: The universal solution for delivering your software updates securely from a trusted The Update Framework (TUF) repository.
- Read: Secure Software Updates via TUF — Part 2
- deislabs/ratify: Artifact Ratification Framework
- latchset/tang: Tang binding daemon
- ietf-rats - Overview
- An exposed apt signing key and how to improve apt security
- See Issue #21 · testifysec/witness for a succinct description of how testifysec/witness: Witness is a pluggable framework for software supply chain risk management. It automates, normalizes, and verifies software artifact providence. deals with attestation chains
- Another witness example with GitLab
- Allow using SSH keys to sign commits · Discussion #7744 · github/feedback
- aws-solutions/verifiable-controls-evidence-store: This repository contains the source code of the Verifiable Controls Evidence Store solution
- Read: Monitoring the kernel.org Transparency Log for a year
- Also read: Software Distribution Transparency and Auditability
- paragonie/libgossamer: Public Key Infrastructure without Certificate Authorities, for WordPress and Packagist
- Read: Solving Open Source Supply Chain Security for the PHP Ecosystem
- johnsonshi/image-layer-provenance, a PoC for Image Layer Provenance and Manifest Layer History
- oras-project/artifacts-spec
- recipy/recipy: Effortless method to record provenance in Python
- spiffe/spire: The SPIFFE Runtime Environment
- Fraunhofer-SIT/charra: Proof-of-concept implementation of the "Challenge/Response Remote Attestation" interaction model of the IETF RATS Reference Interaction Models for Remote Attestation Procedures using TPM 2.0.
- google/trillian: A transparent, highly scalable and cryptographically verifiable data store.
- Artifactory - Universal Artifact Management
- pyrsia/pyrsia: Decentralized Package Network
- transmute-industries/verifiable-actions: Workflow tools for Decentralized Identifiers & Verifiable Credentials
- Watch: Privacy-preserving Approaches to Transparency Logs
Frameworks and best practice references
This section includes: reference architectures and authoritative compilations of supply chain attacks and the emerging categories.
- in-toto | A framework to secure the integrity of software supply chains
- Supply chain Levels for Software Artifacts or SLSA (salsa) is a security framework, a check-list of standards and controls to prevent tampering, improve integrity, and secure packages and infrastructure in your projects, businesses or enterprises.
- Great read: SLSA | CloudSecDocs
- Another L50 read: Building trust in our software supply chains with SLSA
- Read: SLSA for Success: Using SLSA to help achieve NIST's SSDF and All about that Base(line): How Cybersecurity Frameworks are Evolving with Foundational Guidance
- Also, a framework mapping put together by Red Hat
- A Practical Guide to the SLSA Framework by FOSSA
- Read: Securing Gitpod's Software Supply Chain with SLSA
- Read: A First Step to Attaining SLSA Level 3 on GitHub
- And a pattern search across GitHub for inspiration (thanks @infernosec)
- OWASP Application Security Verification Standard, esp. V14 - Configuration
- OWASP/Software-Component-Verification-Standard: Software Component Verification Standard (SCVS)
- CREST launches OWASP Verification Standard (OVS)
- SAFECODE's Fundamental Practices for Secure Software Development, Third Edition, esp. Manage Security Risk Inherent in the Use of Third-party Components
- SSF | The Secure Software Factory and mlieberman85/supply-chain-examples
- Related: A MAP for Kubernetes supply chain security
- Software Supply Chain Risk Management | BSIMM
- microsoft/scim: Supply Chain Integrity Model
- Also see: Supply Chain Integrity, Transparency, and Trust (scitt) and What Is SCITT
- Goodbye SDLC, Hello SSDF! What is the Secure Software Development Framework?
- Also Comply with NIST's secure software supply chain framework with GitLab
- The Supply Chain Risk Management section of SP 800-53 Rev. 5, Security and Privacy Controls for Info Systems and Organizations | CSRC, also see center-for-threat-informed-defense/attack-control-framework-mappings: Security control framework mappings to MITRE ATT&CK
- SP 800-161 Rev. 1, C-SCRM Practices for Systems and Organizations | CSRC
- npm Best Practices Guide (OpenSSF) - Features and recommendations on using npm safely
- CIS Software Supply Chain Security Guide
- microsoft/oss-ssc-framework: Open Source Software Secure Supply Chain Framework
- GitHub's Implementing software security in open source
- Previously referenced: Google Best Practices for Java Libraries
- MITRE's System of Trust
- Securing the Software Supply Chain for Developers was published by the National Security Agency (NSA), Cybersecurity and Infrastructure Security Agency (CISA), and the Office of the Director of National Intelligence (ODNI) under the Enduring Security Framework (ESF) initiative
- OpenSSF's Concise Guide for Developing More Secure Software 2022-09-01
- Chris Hughes on the NSA Recommended Practices for Developers: Securing the Software Supply Chain
另请参阅:
- Zero Trust the Hard Way, Kelsey Hightower
- KubePhilly March 2022- A Look At The Kubernetes SLSA Compliance Project
- Supply Chain Risk Management
Build techniques
This section includes: reproducible builds, hermetic builds, bootstrappable builds, special considerations for CI/CD systems, best practices building artifacts such as OCI containers, etc.
- Reproducible Builds, particularly the Documentation
- rb ecosytem mapping
- Reproducible Builds / reprotest
- Is NixOS Reproducible?
- Bootstrappable Builds (GNU Mes Reference Manual)
- Also read Bootstrappable builds from LWN
- tektoncd/chains: Supply Chain Security in Tekton Pipelines
- Verifiable Supply Chain Metadata for Tekton - CD Foundation
- google/santa: A binary authorization system for macOS
- fepitre/package-rebuilder: Standalone orchestrator for rebuilding Debian, Fedora and Qubes OS packages in order to generate
in-toto metadata which can be used with apt-transport-in-toto or dnf-plugin-in-toto to validate reproducible status. - kpcyrd/rebuilderd-debian-buildinfo-crawler: Reproducible Builds: Scraper/Parser for https://buildinfos.debian.net into structured data
- Also see Reproducible Builds: Debian and the case of the missing version string - vulns.xyz
- kpcyrd/rebuilderd: Independent verification of binary packages - reproducible builds
- tag-security/sscsp.md at main · cncf/tag-security
- defenseunicorns/zarf: DevSecOps for Air Gap & Limited-Connection Systems. https://zarf.dev/
- Lockheed Martin / hoppr / hoppr is a CLI framework for defining, validating, and transferring dependencies between environments
- Example using SBOM as an input: Inputs - Hoppr
- On instrumenting runners:
- Keep an eye on Draft: POC Witness Runner integration (!1) · Merge requests · testifysec / gitlab-runner for GitLab runners
- Also, edgelesssys/constellation: Constellation is the first Confidential Kubernetes. Constellation shields entire Kubernetes clusters from the (cloud) infrastructure using confidential computing.
- reposaur/reposaur: Open source compliance tool for development platforms.
- buildsec/frsca is an implementation of the CNCF's Secure Software Factory Reference Architecture. It is also intended to follow SLSA requirements closely and generate in-toto attesttations for SLSA provenance predicates.
- chainloop-dev/chainloop: Chainloop is an open source software supply chain control plane, a single source of truth for artifacts plus a declarative attestation crafting process.
- Also see: Software Supply Chain Attestation the Easy Way from the Chainloop documentation
- aquasecurity/chain-bench: an open-source tool for auditing your software supply chain stack for security compliance implementing checks for CIS 1.0 | Vulnerability Database | Aqua Security
- ossf/allstar: GitHub App to set and enforce security policies
- scribe-public/gitgat: Evaluate source control (GitHub) security posture
- Legit-Labs/legitify: Detect and remediate misconfigurations and security risks across all your GitHub and GitLab assets
- crashappsec/github-analyzer: A tool to check the security settings of Github Organizations.
- wspr-ncsu/github-actions-security-analysis from Characterizing the Security of Github CI Workflows | usenix
- oss-reproducible - Measures the reproducibility of a package based on its purported source. Part of OSS Gadget
- jart/landlock-make: Sandboxing for GNU Make has never been easier
- Read: Using Landlock to Sandbox GNU Make
- veraison/veraison: Project Veraison will build software components that can be used to build Attestation Verification Services
- Changelog for Pants 2: The ergonomic build system
- Bazel is an open source build and test tool similar to Make, Maven, and Gradle
- GoogleContainerTools/kaniko: Build Container Images In Kubernetes
- sethvargo/ratchet: A tool for securing CI/CD workflows with version pinning.
- buildsec/vendorme improves the developer workflow by giving you one single place to manage any vendored dependencies, and ensures that those are validated properly to improve the security around your supply chain
- eellak/build-recorder
- Also see: FOSDEM 2023 - Build recorder: a system to capture detailed information
另请参阅:
- The reproducible-builds topic on GitHub
- Dependency management as part of Google Cloud's Artifact Registry documentation
- Security hardening for GitHub Actions
- And: step-security/harden-runner: Security agent for GitHub-hosted runner: block egress traffic & detect code overwrite to prevent breaches
- Handling build-time dependency vulnerabilities from Create guidance on triaging build time dependency vulnerabilities · Issue #855 · cncf/tag-security
- Code Sight
- cider-security-research/cicd-goat: A deliberately vulnerable CI/CD environment. Learn CI/CD security through multiple challenges.
- And: step-security/attack-simulator: Simulate past supply chain attacks such as SolarWinds, Codecov, and ua-parser-js
- Read: What Makes a Build Reproducible, Part 2
- Read: Building a Secure Software Supply Chain with GNU Guix
- alecmocatta/build_id: Obtain a UUID uniquely representing the build of the current binary.
- Read: On Omitting Commits and Committing Omissions: Preventing Git Metadata Tampering That (Re)introduces Software Vulnerabilities
- Read: Reproducible Builds: Break a log, good things come in trees
- Secure Your Software Factory with melange and apko
- On the
apko pattern, see Shopify/hansel
- kpcyrd/archlinux-inputs-fsck: Lint repository of PKGBUILDs for cryptographically pinned inputs
Talks, articles, media coverage and other reading
Getting started and staying fresh
- A few resources, in addition to this repository, that can help keep up with news and announcements:
- An RSS feed maintained by @bureado with a mix of open source security, DevSecOps, AppSec and supply chain security news: corner-security
- tl;dr sec Newsletter
- Past Issues | CloudSecList
- News - reproducible-builds.org
- A great compilation of reads, context and learning materials: chainguard-dev/ssc-reading-list: A reading list for software supply-chain security.
- A visual reference by Enso Security: AppSec Map
- A similar one: Jetstack | The Software Supply Chain Toolkit
- wg-security-tooling/guide.md at main · ossf/wg-security-tooling from ossf/wg-security-tooling: OpenSSF Security Tooling Working Group
- A toolbox for a secure software supply chain from Chainguard
- The Technology chapter in Snyk's DevSecOps series
- A helpful list of acronyms: Acronyms | OpenSCAP portal
- slsa/terminology.md at main · slsa-framework/slsa
- tag-security/cloud-native-security-lexicon.md at main · cncf/tag-security
- Watch: How to start learning about Supply Chain Security
- Watch: Open Source Supply Chain Security: A Visualization of the Checkmarx Solution, plus the Checkmarx channel on YouTube has excellent explanatory videos for tactics, techniques and procedures in the supply chain security domain, for example: Large Scale Campaign Created Fake GitHub Projects Clones with Fake Commit Added Malware
And a collection of reads and listens, ranging from insightful blog posts, explainers/all-rounders and some long-form analysis (we've tried to keep deep dive reads scoped to other sections)
- Secure Software Development Fundamentals Courses - Open Source Security Foundation
- Securing Your Software Supply Chain with Sigstore
- Census II of Free and Open Source Software — Application Libraries
- “Chain”ging the Game - how runtime makes your supply chain even more secure
- How to attack cloud infrastructure via a malicious pull request
- The Challenges of Securing the Open Source Supply Chain
- What is a Software Supply Chain Attestation - and why do I need it?
- Open Policy Agent 2021, Year in Review
- Reproducibility · Cloud Native Buildpacks and Buildpacks and SBOM Integration Opportunities
- The state of software bill of materials: SBOM growth could bolster software supply chains
- Secure Your Software Supply Chain with New VMware Tanzu Application Platform Capabilities
- Secure Software Supply Chains
- A few resources to understand supply chain compromises:
- Supply Chain Compromise - attackics
- tag-security/supply-chain-security/compromises at main · cncf/tag-security
- IQTLabs/software-supply-chain-compromises: A dataset of software supply chain compromises.请帮助我们维护它!
- Taxonomy of Attacks on Open-Source Software Supply Chains and Risk Explorer for Software Supply Chains
- Endor Labs' version: Risk Explorer for Software Supply Chains
- Also see a classic, Backstabber's Knife Collection: A Review of Open Source Software Supply Chain Attacks
- Towards Measuring Supply Chain Attacks on Package Managers for Interpreted Languages
- The Software Supply Chain Security Threat Landscape dispatches from Checkmarx are often fresh reading
- ossf/oss-compromises: Archive of various open source security compromises
- Python-specific example: Bad actors vs our community: detecting software supply chain... by Ajinkya Rajput and Ashish Bijlani
- A comprehensive all rounder: Protect Yourself Against Supply Chain Attacks - Rob Bos - NDC Security 2022
- Not supply chain security specific, but worth tracking: PayDevs/awful-oss-incidents: ? A categorized list of incidents caused by unappreciated OSS maintainers or underfunded OSS projects.欢迎反馈!
- Improving TOFU (trust on first use) With Transparency
- Reports:
- 2022 State of Cloud Native Security Report - Palo Alto Networks
- 2022 Software Supply Chain Security Report • Anchore
- End-to-end demos and examples:
- goreleaser/supply-chain-example: Example goreleaser + github actions config with keyless signing and SBOM generation
- Improve supply chain security with GitHub actions, Cosign, Kyverno and other open source tools
- Using SARIF to Extend Analysis of SAST Tools
- GitLab's Software Supply Chain Security section
- Also read GitLab's Software Supply Chain Security Direction
- GitHub's SARIF support for code scanning
- Driving Developer Productivity via Automated Dependency Tracking
- Code scanning finds more vulnerabilities using machine learning
- Securing Open Source Software at the Source
- Security: The Value of SBOMs
- Why SBOMS & Security Scanning Go Together - Upstream: The Software Supply Chain Security Podcast presented by Anchore
- SBOMs in the Windows Supply Chain, from the SPDX User Group
- Whose Sign Is It Anyway? - Marina Moore, NYU & Matthew Riley, Google
- Binary Authorization for Borg: how Google verifies code provenance and implements code identity
- Application Security Weekly (Video) on Apple Podcasts
- How to prioritize the improvement of open source software security
- And Strengthening digital infrastructure: A policy agenda for free and open source software
- Software Supply Chain Security Turns to Risk Mitigation
- Reproducible Builds: Increasing the Integrity of Software Supply Chains
- sigstore/community: General sigstore community repo
- CycloneDX Use Cases
- Listen: #6: Steve Springett: CycloneDX and the Future of SBOMs - Cybellum
- Building a Sustainable Software Supply Chain, particularly the section: "The Software Supply Chain Sustainability Maturity Model"
- Dependency Issues: Solving the World's Open Source Software Security Problem offers a well meditated view on the problem space as well
- The Digital Economy Runs on Open Source. Here's How to Protect It (HBR)
- Report: 95% of IT leaders say Log4shell was 'major wake-up call' for cloud security
- Presentation: Securing the Open Source Software Supply Chain at PyConUS2022 by Dustin Ingram
- Watch: The state of open source security in 2022 with Kurt Seifried
- Podcast: Kubernetes Podcast from Google: Episode 174 - in-toto, with Santiago Torres-Arias
- EO 14028 and Supply Chain Security
- Reducing Open Source Risk Throughout the Development, Delivery and Deployment of SBOMs, a May 2022 paper illustrating at a high level the differences between SBOMs in publishing, distribution and delivery scenarios; see pages 6-9
- Open Source Security Foundation (OpenSSF) Security Mobilization Plan
- Not Just Third Party Risk
- Open Source Security: How Digital Infrastructure Is Built on a House of Cards
- Series: Bootstrapping Trust Part 1 covering encryption, certificates, chains and roots of trust
- Contact sign-up sheet required: The Rise of Continuous Packaging by Cloudsmith and O'Reilly
- Supply Chain Security for Cloud Native Java (from Thomas Vitale)
- Podcast: It Depends with Trail of Bits
- New security concerns for the open-source software supply chain (top level findings from The State of the Software Supply Chain: Open Source Edition 2022)
- Software Supply Chain Primer v0.93 (June 2022)