JD.ST.POS

JD.ST.POS は、String.indexOf(..) メソッドの結果が 0 より大きな値に対してチェックされる場合に検出されます。

脆弱性とリスク

String.indexOf(..) メソッドは、検出されたシンボルの位置を返し、その値は 0 から始まるため、0 より大きな値に対するチェックは不適切です。シンボルが文字列の最初にあるケースが欠落しています。

軽減と防止

チェックの対象の >0 を ==-1 または >=0 に置き換えてください。

例 1

コピー
      public boolean checkFile(String file) {
         if (file.indexOf("/")>0) {
             return true;
         }
         return false;
     }

JD.ST.POS が 10 行目の呼び出しに対して報告されています。'indexOf' メソッドの結果は、> 0 の代わりに >=0 または < 0に対してチェックする必要があります。