OpenText Fortify의 sourceanalyzer
를 사용하여 Swift 프로젝트를 분석하는 방법을 설명드립니다. Swift 분석은 다른 언어와 약간 다른 접근이 필요합니다.
1. 필수 준비 사항
- Fortify SCA 20.2 이상 버전 (Swift 지원 버전)
- Swift 컴파일러 설치 (Xcode 포함)
- macOS 환경 (Linux에서의 Swift 분석은 제한적)
2. 기본 분석 방법
방법 1: 직접 컴파일 명령 사용
bash
sourceanalyzer -b MySwiftProject swiftc -emit-object MyFile.swift
방법 2: Xcode 프로젝트 분석
bash
sourceanalyzer -b MySwiftProject xcodebuild -workspace MyProject.xcworkspace -scheme MyScheme
3. Swift Package Manager(SPM) 프로젝트 분석
bash
sourceanalyzer -b MySPMProject -clean sourceanalyzer -b MySPMProject swift build sourceanalyzer -b MySPMProject -scan -f swift_results.fpr
4. 고급 분석 옵션
Swift 버전 지정
bash
sourceanalyzer -b MySwiftProject -swift-version 5 xcodebuild [...]
분석 메모리 설정
bash
sourceanalyzer -b MySwiftProject -Xmx8G -analysis-memory 8G swift build
병렬 분석
bash
sourceanalyzer -b MySwiftProject -mt swift build
5. CocoaPods 프로젝트 분석
bash
sourceanalyzer -b MyPodProject pod install sourceanalyzer -b MyPodProject xcodebuild -workspace MyProject.xcworkspace -scheme MyScheme
6. 분석 결과 생성 및 확인
bash
sourceanalyzer -b MySwiftProject -scan -f swift_results.fpr AuditWorkbench swift_results.fpr
7. 일반적인 문제 해결
빌드 설정 문제
bash
sourceanalyzer -b MySwiftProject xcodebuild -workspace MyProject.xcworkspace -scheme MyScheme -destination 'platform=macOS'
SDK 경로 지정
bash
sourceanalyzer -b MySwiftProject xcodebuild [...] -sdk $(xcrun --show-sdk-path)
분석 범위 제한
bash
sourceanalyzer -b MySwiftProject -exclude "Pods/**" xcodebuild [...]
주의사항
- Swift 분석은 Fortify SCA 20.2 이상에서만 완전히 지원됩니다.
- Xcode 프로젝트는 완전한 빌드 가능한 상태여야 합니다.
- 대형 프로젝트의 경우 충분한 메모리를 할당하세요.
- SwiftUI 코드 분석에는 일부 제한이 있을 수 있습니다.
- 외부 종속성(Pods, SPM 패키지)은 사전에 설치되어 있어야 합니다.