次の表は、[INSTALL]/configs/builtin ディレクトリにインストールされるビルトイン テスト コンフィギュレーションです。
静的解析
このグループには、汎用的な静的解析テスト コンフィギュレーションが含まれます。セキュリティ コーディング標準を推進するテスト コンフィギュレーションについては「セキュリティ コンプライアンス パック」を参照してください。
ビルトイン テスト コンフィギュレーション | 説明 |
---|---|
Recommended Rules | 推奨ルールのデフォルト コンフィギュレーションです。重要度 1 および 2 の大部分のルールをカバーします。Flow Analysis Fast コンフィギュレーションのルールを含みます。 |
Recommended .NET Core Rules | .NET Core プロジェクトの重要度の高い問題を識別するルールを含みます。 |
Find Duplicated Code | 重複コードをレポートする静的コード解析ルールを適用します。重複コードは、アプリケーションの設計が適切でないことを表す可能性があり、保守性の問題につながる場合があります。 |
Metrics | コード メトリクスを計測します。 |
Flow Analysis | テスト ケースやアプリケーションを実行せずに複雑な実行時エラーを検出します。検出されるエラーには、未初期化または無効なメモリの使用、null ポインター間接参照、配列およびバッファーのオーバーフロー、ゼロ除算、メモリおよびリソース リーク、デッド コードなどが含まれます。特別なFlow Analysis ライセンス オプションが必要です。 |
Flow Analysis Aggressive | 深いフロー解析を行うルールを含みます。このコンフィギュレーションの実行には、非常に長い時間がかかる可能性があります。 |
Flow Analysis Fast | 浅いフロー解析を行うルールを含みます。許容できる可能性があるエラーがレポートされるのを抑制します。 |
Critical Rules | 重要度 1 のルールの大部分および Flow Analysis Fast コンフィギュレーションのルールを含みます。 |
Demo | さまざまなコード解析技術をデモンストレーションするルールを含みます。大規模なコードの解析には適していない可能性があります。 |
Find Memory Issues | メモリ管理の問題を検出するルールを含みます。 |
Find Unimplemented Scenarios | 未実装のシナリオを検出するためのルールが含まれます。 |
Find Unused Code | 未使用コード/デッド コードを検出するためのルールが含まれます。 |
Check Code Compatibility against .NET [2.0, 3.0, 3.5, 4.0 Client Profile, 4.0 Full, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8] | 指定されたバージョンの .NET framework への互換性を検証するテスト コンフィギュレーションのセットが含まれます。 |
IEC 62304 (Template) | IEC 62304 医療規格を適用するためのテンプレート コンフィギュレーションです。 |
Microsoft Managed Recommended Rules | マネージド コードの重要度の高い問題を識別する Microsoft Managed Recommended Rules を適用します。 |
セキュリティ コンプライアンス パック
このコンプライアンス パックには、セキュリティ コーディング標準およびプラクティスの推進に役立つテスト コンフィギュレーションが含まれています。標準がどのように dotTEST のルールにマッピングされているかについては、「コンプライアンス パックのルールのマッピング」を参照してください。
コンプライアンス パックを使用するには、専用のライセンス機能を有効化する必要があります。ライセンスの詳細については、Parasoft 製品サポートにご連絡ください。
ビルトイン テスト コンフィギュレーション | 説明 |
---|---|
CWE 4.2 | CWE standard v4.2 で識別された問題を検出するルールを含みます。 このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。 |
CWE Top 25 2020 | CWE の Top 25 Most Dangerous Programming Errors として分類された問題を検出するルールを含みます。 このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。 |
CWE Top 25 + On the Cusp 2020 | CWE の Top 25 Most Dangerous Programming Errors として分類された問題または CWE Weaknesses On the Cusp リストに含まれる問題を検出するルールを含みます。 このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。 |
OWASP Top 10-2017 | OWASP のセキュリティ脆弱性トップ 10 で識別された問題を検出するルールを含みます。 このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。 |
PCI DSS 3.2 | PCI Data Security Standard v3.2 で識別された問題を検出するルールを含みます。 |
Security Assessment | セキュリティの問題を検出する一般的なテスト コンフィギュレーションです。 |
UL 2900 | UL-2900 標準で識別された問題を検出するルールを含みます。 |
Microsoft Secure Coding Guidelines | Microsoft Secure Coding Guidelines を推進するルールを含みます。 |
単体テストおよびカバレッジの収集
このグループには、単体テストを実行し、カバレッジを収集するテスト コンフィギュレーションが含まれています。
ビルトイン テスト コンフィギュレーション | 説明 |
---|---|
Run VSTest Tests | 解析スコープ内で検出された NUnit、MSTest、xUnit テストを実行します。 |
Run VSTest Tests with Coverage | 解析スコープ内で検出された NUnit、MSTest、xUnit テストを実行し、カバレッジを計測します。 |
Calculate Application Coverage | アプリケーション カバレッジ データを処理して coverage.xml ファイルを生成します。「Web アプリケーションのアプリケーション カバレッジ」を参照してください。 |
Collect Static Coverage | アプリケーション カバレッジに必要な静的カバレッジ データを生成します。「Web アプリケーションのアプリケーション カバレッジ」を参照してください。 |
コンプライアンス パックのルールのマッピング
このセクションは、CWE 標準用のルール マッピングを示します。他の標準のマッピング情報は、コンプライアンス パックとともに提供される PDF ルール マッピング ファイルに記載されています。
CWE Top 25 のマッピング
CWE ID | CWE 名/説明 | Parasoft ルール ID |
---|---|---|
CWE-79 | Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') |
|
CWE-787 | Out-of-bounds Write |
|
CWE-20 | Improper Input Validation |
|
CWE-125 | Out-of-bounds Read |
|
CWE-119 | Improper Restriction of Operations within the Bounds of a Memory Buffer |
|
CWE-89 | Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') |
|
CWE-200 | Exposure of Sensitive Information to an Unauthorized Actor |
|
CWE-416 | Use After Free |
|
CWE-352 | Cross-Site Request Forgery (CSRF) |
|
CWE-78 | Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') |
|
CWE-190 | Integer Overflow or Wraparound |
|
CWE-22 | Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') |
|
CWE-476 | NULL Pointer Dereference |
|
CWE-287 | Improper Authentication |
|
CWE-434 | Unrestricted Upload of File with Dangerous Type |
|
CWE-732 | Incorrect Permission Assignment for Critical Resource |
|
CWE-94 | Improper Control of Generation of Code ('Code Injection') |
|
CWE-522 | Insufficiently Protected Credentials |
|
CWE-611 | Improper Restriction of XML External Entity Reference |
|
CWE-798 | Use of Hard-coded Credentials |
|
CWE-502 | Deserialization of Untrusted Data |
|
CWE-269 | Improper Privilege Management |
|
CWE-400 | Uncontrolled Resource Consumption |
|
CWE-306 | Missing Authentication for Critical Function |
|
CWE-862 | Missing Authorization |
|
CWE Weaknesses On the Cusp Mapping
CWE ID | CWE 名/説明 | Parasoft ルール ID |
---|---|---|
CWE-426 | Untrusted Search Path |
|
CWE-918 | Server-Side Request Forgery (SSRF) |
|
CWE-295 | Improper Certificate Validation |
|
CWE-863 | Incorrect Authorization |
|
CWE-284 | Improper Access Control |
|
CWE-77 | Improper Neutralization of Special Elements used in a Command ('Command Injection') |
|
CWE-401 | Missing Release of Memory after Effective Lifetime |
|
CWE-532 | Insertion of Sensitive Information into Log File |
|
CWE-362 | Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') |
|
CWE-601 | URL Redirection to Untrusted Site ('Open Redirect') |
|
CWE-835 | Loop with Unreachable Exit Condition ('Infinite Loop') |
|
CWE-704 | Incorrect Type Conversion or Cast |
|
CWE-415 | Double Free |
|
CWE-770 | Allocation of Resources Without Limits or Throttling |
|
CWE-59 | Improper Link Resolution Before File Access ('Link Following') |
|
CWE 4.2 のマッピング
CWE ID | CWE 名/説明 | Parasoft ルール ID |
---|---|---|
CWE-20 | Improper Input Validation |
|
CWE-22 | Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') |
|
CWE-59 | Improper Link Resolution Before File Access ('Link Following') |
|
CWE-64 | Windows Shortcut Following (.LNK) |
|
CWE-77 | Improper Neutralization of Special Elements used in a Command ('Command Injection') |
|
CWE-78 | Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') |
|
CWE-79 | Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') |
|
CWE-80 | Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS) |
|
CWE-88 | Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') |
|
CWE-89 | Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') |
|
CWE-90 | Improper Neutralization of Special Elements used in an LDAP Query ('LDAP Injection') |
|
CWE-94 | Improper Control of Generation of Code ('Code Injection') |
|
CWE-95 | Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection') |
|
CWE-99 | Improper Control of Resource Identifiers ('Resource Injection') |
|
CWE-119 | Improper Restriction of Operations within the Bounds of a Memory Buffer |
|
CWE-120 | Buffer Copy without Checking Size of Input ('Classic Buffer Overflow') |
|
CWE-125 | Out-of-bounds Read |
|
CWE-129 | Improper Validation of Array Index |
|
CWE-131 | Incorrect Calculation of Buffer Size |
|
CWE-134 | Use of Externally-Controlled Format String |
|
CWE-190 | Integer Overflow or Wraparound |
|
CWE-191 | Integer Underflow (Wrap or Wraparound) |
|
CWE-197 | Numeric Truncation Error |
|
CWE-200 | Exposure of Sensitive Information to an Unauthorized Actor |
|
CWE-201 | Insertion of Sensitive Information Into Sent Data |
|
CWE-209 | Generation of Error Message Containing Sensitive Information |
|
CWE-212 | Improper Removal of Sensitive Information Before Storage or Transfer |
|
CWE-250 | Execution with Unnecessary Privileges |
|
CWE-252 | Unchecked Return Value |
|
CWE-256 | Unprotected Storage of Credentials |
|
CWE-259 | Use of Hard-coded Password |
|
CWE-269 | Improper Privilege Management |
|
CWE-284 | Improper Access Control |
|
CWE-285 | Improper Authorization |
|
CWE-287 | Improper Authentication |
|
CWE-295 | Improper Certificate Validation |
|
CWE-306 | Missing Authentication for Critical Function |
|
CWE-307 | Improper Restriction of Excessive Authentication Attempts |
|
CWE-316 | Cleartext Storage of Sensitive Information in Memory |
|
CWE-326 | Inadequate Encryption Strength |
|
CWE-327 | Use of a Broken or Risky Cryptographic Algorithm |
|
CWE-328 | Reversible One-Way Hash |
|
CWE-329 | Not Using a Random IV with CBC Mode |
|
CWE-330 | Use of Insufficiently Random Values |
|
CWE-350 | Reliance on Reverse DNS Resolution for a Security-Critical Action |
|
CWE-352 | Cross-Site Request Forgery (CSRF) |
|
CWE-362 | Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') |
|
CWE-369 | Divide By Zero |
|
CWE-391 | Unchecked Error Condition |
|
CWE-395 | Use of NullPointerException Catch to Detect NULL Pointer Dereference |
|
CWE-396 | Declaration of Catch for Generic Exception |
|
CWE-397 | Declaration of Throws for Generic Exception |
|
CWE-400 | Uncontrolled Resource Consumption |
|
CWE-402 | Transmission of Private Resources into a New Sphere ('Resource Leak') |
|
CWE-412 | Unrestricted Externally Accessible Lock |
|
CWE-416 | Use After Free |
|
CWE-426 | Untrusted Search Path |
|
CWE-434 | Unrestricted Upload of File with Dangerous Type |
|
CWE-456 | Missing Initialization of a Variable |
|
CWE-457 | Use of Uninitialized Variable |
|
CWE-470 | Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') |
|
CWE-476 | NULL Pointer Dereference |
|
CWE-480 | Use of Incorrect Operator |
|
CWE-481 | Assigning instead of Comparing |
|
CWE-494 | Download of Code Without Integrity Check |
|
CWE-499 | Serializable Class Containing Sensitive Data |
|
CWE-502 | Deserialization of Untrusted Data |
|
CWE-522 | Insufficiently Protected Credentials |
|
CWE-532 | Insertion of Sensitive Information into Log File |
|
CWE-546 | Suspicious Comment |
|
CWE-561 | Dead Code |
|
CWE-563 | Assignment to Variable without Use |
|
CWE-570 | Expression is Always False |
|
CWE-571 | Expression is Always True |
|
CWE-595 | Comparison of Object References Instead of Object Contents |
|
CWE-601 | URL Redirection to Untrusted Site ('Open Redirect') |
|
CWE-611 | Improper Restriction of XML External Entity Reference |
|
CWE-613 | Insufficient Session Expiration |
|
CWE-617 | Reachable Assertion |
|
CWE-662 | Improper Synchronization |
|
CWE-676 | Use of Potentially Dangerous Function |
|
CWE-681 | Incorrect Conversion between Numeric Types |
|
CWE-704 | Incorrect Type Conversion or Cast |
|
CWE-732 | Incorrect Permission Assignment for Critical Resource |
|
CWE-759 | Use of a One-Way Hash without a Salt |
|
CWE-760 | Use of a One-Way Hash with a Predictable Salt |
|
CWE-770 | Allocation of Resources Without Limits or Throttling |
|
CWE-771 | Missing Reference to Active Allocated Resource |
|
CWE-772 | Missing Release of Resource after Effective Lifetime |
|
CWE-779 | Logging of Excessive Data |
|
CWE-780 | Use of RSA Algorithm without OAEP |
|
CWE-787 | Out-of-bounds Write |
|
CWE-789 | Uncontrolled Memory Allocation |
|
CWE-798 | Use of Hard-coded Credentials |
|
CWE-807 | Reliance on Untrusted Inputs in a Security Decision |
|
CWE-827 | Improper Control of Document Type Definition |
|
CWE-829 | Inclusion of Functionality from Untrusted Control Sphere |
|
CWE-833 | Deadlock |
|
CWE-835 | Loop with Unreachable Exit Condition ('Infinite Loop') |
|
CWE-838 | Inappropriate Encoding for Output Context |
|
CWE-862 | Missing Authorization |
|
CWE-863 | Incorrect Authorization |
|
CWE-918 | Server-Side Request Forgery (SSRF) |
|