写点什么

如何使用 Amazon Q 免费进行代码安全检查

  • 2023-08-24
    北京
  • 本文字数:1414 字

    阅读完需:约 5 分钟

如何使用 Amazon Q 免费进行代码安全检查

活动推荐: #生成式 AI 先锋开发者集结令 #

免费体验编程神器,丰厚大奖等你来拿!👉🏻👉🏻https://jinshuju.net/f/rVuKYa


CodeWhisperer 是 Amazon 发布的一款免费的 AI 编程辅助小工具,在辅助程序员编程的同时,还具备代码安全审计的功能。可以快速扫描 Java、JavaScript 和 Python 项目中难以发现的漏洞,并获取代码建议以立即修复这些漏洞。遵循跟踪安全漏洞的最佳实践,例如开放全球应用程序安全项目 (OWASP) 概述的漏洞,或者不符合加密库最佳实践及其他类似安全最佳实践的漏洞。今天小试牛刀,试验一下 CodeWhisperer 的代码安全检查能力,成功识别出 Python 代码中可能存在的系统命令注入漏洞、SQL 注入漏洞、MD5 碰撞漏洞以及反序列化漏洞,666 ~

系统命令注入漏洞


以下是一段有安全漏洞的 Python 代码:

import os
filename = input("请输入文件名:")os.system("rm " + filename)
复制代码


这段代码的作用是删除用户输入的文件名对应的文件,但存在安全漏洞。其中的漏洞是,用户可以通过输入特殊字符来执行任意系统命令,而不仅仅是删除文件。例如,如果用户输入的是 ;ls,则会先删除指定文件,然后执行 ls 命令。这可能导致系统被攻击者接管或者数据被窃取,因此这段代码需要进行安全性改进。



Amazon CodeWhisperer 成功检测出:系统命令注入漏洞。


SQL 注入漏洞


以下是一个有安全漏洞的 Python 代码:


import sqlite3
conn = sqlite3.connect('example.db')c = conn.cursor()
c.execute('''CREATE TABLE stocks (date text, trans text, symbol text, qty real, price real)''')
date = input("请输入日期:")trans = input("请输入交易类型:")symbol = input("请输入股票代码:")qty = input("请输入数量:")price = input("请输入价格:")
c.execute(f"INSERT INTO stocks VALUES ('{date}', '{trans}', '{symbol}', {qty}, {price})")
conn.commit()conn.close()
复制代码


这段代码的作用是向 SQLite 数据库中插入一条记录,但存在安全漏洞。其中的漏洞是,用户输入的数据没有进行任何过滤或转义,从而可能导致 SQL 注入攻击。例如,如果用户输入的 symbol 参数是 ABC'); DROP TABLE stocks; --,则会删除 stocks 表。这可能导致数据丢失或系统崩溃,因此这段代码需要进行安全性改进。



Amazon CodeWhisperer 成功检测出:SQL 注入漏洞。

MD5 碰撞漏洞


以下是一个有安全漏洞的 Python 代码:


import hashlib
password = input("请输入密码:")
hash = hashlib.md5(password.encode('utf-8')).hexdigest()
print(f"您的密码的 MD5 值为:{hash}")
复制代码


这段代码的作用是计算用户输入的密码的 MD5 值,并输出结果。但存在安全漏洞。其中的漏洞是,MD5 算法已经被证明不再安全,可以被暴力破解或碰撞攻击。因此,如果攻击者获得了用户的 MD5 值,就可以使用彩虹表等方法轻松地破解密码。这可能导致用户账户被攻击者接管或者数据被窃取,因此这段代码需要进行安全性改进。



Amazon CodeWhisperer 成功检测出:MD5 碰撞漏洞

反序列化漏洞


以下是一个有安全漏洞的 Python 代码:


import pickle
serialized_data = input("请输入序列化数据:")data = pickle.loads(serialized_data)# 使用反序列化后的数据...
复制代码


这段代码的作用是对输入序列化数据,进行反序列化。但存在安全漏洞,其中的漏洞是没有对输入进行验证和过滤,直接进行反序列化操作可能导致恶意对象的执行,从而导致远程代码执行或数据泄露。



Amazon CodeWhisperer 成功检测出:反序列化漏洞。


2023-08-24 10:395193

评论

发布
暂无评论
发现更多内容

人工智能ChatGPT的多种应用:提示词工程

测吧(北京)科技有限公司

测试

百度面试:如何用Redis实现限流?

王磊

Java 面试

推荐十个优秀的ASP.NET Core第三方中间件,你用过几个?

不在线第一只蜗牛

asp.net 后端 中间件

实力认可|心大陆多智能体入围“2024DIIRC大模型十大典范案例”服务商!

心大陆多智能体

软件测试学习笔记丨Vue路由-编程式导航

测试人

JavaScript 及相关技术的集成开发环境(IDE)WebStorm 2024 for Mac

Mac相关知识分享

JavaScript webstorm 开发工具 Mac软件

英特尔软硬协同,优化阿里云通义千问2 AI模型

E科讯

阿里巴巴1688商品详情API返回值应用探索:电商数据驱动的市场趋势预测

技术冰糖葫芦

API Explorer API 接口 API 策略

嘉为蓝鲸监控中心:助力大型运营商解决烟囱工具式监控难题

嘉为蓝鲸

监控 运维工具 IT 运维

JetBrains PhpStorm 2024 for Mac(PHP集成开发) v2024.1.3中文版

Mac相关知识分享

开发工具 Mac软件 PHP开发

开源无代码 / 低代码平台 NocoBase 1.0.1-alpha.1: 区块支持高度设置

NocoBase

开源 低代码 无代码开发 低代码开发 无代码

借助Historian Connector + TDengine,打造工业创新底座

TDengine

数据库 时序数据库

淘宝商品列表数据接口实战:构建实时比价系统

tbapi

淘宝商品列表数据接口 淘宝商品数据采集 关键词搜索淘宝接口

面试官:你讲下接口防重放如何处理?

不在线第一只蜗牛

程序员 面试 接口

StarRocks vs. Trino: 高并发性能背后的技术优势是什么?

StarRocks

数据库 大数据

鹏华基金研运一体化平台落地实践,探索数字化转型

嘉为蓝鲸

数字化转型 一体化 一体化平台

嘉为蓝鲸告警中心:助力大型保险集团实现告警规范管理

嘉为蓝鲸

告警体系 运维工具 IT 运维

【AI法官】人工智能判官在线判案?

AppBuilder

MySQL 存储函数及调用

EquatorCoco

MySQL 数据库

Docker与低代码跨平台开发:实现高效跨平台开发的新范式

EquatorCoco

Docker 容器 低代码

软件测试学习笔记丨Vue路由-路由重定向

测试人

软件测试

淘宝商品详情API接口:高效处理商品信息,提升工作效率

技术冰糖葫芦

API Explorer API 接口 API 策略 pinduoduo API

第十二届双态IT用户大会·嘉为蓝鲸平台工程专题研讨会圆满落幕!

嘉为蓝鲸

DevOps BizDevOps 一体化运维

为什么说SD-WAN能省钱?

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

限流器设计思路(浅入门)

快乐非自愿限量之名

Java Python 前端 限流器

2024IT市场权威榜单发布!腾讯云TBDS斩获两大奖项!

腾讯云大数据

TBDS

软件测试学习笔记丨Vue路由-嵌套路由

测试人

软件测试

开发电竞体育直播平台:可呈现电竞数据和具备的功能

软件开发-梦幻运营部

如何使用 Amazon Q 免费进行代码安全检查_亚马逊云科技_顾涛_InfoQ精选文章