AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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

评论

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

区块链之共识算法系列——PoW(二)

Regan Yue

区块链 11月日更 趣讲区块链

【高并发】不得不说的线程池与ThreadPoolExecutor类浅析

冰河

Java 并发编程 多线程 高并发 异步编程

四大研究成果入选 百度安全在Black Hat Europe 2021再创历史

百度安全

应用安全 百度安全 Black Hat 漏洞利用 恶意软件

C++ 动态新闻推送 第33期

很水

阿里灵杰产品全面拥抱云原生,双11优惠让企业体会上云便利

阿里云大数据AI技术

大数据 AI 云原生 阿里灵杰

Alibaba Druid 源码阅读(四) 数据库连接池中连接获取探索

数据库

互联网大厂考点(阿里+百度+腾讯+字节跳动+美团+京东)

Java高级开发

Java 程序员 架构 面试 大厂

GrowingIO Design 图标库:从原理到实现

GrowingIO技术专栏

SVG 图标库 Sprites Icon Font GrowingIO Design

接口调用的链路

卢卡多多

接口 11月日更

Alibaba Druid 源码阅读(二) 数据库连接池实现初步探索

数据库

Alibaba Druid 源码阅读(三) 数据库连接池初始化探索

数据库

Alibaba Druid 源码阅读(五)数据库连接池 连接关闭探索

数据库

模块三-学生管理系统架构设计文档

迪马

12 K8S之应用容器及Pod资源

穿过生命散发芬芳

k8s 11月日更

C++ 动态新闻推送 第34期

很水

Prometheus HTTP API 查询(六)Prometheus Server 状态和 TSDB 状态

耳东@Erdong

Prometheus PromQL HTTP API 11月日更

C++ 动态新闻推送 第36期

很水

c++

Alibaba Druid 源码阅读(一) 数据库连接池初步

数据库

浏览器存储之 localStorage 和 cookie

devpoint

Cookie LocalStorage sessionStorage 11月日更

Go语言,面试官问我go逃逸场景有哪些,我???

微客鸟窝

Go 语言 11月日更

数据库自增ID用完了会怎样

喵叔

11月日更

无AI的五子棋Vue项目

空城机

JavaScript typescript 大前端 11月日更

鸿蒙的绿野仙踪

脑极体

当一名科技女性,决定不再做月亮

脑极体

研发提效:通过设计稿自动生成前端代码。

石云升

大前端 自动生成 11月日更 研发提效

C++ 动态新闻推送 第35期

很水

sonar 使用常见问题总结

liuzhen007

11月日更

【Promise 源码学习】第五篇 - 实现 Promise 对异步操作的支持

Brave

源码 Promise 11月日更

🏆【Alibaba中间件技术系列】「RocketMQ技术专题」帮你梳理RocketMQ或Kafka的选择理由以及二者PK

码界西柚

kafka RocketMQ 消息队列 11月日更

详解低延时高音质:回声消除与降噪篇

声网

回声消除 音频体验 RTE技术详解

C++ 动态新闻推送 第37期

很水

c++

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