@Source と@Sink を knowledge base (ナレッジベース) に追加する
エンジンが指摘を検知するためには、少なくとも 1 つの source と1 つの sink を定義する必要があります。指摘が発生するのは、ソースで作成されたデータがシンクで使用されている場合のみです。
kwcreatechecker によって生成された .jkb ファイルには、source、sink、check、および prop の例が含まれます。
JNDI.PRINT\kb\jndi.print.jkb
を開きます。- ソースを追加します。上記のサンプルに基づくと、この指摘のソースは Context クラスの list メソッドの呼び出しです。 この呼び出しは、表示するべきではない、危険性のあるデータを返します。
package javax.naming; import java.util.Hashtable; public interface Context { @Source("return") public NamingEnumeration list(String name) throws NamingException; }
- シンクを追加します。この場合、シンクは println メソッドの呼び出しです。
package java.io; import java.util.Formatter; import java.util.Locale; public class PrintStream { public void println(@Sink Object o); }
- 保存し、ファイルを閉じます。