规则更新
AppScan® Source 版本 10.11.0 中的规则更新
| 语言 | CWE | 描述 |
|---|---|---|
| Android Java | CWE-319 | 新增覆盖范围:检查在 AndroidManifest.xml 文件中是否将 usesCleartextTraffic 或 cleartextTrafficPermitted 设置为 true,这是一种不安全的做法。 |
| C# | CWE-89 | 新增覆盖范围:新增 SQL 注入检测,除原有模式外新增 += 模式及部分存储过程模式。 |
| CWE-89 | 新增覆盖范围:强化检测约束条件,确保仅在查询语句中触发以减少干扰。 | |
| CWE-215 | 检测日志调用中是否存在包含敏感信息的可疑变量。 | |
| CWE-397 | 检测常规抛出异常(如 throw new Exception 或 throw new SystemException)的潜在安全隐患。 | |
| CWE-1004 | 误报减少:检测 http=true 设置,若存在则避免生成问题。 | |
| Dart:Flutter(新增框架支持,新增覆盖项) | CWE-35 | 检查 MethodChannel 是否使用可能受用户操控的路径参数。 |
| CWE-78 | 检测 MethodChannel 调用中潜在的操作系统注入风险。 |
|
| CWE-80 | 检查 WebView 或 InAppWebView 是否存在未受限制的 JavaScript 执行,此为危险做法。 |
|
| CWE-89 | 支持 Flutter 专属的 sqflite 数据库 API | |
| CWE-117 | 发现未被调试控制包裹的 print 及类似语句。此类调用通常不应出现在调试分支外的生产代码中。 | |
| CWE-312 | 规则检查 FlutterSecureStorage 是否存储疑似私密信息,如密码或其他会话数据。 |
|
| CWE-598 | 检查导航器对象中查询参数的潜在不安全用法。 | |
| CWE-918 | 在 MethodChannel.invokeMethod 中查找用户可控 URL 作为 SSRF 攻击载体。 |
|
| CWE-943 | 查找 NoSQL 注入漏洞。 | |
| CWE-338 | 查找弱伪随机数。 | |
| CWE-116 | 查找 File.writeAs 风格的调用。 | |
| CWE-79 | 审查 Response.ok 及类似调用的潜在安全隐患。 |
|
| CWE-348 | 查找可能存在安全风险的目录列表。 | |
| CWE-78 | 检查 Process.run 是否存在不安全调用。 |
|
| CWE-89 | 覆盖 SQL 注入风险的 query/execute/prepare 风格调用。 | |
| Java | CWE-215 | 检查日志调用中是否存在包含敏感信息的可疑变量。 |
| CWE-397 | 查找常规且潜在危险的抛出异常模式,如 throws Exception 或 throws Throwable。 | |
| CWE-396 | 查找常规捕获块,如 catch(Exception e) 或 catch (Throwable t)。 | |
| JavaScript:Angular | CWE-80 | 误报减少:检查确保不在 @if 模板中 |
| JavaScript | CWE-397 | 查找常规且潜在危险的抛出语句,如 throw "message"。 |
| CWE-80 | 修复了使用 @if 模式但非 Handlebars 模板的缺陷。 | |
| NodeJS | CWE-78 | 新增对危险 child_process.exec 调用的检测。 |
| Perl | CWE-89 | 减少 SQL 注入规则中的干扰,此类规则曾错误地针对参数化语句产生问题。 |
| CWE-732 | 减少使用 STDIN 作为输入的开放调用噪声。 | |
| CWE-732 | 为 IO::File::open 调用提供更完整的覆盖。 | |
| PHP | CWE-213 | 新增对 PHP 代码中残留 phpInfo 调用的检查。 |
| CWE-89 | 新增检查以通过 sqlite_escape_string 验证并排除问题。 |
|
| CWE-397 | 查找常规且潜在不安全的通用抛出异常,例如 throw Error("foo")。 | |
| Python | CWE-397 | 查找常规且潜在不安全的通用抛出异常,例如 raise BaseException。 |
| 密钥 | CWE-798 | 新增针对硬编码机密的 privateKey 检测。 |
| CWE-798 | 新增覆盖范围:新增对 Tuleap 的支持。 | |
| CWE-798 | 新增覆盖范围:检查 equalsIgnoreCase 调用内部是否存在硬编码密码。 |
|
| CWE-798 | 误报减少:避免为机密扫描程序针对 C/C++ 注释代码添加问题。 | |
| Swift | CWE-1188 | 新增覆盖范围:检查 info.plist 文件中是否存在 UIFileSharingEnabled 或 LSSupportsOpeningDocumentsInPlace 设置为 true 的不安全配置。 |
| TypeScript | CWE-94 | 新增检查:eval 表达式是否包含潜在用户可控变量。 |
此外,CWE-319 规则整体进行了更新。我们移除了检测代码中不安全 http 样式字符串的规则,因为其产生的干扰过多。在混合扫描程序中,我们仍会针对合理场景(如 JavaScript 中的 fetch 调用)检测开放通信的具体实例。
本次 CWE-319 变更影响以下语言:
- ASP
- Golang
- Groovy
- Kotlin
- Objective-C
- PHP
- Scala
- Swift
- C#
- Dart
- RPG
- VB
- Xamarin
AppScan® Source 版本 10.10.0 中的规则更新
| 语言 | CWE | 描述 |
|---|---|---|
| C# | CWE-89 | 减少 SQLi 检测中的误报。 |
| CSS | CWE-79 | 减少对 .css 文件进行硬编码变量检查时的误报。 |
| Go | CWE-79 | 减少 fprintf 检查中产生的误报。 |
| IaC Docker | CWE-22 | 检查添加到 Dockerfile 中的敏感路径。 |
| IaC Kubernetes | CWE-209 | 已添加一项检查,用于查找遗留在 .yaml 配置文件中的堆栈跟踪代码。 |
| Java | CWE-78 | 查找 Runtime.getRunTime() 的内联调用。 |
| CWE-757 | 增强了对不安全和已损坏项的检查列表。 | |
| CWE-916 | 检查 PBEKeySpec 和 PBEParameterSpec 的迭代计数是否过低。 |
|
| CWE-1188 | 针对使用大值或用户可控值的 StringBuilder 构造函数进行拒绝服务检查。 |
|
| CWE-209 | 检查代码中 System.out 和 System.err 的使用情况(这些是应从生产代码中移除的调试调用)。 |
|
| PHP | CWE-89 | 已为 sqlite_escape_string 添加验证器检查。 |
| Python | CWE-78 | 查找 os.system 的不安全使用情况。 |
| CWE-79 | 提高了 Python Django 规则的清晰度。 | |
| 密钥 | CWE-798 | 一些无关模式被移除,不再作为结果。 |
| CWE-798 | 在 web.config 文件中查找硬编码凭证。 |
|
| CWE-1051 | 对硬编码 IP 地址的检查已进行调整,可避免将貌似 IP 地址的非 IP 字符串误报。 | |
| CWE-1051 | 移除了硬编码 IP 地址检查的无关模式。 | |
| CWE-798 | 移除了硬编码凭证的无关模式:
|
|
| CWE-1051 | 误报减少:硬编码 IP 地址检查可避免将疑似版本号的字符串误报 | |
| CWE-798 | 减少 Atlassian 机密检测中的误报。 | |
| CWE-798 | 减少机密信息中密钥/值对的误报。 | |
| CWE-798 | 新增检测范围,可查找字符串中包含“1234”作为其一部分的硬编码密码。 |
AppScan® Source 版本 10.9.0 中的规则更新
注:
- 新规则
| 语言 | CWE | 描述 |
|---|---|---|
| 所有语言 | CWE-798 | 改进了降噪性能 |
| C# | CWE-1333 | 检查应用于 regex 对象的超时1 |
| CWE-89 | 通过使用 String.Append 构建查询语句而新捕获的 SQLi |
|
更新了 Microsoft.CodeAnalysis.CSharp.Scripting 和 Microsoft.AspNetCore.Mvc.ViewFeatures 的安全信息 |
||
| C# 源代码扫描程序 | CWE-94 | 检查 CSharpScript.EvaluateAsync。1 |
| CWE-532 | 检查用户名或密码等个人身份信息 (PII) 的记录。1 | |
| CWE-111 | 检查 DllImport 的不安全使用。1 |
|
| ColdFusion | CWE-328 | 调整了对提高性能的检查 |
| HTML | CWE-319 | 避免 URL 中出现 localhost 这样的干扰信息 |
| IaC | CWE-311 | 针对 Amazon 负载均衡器中的正确 TLS 设置增加了检查 |
| Java 源代码扫描程序 | CWE-532 | 检查用户名或密码等个人身份信息 (PII) 的记录。1 |
| CWE-102 | 检查 Struts 验证 XML 文件中是否存在重复的表单名称。1 | |
| CWE-104 | 检查是否存在继承了 ActionForm 但未进行验证的类。1 |
|
| JavaScript | CWE-598 | 查找 JavaScript 文件中的 URLSearchParams 缺陷。1. |
| PHP | CWE-111 | 检查包含不安全调用的 FFI::cdef 的使用。1 |
| Python | CWE-502 | 查找 Java 中的不安全反射1 |
| CWE-111 | 检查未对参数使用完全限定路径的 ctypes.DLL 的使用。1 |
AppScan® Source V10.8.0 中的规则更新
注:
- 新规则
- 减少规则中的无关内容
| 语言 | CWE | 描述 |
|---|---|---|
| ASP.NET | CWE-1188 | 项目配置中启用了无 Cookie 会话状态。2 |
| CWE-79 | 代码中内嵌表达式的潜在 XSS。2 | |
| C# | CWE-601 | 在变量中可能由用户控制的数据的重定向请求。2 |
| CWE-185 | 正则表达式注入。2 | |
| CWE-78 | 进行了调整,以减少操作系统注入的无关结果。 | |
| HTML | CWE-79 | 文件扩展名的新规则:
|
| CWE-319 | ||
| CWE-524 | ||
| CWE-525 | ||
| CWE-598 | ||
| CWE-1021 | ||
| CWE-1022 | ||
| IaC | CWE-798 | 进行了调整,以减少 TypeScript 代码构造的无关结果。 |
| CWE-1051 | 进行了调整,以减少 HTML 文件中 IP 模式的无关结果。 | |
| CWE-1328 | 进行了调整,以减少 Docker 图像参考的无关结果。 | |
| IaC Terraform | CWE-410 | 不安全的负载均衡器配置。1 |
| Java | CWE-337 | Java 代码中 SecureRandom 实例的可预测种子。2 |
| CWE-918 | RestTemplate().exchange 中的服务器端请求伪造。2 |
|
| CWE-185 | Java 代码中的正则表达式注入。2 | |
| CWE-244 | 密码存储在 Java 字符串对象中。2 | |
| JavaScript | CWE-79 | document.referrer 的用法不安全。2 |
| CWE-209 | 进行了调整,以减少无关的结果。 | |
| CWE-359 | 进行了调整,以减少无关的结果。 | |
| CWE-1022 | 进行了调整,以减少窗户 .open 结果的无关结果。 |
|
| PHP | CWE-79 | PHP 内用户控制的数据转换为 HTML。2 |
| Python Django | CWE-79 |
|
| CWE-89 | ||
| CWE-200 | ||
| CWE-201 | ||
| CWE-212 | ||
| CWE-352 | ||
| CWE-497 | ||
| CWE-522 | ||
| CWE-523 | ||
| CWE-795 | ||
| CWE-918 | ||
| CWE-1021 | ||
| CWE-1188 | ||
| CWE-1295 | ||
| 密钥 | CWE-798 | 硬编码的基本认证凭证。1 |
| CWE-798 | 正在 URL 查询字符串中查找已找到的硬编码密码。 | |
| CWE-284 | 进行了调整,以减少 Azure 共享访问签名令牌暴露结果中的无关结果。 | |
| VB.NET | CWE-502 | 可能的反序列化。2 |
| Visual Basic | CWE-78 | 进行了调整,以减少无关的结果。 |
| CWE-328 | 进行了调整,以减少无关的结果。 |
AppScan® Source V10.7.0 中的规则更新
- 新规则
- 规则修复
| 语言 | CWE | 更改 | |
|---|---|---|---|
| 常规 | CWE-319 | 更好地处理所有语言的开放式通信规则,以避免产生干扰性问题。 | |
| .NET | ASP.NET | CWE-1188 | ASP.NET 项目配置中启用了无 Cookie 会话状态。 |
| C# | CWE-319 | 检测到开放通信方案。 | |
| CWE-328 | 检测到弱密码算法。 | ||
| CWE-327 | 检测到未进行签名验证的 JWT 构建器。 | ||
| VB.NET | CWE-1173 | VB 代码中禁用了 HTTP 请求验证。 | |
| CWE-328 | VB 代码中使用了弱加密算法。 | ||
| Angular | CWE-94 | 沙盒 VM 中有潜在代码注入漏洞。1 | |
| CWE-312 | 本地存储会避免与排序方向相关的 setItem 调用。 |
||
| AngularJS 和 AllFolders 属性选项卡 | CWE-477 | 找到弃用的调用:(ng-bind-html-unsafe)。 | |
| Apex | CWE-943 | SOQL 注入。 | |
| CWE-943 | SOSL 注入。 | ||
| CWE-328 | 选择了弱散列算法。 | ||
| CWE-79 | 脚本或样式跨站点脚本编制 (XSS)。 | ||
| ASP | CWE-319 | 在 ASP 代码中检测到开放通信方案。 | |
| CWE-79 | 使用 Server.HTMLEncode 检查验证是否正确。 |
||
| C/C++ | CWE-367 | 临时文件名函数的潜在危险使用。已更正上下文。2 | |
| CWE-78 | 检测到潜在的命令注入。扩大了覆盖范围。2 | ||
| CWE-250 | CreateFile 调用似乎违反了最小特权原则。 |
||
| CWE-250 | CreateNamedPipe 缺少 FILE_FLAG_FIRST_PIPE_INSTANCE 标志。 |
||
| CWE-757 | 检测到不安全地使用了 (SSL/TLS) 协议。 | ||
| CWE-295 | 检测到 Curl 配置的潜在危险用法(此类别中有七条不同的规则)。 | ||
| CWE-427 | 检测到可能违反最小特权原则的注册表操控行为。 | ||
| CWE-611 | 启用了不安全的外部实体处理。 | ||
| ColdFusion | CWE-524 | cfCache 缓存安全页面。 |
|
| CWE-502 | cfWddx 缺少 WDDX 验证。 |
||
| CWE-862 | 在 cfFunction 中未验证客户机。 |
||
| CWE-319 | 不安全的通信。 | ||
| CWE-307 | 多重提交验证。 | ||
| CWE-327 | 加密函数中使用了不安全算法。 | ||
| CSS | CWE-79 | 进行了调整,以避免无关的结果。 | |
| Dart | CWE-522 | 已针对潜在敏感字段启用 AutoComplete。 |
|
| CWE-319 | 检测到与 HttpServer 的开放通信方案。 |
||
| CWE-319 | 检测到开放式套接字通信。 | ||
| CWE-319 | 检测到与 URI 的开放通信方案。 | ||
| CWE-79 | 在 Dart 代码中不安全地使用了 window.open。 | ||
| CWE-319 | 字符串中检测到开放通信方案。 | ||
| CWE-79 | 检测到不安全的内容安全策略关键字。 | ||
| CWE-328 | 在呈现结果时更具选择性,避免更显著的无关结果。 | ||
| CWE-319 | 进行了调整,以避免无关的结果。 | ||
| Docker | CWE-770 | 限制 CPU 以防止拒绝服务 (DoS) 攻击。 | |
| CWE-770 | 限制失败时的重启次数,以防止拒绝服务 (DoS) 攻击。 | ||
| Go | CWE-489 | 检测到用于 HTTP 的 pprof 调试包。 | |
| CWE-1004 | Golang 代码包含不安全的 http.Cookie。 |
||
| CWE-319 | Golang 代码中检测到开放通信方案。 | ||
| Groovy | CWE-319 | 在 Groovy 代码中检测到开放通信方案。 | |
| CWE-79 | 在 Groovy 源代码中检测到潜在的跨站脚本漏洞。 | ||
| Java | CWE-489 | 在 Web 安全中启用调试导致 Spring 中的数据泄露。 | |
| CWE-1390 | 忽略 SAML 中的注释会导致身份验证失效。 | ||
| CWE-548 | Tomcat 配置中缺省 Servlet 的目录列表不安全。 | ||
| CWE-276 | 在 Java 中检测到不安全的文件权限用法。 | ||
| CWE-489 | 在 Java 代码中检测到打印堆栈跟踪的操作。 | ||
| CWE-489 | 在 Android 应用程序中,debuggable 标志被设置为 true。 | ||
| CWE-1188 | 在 Android 代码中检测到不正确的共享首选项模式。 | ||
| JavaScript | CWE-359 | 不安全的事件传输策略:已更正上下文。2 | |
| CWE-79 | 在 jQuery.append 中检测到潜在的 XSS 漏洞。现在性能更快。2 |
||
| CWE-79 | 覆盖 Mustache 转义方法有风险。 | ||
| CWE-319 | 不安全的事件传输策略。 | ||
| CWE-200 | 在 window.postMessage 调用中添加了对危险目标来源的检查。 |
||
| CWE-913 | 进行了修改,以避免产生无关的结果。 | ||
| Java 源代码扫描程序 | CWE-918 | 正在 RestTemplate().exchange 调用中查找 SSRF。 |
|
| CWE-303 | 正在查找 NoOpPasswordEncoder.getInstance 危险调用。 |
||
| CWE-89 | 正在查找 SQLi 的其他案例。 | ||
| CWE-22 | 正在更多位置查找可能的路径遍历问题 | ||
| CWE-798 | 正在 HashMap.put 调用和 Setter 方法中查找硬编码凭证。 |
||
| Jquery | CWE-79 | 进行了修改,以避免产生无关的结果。 | |
| Kotlin | CWE-319 | 在 Kotlin 代码中检测到开放通信。 | |
| NodeJS | CWE-614 | Cookie 缺少安全标志,或其标志被设置为不安全的值。 | |
| CWE-328 | 加密 createCipheriv 中使用了不安全的算法。 |
||
| CWE-295 | 为禁用 node-curl 而进行的 SSL 证书验证配置不安全。 | ||
| CWE-78 | 检测到 Exec shell spawn 调用。 | ||
| CWE-1004 | 由于缺少 HTTPOnly Cookie 属性,导致配置不安全。 |
||
| Objective-C | CWE-319 | 在 Objective-C 代码中检测到开放通信方案。 | |
| CWE-798 | 进行了修改,以避免某些额外的无关结果。 | ||
| PHP | CWE-10041 | 缺少 HttpOnly 标志的敏感 Cookie。 |
|
| CWE-6141 | HTTPS 会话中不带 secure 属性的敏感 cookie。 |
||
| CWE-791 | 检测到嵌入式 PHP 变量。 | ||
| CWE-981 | PHP 代码中检测到潜在的文件包含漏洞。 | ||
| CWE-6111 | PHP 代码中检测到 XML 外部实体注入。 | ||
| CWE-78 | PHP 命令执行可能使用用户提供的数据。扩大了覆盖范围。2 | ||
| CWE-644 | 发现潜在的标头注入。扩大了覆盖范围。2 | ||
| CWE-327 | 检测到不安全的算法使用。扩大了检查和覆盖范围。2 | ||
| CWE-319 | 在 PHP Symfony 框架中检测到开放通信。 | ||
| CWE-1004 | 在 setcookie 中缺失或不安全的 HTTPOnly 标志。 |
||
| CWE-319 | 检测到开放通信方案。 | ||
| CWE-544 | error_reporting 指令未设置为允许可能的最高级别的错误报告。 |
||
| CWE-798 | 检查该值并确定该值是否确实是代表存储在代码中的可能明文密码的字符串文字。 | ||
| PL/SQL | CWE-331 | DBMS_RANDOM 的用法不安全。 |
|
| Python | CWE-311 | 使用 http 的 URL。扩大了覆盖范围。2 |
|
| CWE-311 | TOCTTOU 争用条件临时文件。修复了覆盖范围。2 | ||
| CWE-367 | TOCTTOU 争用条件临时文件。 | ||
| CWE-319 | 使用 http 的 URL。 |
||
| CWE-78 | Python OS 注入。 | ||
| CWE-319 | 不安全的 FTP 用法。 | ||
| CWE-78 | Popen 命令注入。 | ||
| CWE-276 | 结合使用 777 与 umask。 | ||
| ReactNative | CWE-319 | 检测到开放式通信。已更正上下文。2 | |
| CWE-319 | 检测到开放式通信。 | ||
| CWE-295 | 检测到禁用 SSL 证书固定。 | ||
| RPG | CWE-319 | 代码中检测到开放通信。 | |
| Ruby | CWE-78 | 反引号正则表达式的不安全使用需要改进。扩大了覆盖范围。2 | |
| CWE-78 | 反引号的不安全使用。扩大了覆盖范围。2 | ||
| CWE-425 | Ruby 批量赋值。 | ||
| CWE-359 | Ruby 信息泄露。 | ||
| Scala | CWE-319 | 在 Scala 代码中检测到开放通信方案。 | |
| CWE-79 | 在 Scala 源代码中检测到利用 Cookie 访问的潜在客户端脚本漏洞。 | ||
| 密钥 | CWE-1051 | 检测到硬编码 IP 地址。扩大了覆盖范围。2 | |
| CWE-798 | 检测到硬编码凭证。扩大了覆盖范围。2 | ||
| CWE-798 | 避免最小化 JS 文件。 | ||
| CWE-798 | 避免分析翻译文件以减少无关结果 | ||
| Swift | CWE-319 | 在 Swift 代码中检测到开放通信方案。 | |
| CWE-79 | 在 iOS UIWebView 中使用 loadRequest() 时可能存在跨站点脚本编制漏洞。 |
||
| Terraform | CWE-359 | 检测到 AWS 实例泄露了用户数据机密。 | |
| CWE-778 | Azure 日志监视器配置文件应定义所有必需类别。 | ||
| CWE-732 | 在文件夹、项目或组织级别使用了缺省服务帐户。 | ||
| CWE-671 | SQL Server 中未启用电子邮件服务和联合管理员。 | ||
| CWE-923 | 确保 Azure 存储帐户缺省网络访问设置为“拒绝”。 | ||
| CWE-923 | 确保 GCP 防火墙规则不允许不受限制的访问。 | ||
| CWE-732 | Google Compute 实例可公开访问。 | ||
| CWE-732 | Google 存储桶可公开访问。 | ||
| CWE-732 | Amazon S3 存储桶的访问权限不安全。 | ||
| CWE-1220 | 对出口安全组 cidr_blocks 的新规则检查设置过于宽松。 |
||
| TypeScript | CWE-943 | 在 TypeScript 文件中查找 NoSQL MongoDB 注入。 | |
| CWE-943 | 查找 SQLi 的更多案例。 | ||
| Visual Basic | CWE-319 | 在 VB 代码中检测到开放通信方案。 | |
| VueJS | CWE-79 | 已进行调整,以避免在方法声明中检测到时生成问题。 | |
| Xamarin | CWE-319 | 在 Xamarin 中检测到开放通信。 | |