HP Fortify Android SCA版本

时间:2016-04-13 06:56:58

标签: android security build fortify sourceanalyser

我正在尝试使用Fortify sourceanalyser二进制文件来扫描Android项目。问题是,即使我正确设置了类路径,也找不到类......

这是我的命令:

sourceanalyzer -b MS.ANDROID -clean;
sourceanalyzer -b MS.ANDROID -exclude androidTest -exclude gradle -exclude maven-config -exclude test -cp "/home/devuser/android-sdk-linux/platforms/android-21/android.jar:/var/lib/jenkins/workspace/myproject/**/*.jar" -source 1.7 src

我的输出是:

[warning]: The following references to java classes could not be resolved. Please make sure to supply all the required jar files that contain these classes to SCA.
    AddressException
    BasicClientCookieHC4
    CancellationTokenSource
    ConnectionConfig.Builder
    ContentType
    Continuation
    Crashlytics
    FileBody
    HttpClientBuilder
    Immutable
    InternetAddress
    MultipartEntityBuilder
    PoolingHttpClientConnectionManager
    Registry
    RequestConfig.Builder
    SSLConnectionSocketFactory
    StringBody
    SuppressFBWarnings
    Task
    Task.TaskCompletionSource

找到了android.jar,因为如果我删除它,我有更多未找到的类,但是即使我为每个完整路径提供了所有项目下的jar也找不到...

如果有人有一些Fortify with Android(或包含在gradle中)的教程,那也可能很好。

2 个答案:

答案 0 :(得分:0)

由于格式可用,我以答案的形式发表评论。 所以,试试这个:

cd /var/lib/jenkins/workspace/myproject/
find . | grep Task.class
find . -name .jar | while read jar; do grep -r 'Task' "$jar" ; done

这应该告诉你在指定的罐子里,至少有一个类在哪里。如果在jar中找不到它,则表示没有指定足够的类路径。

答案 1 :(得分:0)

目前还没有关于gradle的Fortify知识文章。我会尝试在适当的位置将Maven插件放入Gradle。这样SCA应该找到依赖项。

如果应用程序成功编译但SCA返回扫描错误,则jar文件可能会丢失,但应用程序可能会编译,因为jar包来自另一个应用程序,如Tomcat服务器(或在您的情况下为gradle)。可以1)将所有依赖的jar与项目捆绑在一起,或者2)将SCA合并到构建脚本(maven或ant)或包(Jenkins或gradle)中。

如果您使用应用程序打包罐子,您就可以准确了解所包含的功能,并且可以更好地控制攻击面。如果您希望使用Tomcat之类的外部服务来获取依赖关系,那么您对可以调用的功能的保证就会减少,从而使解决方案不那么健壮和安全。