ルールの更新

バージョン 2.1.0 のルールの更新

注:
  1. 新規ルール
言語 CWE 説明
Android Java CWE-319 新しい対象範囲: usesCleartextTraffic または cleartextTrafficPermittedAndroidManifest.xml で安全ではない true に設定されていないか確認します。
C# CWE-89 SQLi 検出のノイズを低減します。
CWE-215 機密情報を含む疑わしい変数がないかログ出力を確認します。1
CWE-397 新しい例外のスローや新しい SystemException のスローなど、安全ではない可能性がある、汎用的スローを探します。
CWE-89 新しい対象範囲: += パターンと一部のストアド・プロシージャ・パターンを検出するように SQL インジェクションに対するチェックを追加しました。
CWE-89 新しい対象範囲: ノイズを低減するために、正しいクエリであるかを確認するより制約が高いチェックを追加しました。
CWE-1004 ノイズ低減: http=true をチェックし、設定されている場合は検出を回避します。
CSS CWE-79 .css ファイルのハードコードされた変数チェックで検出されたノイズを低減します。
Dart CWE-943 NoSQL インジェクションを探します。1
CWE-338 eak psuedo 乱数を探します。1
CWE-116 File.writeAs スタイルの呼び出しを探します。1
CWE-79 安全でない可能性のある方法で Response.ok の呼び出しや類似の呼び出しが使用されていないか確認します。1
CWE-348 安全でない可能性のあるディレクトリーの一覧表を探します。1
CWE-78 Process.run が安全でない方法で使用されていないか確認します。1
CWE-89 SQL インジェクションの可能性がないか、query/execute/prepare スタイルの呼び出しをチェックします。1
Dart: Flutter

(新しいフレームワークのサポート、新たな対象範囲)
CWE-35 ユーザーが制御できる可能性のあるパス引数を MethodChannel が使用していないかチェックします。
CWE-78 MethodChannel 呼び出しに潜在的な OS インジェクションがないか探します。
CWE-80 javascript が制限されていない状態 (危険) になっていないか WebView または InAppWebView をチェックします。
CWE-89 sqflite flutter 固有の DB API をサポートします。
CWE-117 デバッグ制御で囲まれていない print および同様のステートメントを検出します。これらの呼び出しは一般的に、デバッグ用ブランチ以外の実稼働コードで使用すべきではありません。
CWE-312 FlutterSecureStorage がパスワードやその他セッション情報などの疑わしい個人情報を保存していないかをルールでチェックします。
CWE-598 Navigator オブジェクトでクエリ・パラメーターが安全でない可能性のある方法で使用されていないか確認します。
CWE-918 MethodChannel.invokeMethod でユーザーが制御可能な URL を SSRF 攻撃ベクトルとして探します。
Go CWE-79 fprintf チェックで発生するノイズを低減します。
IaC Docker CWE-22 DockerFile に追加されている機密パスをチェックします。1
IaC Kubernetes CWE-209 .yaml 構成ファイルに残されたスタック・トレース・コードのチェックが追加されました。1
Java CWE-209 コード内における System.outSystem.err の使用状況 (本番コードから削除されるべきデバッグ・コール) をチェックします。1
CWE-78 Runtime.getRunTime() のインライン・コールを検索します。
CWE-757 安全でない、および破損しているものに対するチェックリストを拡充しました。
CWE-916 PBEKeySpecPBEParameterSpec の脆弱な反復回数をチェックします。1
CWE-1188 大規模な値またはユーザー制御の値を使用し、StringBuilder コンストラクターでサービス拒否をチェックします。1
CWE-215 機密情報を含む疑わしい変数がないかログ出力を確認します。1
CWE-397 例外のスローや Throwable のスローなど、安全ではない可能性がある、汎用的なスローを探します。
CWE-396 catch (Exception e) や catch (Throwable t) などの汎用的な catch ブロックを探します。1
JavaScript CWE-397 "message" のスローなど、安全ではない可能性がある、汎用的なスローを探します。
CWE-80 @if パターンが使用されているが、handlebars テンプレートではない不具合が修正されました。
JavaScript: Angular CWE-80 ノイズ低減: @if テンプレートを使用していないことを確認します。
NodeJS CWE-78 安全でない child_process.exec 呼び出しがないかチェックを追加しました。
Perl CWE-732 IO::File::open 呼び出しのカバレッジがより完全になりました。
CWE-89 パラメーター化されたステートメントに対して誤検出を生成していた SQL インジェクション・ルールのノイズを低減します。
CWE-732 入力として STDIN を使用して、オープン・コールにおけるノイズを低減します。
CWE-397 Error("foo") のスローなど、安全でない可能性のある汎用的なスローを探します。
PHP CWE-89 sqlite_escape_string のバリデーター・チェックが追加されました。
CWE-213 PHP コードに残存する phpinfo 呼び出しのチェックを追加しました。1
CWE-89 sqlite_escape_string を使用して誤検出を検証する新しいチェックを追加しました。
Python CWE-397 raise BaseException のスローなど、安全でない可能性のある汎用的なスローを探します。
シークレット CWE-798 ハードコードされたシークレットがないか秘密鍵を検証するチェックを追加しました。
CWE-798 新しい対象範囲: Tuleap のサポートが追加されました。
CWE-798 新しい対象範囲: equalsIgnoreCase 呼び出し内にハードコードされたパスワードがないか確認します。
CWE-798 ノイズ低減: コメントアウトされた C\C++ コードの検出結果をシークレット・スキャナーの検出結果として追加しないようにします。
CWE-798 ノイズの多いパターンの一部は検出結果として削除されました。
CWE-798 web.config ファイルでハードコードされた資格情報を確認します。
CWE-1051 IP アドレスではないにもかかわらずそのように見える文字列を回避するために調整された、ハードコードされた IP アドレスをチェックします。
CWE-1051 ノイズ低減: ハードコードされた IP アドレスのチェックで類似したバージョン番号を回避します
CWE-798 Atlassian シークレット検出のノイズを低減します。
CWE-798 シークレットのキーと値のペアに含まれるノイズを低減します。
CWE-798 対象範囲を拡大し、ハードコードされたパスワードの一部として文字列に含まれる 1234 のパスワードを検出します。
Swift CWE-1188 新しい対象範囲: UIFileSharingEnabled または LSSupportsOpeningDocumentsInPlace が安全でない true に設定されていないか info.plist ファイルをチェックします。
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