关键字: [亚马逊云科技, Keythop, 云应用安全自动修复, 代码安全扫描, 安全漏洞修复, 安全左移策略, 安全可观测性平台]
在这个演讲中,演讲者介绍了如何利用亚马逊云科技的服务和开源工具,实现基于AI和Agent的云应用安全自动修复。他详细解释了在代码、构建、预发布和生产等不同阶段如何进行安全扫描和修复,以及如何利用大模型生成修复建议并自动修复GitHub代码库。该解决方案能够提供全局安全管理中心、自动化和定制化修复、满足合规要求等优势,有助于提升云上应用的安全姿态。
以下是小编为您整理的本次演讲的精华。
在这场内容丰富的演讲中,演讲者深入阐述了如何利用亚马逊云科技的服务,在整个软件开发生命周期(SDLC)中实现安全左移,从而提升云上应用的安全姿态。他强调,通过在代码、构建、部署和运行等各个阶段使用亚马逊的安全扫描工具,可以发现并及时修复安全漏洞,确保应用程序的整体安全性。
在代码阶段,开发者可以在IDE中安装AmazonCodeGuru,这一工具能够实时扫描代码质量问题和安全漏洞,如OWASP Top 10等常见漏洞。更为关键的是,CodeGuru提供了自动修复功能,开发者只需点击一下,就可以将所有发现的漏洞修复掉,非常便捷高效。演讲者指出,经常会听到开发者和企业抱怨,在修复安全漏洞和交付新功能之间存在冲突,因为时间紧迫,难以兼顾。CodeGuru的自动化能力正好可以解决这一挑战,将安全因素引入到代码编写和设计的最初阶段,据统计,这种做法最高可以降低150%的技术债务。
在代码被远程提交到代码仓库后,下一阶段就进入了持续集成和持续交付(CI/CD)的安全流程。在构建阶段,首先会进行软件组件分析(SCA),扫描代码依赖项中是否存在已知的CVE漏洞,因为黑客可能利用这些漏洞盗取用户数据或导致服务中断。接下来是静态代码分析(SAST),它可以在不运行代码的情况下,发现代码中不规范的地方,如硬编码密钥、SQL注入等。演讲者强调,这种静态扫描非常高效,能够精准地发现潜在的安全隐患。
经过扫描后,利用Amazon CodeBuild将应用打包,并推送到Amazon Elastic Container Registry(ECR)。值得一提的是,ECR已经集成了Amazon Inspector,可以对容器镜像进行扫描,提高安全可观测性,让开发团队更好地了解基础软件包的安全状况。
在预发布阶段,ECR中的容器会被Amazon CodeDeploy部署到预发布环境的Amazon ECS集群中。这一步骤非常关键,因为开发团队可以在应用上线给用户之前,及时发现并修复代码中的漏洞,确保推送到生产环境的是一个健康、安全的版本。在部署过程中,还会触发动态应用程序安全测试(DAST),发现运行时可能被黑客利用的漏洞,如服务器配置不当、授权设置不当等,并生成报告。
接下来,安全经理或开发主管需要根据组织的安全政策,审查之前各个阶段的扫描报告,确认是否满足上线条件。只有在所有发现的漏洞都被成功修复后,他们才会在CI/CD流程中手动批准,触发将容器应用部署到生产环境的最后一步,这一步也是利用Amazon CodeDeploy实现的。
一旦应用上线,开发团队需要持续监控两个方面。首先,需要在生产环境启用Inspector,实时发现是否有新出现的CVE漏洞,并及时修复。其次,需要启用Amazon GuardDuty,这一服务可以检测威胁行为,如挖矿、远程控制等,并与Amazon Web Services SecurityHub集成发送警报,确保生产系统的安全运行。
演讲者接着介绍了一个开源工具,用于提升代码安全可观测性和自动修复能力。该工具的第一个功能是数据预处理。具体来说,各个阶段产生的扫描报告会存储在Amazon S3中,S3会通过事件通知触发Lambda函数,Lambda中定义了数据预处理脚本,将所有漏洞信息统一存储到Amazon DynamoDB中,以NoSQL的形式存储为JSON对象。同时,Lambda还会触发通知,让开发团队知晓在某个阶段出现了什么漏洞,以便及时修复。
接下来是利用大模型的能力进行高效修复。演讲者提到,传统的修复流程往往与交付周期存在冲突,因此希望利用大模型的能力加速这一过程。他介绍了两种修复方式:手动修复和自动修复。
在手动修复模式下,安全团队可以通过基于Streamlit框架开发的前端UI,查看之前发现的所有漏洞。他们只需点击一下,就可以利用大模型生成修复建议,并将其复制到IDE中。这种方式适用于需要根据特定业务场景进行定制化修复的情况,开发者可以提供更多上下文信息和代码段,选择合适的模型,以获得最优的修复结果。
而自动修复则利用了Amazon Bedrock Agent这种智能体技术。开发团队首先需要在Agent中预置提示词,定义角色、任务和上下文信息,如需要修复的GitHub仓库URL、分支名等。Agent会根据这些信息,通过反应规划技术分解任务,决定调用哪些工具,解析响应,最终完成整个修复过程。例如,Agent中定义了一个Lambda函数工具,可以从GitHub获取代码、修改代码,并自动提交到新分支,实现全自动化的修复。
为了直观展示该工具的功能,演讲者进行了现场演示。首先,工具提供了一个全局安全管理中心,统一展示了SDLC所有阶段发现的漏洞,按项目、扫描类型等进行分类,解决了传统上安全信息孤岛的问题。接着,他点击一个按钮,工具就生成了关于某个漏洞的修复建议,包括修复说明和修复后的代码。
在自动修复演示中,Agent首先让开发者确认GitHub仓库URL、需要修复的分支等信息。获取这些信息后,它就自动分析整个代码库,调用大模型生成修复方案,并自动提交到一个新分支。演讲者展示了Agent的修复历史,比如将SQL注入漏洞修复为参数化查询的形式,从而提高了代码质量。
该工具不仅提供了全局安全管理中心和自动化修复能力,还可以检查代码质量问题,如代码规范、复杂度、性能瓶颈等,为开发者提供全方位的支持。
总的来说,这个解决方案利用了AI和智能代理技术,实现了云应用安全漏洞的智能化自动分析和修复,提高了安全运营效率。它将安全因素引入到软件开发生命周期的最前端,通过及时发现和修复漏洞,保证了云上应用的整体安全姿态。同时,它打破了传统的安全信息孤岛现象,为开发者和企业提供了全局化的安全管理能力,满足了诸如PCI DSS、ISO等合规要求,这些标准都明确定义了要及时扫描并修复安全漏洞,并在一定时间内(如一个月)修复高危漏洞的策略。
该解决方案采用了无服务器架构,通过亚马逊云科技云开发工具包(CDK)进行自动化部署,具有良好的可扩展性和可维护性,所有服务定义都采用了声明式的方式,减少了代码量。未来,演讲者计划将工具与Amazon CodeCommit集成,为Agent提供更多上下文信息,进一步提高修复的准确度。
最后,演讲者向现场观众分享了该开源工具的二维码,欢迎大家扫码体验,并提供反馈意见。他强调,这一工具不仅能为企业级客户提供智能化的代码修复能力,也可以满足个人开发者和国内企业的安全合规需求,是一款功能全面、前景广阔的安全解决方案。
亚马逊云科技推出了一种基于AI和Agent的云应用安全自动修复解决方案,旨在提升云上应用的安全姿态。该方案贯穿了软件开发生命周期的各个阶段,从代码编写、构建、预发布到生产环境,都采用了亚马逊科技的安全服务进行全方位的安全防护。
在代码阶段,Amazon CodeGuru可实时扫描代码质量问题和安全漏洞,并提供自动修复功能,实现安全左移。在构建阶段,进行软件组件扫描、静态代码扫描,并利用CodeBuild打包应用推送到ECR进行镜像扫描。在预发布阶段,进行动态应用扫描,并由安全经理审查报告后批准上线。在生产环境,开启Inspector实时发现新的CVE,并与GuardDuty集成发现威胁行为。
该解决方案还包括一个开源工具,可构建代码安全可观测性平台。该工具提供全局安全管理中心、自动化修复和定制化修复等功能,并利用Amazon Bedrock Agent实现对GitHub整个代码库的自动化修复。该工具可满足企业的安全合规要求,并具有良好的可扩展性和维护性。未来,该工具将与MCP和GitHub集成,提高修复准确度。
我们正处在Agentic AI爆发前夜。2025亚马逊云科技中国峰会提出,企业要从“成本优化”转向“创新驱动”,通过完善的数据战略和AI云服务,把握全球化机遇。亚马逊将投入1000亿美元在AI算力、云基础设施等领域,通过领先的技术实力和帮助“中国企业出海“和”服务中国客户创新“的丰富经验,助力企业在AI时代突破。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70038688/viewspace-3090905/ ,如需转载,请注明出处,否则将追究法律责任。