Search for a command to run...
Dina mobilappar läcker användardata. 87% av mobilappar innehåller högrisk-sårbarheter. OWASP Mobile Top 10 överträdelser i 95% av appar. App butikens avslag kostar $50K per veckas förseningar. Användardataintrång kostar $4.88M per incident.
Mobil angreppsyta
Automatisera ditt mobila säkerhetsarbetsflöde, från statisk kodanalys till sårbarhetshantering.
python analyze.py \
--name "mobile-banking-app" \
--owner "fintech-company" \
--output json \
--files ./mobile_files_to_scan.txt \
--config ./config/mobile_config.yaml
Plexalyzer orkestrerar automatiskt mobilspecifika säkerhetsverktyg:
{
"data": [
{
"id": "finding-mobile-001",
"type": "finding",
"attributes": {
"title": "Hardcoded Encryption Key in Mobile App",
"description": "AES encryption key hardcoded in iOS application source code",
"severity": "critical",
"file_path": "src/utils/CryptoManager.swift",
"original_line": 23,
"tool": "checkmarx",
"cve": "CWE-798",
"cvssv3_score": 8.9,
"false_positive": false,
"remediation_notes": "Use iOS Keychain for secure key storage and implement key rotation"
}
}
],
"meta": {
"total_findings": 38,
"critical": 7,
"high": 12,
"medium": 15,
"low": 4
}
}
Komplett skydd mot mobila säkerhetssårbarheter
1// ✅ Secure iOS implementation 2import Security3 4func savePasswordSecurely(_ password: String) {5 let keychain = Keychain(service: "com.app.credentials")6 keychain["password"] = password7 print("Password securely saved to Keychain")8}9 10// Using iOS Keychain for secure storage11class SecureLoginManager {12 private let keychain = Keychain(service: "com.app.credentials")13 14 func storeCredentials(username: String, password: String) {15 keychain["username"] = username16 keychain["password"] = password17 UserDefaults.standard.set(true, forKey: "isLoggedIn")18 }19}
1// ❌ Vulnerable iOS implementation2func savePassword(_ password: String) {3 UserDefaults.standard.set(password, forKey: "user_password")4 print("Password saved to UserDefaults")5}6 7// Storing sensitive data in UserDefaults8class LoginManager {9 func storeCredentials(username: String, password: String) {10 UserDefaults.standard.set(username, forKey: "username")11 UserDefaults.standard.set(password, forKey: "password")12 UserDefaults.standard.set(true, forKey: "isLoggedIn")13 }14}
1// ✅ Secure Android implementation2EncryptedSharedPreferences encryptedPrefs = EncryptedSharedPreferences.create(3 "secure_prefs",4 MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC),5 this,6 EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,7 EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM8);9 10// Storing sensitive data encrypted11SharedPreferences.Editor editor = encryptedPrefs.edit();12editor.putString("credit_card", "4532-1234-5678-9012");13editor.putString("api_key", "sk_live_abc123def456");14editor.putString("user_token", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...");15editor.apply();16 17// Reading encrypted data18String creditCard = encryptedPrefs.getString("credit_card", "");
1// ❌ Vulnerable Android implementation2SharedPreferences prefs = getSharedPreferences("app_prefs", MODE_PRIVATE);3SharedPreferences.Editor editor = prefs.edit();4 5// Storing sensitive data in plain text6editor.putString("credit_card", "4532-1234-5678-9012");7editor.putString("ssn", "123-45-6789");8editor.putString("api_key", "sk_live_abc123def456");9editor.putString("user_token", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...");10editor.apply();11 12// Reading sensitive data13String creditCard = prefs.getString("credit_card", "");14String apiKey = prefs.getString("api_key", "");
1// ✅ Secure network implementation2val client = OkHttpClient.Builder()3 .certificatePinner(4 CertificatePinner.Builder()5 .add("api.bank.com", "sha256/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=")6 .add("api.bank.com", "sha256/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=")7 .build()8 )9 .build()10 11// Implementing proper certificate validation12class SecureNetworkManager {13 private val certificatePinner = CertificatePinner.Builder()14 .add("*.mybank.com", "sha256/primary-cert-hash")15 .add("*.mybank.com", "sha256/backup-cert-hash")16 .build()17 18 private val client = OkHttpClient.Builder()19 .certificatePinner(certificatePinner)20 .connectTimeout(30, TimeUnit.SECONDS)21 .readTimeout(30, TimeUnit.SECONDS)22 .build()23}
1// ❌ Vulnerable network implementation2val client = OkHttpClient.Builder()3 .hostnameVerifier { _, _ -> true } // Accepts all certificates!4 .build()5 6// Disabling SSL verification completely7val trustAllCerts = arrayOf<TrustManager>(object : X509TrustManager {8 override fun checkClientTrusted(chain: Array<X509Certificate>, authType: String) {}9 override fun checkServerTrusted(chain: Array<X509Certificate>, authType: String) {}10 override fun getAcceptedIssuers(): Array<X509Certificate> = arrayOf()11})12 13val sslContext = SSLContext.getInstance("SSL")14sslContext.init(null, trustAllCerts, SecureRandom())15 16val client = OkHttpClient.Builder()17 .sslSocketFactory(sslContext.socketFactory, trustAllCerts[0] as X509TrustManager)18 .hostnameVerifier { _, _ -> true }19 .build()
Specialiserade säkerhetslösningar för olika typer av mobilapplikationer
Säkerhetsvalidering före distribution
# Complete mobile app security validation before app store submission
python analyze.py \
--name "pre-release-security-scan" \
--repository_id "mobile-banking-v2.1" \
--output sarif \
--branch "release/v2.1" \
--auto
# Generates SARIF output for integration with:
# - Xcode security warnings
# - Android Studio security alerts
# - GitHub Advanced Security
# - App store security compliance reports
Fullständig säkerhetsvalidering av mobilapp innan appbutikens inlämning:
{
"data": [
{
"id": "finding-mobile-api-001",
"type": "finding",
"attributes": {
"title": "Insecure Direct Object Reference in User API",
"description": "User can access other users' profiles without authorization",
"severity": "high",
"file_path": "src/api/UserController.js",
"original_line": 89,
"tool": "checkmarx",
"cve": "CWE-639",
"cvssv3_score": 7.5,
"false_positive": false,
"remediation_notes": "Implement proper authorization checks for user profile access"
}
},
{
"id": "finding-mobile-api-002",
"type": "finding",
"attributes": {
"title": "Missing Rate Limiting on Payment Endpoint",
"description": "Payment processing endpoint lacks rate limiting controls",
"severity": "medium",
"file_path": "src/api/PaymentController.js",
"original_line": 156,
"tool": "sonarqube",
"cve": "CWE-770",
"cvssv3_score": 6.5,
"false_positive": false,
"remediation_notes": "Implement rate limiting and transaction throttling on payment endpoints"
}
}
],
"meta": {
"total_findings": 22,
"critical": 3,
"high": 7,
"medium": 9,
"low": 3
}
}
Omfattande efterlevnadsvalidering för appbutiker och sekretessregler
# iOS App Store compliance
ios_requirements:
data_protection: "ATS (App Transport Security) enforced"
encryption: "256-bit encryption for sensitive data"
permissions: "Minimal permission principle"
privacy_policy: "Required for data collection"
# Google Play Store compliance
android_requirements:
target_sdk: "API level 33+ required"
encryption: "Android Keystore usage mandatory"
permissions: "Runtime permission model"
security_metadata: "Safety section completion"
Dataminimering och samtycke
Kaliforniens konsumentsekretessrättigheter
Skydd av barns integritet online
Brasiliansk dataskyddslag
Sömlös integration med din utvecklingsarbetsflöde för kontinuerlig mobilsäkerhet
# Mobile security pipeline
name: Mobile Security Scan
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]
jobs:
mobile_security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Mobile SAST Scan
run: |
curl -X POST "{{ secrets.PLEXICUS_API_URL }}/plexalyzer/receive_plexalyzer_message" \
-H "Authorization: Bearer {{ secrets.PLEXICUS_TOKEN }}" \
-d '{
"request": "create-repo",
"extra_data": {
"repository_name": "{{ github.repository }}",
"platform": "mobile",
"branch": "{{ github.ref_name }}"
}
}'
Automatisk skanning vid push och pull-förfrågningar
Blockera distributioner med kritiska sårbarheter
Intelligenta fixförslag och automatisk patchning
Automatisk validering och rapportering av efterlevnad
Vanliga säkerhetsproblem som hittas i produktionsmobilapplikationer
Omfattande säkerhetstestning över din mobilapplikationsstack
Säkerhetstestning för iOS & Android-appar
Bedömning av sårbarheter i backend-API
Statisk och dynamisk kodgranskning
Databas- och lagringssäkerhet
Förvandla dina mobil säkerhetskostnader från reaktiva utgifter till proaktiva investeringar
Omfattande säkerhetsstandarder och ramverk för mobilappar