2016-04-13 14 views
2

Android projeyi taramak için Fortify sourceanalyser ikili ürününü kullanmaya çalışıyorum.HP Android SCA yapısını güçlendir

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 

Benim çıkışı:

[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 olan sorun İşte

benim için emirdir ... Ben sınıfları bulunmayan, doğru sınıf yolunu ayarlamak bile olduğunu çünkü eğer onu kaldırırsam daha fazla sınıf bulamadım ama her bir yol için verirsem bile tüm kavanozlar bulunmaz bile ...

Herkes, h Android (veya notta dahil) de iyi olabilir.

+0

Uygulamanız derlenmiş olsa da bu tarama hatasını aldınız mı? – WaltHouser

+0

Benim uygulama başarıyla ama derleme ile sourceanalyser derlemek değil projeyi derlemek için kullanmayın, bu yüzden sanırım bir çözüm bulamıyorum ... – jaumard

+0

Ben bulamadım sınıfları ihmal ettim. Rapor zaten üretiliyor. Bu uyarıyı göz ardı etme konusunda herhangi bir sorun var mı? – garnet

cevap

0

Kullanılabilir biçimden dolayı yaptığım bir yanıt olarak yorumumu yapıyorum. Yani, bu deneyin:, belirttiğiniz kavanozlara, bu sınıfların en az birinin yattığı yer

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

Bu söylemeliyim. Bir kavanozda bulamazsanız, yeterli bir sınıf yolu belirtmediniz.

+0

Sourceanalyser'ı doğrudan grabeden kullanmanın herhangi bir yolu var mı? Bağımlılıklar kürek tarafından yönetildiğinden, kavanozlar bulamayabilir ve tüm kavanozlarımı sadece ekşimez için el ile eklemek istemiyorum. Sınıf yolunun altındaki notların indirilmesinden kavanozlar eklemeyi denedim ama – jaumard

+0

'a yardım etmedim. Bunun cevabını bilmiyorum. –

0

Şu anda notu kapsayan bir Fortify Knowledge makalesi yok. Maven eklentisini uygun noktaya Gradle'a yerleştirmeyi deneyeceğim. Bu şekilde SCA bağımlılıkları bulmalıdır.

Uygulama başarıyla derlenirse, SCA bir tarama hatası döndürürse, jar dosyası (dosyaları) eksik olabilir, ancak kavanozlar Tomcat sunucusu gibi başka bir uygulamadan (ya da çantanızda) yer aldığı için uygulama derlenebilir. Biri 1) tüm bağımlı kavanozları proje ile birleştirebilir veya 2) SCA'yı yapı betikleriyle (maven veya karınca) veya pakete (Jenkins veya gradle) dahil edebilirsiniz.

Kavanozları uygulama ile paketlerseniz, hangi işlevleri dahil ettiğinizi ve saldırı yüzeyinizi daha iyi kontrol ettiğinizi bilirsiniz. Bağımlılıklar için Tomcat gibi harici servislere bakarsanız, çözümlenebilecek işlevselliği daha az güvenceye alırsınız, bu da çözümü daha az sağlam ve güvenli hale getirir.

+0

Bu bir Android uygulamasıdır, bu yüzden bağımlılıklar notla yönetilir. Ve doğrudan projenin altına kavanoz eklemek iyi bir uygulama değildir. – jaumard

İlgili konular