次の表は、[INSTALL]/configs/builtin ディレクトリにインストールされるビルトイン テスト コンフィギュレーションです。
静的解析
このグループには、汎用的な静的解析テスト コンフィギュレーションが含まれます。セキュリティ コーディング標準を推進するテスト コンフィギュレーションについては「セキュリティ コンプライアンス パック」を参照してください。
ビルトイン テスト コンフィギュレーション | 説明 |
---|---|
Code Smells | Kent Beck と Martin Fowler による Code Smells ドキュメント (http://xp.c2.com/CodeSmell.html) に基づいたルールです。 |
Critical Rules | 重要度 1 のルールの大部分および Flow Analysis Fast コンフィギュレーションのルールを含みます。 |
Demo Configuration | さまざまなコード解析技術をデモンストレーションするルールを含みます。大規模なコードの解析には適していない可能性があります。 |
Find Duplicated Code | 重複コードをレポートする静的コード解析ルールを適用します。重複コードは、アプリケーションの設計が適切でないことを表す可能性があり、保守性の問題につながる場合があります。 |
Find Memory Problems | メモリ管理の問題を検出するルールを含みます。 |
Find Unused Code | 未使用コード/デッド コードを検出するためのルールが含まれます。 |
Flow Analysis Standard | テスト ケースやアプリケーションを実行せずに複雑な実行時エラーを検出します。検出されるエラーには、未初期化または無効なメモリの使用、null ポインター間接参照、配列およびバッファーのオーバーフロー、ゼロ除算、メモリおよびリソース リーク、デッド コードなどが含まれます。特別なFlow Analysis ライセンス オプションが必要です。 |
Flow Analysis Aggressive | 深いフロー解析を行うルールを含みます。このコンフィギュレーションの実行には、非常に長い時間がかかる可能性があります。 |
Flow Analysis Fast | 浅いフロー解析を行うルールを含みます。許容できる可能性があるエラーがレポートされるのを抑制します。 |
Internationalize Code | 国際化を妨げる可能性が高いコードを検出する静的コード解析を適用します。 |
Metrics | コード メトリクスを計測します。 |
Recommended Rules | 推奨ルールのデフォルト コンフィギュレーションです。重要度 1 および 2 の大部分のルールをカバーします。Flow Analysis Fast コンフィギュレーションのルールを含みます。 |
Thread Safe Programming | マルチスレッド環境で実行するのが危険なコードを検出し、デッドロック、競合状態、通知の失敗、無限ループ、データ破壊などのスレッド処理でよくある問題を防ぐのに役立つルールです。 |
TDD Best Practices | TDD (Test Driven Development) Best Practices コンフィギュレーションは、Code Smells ドキュメント (http://xp.c2.com/CodeSmell.html) に基づいたルール、テスト対象クラスに対して JUnit テスト クラスが包括的かどうかをチェックするルール、および Critical Rules テスト コンフィギュレーションのルールを含みます。 |
JUnit 4 Best Practices | JUnit 4 の単体テストの品質向上に役立つルールを含みます。 |
JUnit 5 Best Practices | JUnit 5 の単体テストの品質向上に役立つルールを含みます。 |
セキュリティ コンプライアンス パック
このコンプライアンス パックには、セキュリティ コーディング標準およびプラクティスの推進に役立つテスト コンフィギュレーションが含まれています。標準がどのように Jtest のルールにマッピングされているかについては、「コンプライアンス パックのルールのマッピング」を参照してください。
コンプライアンス パックを使用するには、専用のライセンス機能を有効化する必要があります。ライセンスの詳細については、Parasoft 製品サポートにご連絡ください。
ビルトイン テスト コンフィギュレーション | 説明 |
---|---|
CWE 4.4 | CWE standard v4.4 で識別された問題を検出するルールを含みます。 このテスト コンフィギュレーションは、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 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。 |
DISA-ASD-STIG | Defense Information Systems Agency が提供する Application Security and Development STIG (Security Technical Implementation Guide) で指定された問題を検出するルールを含みます。 |
OWASP API Security Top 10-2019 | OWASP の API セキュリティ トップ 10 で識別された問題を検出するルールを含みます。 このテスト コンフィギュレーションは、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 で識別された問題を検出するルールを含みます。 |
CERT for Java | CERT 標準で識別された問題を検出するルールを含みます。 |
UL 2900 | UL-2900 標準で識別された問題を検出するルールを含みます。 |
単体テストおよびカバレッジの収集
このグループには、単体テストを実行し、カバレッジを収集するテスト コンフィギュレーションが含まれています。
ビルトイン テスト コンフィギュレーション | 説明 |
---|---|
Calculate Application Coverage | アプリケーション カバレッジ データを処理して coverage.xml ファイルを生成します。「アプリケーション カバレッジ」を参照してください。 |
Unit Tests | 生成されるレポート ファイルに、単体テストの実行データを含めます。 |
コンプライアンス パックのルールのマッピング
このセクションは、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.4 のマッピング
CWE ID | CWE 名 | Parasoft ルール ID |
---|---|---|
CWE-6 | J2EE Misconfiguration: Insufficient Session-ID Length |
|
CWE-7 | J2EE Misconfiguration: Missing Custom Error Page |
|
CWE-8 | J2EE Misconfiguration: Entity Bean Declared Remote |
|
CWE-9 | J2EE Misconfiguration: Weak Access Permissions for EJB Methods |
|
CWE-15 | External Control of System or Configuration Setting |
|
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-61 | UNIX Symbolic Link (Symlink) 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-81 | Improper Neutralization of Script in an Error Message Web Page |
|
CWE-83 | Improper Neutralization of Script in Attributes in a Web Page |
|
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-91 | XML Injection (aka Blind XPath 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-102 | Struts: Duplicate Validation Forms |
|
CWE-103 | Struts: Incomplete validate() Method Definition |
|
CWE-104 | Struts: Form Bean Does Not Extend Validation Class |
|
CWE-106 | Struts: Plug-in Framework not in Use |
|
CWE-109 | Struts: Validator Turned Off |
|
CWE-111 | Direct Use of Unsafe JNI |
|
CWE-113 | Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting') |
|
CWE-114 | Process Control |
|
CWE-117 | Improper Output Neutralization for Logs |
|
CWE-119 | Improper Restriction of Operations within the Bounds of a Memory Buffer |
|
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-185 | Incorrect Regular Expression |
|
CWE-190 | Integer Overflow or Wraparound |
|
CWE-191 | Integer Underflow (Wrap or Wraparound) |
|
CWE-193 | Off-by-one Error |
|
CWE-200 | Exposure of Sensitive Information to an Unauthorized Actor |
|
CWE-209 | Generation of Error Message Containing Sensitive Information |
|
CWE-212 | Improper Removal of Sensitive Information Before Storage or Transfer |
|
CWE-213 | Exposure of Sensitive Information Due to Incompatible Policies |
|
CWE-215 | Insertion of Sensitive Information Into Debugging Code |
|
CWE-245 | J2EE Bad Practices: Direct Management of Connections |
|
CWE-246 | J2EE Bad Practices: Direct Use of Sockets |
|
CWE-250 | Execution with Unnecessary Privileges |
|
CWE-252 | Unchecked Return Value |
|
CWE-256 | Unprotected Storage of Credentials |
|
CWE-258 | Empty Password in Configuration File |
|
CWE-260 | Password in Configuration File |
|
CWE-261 | Weak Encoding for Password |
|
CWE-269 | Improper Privilege Management |
|
CWE-284 | Improper Access Control |
|
CWE-287 | Improper Authentication |
|
CWE-290 | Authentication Bypass by Spoofing |
|
CWE-295 | Improper Certificate Validation |
|
CWE-297 | Improper Validation of Certificate with Host Mismatch |
|
CWE-306 | Missing Authentication for Critical Function |
|
CWE-307 | Improper Restriction of Excessive Authentication Attempts |
|
CWE-311 | Missing Encryption of Sensitive Data |
|
CWE-312 | Cleartext Storage of Sensitive Information |
|
CWE-313 | Cleartext Storage in a File or on Disk |
|
CWE-315 | Cleartext Storage of Sensitive Information in a Cookie |
|
CWE-319 | Cleartext Transmission of Sensitive Information |
|
CWE-321 | Use of Hard-coded Cryptographic Key |
|
CWE-325 | Missing Cryptographic Step |
|
CWE-327 | Use of a Broken or Risky Cryptographic Algorithm |
|
CWE-328 | Reversible One-Way Hash |
|
CWE-329 | Not Using an Unpredictable IV with CBC Mode |
|
CWE-336 | Same Seed in Pseudo-Random Number Generator (PRNG) |
|
CWE-337 | Predictable Seed in Pseudo-Random Number Generator (PRNG) |
|
CWE-338 | Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) |
|
CWE-346 | Origin Validation Error |
|
CWE-347 | Improper Verification of Cryptographic Signature |
|
CWE-350 | Reliance on Reverse DNS Resolution for a Security-Critical Action |
|
CWE-352 | Cross-Site Request Forgery (CSRF) |
|
CWE-359 | Exposure of Private Personal Information to an Unauthorized Actor |
|
CWE-362 | Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') |
|
CWE-367 | Time-of-check Time-of-use (TOCTOU) Race Condition |
|
CWE-369 | Divide By Zero |
|
CWE-375 | Returning a Mutable Object to an Untrusted Caller |
|
CWE-377 | Insecure Temporary File |
|
CWE-382 | J2EE Bad Practices: Use of System.exit() |
|
CWE-383 | J2EE Bad Practices: Direct Use of Threads |
|
CWE-384 | Session Fixation |
|
CWE-390 | Detection of Error Condition Without Action |
|
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-404 | Improper Resource Shutdown or Release |
|
CWE-413 | Improper Resource Locking |
|
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-459 | Incomplete Cleanup |
|
CWE-470 | Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') |
|
CWE-476 | NULL Pointer Dereference |
|
CWE-477 | Use of Obsolete Function |
|
CWE-478 | Missing Default Case in Switch Statement |
|
CWE-481 | Assigning instead of Comparing |
|
CWE-483 | Incorrect Block Delimitation |
|
CWE-484 | Omitted Break Statement in Switch |
|
CWE-486 | Comparison of Classes by Name |
|
CWE-487 | Reliance on Package-level Scope |
|
CWE-491 | Public cloneable() Method Without Final ('Object Hijack') |
|
CWE-495 | Private Data Structure Returned From A Public Method |
|
CWE-496 | Public Data Assigned to Private Array-Typed Field |
|
CWE-497 | Exposure of Sensitive System Information to an Unauthorized Control Sphere |
|
CWE-499 | Serializable Class Containing Sensitive Data |
|
CWE-500 | Public Static Field Not Marked Final |
|
CWE-501 | Trust Boundary Violation |
|
CWE-502 | Deserialization of Untrusted Data |
|
CWE-506 | Embedded Malicious Code |
|
CWE-511 | Logic/Time Bomb |
|
CWE-521 | Weak Password Requirements |
|
CWE-522 | Insufficiently Protected Credentials |
|
CWE-523 | Unprotected Transport of Credentials |
|
CWE-532 | Insertion of Sensitive Information into Log File |
|
CWE-543 | Use of Singleton Pattern Without Synchronization in a Multithreaded Context |
|
CWE-546 | Suspicious Comment |
|
CWE-555 | J2EE Misconfiguration: Plaintext Password in Configuration File |
|
CWE-561 | Dead Code |
|
CWE-563 | Assignment to Variable without Use |
|
CWE-568 | finalize() Method Without super.finalize() |
|
CWE-570 | Expression is Always False |
|
CWE-571 | Expression is Always True |
|
CWE-572 | Call to Thread run() instead of start() |
|
CWE-576 | EJB Bad Practices: Use of Java I/O |
|
CWE-577 | EJB Bad Practices: Use of Sockets |
|
CWE-578 | EJB Bad Practices: Use of Class Loader |
|
CWE-579 | J2EE Bad Practices: Non-serializable Object Stored in Session |
|
CWE-580 | clone() Method Without super.clone() |
|
CWE-581 | Object Model Violation: Just One of Equals and Hashcode Defined |
|
CWE-582 | Array Declared Public, Final, and Static |
|
CWE-583 | finalize() Method Declared Public |
|
CWE-584 | Return Inside Finally Block |
|
CWE-585 | Empty Synchronized Block |
|
CWE-586 | Explicit Call to Finalize() |
|
CWE-594 | J2EE Framework: Saving Unserializable Objects to Disk |
|
CWE-595 | Comparison of Object References Instead of Object Contents |
|
CWE-600 | Uncaught Exception in Servlet |
|
CWE-601 | URL Redirection to Untrusted Site ('Open Redirect') |
|
CWE-605 | Multiple Binds to the Same Port |
|
CWE-607 | Public Static Final Field References Mutable Object |
|
CWE-609 | Double-Checked Locking |
|
CWE-611 | Improper Restriction of XML External Entity Reference |
|
CWE-613 | Insufficient Session Expiration |
|
CWE-614 | Sensitive Cookie in HTTPS Session Without 'Secure' Attribute |
|
CWE-617 | Reachable Assertion |
|
CWE-643 | Improper Neutralization of Data within XPath Expressions ('XPath Injection') |
|
CWE-644 | Improper Neutralization of HTTP Headers for Scripting Syntax |
|
CWE-652 | Improper Neutralization of Data within XQuery Expressions ('XQuery Injection') |
|
CWE-662 | Improper Synchronization |
|
CWE-665 | Improper Initialization |
|
CWE-667 | Improper Locking |
|
CWE-674 | Uncontrolled Recursion |
|
CWE-676 | Use of Potentially Dangerous Function |
|
CWE-680 | Integer Overflow to Buffer Overflow |
|
CWE-681 | Incorrect Conversion between Numeric Types |
|
CWE-691 | Insufficient Control Flow Management |
|
CWE-704 | Incorrect Type Conversion or Cast |
|
CWE-732 | Incorrect Permission Assignment for Critical Resource |
|
CWE-749 | Exposed Dangerous Method or Function |
|
CWE-755 | Improper Handling of Exceptional Conditions |
|
CWE-759 | Use of a One-Way Hash without a Salt |
|
CWE-764 | Multiple Locks of a Critical Resource |
|
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-778 | Insufficient Logging |
|
CWE-787 | Out-of-bounds Write |
|
CWE-789 | Uncontrolled Memory Allocation |
|
CWE-798 | Use of Hard-coded Credentials |
|
CWE-806 | Buffer Access Using Size of Source Buffer |
|
CWE-807 | Reliance on Untrusted Inputs in a Security Decision |
|
CWE-829 | Inclusion of Functionality from Untrusted Control Sphere |
|
CWE-832 | Unlock of a Resource that is not Locked |
|
CWE-833 | Deadlock |
|
CWE-835 | Loop with Unreachable Exit Condition ('Infinite Loop') |
|
CWE-836 | Use of Password Hash Instead of Password for Authentication |
|
CWE-838 | Inappropriate Encoding for Output Context |
|
CWE-841 | Improper Enforcement of Behavioral Workflow |
|
CWE-862 | Missing Authorization |
|
CWE-863 | Incorrect Authorization |
|
CWE-918 | Server-Side Request Forgery (SSRF) |
|
CWE-1004 | Sensitive Cookie Without 'HttpOnly' Flag |
|