Contents

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: Bool
  • ThreatDetectionCenter.areHooksDetected: Bool
  • ThreatDetectionCenter.isSimulatorDetected: Bool
  • ThreatDetectionCenter.isDebuggerDetected: Bool
  • ThreatDetectionCenter.isDeviceWithoutPasscodeDetected: Bool
  • ThreatDetectionCenter.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

Authors and acknowledgment

Authors:

  • Yessine Choura
  • Denis Dobanda

Special Thanks:

  • Sabrina Geiger
  • Dennis Gill
  • Jonas Rottmann

License

See LICENSE

Package Metadata

Repository: exxeta/ios-security-toolkit

Default branch: main

README: README.md