Klocwork C および C++ チェッカーにマッピングされた DISA STIG バージョン 4 の ID
この記事では、DISA Security Technical Implementation Guide バージョン 4 の ID を Klocwork C/C++ チェッカーにマッピングします。DISA STIG の詳細については、STIG Web サイトを参照してください。
ガイドライン | チェッカー名および説明 |
---|---|
APSC-DV-000160 |
RCA 危険な暗号化アルゴリズムが使用されています RCA.HASH.SALT.EMPTY 空のソルトを持つ一方向性ハッシュの使用 |
APSC-DV-000170 |
RCA 危険な暗号化アルゴリズムが使用されています RCA.HASH.SALT.EMPTY 空のソルトを持つ一方向性ハッシュの使用 |
APSC-DV-000460 |
SV.BRM.HKEY_LOCAL_MACHINE レジストリ操作関数の 'hkey' とパラメーターしての HKEY_LOCAL_MACHINE の使用 SV.PIPE.CONST パイプのハイジャックの可能性 SV.PIPE.VAR パイプのハイジャックの可能性 |
APSC-DV-000510 |
SV.BRM.HKEY_LOCAL_MACHINE レジストリ操作関数の 'hkey' とパラメーターしての HKEY_LOCAL_MACHINE の使用 SV.LPP.CONST 危険な関数についての安全でないマクロの使用 SV.LPP.VAR 危険な関数についての安全でないパラメーターの使用 SV.PIPE.CONST パイプのハイジャックの可能性 SV.PIPE.VAR パイプのハイジャックの可能性 SV.SIP.CONST 危険な関数についての安全でないマクロの使用 SV.SIP.VAR 危険な関数についての安全でないパラメーターの使用 SV.USAGERULES.PERMISSIONS 特権の昇給の使用 |
APSC-DV-000530 |
CXX.SV.PWD_INPUT.REVIEW パスワード認証は、ブルートフォース攻撃に対してチェックする必要があります |
APSC-DV-001410 |
SV.BRM.HKEY_LOCAL_MACHINE レジストリ操作関数の 'hkey' とパラメーターしての HKEY_LOCAL_MACHINE の使用 SV.LPP.CONST 危険な関数についての安全でないマクロの使用 SV.LPP.VAR 危険な関数についての安全でないパラメーターの使用 SV.PIPE.CONST パイプのハイジャックの可能性 SV.PIPE.VAR パイプのハイジャックの可能性 SV.SIP.CONST 危険な関数についての安全でないマクロの使用 SV.SIP.VAR 危険な関数についての安全でないパラメーターの使用 SV.USAGERULES.PERMISSIONS 特権の昇給の使用 |
APSC-DV-001680 |
CXX.SV.PWD.PLAIN.LENGTH 15 文字未満の長さでパスワードを設定しようとしています CXX.SV.PWD.PLAIN.LENGTH.ZERO ゼロ文字の長さでパスワードを設定しようとしています |
APSC-DV-001740 |
HCC ハードコードされた資格情報の使用 HCC.PWD ハードコードされたパスワードの使用 HCC.USER ハードコードされたユーザー名の使用 RCA 危険な暗号化アルゴリズムが使用されています RCA.HASH.SALT.EMPTY 空のソルトを持つ一方向性ハッシュの使用 SV.WEAK_CRYPTO.WEAK_HASH 弱ハッシュ関数 |
APSC-DV-001750 |
HCC ハードコードされた資格情報の使用 HCC.PWD ハードコードされたパスワードの使用 HCC.USER ハードコードされたユーザー名の使用 RCA 危険な暗号化アルゴリズムが使用されています RCA.HASH.SALT.EMPTY 空のソルトを持つ一方向性ハッシュの使用 SV.WEAK_CRYPTO.WEAK_HASH 弱ハッシュ関数 |
APSC-DV-001820 |
CXX.SV.PRIVATE_KEY.EMPTY_PASSWD 不正な方法で秘密キーをシリアル化しようとしています CXX.SV.PRIVATE_KEY.UNENCRYPTED 不正な方法で秘密キーをシリアル化しようとしています |
APSC-DV-001850 |
CXX.SV.PWD.PLAIN プレーンな文字列を使用してパスワードを設定しようとしています |
APSC-DV-001860 |
HCC ハードコードされた資格情報の使用 HCC.PWD ハードコードされたパスワードの使用 HCC.USER ハードコードされたユーザー名の使用 SV.WEAK_CRYPTO.WEAK_HASH 弱ハッシュ関数 |
APSC-DV-001980 |
RH.LEAK リソースリーク |
APSC-DV-001995 |
SV.TOCTOU.FILE_ACCESS ファイル アクセス時の作成日時/使用日時の競合状態 |
APSC-DV-002000 |
RH.LEAK リソースリーク |
APSC-DV-002010 |
RCA 危険な暗号化アルゴリズムが使用されています RCA.HASH.SALT.EMPTY 空のソルトを持つ一方向性ハッシュの使用 SV.WEAK_CRYPTO.WEAK_HASH 弱ハッシュ関数 |
APSC-DV-002030 |
RCA 危険な暗号化アルゴリズムが使用されています RCA.HASH.SALT.EMPTY 空のソルトを持つ一方向性ハッシュの使用 SV.WEAK_CRYPTO.WEAK_HASH 弱ハッシュ関数 |
APSC-DV-002040 |
RCA 危険な暗号化アルゴリズムが使用されています RCA.HASH.SALT.EMPTY 空のソルトを持つ一方向性ハッシュの使用 SV.WEAK_CRYPTO.WEAK_HASH 弱ハッシュ関数 |
APSC-DV-002230 |
CXX.SV.INSECURE_COOKIE 安全でないクッキー |
APSC-DV-002240 |
CXX.SV.PERSISTENT_COOKIE 永続的な cookie の違法使用 |
APSC-DV-002290 |
RCA 危険な暗号化アルゴリズムが使用されています RCA.HASH.SALT.EMPTY 空のソルトを持つ一方向性ハッシュの使用 SV.WEAK_CRYPTO.WEAK_HASH 弱ハッシュ関数 |
APSC-DV-002350 |
RCA 危険な暗号化アルゴリズムが使用されています RCA.HASH.SALT.EMPTY 空のソルトを持つ一方向性ハッシュの使用 SV.WEAK_CRYPTO.WEAK_HASH 弱ハッシュ関数 |
APSC-DV-002380 |
SV.USAGERULES.PERMISSIONS 特権の昇給の使用 |
APSC-DV-002400 |
FMM.MIGHT メモリの解放の不一致の可能性 FMM.MUST メモリの解放の不一致 INFINITE_LOOP.GLOBAL 無限ループ INFINITE_LOOP.LOCAL 無限ループ INFINITE_LOOP.MACRO 無限ループ SV.STR_PAR.UNDESIRED_STRING_PARAMETER ファイルパスの不要な文字列 SV.TAINTED.ALLOC_SIZE メモリ割り当て時の未検証の整数の使用 |
APSC-DV-002440 |
SPECTRE.VARIANT1 予測実行の悪用の可能性 |
APSC-DV-002490 |
SV.TAINTED.XSS.REFLECTED クロスサイト スクリプティング脆弱性 |
APSC-DV-002510 |
SV.CODE_INJECTION.SHELL_EXEC シェル実行へのコマンドインジェクション SV.DLLPRELOAD.NONABSOLUTE.DLL DLL プリロードのハイジャック ベクターの可能性 SV.DLLPRELOAD.NONABSOLUTE.EXE プロセスインジェクションベクターの可能性 SV.DLLPRELOAD.SEARCHPATH DLL の検索に SearchPath の使用は推奨されません SV.FIU.PROCESS_VARIANTS 危険なプロセス作成の使用 |
APSC-DV-002520 |
SV.DLLPRELOAD.NONABSOLUTE.DLL DLL プリロードのハイジャック ベクターの可能性 SV.DLLPRELOAD.NONABSOLUTE.EXE プロセスインジェクションベクターの可能性 SV.DLLPRELOAD.SEARCHPATH DLL の検索に SearchPath の使用は推奨されません |
APSC-DV-002530 |
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.FMTSTR 書式文字列での未検証データの使用 SV.TAINTED.INDEX_ACCESS 配列インデックスとしての未検証の整数の使用 SV.TAINTED.INJECTION コマンドインジェクション SV.TAINTED.LOOP_BOUND ループ条件での未検証の整数の使用 SV.TAINTED.PATH_TRAVERSAL パストラバーサルでの未検証データの使用 SV.TAINTED.SECURITY_DECISION セキュリティ決定 |
APSC-DV-002540 |
ABV.TAINTED 未検証の入力によるバッファオーバーフロー CXX.SQL.INJECT SQL インジェクション SV.TAINTED.INJECTION コマンドインジェクション SV.USAGERULES.PERMISSIONS 特権の昇給の使用 |
APSC-DV-002550 |
CXX.SV.XXE XMLファイルのパース中にXXE攻撃を招く可能性のある外部エンティティを解決しようとしています。 |
APSC-DV-002560 |
SV.TAINTED.ALLOC_SIZE メモリ割り当て時の未検証の整数の使用 SV.TAINTED.BINOP バイナリ演算での未検証整数値の使用 SV.TAINTED.CALL.BINOP バイナリ演算での未検証整数値の使用 SV.TAINTED.CALL.INDEX_ACCESS 関数呼び出し時の配列インデックスとしての未検証の整数の使用 SV.TAINTED.CALL.LOOP_BOUND 関数呼び出しのループ条件での未検証の整数の使用 SV.TAINTED.FMTSTR 書式文字列での未検証データの使用 SV.TAINTED.INDEX_ACCESS 配列インデックスとしての未検証の整数の使用 SV.TAINTED.INJECTION コマンドインジェクション SV.TAINTED.LOOP_BOUND ループ条件での未検証の整数の使用 SV.TAINTED.PATH_TRAVERSAL パストラバーサルでの未検証データの使用 SV.TAINTED.SECURITY_DECISION セキュリティ決定 |
APSC-DV-002590 |
ABV.ANY_SIZE_ARRAY バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL.MULTIDIMENSION バッファオーバーフロー - 配列インデックスが範囲外 ABV.ITERATOR バッファオーバーフロー - 配列インデックスが範囲外の可能性 ABV.MEMBER バッファオーバーフロー - 配列インデックスが範囲外 ABV.NON_ARRAY TRANSLATE ME: Non-array object is used as an array ABV.STACK バッファオーバーフロー - ローカル配列インデックスが範囲外 ABV.TAINTED 未検証の入力によるバッファオーバーフロー ABV.UNICODE.BOUND_MAP 文字関数のマッピング時のバッファオーバーフロー ABV.UNICODE.FAILED_MAP 関数のマッピングに失敗します ABV.UNICODE.NNTS_MAP 文字関数のマッピング時のバッファオーバーフロー ABV.UNKNOWN_SIZE バッファオーバーフロー - 配列インデックスが範囲外 CXX.FUNC.T2OLE.LOOP ループ内で T2OLE または OLE2CT を呼び出さないでください CXX.SUSPICIOUS_INDEX_CHECK 境界チェック後のインデックスの不審な使用 CXX.SUSPICIOUS_INDEX_CHECK.CALL 境界チェック後の関数呼び出しでのインデックスの不審な使用 CXX.SUSPICIOUS_INDEX_CHECK.ZERO ゼロのインデックスチェック後のインデックスの不審な使用 INCORRECT.ALLOC_SIZE 不適切な割り当てサイズ MISRA.CAST.FLOAT 自明ではない浮動型の式が広いタイプにキャストされています MISRA.CAST.FLOAT.WIDER より広い浮動小数点タイプへの浮動小数点式のキャスト MISRA.CAST.FLOAT_INT 整数型への浮動小数点式のキャスト MISRA.CAST.FUNC_PTR 関数ポインタと整数型以外の間のキャストです。 MISRA.CAST.FUNC_PTR.2012 関数を指すポインタと、別の非互換タイプとの間で実行された変換 MISRA.CAST.FUNC_PTR.CPP キャストにより関数ポインタがその他のポインタ型に変換されます MISRA.CAST.INCOMPLETE_PTR_TO_ANY.2012 不完全なタイプ を指すポインタと、別のタイプとの間で実行された変換 MISRA.CAST.INT 自明ではない整数式が広い型または別の符号を持つ型にキャストされています MISRA.CAST.INT.SIGN 自明ではない複合式が別の符号を持つ型にキャストされています MISRA.CAST.INT.WIDER より広い整数型への複合式のキャスト MISRA.CAST.INT_FLOAT 浮動小数点タイプへの複合式のキャスト MISRA.CAST.INT_TO_PTR 整数型または void を指すポインタを持つオブジェクトがポインタ型にキャストされています 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.POLY.TYPE 多様性基本クラスから派生クラスへのキャストです MISRA.CAST.PTR オブジェクトタイプを指すポインタとオブジェクトタイプを指す別のポインタ間のキャストです MISRA.CAST.PTR.UNRELATED ポインタ型のオブジェクトを関連のない型にキャストしています MISRA.CAST.PTR.VRCLASS 仮想基本クラスを指すポインタから派生クラスを指すポインタへのキャストにおいて、'dynamic_cast' を用いていません MISRA.CAST.PTR_TO_INT ポインタと整数型間のキャスト MISRA.CAST.UNSIGNED_BITS unsigned char または short でのビット演算の結果は元の型にキャストできません MISRA.CAST.VOID_PTR_TO_INT.2012 void を指すポインタと算術演算タイプとの間のキャスト MISRA.CAST.VOID_PTR_TO_OBJ_PTR.2012 void ポインタから、オブジェクトを指すポインタに実行された変換 MISRA.SIGNED_CHAR.NOT_NUMERIC 数値でない値に 'signed char' または 'unsigned char' が使用されています MISRA.UMINUS.UNSIGNED 単項マイナス演算子が符号なしオペランドに対して使用されています。 NNTS.MIGHT バッファオーバーフロー - 非 NULL 終了文字列 NNTS.MUST バッファオーバーフロー - 非 NULL 終了文字列 NNTS.TAINTED 未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列 PRECISION.LOSS 精度の損失 PRECISION.LOSS.CALL 関数呼び出し中の精度の損失 PRECISION.LOSS.INIT 初期化中の精度の損失 RABV.CHECK 境界チェック前のインデックスの不審な使用 SV.FMTSTR.GENERIC 書式文字列の脆弱性 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.PRINT_IMPROP_LENGTH print 関数呼び出しの長さ修飾子の不適切な使用 SV.FMT_STR.PRINT_PARAMS_WRONGNUM.FEW print 関数呼び出しの引数が少なすぎます SV.FMT_STR.PRINT_PARAMS_WRONGNUM.MANY print 関数呼び出しの引数が多すぎます SV.FMT_STR.UNKWN_FORMAT print 関数呼び出しの書式指定子が不明です SV.STRBO.BOUND_COPY.OVERFLOW バインドされた文字列コピーでのバッファオーバーフロー SV.STRBO.BOUND_COPY.UNTERM 次の文字列演算でバッファオーバーフローの可能性があります SV.STRBO.BOUND_SPRINTF バインドされた sprintf でのバッファオーバーフロー SV.STRBO.UNBOUND_COPY バインドされていない文字列コピーでのバッファオーバーフロー SV.STRBO.UNBOUND_SPRINTF バインドされていない sprintf でのバッファオーバーフロー SV.TAINTED.BINOP バイナリ演算での未検証整数値の使用 SV.TAINTED.CALL.BINOP バイナリ演算での未検証整数値の使用 SV.TAINTED.CALL.INDEX_ACCESS 関数呼び出し時の配列インデックスとしての未検証の整数の使用 SV.TAINTED.CALL.LOOP_BOUND 関数呼び出しのループ条件での未検証の整数の使用 SV.TAINTED.INDEX_ACCESS 配列インデックスとしての未検証の整数の使用 SV.TAINTED.LOOP_BOUND ループ条件での未検証の整数の使用 |
APSC-DV-002950 |
CONC.DL デッドロック |
APSC-DV-003100 |
RCA 危険な暗号化アルゴリズムが使用されています RCA.HASH.SALT.EMPTY 空のソルトを持つ一方向性ハッシュの使用 |
APSC-DV-003110 |
HCC ハードコードされた資格情報の使用 HCC.PWD ハードコードされたパスワードの使用 HCC.USER ハードコードされたユーザー名の使用 |
APSC-DV-003170 |
ABV.ANY_SIZE_ARRAY バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL.MULTIDIMENSION バッファオーバーフロー - 配列インデックスが範囲外 ABV.ITERATOR バッファオーバーフロー - 配列インデックスが範囲外の可能性 ABV.MEMBER バッファオーバーフロー - 配列インデックスが範囲外 ABV.NON_ARRAY TRANSLATE ME: Non-array object is used as an array ABV.STACK バッファオーバーフロー - ローカル配列インデックスが範囲外 ABV.TAINTED 未検証の入力によるバッファオーバーフロー ABV.UNICODE.BOUND_MAP 文字関数のマッピング時のバッファオーバーフロー ABV.UNICODE.FAILED_MAP 関数のマッピングに失敗します ABV.UNICODE.NNTS_MAP 文字関数のマッピング時のバッファオーバーフロー ABV.UNKNOWN_SIZE バッファオーバーフロー - 配列インデックスが範囲外 CL.MLK メモリリーク - デストラクタで発生 CL.MLK.ASSIGN メモリリーク - 代入演算子 CL.MLK.VIRTUAL メモリリーク - デストラクタで発生している可能性 CXX.FUNC.T2OLE.LOOP ループ内で T2OLE または OLE2CT を呼び出さないでください CXX.SQL.INJECT SQL インジェクション CXX.SUSPICIOUS_INDEX_CHECK 境界チェック後のインデックスの不審な使用 CXX.SUSPICIOUS_INDEX_CHECK.CALL 境界チェック後の関数呼び出しでのインデックスの不審な使用 CXX.SUSPICIOUS_INDEX_CHECK.ZERO ゼロのインデックスチェック後のインデックスの不審な使用 INCORRECT.ALLOC_SIZE 不適切な割り当てサイズ LA_UNUSED ラベルが使用されていません LV_UNUSED.GEN ローカル変数は使用されません MISRA.CAST.FLOAT 自明ではない浮動型の式が広いタイプにキャストされています MISRA.CAST.FLOAT.WIDER より広い浮動小数点タイプへの浮動小数点式のキャスト MISRA.CAST.FLOAT_INT 整数型への浮動小数点式のキャスト MISRA.CAST.FUNC_PTR 関数ポインタと整数型以外の間のキャストです。 MISRA.CAST.FUNC_PTR.2012 関数を指すポインタと、別の非互換タイプとの間で実行された変換 MISRA.CAST.FUNC_PTR.CPP キャストにより関数ポインタがその他のポインタ型に変換されます MISRA.CAST.INCOMPLETE_PTR_TO_ANY.2012 不完全なタイプ を指すポインタと、別のタイプとの間で実行された変換 MISRA.CAST.INT 自明ではない整数式が広い型または別の符号を持つ型にキャストされています MISRA.CAST.INT.SIGN 自明ではない複合式が別の符号を持つ型にキャストされています MISRA.CAST.INT.WIDER より広い整数型への複合式のキャスト MISRA.CAST.INT_FLOAT 浮動小数点タイプへの複合式のキャスト MISRA.CAST.INT_TO_PTR 整数型または void を指すポインタを持つオブジェクトがポインタ型にキャストされています 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.POLY.TYPE 多様性基本クラスから派生クラスへのキャストです MISRA.CAST.PTR オブジェクトタイプを指すポインタとオブジェクトタイプを指す別のポインタ間のキャストです MISRA.CAST.PTR.UNRELATED ポインタ型のオブジェクトを関連のない型にキャストしています MISRA.CAST.PTR.VRCLASS 仮想基本クラスを指すポインタから派生クラスを指すポインタへのキャストにおいて、'dynamic_cast' を用いていません MISRA.CAST.PTR_TO_INT ポインタと整数型間のキャスト MISRA.CAST.UNSIGNED_BITS unsigned char または short でのビット演算の結果は元の型にキャストできません MISRA.CAST.VOID_PTR_TO_INT.2012 void を指すポインタと算術演算タイプとの間のキャスト MISRA.CAST.VOID_PTR_TO_OBJ_PTR.2012 void ポインタから、オブジェクトを指すポインタに実行された変換 MISRA.SIGNED_CHAR.NOT_NUMERIC 数値でない値に 'signed char' または 'unsigned char' が使用されています MISRA.UMINUS.UNSIGNED 単項マイナス演算子が符号なしオペランドに対して使用されています。 MLK.MIGHT メモリリークの可能性 MLK.MUST メモリリーク MLK.RET.MIGHT メモリリークの可能性 MLK.RET.MUST メモリリーク NNTS.MIGHT バッファオーバーフロー - 非 NULL 終了文字列 NNTS.MUST バッファオーバーフロー - 非 NULL 終了文字列 NNTS.TAINTED 未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列 PRECISION.LOSS 精度の損失 PRECISION.LOSS.CALL 関数呼び出し中の精度の損失 PRECISION.LOSS.INIT 初期化中の精度の損失 RABV.CHECK 境界チェック前のインデックスの不審な使用 SV.FMTSTR.GENERIC 書式文字列の脆弱性 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.PRINT_IMPROP_LENGTH print 関数呼び出しの長さ修飾子の不適切な使用 SV.FMT_STR.PRINT_PARAMS_WRONGNUM.FEW print 関数呼び出しの引数が少なすぎます SV.FMT_STR.PRINT_PARAMS_WRONGNUM.MANY print 関数呼び出しの引数が多すぎます SV.FMT_STR.UNKWN_FORMAT print 関数呼び出しの書式指定子が不明です SV.STRBO.BOUND_COPY.OVERFLOW バインドされた文字列コピーでのバッファオーバーフロー SV.STRBO.BOUND_COPY.UNTERM 次の文字列演算でバッファオーバーフローの可能性があります SV.STRBO.BOUND_SPRINTF バインドされた sprintf でのバッファオーバーフロー SV.STRBO.UNBOUND_COPY バインドされていない文字列コピーでのバッファオーバーフロー SV.STRBO.UNBOUND_SPRINTF バインドされていない sprintf でのバッファオーバーフロー 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.FMTSTR 書式文字列での未検証データの使用 SV.TAINTED.INDEX_ACCESS 配列インデックスとしての未検証の整数の使用 SV.TAINTED.INJECTION コマンドインジェクション SV.TAINTED.LOOP_BOUND ループ条件での未検証の整数の使用 SV.TAINTED.PATH_TRAVERSAL パストラバーサルでの未検証データの使用 SV.TAINTED.SECURITY_DECISION セキュリティ決定 SV.TOCTOU.FILE_ACCESS ファイル アクセス時の作成日時/使用日時の競合状態 SV.USAGERULES.PERMISSIONS 特権の昇給の使用 UNUSED.FUNC.GEN 関数を定義していますが、使用していません UNUSED.FUNC.WARN 潜在的未使用関数 VA_UNUSED.GEN 値を割り当て後に使用しません VA_UNUSED.INIT 値を初期化後に使用しません |
APSC-DV-003235 |
CERT.EXIT.HANDLER_TERMINATE すべての exit ハンドラーは正常に戻る必要があります CWARN.PASSBYVALUE.EXC 値によって渡された例外オブジェクトが大きすぎます CXX.ERRNO.INCORRECTLY_CHECKED ライブラリ関数を呼び出した後に、errno の条件チェックは必要ない CXX.ERRNO.NOT_CHECKED ライブラリ関数を呼び出した後に、errno の条件チェックが欠落している CXX.ERRNO.NOT_SET ライブラリ関数を呼び出す前に、errno はゼロにリセットされていない MISRA.CATCH.ALL try-catch ブロックに省略記号例外ハンドラーがありません MISRA.CATCH.BY_VALUE クラス タイプの例外オブジェクトが値によってキャッチされています MISRA.CATCH.NOALL 省略記号例外ハンドラーが try-catch ブロックの最後に置かれていません MISRA.CATCH.WRONGORD try-catch ブロックで基本例外クラスのハンドラーが派生例外クラスのハンドラーよりも先に置かれています MISRA.DECL.EXCPT.SPEC 異なる例外指定で関数が宣言されています MISRA.THROW.EMPTY 空のスロー式が catch ブロックに属していません MISRA.THROW.NULL NULL が明示的にスローされています MISRA.THROW.PTR 例外オブジェクトがポインタになっています SV.INCORRECT_RESOURCE_HANDLING.URH 安全でないリソース処理 SV.INCORRECT_RESOURCE_HANDLING.WRONG_STATUS 安全でないリソース処理 SV.RVT.RETVAL_NOTTESTED 戻り値の無視 |
APSC-DV-003280 |
HCC.PWD ハードコードされたパスワードの使用 |
APSC-DV-003320 |
FMM.MIGHT メモリの解放の不一致の可能性 FMM.MUST メモリの解放の不一致 INFINITE_LOOP.GLOBAL 無限ループ INFINITE_LOOP.LOCAL 無限ループ INFINITE_LOOP.MACRO 無限ループ SV.STR_PAR.UNDESIRED_STRING_PARAMETER ファイルパスの不要な文字列 SV.TAINTED.ALLOC_SIZE メモリ割り当て時の未検証の整数の使用 |
サポートのサマリー:
- 28 個の規則
"MISRA"、"MISRA C" および、"MISRA C++" は、The MISRA Consortium Limited の登録商標です。