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' は、悪意のあるコードや偶然によって変更される可能性があります。

関連チェッカー