写点什么

如何使用 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:395285

评论

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

二维码的秘密

古时的风筝

二维码 二维码生成

ClickHouse 挺快,esProc SPL 更快

陈橘又青

重磅发布丨从云原生到 Serverless,先行一步看见更大的技术想象力

Serverless Devs

ShardingSphere分库分表schema名称导致NPE问题排查记录

小小怪下士

Java 程序员 后端

2022年终总结:一年读完的40本书

石云升

读书笔记 年终总结 1月月更

Jenkins 项目的 gpg: signing failed: Bad passphrase 错误

HoneyMoose

Jenkins 构建过程中提示 GPG 错误

HoneyMoose

React源码分析7-state计算流程和优先级

flyzz177

React

React源码分析5-commit

flyzz177

React

公共服务 智慧政务数据可视化大屏一体化系统

2D3D前端可视化开发

数据可视化 数字政务 智慧政务 数字政府 可视化大屏

带你认识数仓的增量备份核心设计

华为云开发者联盟

数据库 后端 华为云 数仓 企业号 1 月 PK 榜

React源码分析6-hooks源码

flyzz177

React

Git操作不规范,战友提刀来相见!

王中阳Go

golang git 深度思考 高效工作 学习方法

云图说 | Workflow:流水线工具,助您高效完成AI开发

华为云开发者联盟

人工智能 华为云 AI开发 企业号 1 月 PK 榜

Postgresql分析慢sql

查拉图斯特拉说

数据库 postgresql db PgSQL PG库

《金融电子化》:隐私计算赋能银行助贷业务自主风控 | 华夏银行×洞见科技

洞见科技

隐私计算 风控

2023-01-09:以下go语言代码输出什么?A:+Inf; B:zero; C:something else; D:doesn‘t compile。 package main import (

福大大架构师每日一题

golang go语言 福大大 选择题

ProgressBar(进度条)

芯动大师

Android Studio 进度条 ProgressBar

关于 Serverless 应用架构对企业价值的一些思考

Serverless Devs

《PyTorch 深度学习实战》学习笔记--Mac M1 安装PyTorch2.0

IT蜗壳-Tango

如何把 高并发限流 实现的那叫一个优雅!

风铃架构日知录

Java 程序员 高并发 IT 限流

一次JVM GC长暂停的排查过程

京东科技开发者

Java 后端 JVM 虚拟机 企业号 1 月 PK 榜

微服务的版本号要怎么设计?

江南一点雨

微服务 语义化

Serverless 奇点已来,下一个十年将驶向何方?

Serverless Devs

一个词语总结2022,你的是什么? | 2022 年度总结

陈言必行

2022年终总结

一次关于 MySQL 主从模式采用 GTID 的实践记录

风铃架构日知录

Java MySQL IT 主从复制 MySQL 数据库

甩掉容量规划炸弹:用 AHPA 实现 Kubernetes 智能弹性伸缩

阿里巴巴中间件

阿里云 Kubernetes 云原生 AHPA

模块五作业

张贺

2023年,祝你有个好习惯!

石云升

习惯 年终总结 1月月更

LogicFlow安装与准备工作

小鑫同学

前端 vite Vue 3 Vue3 Typescript

视频实时自然美颜, 无惧素颜上镜

HarmonyOS SDK

HMS Core

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