CWE ID (C および C++)

マッピングは CWE の最新バージョンに基づきます。

ID チェッカー名および説明
CWE-20: Improper Input Validation

ABV.TAINTED  未検証の入力によるバッファオーバーフロー

NNTS.MUST  バッファオーバーフロー - 非 NULL 終了文字列

NNTS.TAINTED  未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列

SV.CODE_INJECTION.SHELL_EXEC  シェル実行へのコマンドインジェクション

SV.TAINTED.ALLOC_SIZE  メモリ割り当て時の未検証の整数の使用

SV.TAINTED.BINOP  バイナリ演算での未検証整数値の使用

SV.TAINTED.CALL.BINOP  バイナリ演算での未検証整数値の使用

SV.TAINTED.CALL.DEREF  未検証ポインターの逆参照

SV.TAINTED.CALL.INDEX_ACCESS  関数呼び出し時の配列インデックスとしての未検証の整数の使用

SV.TAINTED.CALL.LOOP_BOUND  関数呼び出しのループ条件での未検証の整数の使用

SV.TAINTED.DEREF  未検証ポインターの逆参照

SV.TAINTED.FMTSTR  書式文字列での未検証データの使用

SV.TAINTED.INDEX_ACCESS  配列インデックスとしての未検証の整数の使用

SV.TAINTED.INJECTION  コマンドインジェクション

SV.TAINTED.LOOP_BOUND  ループ条件での未検証の整数の使用

SV.TAINTED.PATH_TRAVERSAL  パストラバーサルでの未検証データの使用

SV.TAINTED.SECURITY_DECISION  セキュリティ決定

CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

SV.DLLPRELOAD.NONABSOLUTE.DLL  DLL プリロードのハイジャック ベクターの可能性

SV.DLLPRELOAD.NONABSOLUTE.EXE  プロセスインジェクションベクターの可能性

SV.DLLPRELOAD.SEARCHPATH  DLL の検索に SearchPath の使用は推奨されません

SV.TAINTED.PATH_TRAVERSAL  パストラバーサルでの未検証データの使用

CWE-23: Relative Path Traversal

SV.DLLPRELOAD.NONABSOLUTE.DLL  DLL プリロードのハイジャック ベクターの可能性

SV.DLLPRELOAD.NONABSOLUTE.EXE  プロセスインジェクションベクターの可能性

SV.DLLPRELOAD.SEARCHPATH  DLL の検索に SearchPath の使用は推奨されません

CWE-73: External Control of File Name or Path

SV.DLLPRELOAD.NONABSOLUTE.DLL  DLL プリロードのハイジャック ベクターの可能性

SV.DLLPRELOAD.NONABSOLUTE.EXE  プロセスインジェクションベクターの可能性

SV.DLLPRELOAD.SEARCHPATH  DLL の検索に SearchPath の使用は推奨されません

CWE-77: Improper Neutralization of Special Elements used in a Command ('Command Injection')

SV.CODE_INJECTION.SHELL_EXEC  シェル実行へのコマンドインジェクション

SV.TAINTED.INJECTION  コマンドインジェクション

CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

SV.CODE_INJECTION.SHELL_EXEC  シェル実行へのコマンドインジェクション

SV.TAINTED.INJECTION  コマンドインジェクション

CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

SV.TAINTED.XSS.REFLECTED  クロスサイト スクリプティング脆弱性

CWE-80: Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS)

SV.TAINTED.XSS.REFLECTED  クロスサイト スクリプティング脆弱性

CWE-88: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')

SV.CODE_INJECTION.SHELL_EXEC  シェル実行へのコマンドインジェクション

SV.TAINTED.INJECTION  コマンドインジェクション

CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

CXX.SQL.INJECT  SQL インジェクション

CWE-94: Improper Control of Generation of Code ('Code Injection')

SV.CODE_INJECTION.SHELL_EXEC  シェル実行へのコマンドインジェクション

SV.TAINTED.INJECTION  コマンドインジェクション

CWE-99: Improper Control of Resource Identifiers ('Resource Injection')

ABV.TAINTED  未検証の入力によるバッファオーバーフロー

SV.CODE_INJECTION.SHELL_EXEC  シェル実行へのコマンドインジェクション

SV.TAINTED.INJECTION  コマンドインジェクション

SV.TAINTED.PATH_TRAVERSAL  パストラバーサルでの未検証データの使用

CWE-114: Process Control

SV.DLLPRELOAD.NONABSOLUTE.DLL  DLL プリロードのハイジャック ベクターの可能性

SV.DLLPRELOAD.NONABSOLUTE.EXE  プロセスインジェクションベクターの可能性

SV.DLLPRELOAD.SEARCHPATH  DLL の検索に SearchPath の使用は推奨されません

CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer

ABV.ANY_SIZE_ARRAY  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL.MULTIDIMENSION  バッファオーバーフロー - 配列インデックスが範囲外

ABV.ITERATOR  バッファオーバーフロー - 配列インデックスが範囲外の可能性

ABV.MEMBER  バッファオーバーフロー - 配列インデックスが範囲外

ABV.NON_ARRAY  非配列オブジェクトが配列として使用される

ABV.STACK  バッファオーバーフロー - ローカル配列インデックスが範囲外

ABV.TAINTED  未検証の入力によるバッファオーバーフロー

ABV.UNICODE.BOUND_MAP  文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.FAILED_MAP  関数のマッピングに失敗します

ABV.UNICODE.NNTS_MAP  文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.SELF_MAP  関数のマッピングに失敗します

ABV.UNKNOWN_SIZE  バッファオーバーフロー - 配列インデックスが範囲外

CXX.ITER.END.BEGIN  範囲の終わりを表す反復子が範囲の始まりの前にあります

CXX.SUSPICIOUS_INDEX_CHECK  境界チェック後のインデックスの不審な使用

CXX.SUSPICIOUS_INDEX_CHECK.CALL  境界チェック後の関数呼び出しでのインデックスの不審な使用

CXX.SUSPICIOUS_INDEX_CHECK.ZERO  ゼロのインデックスチェック後のインデックスの不審な使用

ITER.ADVANCE.NONADJACENT  反復子間の距離は 1 より大きい値にする

ITER.CONTAINER.MODIFIED  無効な反復子の使用

ITER.END.OUTPARAM.MIGHT  出力反復子としての 'end' の使用

ITER.END.OUTPARAM.MUST  出力反復子としての 'end' の使用

ITER.INAPPROPRIATE  コンテナーオブジェクトが不適切な反復子の使用

ITER.INAPPROPRIATE.MULTIPLE  コンテナーオブジェクトが不適切な反復子の使用

NNTS.MIGHT  バッファオーバーフロー - 非 NULL 終了文字列

NNTS.MUST  バッファオーバーフロー - 非 NULL 終了文字列

NNTS.TAINTED  未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列

RABV.CHECK  境界チェック前のインデックスの不審な使用

RN.INDEX  負の値のチェック前のインデックスの使用は問題となる可能性があります

SV.FMT_STR.BAD_SCAN_FORMAT  入力書式指定子エラー

SV.STRBO.BOUND_SPRINTF  バインドされた sprintf でのバッファオーバーフロー

SV.STRBO.UNBOUND_SPRINTF  バインドされていない sprintf でのバッファオーバーフロー

SV.UNBOUND_STRING_INPUT.CIN  バインドされていない文字列入力についての cin の使用法

SV.UNBOUND_STRING_INPUT.FUNC  バインドされていない文字列入力の使用法

CWE-120: Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')

ABV.GENERAL  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL.MULTIDIMENSION  バッファオーバーフロー - 配列インデックスが範囲外

ABV.ITERATOR  バッファオーバーフロー - 配列インデックスが範囲外の可能性

ABV.MEMBER  バッファオーバーフロー - 配列インデックスが範囲外

ABV.NON_ARRAY  非配列オブジェクトが配列として使用される

ABV.STACK  バッファオーバーフロー - ローカル配列インデックスが範囲外

NNTS.MIGHT  バッファオーバーフロー - 非 NULL 終了文字列

SV.STRBO.BOUND_COPY.OVERFLOW  バインドされた文字列コピーでのバッファオーバーフロー

SV.STRBO.UNBOUND_COPY  バインドされていない文字列コピーでのバッファオーバーフロー

SV.UNBOUND_STRING_INPUT.CIN  バインドされていない文字列入力についての cin の使用法

SV.UNBOUND_STRING_INPUT.FUNC  バインドされていない文字列入力の使用法

CWE-121: Stack-based Buffer Overflow

ABV.STACK  バッファオーバーフロー - ローカル配列インデックスが範囲外

ABV.TAINTED  未検証の入力によるバッファオーバーフロー

CWE-122: Heap-based Buffer Overflow

ABV.GENERAL  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL.MULTIDIMENSION  バッファオーバーフロー - 配列インデックスが範囲外

ABV.NON_ARRAY  非配列オブジェクトが配列として使用される

ABV.TAINTED  未検証の入力によるバッファオーバーフロー

CWE-124: Buffer Underwrite ('Buffer Underflow')

ABV.ANY_SIZE_ARRAY  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL.MULTIDIMENSION  バッファオーバーフロー - 配列インデックスが範囲外

ABV.ITERATOR  バッファオーバーフロー - 配列インデックスが範囲外の可能性

ABV.MEMBER  バッファオーバーフロー - 配列インデックスが範囲外

ABV.STACK  バッファオーバーフロー - ローカル配列インデックスが範囲外

ABV.TAINTED  未検証の入力によるバッファオーバーフロー

ABV.UNICODE.BOUND_MAP  文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.FAILED_MAP  関数のマッピングに失敗します

ABV.UNICODE.NNTS_MAP  文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.SELF_MAP  関数のマッピングに失敗します

ABV.UNKNOWN_SIZE  バッファオーバーフロー - 配列インデックスが範囲外

CXX.SUSPICIOUS_INDEX_CHECK  境界チェック後のインデックスの不審な使用

CXX.SUSPICIOUS_INDEX_CHECK.CALL  境界チェック後の関数呼び出しでのインデックスの不審な使用

CXX.SUSPICIOUS_INDEX_CHECK.ZERO  ゼロのインデックスチェック後のインデックスの不審な使用

RABV.CHECK  境界チェック前のインデックスの不審な使用

RN.INDEX  負の値のチェック前のインデックスの使用は問題となる可能性があります

SV.STRBO.BOUND_SPRINTF  バインドされた sprintf でのバッファオーバーフロー

SV.STRBO.UNBOUND_SPRINTF  バインドされていない sprintf でのバッファオーバーフロー

CWE-125: Out-of-bounds Read

ABV.ANY_SIZE_ARRAY  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL.MULTIDIMENSION  バッファオーバーフロー - 配列インデックスが範囲外

ABV.ITERATOR  バッファオーバーフロー - 配列インデックスが範囲外の可能性

ABV.MEMBER  バッファオーバーフロー - 配列インデックスが範囲外

ABV.NON_ARRAY  非配列オブジェクトが配列として使用される

ABV.STACK  バッファオーバーフロー - ローカル配列インデックスが範囲外

ABV.TAINTED  未検証の入力によるバッファオーバーフロー

ABV.UNICODE.BOUND_MAP  文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.FAILED_MAP  関数のマッピングに失敗します

ABV.UNICODE.NNTS_MAP  文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.SELF_MAP  関数のマッピングに失敗します

ABV.UNKNOWN_SIZE  バッファオーバーフロー - 配列インデックスが範囲外

CXX.ITER.END.BEGIN  範囲の終わりを表す反復子が範囲の始まりの前にあります

CXX.SUSPICIOUS_INDEX_CHECK  境界チェック後のインデックスの不審な使用

CXX.SUSPICIOUS_INDEX_CHECK.CALL  境界チェック後の関数呼び出しでのインデックスの不審な使用

CXX.SUSPICIOUS_INDEX_CHECK.ZERO  ゼロのインデックスチェック後のインデックスの不審な使用

ITER.ADVANCE.NONADJACENT  反復子間の距離は 1 より大きい値にする

ITER.CONTAINER.MODIFIED  無効な反復子の使用

ITER.END.OUTPARAM.MIGHT  出力反復子としての 'end' の使用

ITER.END.OUTPARAM.MUST  出力反復子としての 'end' の使用

ITER.INAPPROPRIATE  コンテナーオブジェクトが不適切な反復子の使用

ITER.INAPPROPRIATE.MULTIPLE  コンテナーオブジェクトが不適切な反復子の使用

NNTS.MIGHT  バッファオーバーフロー - 非 NULL 終了文字列

NNTS.MUST  バッファオーバーフロー - 非 NULL 終了文字列

NNTS.TAINTED  未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列

RABV.CHECK  境界チェック前のインデックスの不審な使用

RN.INDEX  負の値のチェック前のインデックスの使用は問題となる可能性があります

SV.FMT_STR.BAD_SCAN_FORMAT  入力書式指定子エラー

SV.STRBO.BOUND_SPRINTF  バインドされた sprintf でのバッファオーバーフロー

SV.STRBO.UNBOUND_SPRINTF  バインドされていない sprintf でのバッファオーバーフロー

SV.UNBOUND_STRING_INPUT.CIN  バインドされていない文字列入力についての cin の使用法

SV.UNBOUND_STRING_INPUT.FUNC  バインドされていない文字列入力の使用法

CWE-126: Buffer Over-read

SV.STRBO.BOUND_COPY.UNTERM  次の文字列演算でバッファオーバーフローの可能性があります

CWE-127: Buffer Under-read

ABV.GENERAL  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL.MULTIDIMENSION  バッファオーバーフロー - 配列インデックスが範囲外

CWE-129: Improper Validation of Array Index

ABV.TAINTED  未検証の入力によるバッファオーバーフロー

SV.TAINTED.CALL.INDEX_ACCESS  関数呼び出し時の配列インデックスとしての未検証の整数の使用

SV.TAINTED.INDEX_ACCESS  配列インデックスとしての未検証の整数の使用

CWE-131: Incorrect Calculation of Buffer Size

CXX.SIZEOF.CSTRING  char* での sizeof の使用は、誤解を招く場合があります

INCORRECT.ALLOC_SIZE  不適切な割り当てサイズ

CWE-134: Use of Externally-Controlled Format String

SV.FMTSTR.GENERIC  書式文字列の脆弱性

SV.TAINTED.FMTSTR  書式文字列での未検証データの使用

CWE-135: Incorrect Calculation of Multi-Byte String Length

SV.FMT_STR.BAD_SCAN_FORMAT  入力書式指定子エラー

CWE-170: Improper Null Termination

NNTS.MIGHT  バッファオーバーフロー - 非 NULL 終了文字列

NNTS.MUST  バッファオーバーフロー - 非 NULL 終了文字列

NNTS.TAINTED  未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列

SV.STRBO.BOUND_COPY.UNTERM  次の文字列演算でバッファオーバーフローの可能性があります

CWE-176: Improper Handling of Unicode Encoding

ABV.UNICODE.BOUND_MAP  文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.FAILED_MAP  関数のマッピングに失敗します

ABV.UNICODE.NNTS_MAP  文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.SELF_MAP  関数のマッピングに失敗します

CWE-190: Integer Overflow or Wraparound

NUM.OVERFLOW  オーバーフローの可能性

NUM.OVERFLOW.DF  起こり得る数値のオーバーフローまたはラップアラウンド

SV.TAINTED.BINOP  バイナリ演算での未検証整数値の使用

SV.TAINTED.CALL.BINOP  バイナリ演算での未検証整数値の使用

CWE-192: Integer Coercion Error

MISRA.CAST.INT  自明ではない整数式が広い型または別の符号を持つ型にキャストされています

MISRA.CAST.UNSIGNED_BITS  unsigned char または short でのビット演算の結果は元の型にキャストできません

MISRA.UMINUS.UNSIGNED  単項マイナス演算子が符号なしオペランドに対して使用されています。

PRECISION.LOSS  精度の損失

PRECISION.LOSS.CALL  関数呼び出し中の精度の損失

PRECISION.LOSS.INIT  初期化中の精度の損失

CWE-193: Off-by-one Error

ABV.GENERAL  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL.MULTIDIMENSION  バッファオーバーフロー - 配列インデックスが範囲外

SV.STRBO.BOUND_COPY.UNTERM  次の文字列演算でバッファオーバーフローの可能性があります

CWE-195: Signed to Unsigned Conversion Error

MISRA.CONV.INT.SIGN  暗黙的な整数変換により符号が変わります

MISRA.CVALUE.IMPL.CAST.CPP  暗黙の型変換で符号、型サイズ、型の違いにより情報の損失を起こす記述があります。

CWE-196: Unsigned to Signed Conversion Error

MISRA.CAST.INT.SIGN  自明ではない複合式が別の符号を持つ型にキャストされています

MISRA.CONV.INT.SIGN  暗黙的な整数変換により符号が変わります

CWE-197: Numeric Truncation Error

MISRA.CAST.INT  自明ではない整数式が広い型または別の符号を持つ型にキャストされています

MISRA.CAST.UNSIGNED_BITS  unsigned char または short でのビット演算の結果は元の型にキャストできません

MISRA.UMINUS.UNSIGNED  単項マイナス演算子が符号なしオペランドに対して使用されています。

PRECISION.LOSS  精度の損失

PRECISION.LOSS.CALL  関数呼び出し中の精度の損失

PRECISION.LOSS.INIT  初期化中の精度の損失

CWE-200: Exposure of Sensitive Information to an Unauthorized Actor

SPECTRE.VARIANT1  予測実行の悪用の可能性

CWE-203: Observable Discrepancy

SPECTRE.VARIANT1  予測実行の悪用の可能性

CWE-242: Use of Inherently Dangerous Function

SV.FIU.PROCESS_VARIANTS  危険なプロセス作成の使用

SV.PIPE.VAR  パイプのハイジャックの可能性

SV.UNBOUND_STRING_INPUT.CIN  バインドされていない文字列入力についての cin の使用法

SV.UNBOUND_STRING_INPUT.FUNC  バインドされていない文字列入力の使用法

SV.USAGERULES.PROCESS_VARIANTS  危険なプロセス作成関数の使用

CWE-248: Uncaught Exception

AUTOSAR.EXCPT.NOEXCPT_THROW  関数を noexcept、noexcept(true)、または noexcept(<true condition>) と宣言する場合、その関数は例外を送出して終了してはなりません

MISRA.DTOR.THROW  デストラクタにスローします

CWE-250: Execution with Unnecessary Privileges

SV.FIU.PROCESS_VARIANTS  危険なプロセス作成の使用

SV.USAGERULES.PERMISSIONS  特権の昇給の使用

SV.USAGERULES.PROCESS_VARIANTS  危険なプロセス作成関数の使用

CWE-251: Often Misused: String Management

ABV.GENERAL  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL.MULTIDIMENSION  バッファオーバーフロー - 配列インデックスが範囲外

CWE-252: Unchecked Return Value

SV.RVT.RETVAL_NOTTESTED  戻り値の無視

CWE-253: Incorrect Check of Function Return Value

SV.RVT.RETVAL_NOTTESTED  戻り値の無視

CWE-256: Plaintext Storage of a Password

CXX.SV.PWD.PLAIN  プレーンな文字列を使用してパスワードを設定しようとしています

CXX.SV.PWD.PLAIN.LENGTH  15 文字未満の長さでパスワードを設定しようとしています

CXX.SV.PWD.PLAIN.LENGTH.ZERO  ゼロ文字の長さでパスワードを設定しようとしています

CWE-257: Storing a Password in a Recoverable Format

CXX.SV.PWD.PLAIN  プレーンな文字列を使用してパスワードを設定しようとしています

CXX.SV.PWD.PLAIN.LENGTH  15 文字未満の長さでパスワードを設定しようとしています

CXX.SV.PWD.PLAIN.LENGTH.ZERO  ゼロ文字の長さでパスワードを設定しようとしています

CWE-259: Use of Hard-coded Password

CXX.SV.PWD.PLAIN  プレーンな文字列を使用してパスワードを設定しようとしています

CXX.SV.PWD.PLAIN.LENGTH  15 文字未満の長さでパスワードを設定しようとしています

CXX.SV.PWD.PLAIN.LENGTH.ZERO  ゼロ文字の長さでパスワードを設定しようとしています

HCC  ハードコードされた資格情報の使用

HCC.PWD  ハードコードされたパスワードの使用

CWE-260: Password in Configuration File

HCC  ハードコードされた資格情報の使用

HCC.PWD  ハードコードされたパスワードの使用

CWE-261: Weak Encoding for Password

RCA  危険な暗号化アルゴリズムが使用されています

SV.WEAK_CRYPTO.WEAK_HASH  弱ハッシュ関数

CWE-266: Incorrect Privilege Assignment

SV.USAGERULES.PERMISSIONS  特権の昇給の使用

CWE-267: Privilege Defined With Unsafe Actions

SV.FIU.PROCESS_VARIANTS  危険なプロセス作成の使用

SV.USAGERULES.PROCESS_VARIANTS  危険なプロセス作成関数の使用

CWE-269: Improper Privilege Management

SV.USAGERULES.PERMISSIONS  特権の昇給の使用

CWE-272: Least Privilege Violation

SV.BRM.HKEY_LOCAL_MACHINE  レジストリ操作関数の 'hkey' とパラメーターしての HKEY_LOCAL_MACHINE の使用

CWE-273: Improper Check for Dropped Privileges

SV.FIU.PROCESS_VARIANTS  危険なプロセス作成の使用

SV.USAGERULES.PERMISSIONS  特権の昇給の使用

CWE-276: Incorrect Default Permissions

SV.USAGERULES.PROCESS_VARIANTS  危険なプロセス作成関数の使用

CWE-277: Insecure Inherited Permissions

SV.USAGERULES.PERMISSIONS  特権の昇給の使用

CWE-279: Incorrect Execution-Assigned Permissions

SV.USAGERULES.PERMISSIONS  特権の昇給の使用

CWE-283: Unverified Ownership

SV.USAGERULES.PERMISSIONS  特権の昇給の使用

CWE-284: Improper Access Control

SV.LPP.CONST  危険な関数についての安全でないマクロの使用

SV.LPP.VAR  危険な関数についての安全でないパラメーターの使用

CWE-287: Improper Authentication

CXX.SV.PWD.PLAIN  プレーンな文字列を使用してパスワードを設定しようとしています

CXX.SV.PWD.PLAIN.LENGTH  15 文字未満の長さでパスワードを設定しようとしています

CXX.SV.PWD.PLAIN.LENGTH.ZERO  ゼロ文字の長さでパスワードを設定しようとしています

HCC  ハードコードされた資格情報の使用

HCC.PWD  ハードコードされたパスワードの使用

SV.WEAK_CRYPTO.WEAK_HASH  弱ハッシュ関数

CWE-290: Authentication Bypass by Spoofing

SV.WEAK_CRYPTO.WEAK_HASH  弱ハッシュ関数

CWE-307: Improper Restriction of Excessive Authentication Attempts

CXX.SV.PWD_INPUT.REVIEW  パスワード認証は、ブルートフォース攻撃に対してチェックする必要があります

CWE-309: Use of Password System for Primary Authentication

CXX.SV.PWD_INPUT.REVIEW  パスワード認証は、ブルートフォース攻撃に対してチェックする必要があります

SV.WEAK_CRYPTO.WEAK_HASH  弱ハッシュ関数

CWE-311: Missing Encryption of Sensitive Data

CXX.SV.PRIVATE_KEY.EMPTY_PASSWD  不正な方法で秘密キーをシリアル化しようとしています

CXX.SV.PRIVATE_KEY.UNENCRYPTED  不正な方法で秘密キーをシリアル化しようとしています

CWE-312: Cleartext Storage of Sensitive Information

CXX.SV.PRIVATE_KEY.EMPTY_PASSWD  不正な方法で秘密キーをシリアル化しようとしています

CXX.SV.PRIVATE_KEY.UNENCRYPTED  不正な方法で秘密キーをシリアル化しようとしています

CWE-321: Use of Hard-coded Cryptographic Key

HCC  ハードコードされた資格情報の使用

HCC.PWD  ハードコードされたパスワードの使用

CWE-326: Inadequate Encryption Strength

SV.USAGERULES.SPOOFING  スプーフィングの影響を受けやすい関数の使用

CWE-327: Use of a Broken or Risky Cryptographic Algorithm

RCA  危険な暗号化アルゴリズムが使用されています

SV.WEAK_CRYPTO.WEAK_HASH  弱ハッシュ関数

CWE-328: Use of Weak Hash

RCA  危険な暗号化アルゴリズムが使用されています

SV.WEAK_CRYPTO.WEAK_HASH  弱ハッシュ関数

CWE-331: Insufficient Entropy

RCA  危険な暗号化アルゴリズムが使用されています

SV.WEAK_CRYPTO.WEAK_HASH  弱ハッシュ関数

CWE-335: Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)

RCA  危険な暗号化アルゴリズムが使用されています

CWE-338: Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)

RCA  危険な暗号化アルゴリズムが使用されています

CWE-342: Predictable Exact Value from Previous Values

RCA  危険な暗号化アルゴリズムが使用されています

CWE-343: Predictable Value Range from Previous Values

RCA  危険な暗号化アルゴリズムが使用されています

CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

CERT.CONC.ATOMIC_TWICE_EXPR  1 つの式でアトミック変数を 2 回参照しないでください

CERT.CONC.LIB_FUNC_USE  ライブラリ関数の使用時には競合状態を避けてください

CERT.CONC.MUTEX.DESTROY_WHILE_LOCKED  ロックされている間はミューテックスを破棄しないでください

CONC.DBL_LOCK  二重ロック

CONC.DBL_UNLOCK  二重ロック解除

CONC.DL  デッドロック

CONC.NO_LOCK  変数に欠落しているロック

SV.TOCTOU.FILE_ACCESS  ファイル アクセス時の作成日時/使用日時の競合状態

CWE-367: Time-of-check Time-of-use (TOCTOU) Race Condition

SV.TOCTOU.FILE_ACCESS  ファイル アクセス時の作成日時/使用日時の競合状態

CWE-369: Divide By Zero

DBZ.CONST  ゼロ定数による除算が発生しました

DBZ.CONST.CALL  値 '0' が除数としてこの値を使用できる関数に渡されます

DBZ.GENERAL  ゼロ除算が発生した可能性があります

DBZ.GENERAL.FLOAT  浮動小数点数のゼロ除算が発生した可能性があります

DBZ.ITERATOR  ループ反復子でゼロ除算が発生した可能性があります

DBZ.ITERATOR.CALL  関数呼出しでゼロ除算が発生した可能性があります

DBZ.ITERATOR.FLOAT  ループ反復子でゼロ除算が発生した可能性があります

CWE-377: Insecure Temporary File

SV.PCC.CONST  CreateFile の呼び出し時に安全でない (定数) テンポラリファイルの名前が使用されています

SV.PCC.INVALID_TEMP_PATH  CreateFile の呼び出し時に安全でないテンポラリファイルの名前が使用されています

SV.PCC.MISSING_TEMP_CALLS.MUST  CreateFile の呼び出し時に安全なテンポラリファイルの名前が欠落しています

SV.PCC.MISSING_TEMP_FILENAME  CreateFile の呼び出し時にテンポラリファイルの名前が欠落しています

SV.PCC.MODIFIED_BEFORE_CREATE  CreateFile の呼び出し前にテンポラリファイルが変更されます

CWE-379: Creation of Temporary File in Directory with Incorrect Permissions

SV.PCC.CONST  CreateFile の呼び出し時に安全でない (定数) テンポラリファイルの名前が使用されています

SV.PCC.INVALID_TEMP_PATH  CreateFile の呼び出し時に安全でないテンポラリファイルの名前が使用されています

SV.PCC.MISSING_TEMP_CALLS.MUST  CreateFile の呼び出し時に安全なテンポラリファイルの名前が欠落しています

SV.PCC.MISSING_TEMP_FILENAME  CreateFile の呼び出し時にテンポラリファイルの名前が欠落しています

SV.PCC.MODIFIED_BEFORE_CREATE  CreateFile の呼び出し前にテンポラリファイルが変更されます

CWE-390: Detection of Error Condition Without Action

MISRA.CATCH.BY_VALUE  クラス タイプの例外オブジェクトが値によってキャッチされています

MISRA.CATCH.NOALL  省略記号例外ハンドラーが try-catch ブロックの最後に置かれていません

MISRA.THROW.PTR  例外オブジェクトがポインタになっています

SV.RVT.RETVAL_NOTTESTED  戻り値の無視

CWE-391: Unchecked Error Condition

SV.RVT.RETVAL_NOTTESTED  戻り値の無視

CWE-394: Unexpected Status Code or Return Value

RETVOID.GEN  非 void 関数が void 値を返しています

RETVOID.IMPLICIT  暗黙的な int 関数によって void 値が返されます

VOIDRET  void 関数が戻り値を返しています

CWE-400: Uncontrolled Resource Consumption

CL.MLK  メモリリーク - デストラクタで発生

CL.MLK.ASSIGN  メモリリーク - 代入演算子

CL.MLK.VIRTUAL  メモリリーク - デストラクタで発生している可能性

FMM.MIGHT  メモリの解放の不一致の可能性

FMM.MUST  メモリの解放の不一致

INFINITE_LOOP.GLOBAL  無限ループ

INFINITE_LOOP.LOCAL  無限ループ

INFINITE_LOOP.MACRO  無限ループ

MLK.MIGHT  メモリリークの可能性

MLK.MUST  メモリリーク

MLK.RET.MIGHT  メモリリークの可能性

MLK.RET.MUST  メモリリーク

RH.LEAK  リソースリーク

SV.CODE_INJECTION.SHELL_EXEC  シェル実行へのコマンドインジェクション

SV.TAINTED.ALLOC_SIZE  メモリ割り当て時の未検証の整数の使用

SV.TAINTED.BINOP  バイナリ演算での未検証整数値の使用

SV.TAINTED.CALL.BINOP  バイナリ演算での未検証整数値の使用

SV.TAINTED.CALL.LOOP_BOUND  関数呼び出しのループ条件での未検証の整数の使用

SV.TAINTED.INJECTION  コマンドインジェクション

SV.TAINTED.LOOP_BOUND  ループ条件での未検証の整数の使用

CWE-401: Missing Release of Memory after Effective Lifetime

CL.MLK  メモリリーク - デストラクタで発生

CL.MLK.ASSIGN  メモリリーク - 代入演算子

CL.MLK.VIRTUAL  メモリリーク - デストラクタで発生している可能性

MLK.MIGHT  メモリリークの可能性

MLK.MUST  メモリリーク

MLK.RET.MIGHT  メモリリークの可能性

MLK.RET.MUST  メモリリーク

CWE-403: Exposure of File Descriptor to Unintended Control Sphere ('File Descriptor Leak')

RH.LEAK  リソースリーク

CWE-404: Improper Resource Shutdown or Release

CL.MLK  メモリリーク - デストラクタで発生

CL.MLK.ASSIGN  メモリリーク - 代入演算子

CL.MLK.VIRTUAL  メモリリーク - デストラクタで発生している可能性

FMM.MIGHT  メモリの解放の不一致の可能性

FMM.MUST  メモリの解放の不一致

MLK.MIGHT  メモリリークの可能性

MLK.MUST  メモリリーク

MLK.RET.MIGHT  メモリリークの可能性

MLK.RET.MUST  メモリリーク

RH.LEAK  リソースリーク

CWE-412: Unrestricted Externally Accessible Lock

CONC.DL  デッドロック

CWE-413: Improper Resource Locking

CERT.CONC.MUTEX.DESTROY_WHILE_LOCKED  ロックされている間はミューテックスを破棄しないでください

CWE-415: Double Free

FNH.MIGHT  非ヒープメモリの解放の可能性

FNH.MUST  非ヒープメモリの解放

FUM.GEN.MIGHT  未割り当てメモリの解放の可能性

FUM.GEN.MUST  未割り当てメモリの解放

UFM.DEREF.MIGHT  解放済みメモリの逆参照の可能性

UFM.DEREF.MUST  解放済みメモリの逆参照

UFM.FFM.MIGHT  解放済みメモリの使用 (二重解放)の可能性

UFM.FFM.MUST  解放済みメモリの解放

UFM.RETURN.MIGHT  解放済みメモリの戻り値への使用の可能性

UFM.RETURN.MUST  解放済みメモリの戻り値への使用

UFM.USE.MIGHT  解放済みメモリの使用の可能性

UFM.USE.MUST  解放済みメモリの使用

CWE-416: Use After Free

AUTOSAR.LAMBDA.REF_LIFETIME  ラムダ式オブジェクトは、その参照キャプチャされたオブジェクトよりも長く存続してはなりません

CERT.MEM.SMART_PTR.OWNED  複数のスマートポインターでのポインター所有権の共有

CERT.MEM.SMART_PTR.OWNED.THIS  基礎となるリソースが無関係なスマートポインターによって既に所有されている可能性がある

CL.FFM.ASSIGN  解放済みメモリの使用 (二重解放) - operator= が無いため

CL.FFM.COPY  解放済みメモリの使用 (二重解放) - コピーコンストラクタが無いため

CL.SELF-ASSIGN  解放済みメモリの使用 (二重解放) - operator=

CL.SHALLOW.ASSIGN  解放済みメモリの使用 (二重解放) - 演算子 = での浅いコピー

CL.SHALLOW.COPY  解放済みメモリの使用 (二重解放) - コピーコンストラクタでの浅いコピー

LOCRET.ARG  関数がローカル変数のアドレスを返しています

LOCRET.GLOB  関数がローカル変数のアドレスを返しています

LOCRET.RET  関数がローカル変数のアドレスを返しています

SV.INCORRECT_RESOURCE_HANDLING.URH  安全でないリソース処理

UFM.DEREF.MIGHT  解放済みメモリの逆参照の可能性

UFM.DEREF.MUST  解放済みメモリの逆参照

UFM.FFM.MIGHT  解放済みメモリの使用 (二重解放)の可能性

UFM.FFM.MUST  解放済みメモリの解放

UFM.RETURN.MIGHT  解放済みメモリの戻り値への使用の可能性

UFM.RETURN.MUST  解放済みメモリの戻り値への使用

UFM.USE.MIGHT  解放済みメモリの使用の可能性

UFM.USE.MUST  解放済みメモリの使用

CWE-421: Race Condition During Access to Alternate Channel

SV.PIPE.CONST  パイプのハイジャックの可能性

SV.PIPE.VAR  パイプのハイジャックの可能性

CWE-426: Untrusted Search Path

SV.TAINTED.PATH_TRAVERSAL  パストラバーサルでの未検証データの使用

CWE-457: Use of Uninitialized Variable

UNINIT.CTOR.MIGHT  コンストラクタにおける未初期化の変数の可能性

UNINIT.CTOR.MIGHT.UNCLEAR  コンストラクタにおける未初期化変数 - 不明瞭

UNINIT.CTOR.MUST  コンストラクタにおける未初期化の変数

UNINIT.HEAP.MIGHT  未初期化のヒープの使用の可能性

UNINIT.HEAP.MIGHT.UNCLEAR  未初期化ヒープの使用 - 不明瞭

UNINIT.HEAP.MUST  未初期化のヒープの使用

UNINIT.STACK.MIGHT  未初期化の変数の可能性

UNINIT.STACK.MIGHT.UNCLEAR  未初期化変数 - 不明瞭

UNINIT.STACK.MUST  未初期化の変数

CWE-460: Improper Cleanup on Thrown Exception

AUTOSAR.EXCPT.SPECIAL_MEMBER_THROW  ユーザー指定のクラスデストラクタ、割り当て解除関数、移動コンストラクタ、移動代入演算子、およびスワップ関数は、どれも例外を送出して終了してはなりません

MISRA.DTOR.THROW  デストラクタにスローします

CWE-464: Addition of Data Structure Sentinel

SV.BANNED.RECOMMENDED.TOKEN  禁止が推奨されているAPI: 安全でないトークン作成関数

SV.TAINTED.FMTSTR  書式文字列での未検証データの使用

CWE-467: Use of sizeof() on a Pointer Type

CXX.SIZEOF.CSTRING  char* での sizeof の使用は、誤解を招く場合があります

INCORRECT.ALLOC_SIZE  不適切な割り当てサイズ

CWE-468: Incorrect Pointer Scaling

CWARN.ALIGNMENT  不正確なポインタのスケーリングが使用されています

MISRA.PTR.ARITH  代数式または配列インデックス式でポインタが使用されています

CWE-476: NULL Pointer Dereference

MISRA.LITERAL.NULL.PTR.CONST.2012  マクロ NULL は、唯一許可された整数 null ポインター定数のフォームです。

NPD.CHECK.CALL.MIGHT  ポインタを明示的に NULL チェックした後に逆参照する可能性のある関数に渡す可能性があります

NPD.CHECK.CALL.MUST  ポインタを明示的に NULL チェックした後に逆参照する可能性がある関数に渡します

NPD.CHECK.MIGHT  ポインタを明示的に NULL チェックした後に逆参照する可能性があります

NPD.CHECK.MUST  ポインタを明示的に NULL チェックした後に逆参照します

NPD.CONST.CALL  逆参照する可能性のある関数に NULL を渡しています

NPD.CONST.DEREF  NULL は逆参照されます

NPD.FUNC.CALL.MIGHT  NULL を返す関数の戻り値が、これを逆参照する可能性のある別の関数に渡される可能性があります

NPD.FUNC.CALL.MUST  NULL を返す関数の戻り値が、これを逆参照する可能性がある別の関数に渡されます

NPD.FUNC.MIGHT  NULL を返す可能性のある関数の戻り値が逆参照される場合があります

NPD.FUNC.MUST  NULL を返す可能性がある関数の戻り値が逆参照されます

NPD.GEN.CALL.MIGHT  NULLポインタを逆参照する可能性がある関数に渡す場合があります

NPD.GEN.CALL.MUST  NULLポインタを逆参照する関数に渡します

NPD.GEN.MIGHT  NULLポインタを逆参照する可能性があります

NPD.GEN.MUST  null ポインターが逆参照されます

RNPD.CALL  NULL チェック前のポインタの、関数呼び出しにおける逆参照は問題となる可能性があります

RNPD.DEREF  NULL チェック前のポインタの逆参照は問題となる可能性があります

CWE-478: Missing Default Case in Multiple Condition Expression

MISRA.SWITCH.WELL_FORMED.DEFAULT.2012  各 switch ステートメントはデフォルトラベルを有するべきです。

CWE-480: Use of Incorrect Operator

ASSIGCOND.CALL  割り当て条件 (呼び出し)

ASSIGCOND.GEN  割り当て条件

EFFECT  ステートメントの影響はありません

SEMICOL  セミコロンの位置を確認してください

CWE-481: Assigning instead of Comparing

ASSIGCOND.CALL  割り当て条件 (呼び出し)

ASSIGCOND.GEN  割り当て条件

CWE-482: Comparing instead of Assigning

EFFECT  ステートメントの影響はありません

CWE-483: Incorrect Block Delimitation

EFFECT  ステートメントの影響はありません

SEMICOL  セミコロンの位置を確認してください

CWE-484: Omitted Break Statement in Switch

MISRA.SWITCH.NO_BREAK  switch 句の最後に break ステートメントまたは throw ステートメントがありません

MISRA.SWITCH.WELL_FORMED.BREAK.2012  条件なしの break ステートメントで各 switch 句を終了するべきです。

CWE-494: Download of Code Without Integrity Check

SV.DLLPRELOAD.NONABSOLUTE.DLL  DLL プリロードのハイジャック ベクターの可能性

SV.DLLPRELOAD.NONABSOLUTE.EXE  プロセスインジェクションベクターの可能性

SV.DLLPRELOAD.SEARCHPATH  DLL の検索に SearchPath の使用は推奨されません

CWE-497: Exposure of Sensitive System Information to an Unauthorized Control Sphere

SV.STR_PAR.UNDESIRED_STRING_PARAMETER  ファイルパスの不要な文字列

CWE-521: Weak Password Requirements

CXX.SV.PWD.PLAIN.LENGTH  15 文字未満の長さでパスワードを設定しようとしています

CXX.SV.PWD.PLAIN.LENGTH.ZERO  ゼロ文字の長さでパスワードを設定しようとしています

CWE-522: Insufficiently Protected Credentials

CXX.SV.PRIVATE_KEY.EMPTY_PASSWD  不正な方法で秘密キーをシリアル化しようとしています

CXX.SV.PRIVATE_KEY.UNENCRYPTED  不正な方法で秘密キーをシリアル化しようとしています

CWE-539: Use of Persistent Cookies Containing Sensitive Information

CXX.SV.PERSISTENT_COOKIE  永続的な cookie の違法使用

CWE-561: Dead Code

INVARIANT_CONDITION.GEN  不変な条件式

INVARIANT_CONDITION.UNREACH  不変な条件式

LA_UNUSED  ラベルが使用されていません

UNREACH.ENUM  enum が取りうる値が原因で、コードは到達不能になっています

UNREACH.GEN  到達不能コード

UNREACH.RETURN  到達不能な void return文

UNREACH.SIZEOF  アーキテクチャに関連した到達不能コード

VA_UNUSED.GEN  値を割り当て後に使用しません

VA_UNUSED.INIT  値を初期化後に使用しません

CWE-562: Return of Stack Variable Address

LOCRET.ARG  関数がローカル変数のアドレスを返しています

LOCRET.GLOB  関数がローカル変数のアドレスを返しています

LOCRET.RET  関数がローカル変数のアドレスを返しています

CWE-563: Assignment to Variable without Use

LV_UNUSED.GEN  ローカル変数は使用されません

CWE-570: Expression is Always False

INVARIANT_CONDITION.GEN  不変な条件式

INVARIANT_CONDITION.UNREACH  不変な条件式

CWE-571: Expression is Always True

INVARIANT_CONDITION.GEN  不変な条件式

INVARIANT_CONDITION.UNREACH  不変な条件式

CWE-590: Free of Memory not on the Heap

FNH.MIGHT  非ヒープメモリの解放の可能性

FNH.MUST  非ヒープメモリの解放

FUM.GEN.MIGHT  未割り当てメモリの解放の可能性

FUM.GEN.MUST  未割り当てメモリの解放

CWE-606: Unchecked Input for Loop Condition

SV.TAINTED.CALL.LOOP_BOUND  関数呼び出しのループ条件での未検証の整数の使用

SV.TAINTED.LOOP_BOUND  ループ条件での未検証の整数の使用

CWE-611: Improper Restriction of XML External Entity Reference

CXX.SV.XXE  XMLファイルのパース中にXXE攻撃を招く可能性のある外部エンティティを解決しようとしています。

CWE-614: Sensitive Cookie in HTTPS Session Without 'Secure' Attribute

CXX.SV.INSECURE_COOKIE  安全でないクッキー

CWE-628: Function Call with Incorrectly Specified Arguments

MISRA.FUNC.UNMATCHED.PARAMS  関数に渡される仮引数と実際のパラメーターの数が一致しません

SV.FMT_STR.PRINT_PARAMS_WRONGNUM.FEW  print 関数呼び出しの引数が少なすぎます

SV.FMT_STR.PRINT_PARAMS_WRONGNUM.MANY  print 関数呼び出しの引数が多すぎます

SV.FMT_STR.SCAN_PARAMS_WRONGNUM.FEW  scan 関数呼び出しの引数が少なすぎます

SV.FMT_STR.SCAN_PARAMS_WRONGNUM.MANY  scan 関数呼び出しの引数が多すぎます

CWE-665: Improper Initialization

CERT.DCL.SWITCH.VAR_BEFORE_CASE  switch ステートメント内では最初の case ラベルより前で変数を宣言しないでください

CERT.OOP.CTOR.INIT_ORDER  コンストラクターメンバー初期化子を正規の順序で作成します

MISRA.CTOR.DYNAMIC  オブジェクトの動的タイプがそのコンストラクタのボディから使用されています

MISRA.DTOR.DYNAMIC  オブジェクトの動的タイプがそのデストラクタのボディから使用されています

MISRA.INIT.BRACES.2012  集計または共用体の初期化子が波括弧で囲まれていません

UNINIT.CTOR.MIGHT  コンストラクタにおける未初期化の変数の可能性

UNINIT.CTOR.MIGHT.UNCLEAR  コンストラクタにおける未初期化変数 - 不明瞭

UNINIT.CTOR.MUST  コンストラクタにおける未初期化の変数

UNINIT.HEAP.MIGHT  未初期化のヒープの使用の可能性

UNINIT.HEAP.MIGHT.UNCLEAR  未初期化ヒープの使用 - 不明瞭

UNINIT.HEAP.MUST  未初期化のヒープの使用

UNINIT.STACK.ARRAY.MIGHT  未初期化の配列の可能性

UNINIT.STACK.ARRAY.MUST  未初期化の配列

UNINIT.STACK.ARRAY.PARTIAL.MUST  一部が未初期化の配列

UNINIT.STACK.MIGHT  未初期化の変数の可能性

UNINIT.STACK.MIGHT.UNCLEAR  未初期化変数 - 不明瞭

UNINIT.STACK.MUST  未初期化の変数

CWE-667: Improper Locking

CERT.CONC.ATOMIC_TWICE_EXPR  1 つの式でアトミック変数を 2 回参照しないでください

CERT.CONC.LIB_FUNC_USE  ライブラリ関数の使用時には競合状態を避けてください

CERT.CONC.MUTEX.DESTROY_WHILE_LOCKED  ロックされている間はミューテックスを破棄しないでください

CERT.CONC.UNSAFE_COND_VAR  条件変数の使用時に、スレッドセーフと活性を維持します

CERT.CONC.WAKE_IN_LOOP  擬似的にループを起動する可能性のあるラップ関数

CONC.DBL_LOCK  二重ロック

CONC.DBL_UNLOCK  二重ロック解除

CONC.DL  デッドロック

CONC.NO_LOCK  変数に欠落しているロック

MISRA.STDLIB.MUTEX.NO_LOCK.2023  mutex 変数のロックが欠落しています

CWE-672: Operation on a Resource after Expiration or Release

AUTOSAR.LAMBDA.REF_LIFETIME  ラムダ式オブジェクトは、その参照キャプチャされたオブジェクトよりも長く存続してはなりません

CERT.MEM.SMART_PTR.OWNED  複数のスマートポインターでのポインター所有権の共有

CERT.MEM.SMART_PTR.OWNED.THIS  基礎となるリソースが無関係なスマートポインターによって既に所有されている可能性がある

CL.FFM.ASSIGN  解放済みメモリの使用 (二重解放) - operator= が無いため

CL.FFM.COPY  解放済みメモリの使用 (二重解放) - コピーコンストラクタが無いため

CL.SELF-ASSIGN  解放済みメモリの使用 (二重解放) - operator=

CL.SHALLOW.ASSIGN  解放済みメモリの使用 (二重解放) - 演算子 = での浅いコピー

CL.SHALLOW.COPY  解放済みメモリの使用 (二重解放) - コピーコンストラクタでの浅いコピー

LOCRET.ARG  関数がローカル変数のアドレスを返しています

LOCRET.GLOB  関数がローカル変数のアドレスを返しています

LOCRET.RET  関数がローカル変数のアドレスを返しています

SV.INCORRECT_RESOURCE_HANDLING.URH  安全でないリソース処理

UFM.DEREF.MIGHT  解放済みメモリの逆参照の可能性

UFM.DEREF.MUST  解放済みメモリの逆参照

UFM.FFM.MIGHT  解放済みメモリの使用 (二重解放)の可能性

UFM.FFM.MUST  解放済みメモリの解放

UFM.RETURN.MIGHT  解放済みメモリの戻り値への使用の可能性

UFM.RETURN.MUST  解放済みメモリの戻り値への使用

UFM.USE.MIGHT  解放済みメモリの使用の可能性

UFM.USE.MUST  解放済みメモリの使用

CWE-674: Uncontrolled Recursion

CXX.STATIC.OBJ.RECURSION  静的オブジェクトの初期化中に関数を再入力しないでください

CWE-676: Use of Potentially Dangerous Function

SV.BANNED.RECOMMENDED.ALLOCA  禁止が推奨されているAPI: スタック割り当て関数

SV.BANNED.RECOMMENDED.NUMERIC  禁止が推奨されているAPI: 安全でない数値化関数

SV.BANNED.RECOMMENDED.OEM  禁止が推奨されているAPI: OEM 文字ページ変換関数

SV.BANNED.RECOMMENDED.PATH  禁止が推奨されているAPI: 安全でないパス名操作関数

SV.BANNED.RECOMMENDED.SCANF  禁止が推奨されているAPI: 安全でない scanf 型関数

SV.BANNED.RECOMMENDED.SPRINTF  禁止が推奨されているAPI: 安全でない sprintf 型関数

SV.BANNED.RECOMMENDED.STRLEN  禁止が推奨されているAPI: 安全でない文字列長関数

SV.BANNED.RECOMMENDED.TOKEN  禁止が推奨されているAPI: 安全でないトークン作成関数

SV.BANNED.RECOMMENDED.WINDOW  禁止が推奨されているAPI: 安全でないウィンドウ関数

SV.BANNED.REQUIRED.CONCAT  禁止が必須とされているAPI: 安全でない文字列連結関数

SV.BANNED.REQUIRED.COPY  禁止が必須とされているAPI: 安全でないバッファコピー関数

SV.BANNED.REQUIRED.GETS  禁止が必須とされているAPI: 安全でないストリーム読み取り関数

SV.BANNED.REQUIRED.ISBAD  禁止が必須とされているAPI: IsBad 型関数

SV.BANNED.REQUIRED.SPRINTF  禁止が必須とされているAPI: 安全でない sprintf 型関数

CWE-681: Incorrect Conversion between Numeric Types

PRECISION.LOSS  精度の損失

PRECISION.LOSS.CALL  関数呼び出し中の精度の損失

PRECISION.LOSS.INIT  初期化中の精度の損失

CWE-682: Incorrect Calculation

CWARN.ALIGNMENT  不正確なポインタのスケーリングが使用されています

CWARN.BAD.PTR.ARITH  不良なポインタ算術演算

CXX.SIZEOF.CSTRING  char* での sizeof の使用は、誤解を招く場合があります

INCORRECT.ALLOC_SIZE  不適切な割り当てサイズ

MISRA.BITS.NOT_UNSIGNED  ビット演算のオペランドが符号なし整数ではありません

MISRA.BITS.NOT_UNSIGNED.PREP  ビット演算のオペランドが符号なし整数ではありません

MISRA.SHIFT.RANGE  シフト演算子の右側のオペランドは範囲外 (左側のオペランドの最大ビット長以上か、または負) です

MISRA.SIGNED_CHAR.NOT_NUMERIC  数値でない値に 'signed char' または 'unsigned char' が使用されています

PORTING.UNSIGNEDCHAR.OVERFLOW.FALSE  'char' 型の符号によっては関係式が常に false になる場合があります

PORTING.VAR.EFFECTS  ある使用法が副次的な影響を受ける式で変数が 2 回使用されています

CWE-686: Function Call With Incorrect Argument Type

SV.FMT_STR.BAD_SCAN_FORMAT  入力書式指定子エラー

SV.FMT_STR.PRINT_FORMAT_MISMATCH.BAD  互換性がない print 関数パラメーターの型

SV.FMT_STR.PRINT_FORMAT_MISMATCH.UNDESIRED  予期しない print 関数パラメーターの型

SV.FMT_STR.SCAN_FORMAT_MISMATCH.BAD  互換性がない scan 関数パラメーターの型

SV.FMT_STR.SCAN_FORMAT_MISMATCH.UNDESIRED  予期しない scan 関数パラメーターの型

SV.FMT_STR.SCAN_IMPROP_LENGTH  scan 関数呼び出しの長さ修飾子の不適切な使用

SV.FMT_STR.UNKWN_FORMAT  print 関数呼び出しの書式指定子が不明です

SV.FMT_STR.UNKWN_FORMAT.SCAN  scan 関数呼び出しの書式指定子が不明です

CWE-690: Unchecked Return Value to NULL Pointer Dereference

NPD.FUNC.MIGHT  NULL を返す可能性のある関数の戻り値が逆参照される場合があります

NPD.FUNC.MUST  NULL を返す可能性がある関数の戻り値が逆参照されます

CWE-704: Incorrect Type Conversion or Cast

AUTOSAR.CAST.CSTYLE  従来の C スタイルのキャストは使用してはなりません

AUTOSAR.CAST.REINTERPRET  reinterpret_cast は使用してはなりません

MISRA.CAST.CONST  キャスト演算により const または volatile がポインターまたは参照から除外されます。

MISRA.CAST.FUNC_PTR.2012   関数を指すポインタと、別の非互換タイプとの間で実行された変換

MISRA.CAST.INCOMPLETE_PTR_TO_ANY.2012   不完全なタイプ を指すポインタと、別のタイプとの間で実行された変換

MISRA.CAST.OBJ_PTR_TO_INT.2012   オブジェクトを指すポインタと、整数タイプとの間で実行された変換

MISRA.CAST.OBJ_PTR_TO_NON_INT.2012   オブジェクトを指すポインタと、非整数算術演算タイプとの間のキャスト

MISRA.CAST.OBJ_PTR_TO_OBJ_PTR.2012   オブジェクト タイプを指すポインタと、異なるオブジェクト タイプを指す別のポインタとの間のキャスト

MISRA.CAST.VOID_PTR_TO_INT.2012   void を指すポインタと算術演算タイプとの間のキャスト

MISRA.CAST.VOID_PTR_TO_OBJ_PTR.2012   void ポインタから、オブジェクトを指すポインタに実行された変換

PORTING.CAST.FLTPNT  非浮動小数点タイプへの浮動小数点式のキャスト

PORTING.CAST.PTR.FLTPNT  非浮動小数点型のポインタへの浮動小数点式のポインタのキャスト

PORTING.CAST.PTR.SIZE  サイズに互換性がない可能性がある型への式のキャストの可能性

CWE-708: Incorrect Ownership Assignment

SV.USAGERULES.PERMISSIONS  特権の昇給の使用

CWE-732: Incorrect Permission Assignment for Critical Resource

SV.USAGERULES.PERMISSIONS  特権の昇給の使用

CWE-733: Compiler Optimization Removal or Modification of Security-critical Code

INVARIANT_CONDITION.GEN  不変な条件式

INVARIANT_CONDITION.UNREACH  不変な条件式

SPECTRE.VARIANT1  予測実行の悪用の可能性

UNREACH.GEN  到達不能コード

UNREACH.RETURN  到達不能な void return文

CWE-754: Improper Check for Unusual or Exceptional Conditions

SV.RVT.RETVAL_NOTTESTED  戻り値の無視

CWE-755: Improper Handling of Exceptional Conditions

MISRA.CATCH.BY_VALUE  クラス タイプの例外オブジェクトが値によってキャッチされています

MISRA.CATCH.NOALL  省略記号例外ハンドラーが try-catch ブロックの最後に置かれていません

MISRA.CATCH.WRONGORD  try-catch ブロックで基本例外クラスのハンドラーが派生例外クラスのハンドラーよりも先に置かれています

MISRA.THROW.PTR  例外オブジェクトがポインタになっています

CWE-762: Mismatched Memory Management Routines

FMM.MIGHT  メモリの解放の不一致の可能性

FMM.MUST  メモリの解放の不一致

CWE-764: Multiple Locks of a Critical Resource

CONC.DBL_LOCK  二重ロック

CWE-765: Multiple Unlocks of a Critical Resource

CONC.DBL_UNLOCK  二重ロック解除

CWE-768: Incorrect Short Circuit Evaluation

MISRA.INCR_DECR.OTHER  増分または減分の演算子がその他の演算子と混合して式で使用されています

MISRA.INCR_DECR.SIDEEFF.2012  インクリメント (++) またはデクリメント (--) 演算子を含む完全な式では、インクリメントまたはデクリメント演算子によって生じる以外に他の副作用が存在してはなりません

MISRA.LOGIC.SIDEEFF  論理 'and' 式または論理 'or' 式の右側のオペランドは副作用があります

MISRA.LOGIC.SIDEEFF.COND  条件式の分岐式に副作用があります

PORTING.VAR.EFFECTS  ある使用法が副次的な影響を受ける式で変数が 2 回使用されています

CWE-772: Missing Release of Resource after Effective Lifetime

RH.LEAK  リソースリーク

CWE-783: Operator Precedence Logic Error

MISRA.EXPR.PARENS.2012  式内の演算子の優先度は明示的にする必要があります。

MISRA.EXPR.PARENS.INSUFFICIENT  式の演算子優先規則に制限された依存性が必要です

CWE-786: Access of Memory Location Before Start of Buffer

ABV.GENERAL  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL.MULTIDIMENSION  バッファオーバーフロー - 配列インデックスが範囲外

CWE-787: Out-of-bounds Write

ABV.ANY_SIZE_ARRAY  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL.MULTIDIMENSION  バッファオーバーフロー - 配列インデックスが範囲外

ABV.ITERATOR  バッファオーバーフロー - 配列インデックスが範囲外の可能性

ABV.MEMBER  バッファオーバーフロー - 配列インデックスが範囲外

ABV.NON_ARRAY  非配列オブジェクトが配列として使用される

ABV.STACK  バッファオーバーフロー - ローカル配列インデックスが範囲外

ABV.TAINTED  未検証の入力によるバッファオーバーフロー

ABV.UNICODE.BOUND_MAP  文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.FAILED_MAP  関数のマッピングに失敗します

ABV.UNICODE.NNTS_MAP  文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.SELF_MAP  関数のマッピングに失敗します

ABV.UNKNOWN_SIZE  バッファオーバーフロー - 配列インデックスが範囲外

CXX.ITER.END.BEGIN  範囲の終わりを表す反復子が範囲の始まりの前にあります

CXX.SUSPICIOUS_INDEX_CHECK  境界チェック後のインデックスの不審な使用

CXX.SUSPICIOUS_INDEX_CHECK.CALL  境界チェック後の関数呼び出しでのインデックスの不審な使用

CXX.SUSPICIOUS_INDEX_CHECK.ZERO  ゼロのインデックスチェック後のインデックスの不審な使用

ITER.ADVANCE.NONADJACENT  反復子間の距離は 1 より大きい値にする

ITER.CONTAINER.MODIFIED  無効な反復子の使用

ITER.END.OUTPARAM.MIGHT  出力反復子としての 'end' の使用

ITER.END.OUTPARAM.MUST  出力反復子としての 'end' の使用

ITER.INAPPROPRIATE  コンテナーオブジェクトが不適切な反復子の使用

ITER.INAPPROPRIATE.MULTIPLE  コンテナーオブジェクトが不適切な反復子の使用

NNTS.MIGHT  バッファオーバーフロー - 非 NULL 終了文字列

NNTS.MUST  バッファオーバーフロー - 非 NULL 終了文字列

NNTS.TAINTED  未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列

RABV.CHECK  境界チェック前のインデックスの不審な使用

RN.INDEX  負の値のチェック前のインデックスの使用は問題となる可能性があります

SV.FMT_STR.BAD_SCAN_FORMAT  入力書式指定子エラー

SV.STRBO.BOUND_SPRINTF  バインドされた sprintf でのバッファオーバーフロー

SV.STRBO.UNBOUND_SPRINTF  バインドされていない sprintf でのバッファオーバーフロー

SV.UNBOUND_STRING_INPUT.CIN  バインドされていない文字列入力についての cin の使用法

SV.UNBOUND_STRING_INPUT.FUNC  バインドされていない文字列入力の使用法

CWE-788: Access of Memory Location After End of Buffer

ABV.ANY_SIZE_ARRAY  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL.MULTIDIMENSION  バッファオーバーフロー - 配列インデックスが範囲外

ABV.NON_ARRAY  非配列オブジェクトが配列として使用される

ABV.STACK  バッファオーバーフロー - ローカル配列インデックスが範囲外

ABV.TAINTED  未検証の入力によるバッファオーバーフロー

SV.TAINTED.CALL.INDEX_ACCESS  関数呼び出し時の配列インデックスとしての未検証の整数の使用

SV.TAINTED.INDEX_ACCESS  配列インデックスとしての未検証の整数の使用

CWE-791: Incomplete Filtering of Special Elements

SV.CODE_INJECTION.SHELL_EXEC  シェル実行へのコマンドインジェクション

SV.TAINTED.CALL.DEREF  未検証ポインターの逆参照

SV.TAINTED.DEREF  未検証ポインターの逆参照

SV.TAINTED.FMTSTR  書式文字列での未検証データの使用

SV.TAINTED.INJECTION  コマンドインジェクション

CWE-798: Use of Hard-coded Credentials

CXX.SV.PWD.PLAIN  プレーンな文字列を使用してパスワードを設定しようとしています

CXX.SV.PWD.PLAIN.LENGTH  15 文字未満の長さでパスワードを設定しようとしています

CXX.SV.PWD.PLAIN.LENGTH.ZERO  ゼロ文字の長さでパスワードを設定しようとしています

HCC  ハードコードされた資格情報の使用

HCC.PWD  ハードコードされたパスワードの使用

HCC.USER  ハードコードされたユーザー名の使用

CWE-805: Buffer Access with Incorrect Length Value

ABV.ANY_SIZE_ARRAY  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL.MULTIDIMENSION  バッファオーバーフロー - 配列インデックスが範囲外

ABV.ITERATOR  バッファオーバーフロー - 配列インデックスが範囲外の可能性

ABV.NON_ARRAY  非配列オブジェクトが配列として使用される

ABV.STACK  バッファオーバーフロー - ローカル配列インデックスが範囲外

ABV.TAINTED  未検証の入力によるバッファオーバーフロー

CXX.SIZEOF.CSTRING  char* での sizeof の使用は、誤解を招く場合があります

INCORRECT.ALLOC_SIZE  不適切な割り当てサイズ

SV.TAINTED.CALL.INDEX_ACCESS  関数呼び出し時の配列インデックスとしての未検証の整数の使用

SV.TAINTED.INDEX_ACCESS  配列インデックスとしての未検証の整数の使用

CWE-806: Buffer Access Using Size of Source Buffer

ABV.GENERAL  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL.MULTIDIMENSION  バッファオーバーフロー - 配列インデックスが範囲外

ABV.ITERATOR  バッファオーバーフロー - 配列インデックスが範囲外の可能性

ABV.MEMBER  バッファオーバーフロー - 配列インデックスが範囲外

ABV.NON_ARRAY  非配列オブジェクトが配列として使用される

ABV.STACK  バッファオーバーフロー - ローカル配列インデックスが範囲外

ABV.TAINTED  未検証の入力によるバッファオーバーフロー

ABV.UNICODE.BOUND_MAP  文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.FAILED_MAP  関数のマッピングに失敗します

ABV.UNICODE.NNTS_MAP  文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.SELF_MAP  関数のマッピングに失敗します

CWE-822: Untrusted Pointer Dereference

SV.TAINTED.CALL.DEREF  未検証ポインターの逆参照

SV.TAINTED.DEREF  未検証ポインターの逆参照

CWE-832: Unlock of a Resource that is not Locked

CONC.NO_LOCK  変数に欠落しているロック

MISRA.STDLIB.MUTEX.NO_LOCK.2023  mutex 変数のロックが欠落しています

CWE-833: Deadlock

CONC.DL  デッドロック

CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop')

CXX.STATIC.OBJ.RECURSION  静的オブジェクトの初期化中に関数を再入力しないでください

INFINITE_LOOP.GLOBAL  無限ループ

INFINITE_LOOP.LOCAL  無限ループ

INFINITE_LOOP.MACRO  無限ループ

CWE-842: Placement of User into Incorrect Group

SV.USAGERULES.PERMISSIONS  特権の昇給の使用

CWE-843: Access of Resource Using Incompatible Type ('Type Confusion')

AUTOSAR.CAST.CSTYLE  従来の C スタイルのキャストは使用してはなりません

AUTOSAR.CAST.REINTERPRET  reinterpret_cast は使用してはなりません

MISRA.CAST.OBJ_PTR_TO_INT.2012   オブジェクトを指すポインタと、整数タイプとの間で実行された変換

CWE-896: SFP Primary Cluster: Tainted Input

ABV.TAINTED  未検証の入力によるバッファオーバーフロー

NNTS.TAINTED  未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列

SV.TAINTED.ALLOC_SIZE  メモリ割り当て時の未検証の整数の使用

SV.TAINTED.BINOP  バイナリ演算での未検証整数値の使用

SV.TAINTED.CALL.BINOP  バイナリ演算での未検証整数値の使用

SV.TAINTED.CALL.DEREF  未検証ポインターの逆参照

SV.TAINTED.CALL.INDEX_ACCESS  関数呼び出し時の配列インデックスとしての未検証の整数の使用

SV.TAINTED.CALL.LOOP_BOUND  関数呼び出しのループ条件での未検証の整数の使用

SV.TAINTED.DEREF  未検証ポインターの逆参照

SV.TAINTED.FMTSTR  書式文字列での未検証データの使用

SV.TAINTED.INDEX_ACCESS  配列インデックスとしての未検証の整数の使用

SV.TAINTED.INJECTION  コマンドインジェクション

SV.TAINTED.LOOP_BOUND  ループ条件での未検証の整数の使用

SV.TAINTED.PATH_TRAVERSAL  パストラバーサルでの未検証データの使用

SV.TAINTED.SECURITY_DECISION  セキュリティ決定

SV.TAINTED.XSS.REFLECTED  クロスサイト スクリプティング脆弱性

CWE-910: Use of Expired File Descriptor

SV.INCORRECT_RESOURCE_HANDLING.URH  安全でないリソース処理

CWE-916: Use of Password Hash With Insufficient Computational Effort

RCA  危険な暗号化アルゴリズムが使用されています

SV.WEAK_CRYPTO.WEAK_HASH  弱ハッシュ関数

CWE-1037: Processor Optimization Removal or Modification of Security-critical Code

SPECTRE.VARIANT1  予測実行の悪用の可能性

CWE-1095: Loop Condition Value Update within the Loop

MISRA.FOR.BODY.LOOP_CTR_MODIFIED  ループカウンターをループ本体で変更しないでください

MISRA.FOR.BODY.LOOP_CTR_MODIFIED.MIGHT  ループカウンターをループ本体で変更しないでください

MISRA.FOR.STMT.CHANGE  for ループのカウンターがループステートメント内で変更されています

CWE-1119: Excessive Use of Unconditional Branching

AUTOSAR.GOTO  goto ステートメントは使用してはなりません

MISRA.GOTO  goto ステートメントが使用されています

CWE-1220: Insufficient Granularity of Access Control

SV.LPP.CONST  危険な関数についての安全でないマクロの使用

SV.LPP.VAR  危険な関数についての安全でないパラメーターの使用

SV.USAGERULES.PERMISSIONS  特権の昇給の使用

CWE-1240: Use of a Cryptographic Primitive with a Risky Implementation

RCA  危険な暗号化アルゴリズムが使用されています

SV.WEAK_CRYPTO.WEAK_HASH  弱ハッシュ関数

CWE-1241: Use of Predictable Algorithm in Random Number Generator

RCA  危険な暗号化アルゴリズムが使用されています

CWE-1335: Incorrect Bitwise Shift of Integer

MISRA.SHIFT.RANGE  シフト演算子の右側のオペランドは範囲外 (左側のオペランドの最大ビット長以上か、または負) です

サポートのサマリー:

  • 92 規則