Taint Analysis
필드
설명
rule:
taint:
source:
pattern: getInput()
sanitizer:
method:
- sanitizerValue
sink:
pattern: unsafeSink($IN, "unsafe_option")Last updated
rule:
taint:
source:
pattern: getInput()
sanitizer:
method:
- sanitizerValue
sink:
pattern: unsafeSink($IN, "unsafe_option")Last updated
public class TaintExample {
public void unsafe() {
String userInput = getInput();
unsafeSink(userInput, "unsafe_option"); <- 탐지
}
public void safe_1() {
String userInput = getInput();
unsafeSink(userInput, "safe_option"); <- safe_option을 사용해 안전
}
public void safe_2() {
String userInput = getInput();
userInput = sanitizerValue(userInput);
unsafeSink(userInput,"unsafe_option"); <- sanitizerValue를 사용해 안전
}
public void safe_3() {
String userInput = getInput();
unsafeSink("something", userInput); <- userInput가 첫번째 값으로 사용되지 않아 안전
}
}