如何删除Findbugs“查找安全漏洞”的“污点”

时间:2017-10-04 18:02:45

标签: java security findbugs taint find-sec-bugs

我正在使用Findbugs的“Find Security Bugs”插件:https://find-sec-bugs.github.io/

许多探测器使用“污点分析”来提出警告。

是否有关于如何从值中删除“污点”的文档?

我在他们的网站上找不到任何关于此的文档,而且我一直在探索他们的源代码并且无法解决这个问题:

该工具正在通过以下代码识别可能的注入错误:

import javax.ws.rs.core.Response;
import org.apache.http.client.methods.HttpGet;

public Response get(String x, String y) throws IOException {

    String url = String.format("%s/%s",
            x,
            y);

    HttpGet request = new HttpGet(url); // HERE

    ...
}

我已将此错误修复为令我满意的:

import javax.ws.rs.core.Response;
import org.apache.http.client.methods.HttpGet;
import static com.google.common.net.UrlEscapers.urlPathSegmentEscaper;

public Response get(String x, String y) throws IOException {

    String url = String.format("%s/%s",
            urlPathSegmentEscaper().escape(x),
            urlPathSegmentEscaper().escape(y));

    HttpGet request = new HttpGet(url);

    ...
}

...但该工具仍在标记可能的错误。我相信这是因为它不会将“com.google.common.net.UrlEscapers.urlPathSegmentEscaper()”识别为在这里删除Taint。

我怎么说服别的呢? 如果我不能,我可以在这里使用该工具识别的哪种消毒技术?

1 个答案:

答案 0 :(得分:0)