ルールの更新
バージョン 2.2.0 のルールの更新
- 新規ルール
| 言語 | CWE | 説明 |
|---|---|---|
| CSS | CSS スキャナーのパフォーマンスが向上し、余分な時間を消費せずに非常に大きな HTML ファイルを処理できるようになりました。 | |
| Delphi (Object Pascal1 を含む) | CWE-22 | 制限されたディレクトリーへのパス名の不適切な制限 |
| CWE-77 | コマンドで使用される特殊要素の不適切な中立化 | |
| CWE-78 | OS コマンドで使用される特殊要素の不適切な中立化 | |
| CWE-79 | Web ページ生成時の入力の不適切な中立化 (クロスサイト・スクリプティング) | |
| CWE-89 | SQL コマンドで使用される特殊要素の不適切な中立化 | |
| CWE-94 | コード生成の不適切な制御 (「コード・インジェクション」) | |
| CWE-99 | リソース識別子の不適切な制御 (「リソース・インジェクション」) | |
| CWE-119 | メモリー・バッファー境界内での不適切な操作制限 | |
| CWE-120 | 入力サイズをチェックせずにコピーをバッファする | |
| CWE-200 | 情報公開 | |
| CWE-266 | 不正な特権の割り当て | |
| CWE-295 | 不適切な証明書検証 | |
| CWE-312 | 機密情報のクリア・テキストでの保存 | |
| CWE-327 | 壊れたまたは危険な暗号化アルゴリズムの使用 | |
| CWE-328 | 脆弱なハッシュの使用 | |
| CWE-330 | 十分にランダムでない値の使用 | |
| CWE-338 | 脆弱な疑似乱数発生ルーチン (PRNG) の使用 | |
| CWE-345 | データの信頼性の不適切な検証 | |
| CWE-434 | 危険なタイプのファイルの無制限なアップロード | |
| CWE-497 | 権限のない制御領域へのシステム・データの漏えい | |
| CWE-502 | 信頼できないデータの非直列化。 | |
| CWE-614 | 「Secure」属性のない HTTPS セッションの機密 Cookie | |
| CWE-643 | XPath 式 (「Xpath インジェクション」) 内のデータの不適切な中立化 | |
| CWE-760 | 予測可能なソルトを使用した片方向ハッシュの使用 | |
| CWE-780 | OAEP を使用しない RSA アルゴリズムの使用 | |
| CWE-787 | 範囲外の書き込み | |
| CWE-798 | ハードコーディングされた資格情報の使用 | |
| CWE-942 | 信頼されていないドメインを使用した許可されたクロスドメイン・ポリシー | |
| CWE-1004 | 「HttpOnly」フラグがない、秘密情報の Cookie | |
| CWE-120 | StrCopy、StrCat、StrPCopy、lstrcpy、lstrcat が安全でない方法で使用されていないか確認します。1 |
|
| CWE-143 | 書式文字列の使用に安全でない書式を確認します。1 | |
| CWE-295 | SSL 証明書の検証を無効にする設定を確認します。1 | |
| CWE-33 | RandSeed の使用を確認します。1 | |
| CWE-367 | ファイルとの TOCTOU (Time of Check\Time of Use) 競合状態を確認します。1 | |
| CWE-522 | 暗号化キーが空または Null であるかどうかを確認します。1 | |
| CWE-522 | データベース接続文字列でハードコードされた資格情報を確認します。1 | |
| CWE-539 | Cookie の有効期限が非常に長いかどうかを確認します。1 | |
| CWE-693 | 廃止された X-XSS-Protection ヘッダーの使用を確認します。1 | |
| CWE-693 | セキュア・コンパイラー・ディレクティブが無効になっているかどうかを確認します。1 | |
| CWE-703 | 不適切な例外の再スローを確認します。1 | |
| CWE-732 | 新しい Cookie に安全でないドメイン・エントリーがないかどうかを確認します。1 | |
| CWE-732 | 安全でない Cookie パス・エントリーを確認します。1 | |
| HTML | CWE-798 | ハード・コードされた値でハードコードされた入力要素タイプのパスワード・フィールドのチェックを追加しました。 注: ソース・コード・スキャナーとハイブリッド・スキャナーの両方に追加しました。 |
| Java | CWE-502 | 安全でない非直列化のチェックを追加しました。1 |
| CWE-532 | ログ記録の重要な欠陥に対するチェックを追加しました。1 | |
| CWE-1004 | 追加された Cookie に HttpOnly フラグが欠落しているかどうかの新しいチェック。1 | |
| CWE-79 | SpringBoot コントローラーで無害化されていないユーザー入力がないかどうか HTTP 応答を確認します。1 | |
| CWE-208 | 潜在的に機密の文字列によるタイミング攻撃がないかどうかを確認します。1 | |
| CWE-215 | 機密情報が公開されていないか SpringBoot 構成を確認します。1 | |
| CWE-338 | 脆弱な乱数発生ルーチンをチェックするルールが検索対象とする API を拡充しました | |
| CWE-502 | XStream 非直列化の危険な使用がないかどうかを確認します。1 | |
| CWE-611 | 危険な XMLInputFactory 構成を確認するためのルールを拡充しました。 | |
| CWE-614 | 新しい Cookie で欠落している安全フラグがないかどうかを確認します。1 | |
| CWE-749 | Spring アプリケーションに安全でない RequestMapping 注釈がないかどうかを確認します。1 | |
| CWE-76 | 片方向ハッシュ・アルゴリズムで予測可能なソルトがないかどうかを確認します。1 | |
| CWE-922 | HTTP セッションに機密データが保存されているかどうかを確認します。1 | |
| CWE-1275 | Cookie に安全な SameSite 設定があるかどうかを確認します。1 | |
| CWE-22 | java.nio.file.Path および java.io.File API のカバー範囲を拡張しました。 |
|
| CWE-611 | 安全な設定検証のための XMLReaderFactory.createXMLReader() および sxabuilder.setXMLReaderFactory スタイルの呼び出しを適切に説明するようになりました。 |
|
| 根本的な問題が Java で悪用されることはなく、ルールが安全なコードで誤検出を生成していたため、Java タイミング攻撃ルールを削除しました。 | ||
| Javascript | CWE-521 | JSON オブジェクトなどの JavaScript のオブジェクト・リテラルでの検出が向上しました。 |
| MuleSoft1 | CWE-22 | 制限されたディレクトリーへのパス名の不適切な制限 (「パス・トラバーサル」) |
| CWE-78 | OS コマンドで使用される特殊要素の不適切な中立化 (「OS コマンド注入」) | |
| CWE-79 | Web ページ生成時の入力の不適切な中立化 (「クロスサイト・スクリプティング」) | |
| CWE-89 | SQL コマンドで使用される特殊要素の不適切な中立化 (「SQL 注入」) | |
| CWE-94 | コード生成の不適切な制御 (「コード・インジェクション」) | |
| CWE-306 | 重大な機能に関する認証の欠落 | |
| CWE-319 | 機密情報のクリア・テキスト送信 | |
| CWE-326 | 不適切な暗号化強度 | |
| CWE-338 | 脆弱な疑似乱数発生ルーチン (PRNG) の使用 | |
| CWE-359 | 権限のないアクターへのプライベートな個人情報の漏えい | |
| CWE-497 | 権限のない制御領域への機密性の高いシステム情報の漏えい | |
| CWE-532 | ログ・ファイルへの機密情報の挿入 | |
| CWE-611 | XML 外部エンティティー参照の不適切な制限 | |
| CWE-942 | 信頼されていないドメインを使用した、許可されたクロスドメイン・セキュリティー・ポリシー | |
| CWE-1287 | 指定されたタイプの入力の不適切な検証 | |
| PHP | CWE-79 | Web ページ生成時の入力の不適切な中立化 (「クロスサイト・スクリプティング」) |
| シークレット | CWE-798 | ハードコーディングされた資格情報の使用 |
| スキャンを高速化するためにタイムアウトを 1 秒に設定します。 | ||
ハードコードされたシークレットの .properties ファイルで追加します。 |
||
| CWE-798 | ハード・コーディングされた資格情報をチェックする際のシークレット・パフォーマンスを最適化しました。 | |
| CWE-798 | JWT ハードコードされた資格情報のチェックを追加しました。 | |
| CWE-798 | Base64.encode 呼び出しを通過するハードコードされた資格情報のチェックを追加しました。 |
バージョン 2.1.0 のルールの更新
注:
- 新規ルール
| 言語 | CWE | 説明 |
|---|---|---|
| Android Java | CWE-319 | 新しい対象範囲: usesCleartextTraffic または cleartextTrafficPermitted が AndroidManifest.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 | 脆弱な疑似乱数を探します。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.out と System.err の使用状況 (本番コードから削除されるべきデバッグ・コール) をチェックします。1 |
| CWE-78 | Runtime.getRunTime() のインライン・コールを検索します。 |
|
| CWE-757 | 安全でない、および破損しているものに対するチェックリストを拡充しました。 | |
| CWE-916 | PBEKeySpec と PBEParameterSpec の脆弱な反復回数をチェックします。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