如何使用HP SCA扫描我的iOS项目并获取报告

时间:2015-03-19 11:15:37

标签: ios macos xcode6 fortify

  

视窗:

我的Windows7 64位计算机上安装了HP SCA 4.21,附带许可证和规则包。

我将iOS项目下载到同一台机器上。

然后我做了以下事情:

  1. 我打开了AuditWorkbench,“启动新项目”下只有两个选项:“扫描Java项目”和“高级扫描...”。我选择了高级扫描。

  2. 我选择了iOS项目的根目录,根本没有显示.h和.m文件,显示的唯一文件是html文件。

  3. 我继续最后发现它只扫描了那些html文件。

  4.   

    的Mac:

    然后我在我的Mac mini(OSX-10.10,Xcode-6.2,iOS-8.2)上安装了SCA 4.21并下载了iOS项目。

    我按照相同的步骤获得相同的结果,它也无法识别.h和.m文件。

    然后我在终端中使用了sourceanalyze命令:

    sourceanalyzer -b YYYY -clean
    sourceanalyzer -b YYYY xcodebuild -project YYYY.xcodeproj -target YYYY -configuration Debug =sdk iphonesimulator8.2 ARCHS=i386 GCC_TREAT_WARNINGS_AS_ERRORS=NO OTHER_CFLAGS="-w"
    

    然后xcodebuild编译了该项目,但是产生了很多错误,例如:

    In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:9:
    In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccelerometer.h:8:
    In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:74:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURL.h:86:1: error: 'objc_returns_inner_pointer' attribute only applies to methods
    @property (readonly) __strong const char *fileSystemRepresentation NS_RETURNS_INNER_POINTER NS_AVAILABLE(10_9, 7_0);
    ^                                                                  ~~~~~~~~~~~~~~~~~~~~~~~~
    9 errors generated.
    

    然后我输入了命令:

    sourceanalyzer -b buildID -scan -f buildID.fpr
    

    给了我这样的东西:

    [warning]: NST file: /Users/xxx/.fortify/sca6.2/build/yyy/Users/xxx/Documents/workspace/YYYY/AFNetworking/AFNetworkReachabilityManager.m.nst does not exist or removed.
    [warning]: Some errors or warnings were suppressed.  Check the results file for a full listing of all warnings and errors.
    

    我打开了buildID.fpr,工作台告诉我:

    • 没有发现任何问题,只有一个问题。
    • 扫描了55个文件,0个LOC(可执行文件)
    • 扫描期间发生了661次警告

    我的直觉告诉我一个可能的事实是出了问题,而且非常错误。

    我在这里碰巧不知道这个问题。

    我在Windows机器上成功运行了Android项目。

    它似乎不支持Object-C,但我对此表示怀疑。

    我是否需要支持iOS对象-c的特殊许可证?我不这么认为,但我不确定。

    所以,这是一个着名的问题:

      

    如何使用HP SCA扫描我的iOS项目并获取报告?

    任何人,任何建议,任何帮助?

1 个答案:

答案 0 :(得分:2)

好的,我通过应用修补程序解决了我的问题。但我认为他们现在可以通过最新版本支持它。

在Mac上,但是SCA 4.21不支持Xcode 6.2,因此我们实际上并没有扫描任何来源。支持Xcode 6.2将作为v4.30的一部分发布,我没有尝试过。

有一个实验性的修补程序可以让我们至少通过v4.21获得一些结果 - 要获得此结果,请发送电子邮件给fortifytechsupport@hp.com的支持团队。他们将能够进一步提供帮助。

或者,在protect724.hp.com搜索/发布此内容。那是Fortify社区。 感谢@Eric