Пример

public class TaintDemoClass {

private String input;

public TaintDemoClass(){

input = getInput();
sensitiveMethod(input);
}

private String getInput(){
// get input from user...
return aString;
}

private String sanitizeInput(String s) {
// clean input...
return cleanString;
}

private void sensitiveMethod(String s) {
// use input...
}

}



Решение
Для того чтобы избежать потенциально негативного влияния неконтролируемого ввода в методы с учетом изменений, всегда отправляйте этот ввод через метод, очищающий память.


public class TaintDemoClass {

private String input;

public TaintDemoClass(){

input = getInput();
String cleanInput = sanitizeInput(input);
sensitiveMethod(cleanInput);
}

private void getInput(){
// get input from user...
return aString;
}

private String sanitizeInput(String s) {
// clean input...
return cleanString;
}

private void sensitiveMethod(String aString) {
// use input...
}

}