界: Code Quality

コードの質が低いと、予測できない動作につながります。ユーザーの視点には、それがしばしば使い勝手の悪さとなって現れます。攻撃者にとっては、予期せぬ方法でシステムにストレスを与える機会となります。

Code Correctness: Misleading Method Signature

Abstract
共通の .NET メソッドを上書きするように見えますが、おそらく意図した効果は期待できないでしょう。
Explanation
このメソッドの名前は共通の .NET メソッド名に似ていますが、誤って入力されたか、引数リストが意図したメソッドを上書きしないようにしています。

例 1: 次のメソッドは、System.Object.Equals() を上書きするためのものです。


public boolean Equals(string obj) {
...
}


しかし、System.Object.Equals() は、object タイプの引数を取るため、メソッドがコールされることはありません。
References
[1] Standards Mapping - CIS Azure Kubernetes Service Benchmark 1
[2] Standards Mapping - CIS Amazon Elastic Kubernetes Service Benchmark 2
[3] Standards Mapping - CIS Amazon Web Services Foundations Benchmark 1
[4] Standards Mapping - CIS Google Kubernetes Engine Benchmark normal
[5] Standards Mapping - Common Weakness Enumeration CWE ID 398
desc.structural.dotnet.code_correctness_misleading_method_signature
Abstract
共通の Java メソッドを上書きするように見えますが、おそらく意図した効果は期待できないでしょう。
Explanation
このメソッドの名前は共通の Java メソッド名に似ていますが、誤って入力されたか、引数リストが意図したメソッドを上書きしないようにしています。

例 1: 次のメソッドは、Object.equals() を上書きするためのものです。


public boolean equals(Object obj1, Object obj2) {
...
}


しかし、Object.equals() は単一引数のみを受け取るため、Example 1 のメソッドがコールされることはありません。
References
[1] Standards Mapping - CIS Azure Kubernetes Service Benchmark 1
[2] Standards Mapping - CIS Amazon Elastic Kubernetes Service Benchmark 2
[3] Standards Mapping - CIS Amazon Web Services Foundations Benchmark 1
[4] Standards Mapping - CIS Google Kubernetes Engine Benchmark normal
[5] Standards Mapping - Common Weakness Enumeration CWE ID 398
desc.structural.java.code_correctness_misleading_method_signature