Amazon CodeGuru Reviewer推出新功能识别硬编码密钥并用Amazon Secrets Manager进行保护

本文主要是介绍Amazon CodeGuru Reviewer推出新功能识别硬编码密钥并用Amazon Secrets Manager进行保护,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

81858bd4fb3338b108d3f44d39b90d8f.gif

Amazon CodeGuru https://aws.amazon.com /codeguru/ 通过扫描和分析 Java 和 Python 应用程序来帮助提高代码质量并实现自动化的代码审查。Amazon CodeGuru Reviewer 可以检测代码中的潜在缺陷和错误。例如,它可就安全漏洞、资源泄漏、并发问题、错误输入验证以及偏离亚马逊云科技最佳实践等问题提出改进建议。

最广为人知的一个安全实践是集中管理密码、API 密钥和一般凭证等密钥。与许多面临严格时间要求的其他开发人员一样,我经常会在管理和使用代码中的密钥方面走捷径,在本地开发过程中使用纯文本环境变量或将静态密钥进行硬编码,然后在无意中将它们提交。当然,我总是非常后悔,希望有一种自动化的方法来检测和保护我所有存储库中的这些密钥。

我很高兴地宣布 Amazon CodeGuru Reviewer 新推出密钥检测器功能,这是一种自动化的工具,可帮助开发人员检测源代码或配置文件中的密钥,例如密码、API 密钥、SSH 密钥和访问令牌。

这种新推出的检测器在代码审查过程中使用机器学习(ML)来识别硬编码的密钥,从而帮助您确保所有新代码在合并和部署之前未包含硬编码的密钥。除 Java 和 Python 代码之外,密钥检测器还可以扫描配置和文档文件。在补救措施方面,Amazon CodeGuru Reviewer 建议使用 Amazon Secrets Manager https://aws.amazon.com/secrets-manager/ 来保护密钥,这是一项托管式的服务,可让您安全并自动地存储、轮换、管理和检索凭证、API 密钥以及其他各种类型的密钥。

这项新功能包含在Amazon CodeGuru Reviewer 服务中,无需额外付费,并支持常见的 API 提供商,例如 亚马逊云科技、Atlassian、Datadog、Databricks、GitHub、Hubspot、Mailchimp、Salesforce、SendGrid、Shopify、Slack、Stripe、Tableau、Telegram 和 Twilio。查看完整列表请扫描下方二维码。

41c23d1753a845173071fcec1cac3fe4.png

密钥检测器操作演示

首先,我从 Amazon Secrets Manager 控制台中选择 Amazon CodeGuru。此新的工作流允许我关联一个新的存储库并运行完整的存储库分析,目的是识别硬编码的密钥。

aebf97948560a5eb72988b3bb875c7ee.png

关联新存储库只需要几秒钟即可完成。我连接我的 GitHub 账户,然后选择一个名为 hawkcd https://github.com/alexcasalboni/hawkcd 的存储库,其中包含了一些 Java、C#、JavaScript 和配置文件。

84bf4e3d25be504eac158d4ca8d604ab.png

几分钟后,我完整的存储库关联成功并完成了完整扫描。我还可以看一下一个名为 DemoFullRepositoryAnalysisSecrets 的演示存储库分析。进入您的亚马逊云科技账户后,您可以在 Amazon CodeGuru 控制台的 Full repository analysis(完整存储库分析)下找到此演示。

820cdb7d03dda3dcc284ec770c94f097.png

我选中该存储库分析并找到了 42 条建议,其中包括一个针对硬编码密钥的建议(您可以用 Type=Secrets 条件来筛选推荐)。Amazon CodeGuru Reviewer 在 .travis.yml 文件中发现了硬编码的亚马逊云科技访问密钥 ID。

该建议强调了安全存储这些密钥的重要性,提供了有关此问题的更多信息的链接,并建议轮换识别出的密钥,以确保将来不会被作恶者再次利用。

c6ff6ac1878cd1868ed6527d6b90b313.png

Amazon CodeGuru Reviewer 允许我跳转到该密钥所在的准确文件和代码行,从而更深入地了解上下文,验证文件历史记录并快速采取行动。

9ab54c610f5c8e1cb1c226f956e24809.png

最后但并非最不重要的一点是,该建议包括一个 Protect your credential(保护您的凭证)按钮,让我可以快速跳转到 Amazon Secrets Manager 控制台,并使用正确的名称和值创建一个新密钥。

e316f93aba7336d3d255c5060888e40a.png

我将删除源代码中的纯文本密钥,然后更新我的应用程序以从 Amazon Secrets Manager 获取密钥值。在许多情况下,您可以保留当前的配置结构,并使用现有参数来存储密钥名称,但不存储密钥值。

fa5477ae1a7c13dec097d6152602c858.png

安全存储好密钥后,Amazon Secrets Manager 还会为我提供可以使用 Amazon SDK  https://aws.amazon.com/tools/ 以多种编程语言获取我的新密钥的代码片段。这些代码段包含了必要的Amazon SDK 调用,以及错误处理、解密和解码逻辑,从而为我节省了时间。

92c123ede837f5967ce51b8fb7c5564d.png

前面我演示了如何运行完整的存储库分析,当然也可以对每个新的拉取请求持续执行相同的分析,以帮助防止未来出现密钥硬编码和其他问题。

Amazon CodeGuru Reviewer 

现在支持此功能

Amazon CodeGuru Reviewer 密钥检测器功能已在所有提供Amazon CodeGuru Reviewer 的区域开放,无需额外付费。

如果您是Amazon CodeGuru Reviewer 新用户,则可以免费试用 90 天,使用不超过 10 万行代码的存储库。无论您的代码是托管在 Amazon CodeCommit https://aws.amazon.com/codecommit/ 、BitBucket 还是 GitHub 上,都可在几分钟内连接到存储库并开始完整扫描。如果您使用的是 GitHub,还可以参阅 GitHub 操作集成(请扫描下发二维码获取内容)。

2fde0063bf58f92352b1505e64c75ff7.png

有关密钥检测器功能的更多信息,请参阅技术文档(请扫描下方二维码获取内容)。

fe755412d79076e55d46d4ab34ec0bcc.png

本篇作者

5a110d09d1eb041031401d930bd78945.png

Alex Casalboni

高级软件工程师 &云布道者

Alex是亚马逊云科技的布道师,对网络技术和音乐充满热情。自2011年以来,他一直在开发网络产品,并用他的经验帮助其他开发者学习。他对编码的热爱遍及Python和JavaScript社区,他喜欢为开源项目做贡献,比如Amazon Lambda Power Tuning。

f950be67bf22abb9e232336960ad0aba.gif

5c8979d380f44ac1728a543e838e5b8e.gif

听说,点完下面4个按钮

就不会碰到bug了!

791f712d54f4a8040c53be8208404225.gif

这篇关于Amazon CodeGuru Reviewer推出新功能识别硬编码密钥并用Amazon Secrets Manager进行保护的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/291463

相关文章

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.

C++ | Leetcode C++题解之第393题UTF-8编码验证

题目: 题解: class Solution {public:static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num &

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

Android 10.0 mtk平板camera2横屏预览旋转90度横屏拍照图片旋转90度功能实现

1.前言 在10.0的系统rom定制化开发中,在进行一些平板等默认横屏的设备开发的过程中,需要在进入camera2的 时候,默认预览图像也是需要横屏显示的,在上一篇已经实现了横屏预览功能,然后发现横屏预览后,拍照保存的图片 依然是竖屏的,所以说同样需要将图片也保存为横屏图标了,所以就需要看下mtk的camera2的相关横屏保存图片功能, 如何实现实现横屏保存图片功能 如图所示: 2.mtk