SV.EXPOSE.IFIELD
この警告は、non-final public フィールドや protected non-static フィールドに対して報告されます。
脆弱性とリスク
これらのフィールドは、別のパッケージの悪意のあるコードによって変更されることがあります。
Klocwork セキュリティ脆弱性 (SV) チェッカーは、潜在的に危険なデータを生成する呼び出しを特定します。このような呼び出しは安全でないソースと考えられます。ユーザーは攻撃者になる可能性があり、ヒューマンエラーを取り込む可能性があるため、安全でないソースはユーザーが指定した任意のデータである可能性があります。
軽減と防止
問題を修正するには、フィールドを final (可能な場合) にするか、private/package protected にします。
例 1
コピー
public class SV_EXPOSE_IFIELD_Sample_1 {
public boolean debug;
// ...
}
SV.EXPOSE.IFIELD が 9 行目のフィールド宣言に対して報告されています。non-final public インスタンスフィールドの 'debug' は、悪意のあるコードや偶然によって変更される可能性があります。