exxeta/ios-security-toolkit
In a world where mobile devices hold vast amounts of personal and
Features
Already implemented Features are:
- [x] Jailbreak or Root Detection
- [x] Hooks Detection
- [x] Simulator Detection
- [x] Debugger Detection
- [x] Device Passcode Check
- [x] Hardware Security Check
You can see them in action with the Example App we've provided
Installation
You can use the Mobile Security Toolkit in your project by importing it with Swift Package Manager
SPM
.package(url: "https://github.com/EXXETA/iOS-Security-Toolkit.git", from: "2.0.0")
CocoaPods
CocoaPods is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate iOSSecurityToolkit into your Xcode project using CocoaPods, specify it in your Podfile:
pod 'SecurityToolkit'Usage
Variable API
Use the gettable variables to get current status of the device:
ThreatDetectionCenter.areRootPrivilegesDetected: BoolThreatDetectionCenter.areHooksDetected: BoolThreatDetectionCenter.isSimulatorDetected: BoolThreatDetectionCenter.isDebuggerDetected: BoolThreatDetectionCenter.isDeviceWithoutPasscodeDetected: BoolThreatDetectionCenter.isHardwareProtectionUnavailable: Bool
Async Stream API
Use Async Stream API to get detected threats asynchronously:
ThreatDetectionCenter.threats: AsyncStream<Threat>
Testing
To run the available tests locally or in the pipeline use xcodebuild test -scheme SecurityToolkitTests -destination 'platform=iOS Simulator,name=iPhone 16 Pro,OS=18.0'
Roadmap
Next features to be implemented:
- [ ] App Signature Check
- [ ] Integrity Check
Contributing
See CONTRIBUTING
License
See LICENSE
Package Metadata
Repository: exxeta/ios-security-toolkit
Default branch: main
README: README.md