使用JFrog x射线的最佳实践

注:这篇博客文章的一个版本也是发表于dev.to
引入、添加或替换新的SCA(软件组合分析)工具,例如JFrog x光到你的SDLC,如果处理不当,可能会对SDLC和组织造成很大的破坏。
这篇博文提供了关于JFrog Xray入门的最佳实践推荐;为了减少干扰,提高采用率,并向左转移以创建一个DevSecOps行为.
首先,让我们首先描述在使用安全工具时的一个常见场景。通常情况下,尤其是在引入一个新工具时,所有的屏幕都变红了,警报从各个方向出现。在这种情况下,要求系统锁定是一种合理的下意识反应;取消构建,拒绝依赖,等等。然而,这样的反应,即使看起来是有效的,也是适得其反的。理论上,这种行为会导致生产停顿,导致挫折和冲突。当然,在现实生活中,在大多数情况下,没有人会真正阻止这项业务。相反,组织可能会发展警惕疲劳并且会忽略该工具,这是绝对不推荐的。
5入职建议
- 包括研发
当您将研发纳入流程时,您就有机会实现可管理且富有成效的真正DevSecOps流程。每100-200名开发人员中大约有一名安全工程师。只有当安全问题与开发相关时,才有可能由一个工程师来审查和控制所有安全问题。否则,它将导致瓶颈、延迟、冗余工作和许多挫折。 - 为每个应用程序团队和/或成熟阶段配置一个Watch
一个JFrog x光手表将应用程序的一组资源(存储库、文件夹、构建等)组合2022世界杯阿根廷预选赛赛程在一起政策或策略(安全性和遵从性管理规则)。
创建一个观察每个应用程序团队允许每个团队都有自己的“世界”和责任。反过来,这提供了“左移位安全治理的责任。 - 集成开发工具
尝试将信息引入开发工具(例如CI服务器、IDE),这些工具将为开发人员的环境提供与治理相关的信息。我们有x光IDE集成插件. - 从小处开始,循环进行
- 选择一个团队开始集成过程。以下是一些你可以用来选择合适团队的考虑因素:
- 先锋团队——一个对改变和测试新的改进方法持开放态度的团队(特别是如果他们关心安全性)。
- 一个新的应用团队——如果你有选择的话,选择一个正在启动一个新项目/服务的团队(即开始“绿地”)
- 与其他团队的“集成”或依赖较少的团队。
在扩展到其他团队之前,与选定的团队一起建立和改进流程。
- 从“关键”问题开始。如上所述,实现JFrog Xray很可能会生成数十或数百个各种类型和严重性的警报。试图同时处理所有事情可能是不合理的。如果你发现关键问题的数量太多,而你的工具又支持它,那就试着把问题划分得比低/中/高/关键更细一些。试着去CVSS分数;从9.9-10开始,然后是9.8-10、9.7-10等等。这种过滤的粒度应该基于您的需求。
- 为每个“关键”问题做出决定。决定这个问题是否需要并且可以解决,或者是否应该解决忽略了.您可以决定暂时将一组问题列入白名单,或者为解决问题定义最后期限。
- 不要使用暴力操作。JFrog Xray允许您采取行动与电子邮件通知,webhook, Slack消息,Jira问题。它还允许阻止下载、失败的构建,甚至阻止发布。
尽量避免任何会破坏开发生命周期的行为,直到您完成清理可管理的现有问题(即可以解决或忽略的问题)。例如,阻止依赖项下载或基于新工具扫描结果的构建失败等操作。- 只有当构建通过且没有违规时,才考虑将来的硬操作。
- 选择一个团队开始集成过程。以下是一些你可以用来选择合适团队的考虑因素:
- 添加外部通知(如Jira和Slack)
- 你可能只想为新问题添加外部通知,否则你可能会有“警报疲劳”的风险。
在处理关键问题后,对主要问题重复相同的过程。对于小问题,你应该考虑是否要在此时处理它们,还是转移到下一个项目/团队,然后再处理它们。
希望本文中的最佳实践能够帮助您消除开发和安全之间的任何紧张关系,并为您提供一些DevSecOps基础。
