Application protection tools and products
Protection products, static analysis, network testing and development helpers serve different purposes. Each guide explains its role and limits.
Protection products
DexGuard: Android application protection
When evaluating DexGuard for Android app protection, assess code transformations separately from runtime checks.
Read the guideiXGuard: iOS code hardening and RASP
Evaluate iXGuard against iOS build, signing and framework requirements.
Read the guideIntroducing Promon Shield for Mobile
Assess Promon Shield by integration method and runtime coverage when building an application-protection shortlist.
Read the guideAppdome: a mobile application defense platform
When evaluating Appdome, establish how selected defenses enter the existing delivery pipeline.
Read the guideIntroducing Digital.ai Application Security
Define the platform and code scope of the proposed Digital.ai product. The product-family name alone does not establish protection of every application component.
Read the guideThe Zimperium MAPS product family
Do not treat MAPS as one control. Assess the questions answered by analysis, hardening and runtime components in separate evaluation entries.
Read the guideAssessing Zimperium zShield
For code-hardening products such as zShield, identify the protected code types and post-build output.
Read the guideZimperium zDefend and runtime risks
Assess which device or application risks zDefend turns into which responses in each workflow.
Read the guideDoveRunner and the former AppSealing name
Teams encountering DoveRunner and the older AppSealing name should first establish product and documentation continuity.
Read the guideIntroducing Talsec freeRASP
freeRASP is an option for teams assessing in-app security signals.
Read the guideIntroducing Talsec RASP+
Separate controls available in the free tier from the additional scope proposed for RASP+.
Read the guideApproov: app attestation and API protection
Assess Approov through the relationship between application and API trust.
Read the guideAppSweep mobile security testing
AppSweep supports mobile security assessment. Producing findings and embedding continuous protection into an application are different functions; choose tools…
Read the guideMobile threat visibility with ThreatCast
For services such as ThreatCast, event classification and context determine usefulness. The number of observed events is not a direct measure of prevented business loss.
Read the guideIntroducing Guardsquare App Attestation
Explain the boundaries where Guardsquare App Attestation evidence is generated and verified.
Read the guideAppknox mobile application security testing
Prioritize test scope and verifiable findings when assessing Appknox. An automated report does not independently accept every workflow or runtime defense.
Read the guideNowSecure mobile security assessment
Assess NowSecure through testing, evidence and integration with development. Preserve the relationship between the examined version and the final published package.
Read the guideIntroducing Quokka Q-mast
State which mobile risks Q-mast tests and under what conditions. Read its report alongside platform coverage and actual application behavior.
Read the guideOstorlab mobile security analysis
Analysis-platform output is a starting point. Teams must assess reachability, business impact and remediation evidence in application context.
Read the guideOversecured mobile application scanning
Oversecured output can support assessment of mobile code and configuration issues.
Read the guideRootBeer: an Android root-checking library
RootBeer provides checks for Android root indicators. Adding it does not complete an Android app protection architecture or establish certain knowledge of device state.
Read the guideIOSSecuritySuite: a Swift security library
IOSSecuritySuite is an option for Swift projects evaluating iOS security checks. Design how its results relate to server policy and legitimate usage.
Read the guideCertificate pinning with TrustKit
TrustKit is a library to consider for pinning implementations. Assess integration alongside pin transitions, failure behavior and older application versions.
Read the guideWhat is ProGuard, and can it replace RASP?
ProGuard transformations can affect analysis cost. Treating them as equivalent to integrity verification, root assessment or server enforcement creates incorrect…
Read the guideTalsec AppiCrypt and server-side risk decisions
Assess how AppiCrypt connects mobile data to server risk decisions. The protocol, failure policy and business outcome matter alongside product descriptions.
Read the guideAnalysis tools
Frida: mobile runtime analysis
Frida investigates the behavior of running applications. In app protection testing, the relevant question is which trust assumption and business outcome an authorized…
Read the guideobjection: exploring mobile runtime behavior
objection simplifies mobile runtime investigation. Its observations depend on specific device and application conditions, which the report should document.
Read the guideMobSF: a mobile security analysis platform
MobSF can support a mobile analysis workflow. Follow automated findings with source or package evidence and impact assessment in an actual business flow.
Read the guideAndroguard: Android analysis with Python
Androguard helps teams incorporate Android packages into Python analysis and automation.
Read the guideInspecting Android code with JADX
JADX helps explain Android code structure. Its output is an interpretation of the compiled program, not a guaranteed reconstruction of the complete original source.
Read the guideApktool: Android resources and package inspection
Apktool can inspect package resources and related structures. Record that the examined artifact corresponds to the actual release package.
Read the guideAnalyzing mobile native code with Ghidra
Ghidra supports binary analysis of native mobile components. Interpret its static view against the actual architecture and execution context.
Read the guideradare2: command-line binary analysis
radare2 provides tools for command-line binary inspection and automation. Record analysis steps and artifact versions during application-protection assessment.
Read the guideThe Rizin binary analysis toolkit
Useful Rizin output extends beyond function names. Connect data flows, reachable code and verification boundaries to actual application behavior.
Read the guideCutter: a graphical analysis environment for Rizin
Cutter helps organize binary investigation through a graphical interface. The meaning of displayed code still depends on analyst verification and architecture context.
Read the guideMobile binary inspection with Binary Ninja
Binary Ninja supports code and data-flow analysis in native mobile libraries. Higher-level representations provide hypotheses to test, not independent execution evidence.
Read the guideIDA Pro: the disassembler and decompiler ecosystem
IDA Pro can help explain native code in mobile packages. Security conclusions require connecting decompiler output to real entry points and business impact.
Read the guideJEB Decompiler and Android analysis
JEB is an option for Android application analysis. Treat protected-code readability and the effectiveness of a critical control as separate questions.
Read the guideInspecting Mach-O with Hopper
Hopper can support analysis of native iOS code. Read results alongside production signing, architecture and paths reachable during execution.
Read the guideLIEF: executable-file analysis with Python
LIEF supports programmatic inspection of executable structures. Python automation should not silently turn unexpected formats or missing fields into successful results.
Read the guideThe Capstone disassembly engine
Capstone translates machine code into instruction representations. It is an engine for broader analysis tooling, not a complete security product.
Read the guideThe Unicorn CPU emulator
Unicorn is a CPU-emulation component. Investigating a bounded code region differs from representing an entire mobile operating system or physical-device security.
Read the guideangr: symbolic analysis with Python
angr supports symbolic analysis and investigation of program behavior. Results for mobile binaries depend on the model, inputs and environmental assumptions.
Read the guidepwntools: Python automation for security laboratories
pwntools can assist automation in authorized security laboratories. Keep scope, test data and evidence sensitivity explicit in app protection work.
Read the guideInspecting ELF and DWARF with pyelftools
pyelftools helps Python scripts inspect ELF and DWARF data. Reports must not confuse an absent field with proof of application security.
Read the guideAutomating radare2 with r2pipe
r2pipe connects radare2 output to automation. A reliable pipeline checks versions, command results and parsing failures; empty output is not successful analysis.
Read the guidedex2jar: DEX and Java class tooling
dex2jar supports transformations between DEX and the Java class ecosystem for analysis.
Read the guideWhat are smali and baksmali?
smali and baksmali support inspection at the DEX level. Focus on how a critical control is used within a workflow, beyond the readability of the representation.
Read the guideInspecting Android distribution packages with bundletool
bundletool helps evaluate Android distribution packages against device conditions. Security tests should cover actual installation structures as well as a universal APK.
Read the guideVerifying APK signatures with apksigner
apksigner is a core tool for checking a final APK's signature information.
Read the guideTesting and device labs
Burp Suite for mobile API security testing
Burp Suite helps assess mobile back ends and HTTP traffic. Manage test certificates and client settings within an authorized laboratory.
Read the guideZAP for mobile back-end security testing
ZAP can investigate web and API behavior. Report native application protection and server access control as distinct test results.
Read the guidemitmproxy and Python traffic automation
mitmproxy connects traffic inspection with Python automation. Decide in advance how scripts will handle secret headers, user data and repeated operations.
Read the guideExamining mobile network behavior with Wireshark
Wireshark collects evidence about network behavior. An encrypted payload does not establish correct endpoint authentication or application authorization.
Read the guideCharles Proxy for mobile traffic inspection
Charles Proxy supports mobile connection diagnostics. Use separate test accounts, test certificates and controlled builds without weakening production verification.
Read the guideProxyman for mobile HTTP debugging
Observing HTTP flows with Proxyman can clarify client-server behavior. Keep each captured error associated with the message shown for that same transaction.
Read the guideHTTP Toolkit for mobile network inspection
HTTP Toolkit can help explain how requests are created and responses handled. Exceptions introduced for laboratory convenience must not remain in a release build.
Read the guideCaido for mobile API testing workflows
Caido can support request and response inspection in mobile API tests. Testing object and function access with authorized accounts goes beyond displaying traffic.
Read the guidetcpdump for mobile test-network captures
tcpdump records connection timing and packet flows. Define retention and access limits because captures may include personal data and network context.
Read the guideADB: a foundation of Android testing
ADB manages devices and applications in an Android laboratory. Its convenience does not justify leaving the same debugging access enabled for production users.
Read the guideAndroid Emulator for application testing
Android Emulator offers fast, repeatable development environments. Do not assume that all hardware and platform security features behave like those on physical devices.
Read the guideAppium for mobile RASP regression testing
Appium helps check that protection has not broken normal user flows. Verify interface completion separately from the correct server-side transaction outcome.
Read the guideMaestro for mobile flow automation
Maestro makes user flows easier to express as readable automation.
Read the guideDetox for React Native security regression
Detox can support React Native application testing. Assess the native security bridge and the behavior of the final release package separately.
Read the guideEspresso for Android security interface tests
Espresso tests Android interfaces. When protection rules change, use controlled accounts and data to check that legitimate users can still complete their tasks.
Read the guideUI Automator for Android system flows
UI Automator helps test interactions beyond the application's own interface.
Read the guideXCTest and XCUITest for iOS verification
XCTest and XCUITest assess iOS code and user flows. Security features requiring physical hardware or a final signed package need additional tests in the appropriate…
Read the guideFirebase Test Lab and device coverage
Firebase Test Lab can broaden device coverage. Include the processing of uploaded packages and test data in organizational data-management decisions.
Read the guideAWS Device Farm for mobile application testing
AWS Device Farm supports flow testing across devices. Record how the protection SDK classifies the laboratory environment and how it differs from ordinary user…
Read the guideCorellium for virtual mobile research
Corellium can provide a virtual mobile research environment. State how far its evidence represents physical hardware and production distribution.
Read the guideManaging Android test devices with scrcpy
scrcpy simplifies Android screen viewing and interaction in a laboratory.
Read the guidelibimobiledevice for iOS device communication
libimobiledevice is an ecosystem of tools for iOS device communication and supporting workflows. Evaluate access alongside device trust and authorized pairing conditions.
Read the guideiproxy for iOS test connections
iproxy supports connection forwarding for device communication. Keep laboratory access narrowly scoped and avoid exposing it unnecessarily to the wider network.
Read the guidePerfetto for RASP performance analysis
Perfetto helps investigate Android runtime behavior and performance. Assess protection overhead through timing, thread activity and device context together.
Read the guideNetwork Link Conditioner and poor-network testing
Poor connections expose security-protocol failure paths. Measuring latency, loss and connection changes matters as much as testing successful requests.
Read the guideSecure development tools
Semgrep for mobile source-code security
Semgrep can identify selected security patterns in mobile source code.
Read the guideCodeQL for mobile code data-flow analysis
CodeQL contributes data-flow queries to code review. Make source and build coverage explicit; layers outside the analysis must not be assumed safe.
Read the guideSonarQube in mobile security development
SonarQube connects code-quality and security review to development workflows. Read reports in the context of the selected edition and supported analysis features.
Read the guideWhere Nuclei fits in mobile API testing
Nuclei automates template-based checks. In app protection work, it primarily assesses back ends and related services rather than on-device runtime defenses.
Read the guideGitleaks for secrets in mobile repositories
Gitleaks helps find secrets accidentally committed to source control. Removing a value may need to be followed by revocation and an investigation of its use.
Read the guideTruffleHog for secret discovery and verification
TruffleHog supports secret discovery and, where appropriate, validation.
Read the guideTrivy for mobile build-environment scanning
Trivy can assess dependencies and build environments used by mobile projects. Distinguish the selected scan mode from the components it actually examines.
Read the guideGrype for dependency vulnerability scanning
Grype links component inventories with known vulnerability information. A match still requires an assessment of whether the application is affected.
Read the guideSyft for software component inventories
Syft helps inventory software components. For mobile delivery, check native libraries and components introduced by protection as well as source dependencies.
Read the guideCycloneDX for mobile SBOM exchange
CycloneDX provides a standard ecosystem for sharing component and related security information.
Read the guideWhat OWASP Dependency-Check examines
Dependency-Check supports dependency risk assessment. Accurate package matching and the vulnerability's effect on real code paths are central to interpreting its reports.
Read the guideOSV-Scanner for dependency security
OSV-Scanner associates dependencies with vulnerability information. Verify that its input matches current lockfiles or the components actually distributed.
Read the guideAuditing Python tooling with pip-audit
pip-audit can assess dependencies used by Python mobile-analysis helpers. The environment that examines an application also needs security maintenance.
Read the guideBandit for Python security code review
Bandit finds selected security patterns in Python. It adds a review layer for file, network and secret handling in mobile-analysis scripts.
Read the guideRuff for dependable Python analysis scripts
Ruff improves Python code quality and consistency. Clean lint output does not prove that a cryptographic protocol or mobile security test is correctly designed.
Read the guidepytest for mobile security helper verification
pytest can verify security-helper behavior. Invalid packages, missing fields and verification failures deserve coverage alongside normal inputs.
Read the guideHypothesis for property-based Python testing
Hypothesis explores unexpected inputs through property-based tests. It produces useful evidence when mobile-verification helpers have clearly defined invariants.
Read the guidePython cryptography for verification tools
The cryptography library supports signing, verification and encryption helpers. Safe API selection must be paired with sound key management and protocol context.
Read the guideRequests for secure test clients
Requests is widely used in Python test clients. Configure certificate verification, timeouts, retries and secret-header logging deliberately.
Read the guideScapy for network protocol research
Scapy supports protocol research and controlled laboratory automation. Define authorization, collection limits and test scope before using it beyond the laboratory.
Read the guideYARA for mobile package pattern matching
YARA searches files for defined patterns. A match is an investigation input, not sufficient evidence of malicious behavior or failed protection.
Read the guidefastlane in a RASP delivery pipeline
fastlane automates mobile delivery steps. Design protection, signing and store-upload order together with trustworthy records and secret management.
Read the guideGradle for Android RASP integration
Gradle controls dependencies, variants and task order in Android protection integration. Acceptance must examine the final package as well as source configuration.
Read the guideXcode in the protected iOS build process
Xcode is central to iOS building, signing and diagnostics. Assess a security SDK against the final IPA, entitlement set and matching symbol archive.
Read the guideGitHub Actions for mobile security gates
GitHub Actions can connect security gates to delivery. Control untrusted contributions' access to release secrets and preserve the identity of approved artifacts.
Read the guide