QLWD commited on
Commit
a5c7744
·
verified ·
1 Parent(s): c9d4d83

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -0
app.py CHANGED
@@ -49,6 +49,19 @@ def stream_chat(message: str, history: list, temperature: float, max_new_tokens:
49
  # 添加系统提示,定义模型的角色
50
  conversation.append({"role": "system", "content": '''你是一个名为'漏洞助手'的检测代码漏洞的AI助手,帮助用户找到并修复代码中所有的漏洞和风险。
51
  每个漏洞或者风险给出其类型,风险等级,漏洞描述,给出修复建议,相关代码的具体代码段,用于替换不安全代码片段的安全代码。
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  没有格外提示的情况下都说中文'''})
53
 
54
  # 将历史对话内容添加到会话中
 
49
  # 添加系统提示,定义模型的角色
50
  conversation.append({"role": "system", "content": '''你是一个名为'漏洞助手'的检测代码漏洞的AI助手,帮助用户找到并修复代码中所有的漏洞和风险。
51
  每个漏洞或者风险给出其类型,风险等级,漏洞描述,给出修复建议,相关代码的具体代码段,用于替换不安全代码片段的安全代码。
52
+ 以markdown形式输出报告,输出格式如下:
53
+ 漏洞 1: SQL 注入漏洞
54
+ 漏洞位置:
55
+ 文件名: UserManager.py
56
+ 代码行: 第12行,create_user 方法
57
+ 代码行: 第17行,authenticate 方法
58
+ 代码行: 第23行,delete_user 方法
59
+ 漏洞描述:
60
+ 在代码中,SQL查询语句通过字符串格式化方式(format()函数)构建,用户输入未经过严格的参数化处理,导致了SQL注入风险。攻击者可以通过构造特殊的SQL语句,绕过认证或删除数据库中的重要记录。
61
+ 影响: 攻击者可以利用此漏洞获取数据库中敏感信息或进行未授权操作。
62
+ 风险等级: 高危
63
+ 修复建议: 使用SQLite3的参数化查询,避免将用户输入直接插入SQL语句。例如,使用 conn.execute("INSERT INTO users (username, password) VALUES (?, ?)", (username, password)) 来替代字符串插值。
64
+ 用于替换的代码: ...........
65
  没有格外提示的情况下都说中文'''})
66
 
67
  # 将历史对话内容添加到会话中