cyberaudit-skill 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +77 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +241 -0
- package/dist/mcp-server.d.ts +2 -0
- package/dist/mcp-server.js +126 -0
- package/package.json +58 -0
- package/skills/cyberaudit/AGENT-BOOT.md +122 -0
- package/skills/cyberaudit/COMMANDS.md +1125 -0
- package/skills/cyberaudit/INSTALL.md +311 -0
- package/skills/cyberaudit/MASTER.md +194 -0
- package/skills/cyberaudit/README.md +154 -0
- package/skills/cyberaudit/USAGE-GUIDE.md +107 -0
- package/skills/cyberaudit/mobile/MOBILE-CHECKLIST.md +245 -0
- package/skills/cyberaudit/mobile/MOBILE-PHILOSOPHY.md +352 -0
- package/skills/cyberaudit/mobile/MOBILE-REMEDIATION-LIBRARY.md +468 -0
- package/skills/cyberaudit/mobile/MOBILE-THREAT-MODELS.md +279 -0
- package/skills/cyberaudit/mobile/frameworks/EXPO.md +247 -0
- package/skills/cyberaudit/mobile/frameworks/FLUTTER.md +338 -0
- package/skills/cyberaudit/mobile/frameworks/IONIC.md +248 -0
- package/skills/cyberaudit/mobile/frameworks/REACT-NATIVE.md +479 -0
- package/skills/cyberaudit/mobile/vulnerabilities/AUTH-MOBILE.md +160 -0
- package/skills/cyberaudit/mobile/vulnerabilities/BINARY-ANALYSIS.md +193 -0
- package/skills/cyberaudit/mobile/vulnerabilities/CRYPTO-MOBILE.md +192 -0
- package/skills/cyberaudit/mobile/vulnerabilities/IPC-DEEPLINKS.md +231 -0
- package/skills/cyberaudit/mobile/vulnerabilities/NETWORK-MOBILE.md +165 -0
- package/skills/cyberaudit/mobile/vulnerabilities/PERMISSIONS.md +180 -0
- package/skills/cyberaudit/mobile/vulnerabilities/RUNTIME-MOBILE.md +214 -0
- package/skills/cyberaudit/mobile/vulnerabilities/STORAGE.md +197 -0
- package/skills/cyberaudit/reports/EXECUTIVE-SUMMARY-TEMPLATE.md +188 -0
- package/skills/cyberaudit/reports/REPORT-TEMPLATE-MOBILE.md +410 -0
- package/skills/cyberaudit/reports/REPORT-TEMPLATE-WEB.md +222 -0
- package/skills/cyberaudit/shared/COMPLIANCE.md +307 -0
- package/skills/cyberaudit/shared/CVSS-GUIDE.md +175 -0
- package/skills/cyberaudit/shared/OWASP-MAPPER.md +130 -0
- package/skills/cyberaudit/shared/SEVERITY-SCORING.md +102 -0
- package/skills/cyberaudit/shared/THREAT-MODELING.md +112 -0
- package/skills/cyberaudit/web/WEB-CHECKLIST.md +222 -0
- package/skills/cyberaudit/web/WEB-PHILOSOPHY.md +308 -0
- package/skills/cyberaudit/web/WEB-REMEDIATION-LIBRARY.md +665 -0
- package/skills/cyberaudit/web/WEB-THREAT-MODELS.md +460 -0
- package/skills/cyberaudit/web/frameworks/ANGULAR.md +169 -0
- package/skills/cyberaudit/web/frameworks/EXPRESS.md +185 -0
- package/skills/cyberaudit/web/frameworks/LARAVEL.md +371 -0
- package/skills/cyberaudit/web/frameworks/NESTJS.md +337 -0
- package/skills/cyberaudit/web/frameworks/NEXTJS.md +352 -0
- package/skills/cyberaudit/web/frameworks/REACT.md +346 -0
- package/skills/cyberaudit/web/frameworks/VUE.md +205 -0
- package/skills/cyberaudit/web/vulnerabilities/AUTH-AUTHZ.md +117 -0
- package/skills/cyberaudit/web/vulnerabilities/BUSINESS-LOGIC.md +603 -0
- package/skills/cyberaudit/web/vulnerabilities/CORS.md +117 -0
- package/skills/cyberaudit/web/vulnerabilities/CSRF.md +131 -0
- package/skills/cyberaudit/web/vulnerabilities/DESERIALIZATION.md +96 -0
- package/skills/cyberaudit/web/vulnerabilities/HEADERS.md +105 -0
- package/skills/cyberaudit/web/vulnerabilities/IDOR-BOLA.md +153 -0
- package/skills/cyberaudit/web/vulnerabilities/INJECTION.md +165 -0
- package/skills/cyberaudit/web/vulnerabilities/SECRETS.md +119 -0
- package/skills/cyberaudit/web/vulnerabilities/SSRF.md +124 -0
- package/skills/cyberaudit/web/vulnerabilities/SUPPLY-CHAIN.md +142 -0
- package/skills/cyberaudit/web/vulnerabilities/XSS.md +133 -0
- package/skills/cyberaudit/web/vulnerabilities/XXE.md +94 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# 📖 USAGE GUIDE — CYBERAUDIT SKILL
|
|
2
|
+
# For agents, developers, and teams
|
|
3
|
+
|
|
4
|
+
═══════════════════════════════════════════════════════════════
|
|
5
|
+
HOW TO USE THIS SKILL
|
|
6
|
+
═══════════════════════════════════════════════════════════════
|
|
7
|
+
|
|
8
|
+
FOR AI AGENTS (Cursor, Claude, GPT, Copilot...)
|
|
9
|
+
────────────────────────────────────────────────────
|
|
10
|
+
|
|
11
|
+
ACTIVATION COMMANDS:
|
|
12
|
+
|
|
13
|
+
Full web audit:
|
|
14
|
+
"Audit this [framework] application following
|
|
15
|
+
the CyberAudit Skill. Produce a full report."
|
|
16
|
+
|
|
17
|
+
Quick scan:
|
|
18
|
+
"Run a quick security scan on this code.
|
|
19
|
+
Focus on critical and high findings only."
|
|
20
|
+
|
|
21
|
+
Single file audit:
|
|
22
|
+
"Audit this controller file using the
|
|
23
|
+
CyberAudit Laravel rules."
|
|
24
|
+
|
|
25
|
+
Mobile audit:
|
|
26
|
+
"Audit this React Native app. Check storage,
|
|
27
|
+
network, and deep links per MASVS 2.0."
|
|
28
|
+
|
|
29
|
+
PR review:
|
|
30
|
+
"Review this PR from a security perspective.
|
|
31
|
+
Identify any newly introduced risks."
|
|
32
|
+
|
|
33
|
+
FOR DEVELOPMENT TEAMS
|
|
34
|
+
────────────────────────
|
|
35
|
+
|
|
36
|
+
WORKFLOW INTEGRATION:
|
|
37
|
+
|
|
38
|
+
Pre-commit:
|
|
39
|
+
→ Quick scan on modified files
|
|
40
|
+
→ Automatic secret detection
|
|
41
|
+
→ Result: Go/No-Go in 2 min
|
|
42
|
+
|
|
43
|
+
Pull Request:
|
|
44
|
+
→ Standard audit on new endpoints
|
|
45
|
+
→ Review of auth/authz changes
|
|
46
|
+
→ Inline comments on findings
|
|
47
|
+
|
|
48
|
+
Pre-deployment:
|
|
49
|
+
→ Full audit of the entire scope
|
|
50
|
+
→ OWASP compliance validation
|
|
51
|
+
→ Certification report
|
|
52
|
+
|
|
53
|
+
Post-sprint:
|
|
54
|
+
→ Deep audit of one critical module per sprint
|
|
55
|
+
→ Progressive reduction of security debt
|
|
56
|
+
→ Security score tracking over time
|
|
57
|
+
|
|
58
|
+
ENGAGEMENT LEVELS
|
|
59
|
+
─────────────────────
|
|
60
|
+
|
|
61
|
+
BEGINNER (Junior dev)
|
|
62
|
+
→ Use checklists as a guide during development
|
|
63
|
+
→ Request a quick scan before each commit
|
|
64
|
+
→ Learn from the provided remediation code
|
|
65
|
+
|
|
66
|
+
INTERMEDIATE (Senior dev)
|
|
67
|
+
→ Integrate audit into PR review
|
|
68
|
+
→ Understand and contextualize findings
|
|
69
|
+
→ Propose fixes before review
|
|
70
|
+
|
|
71
|
+
ADVANCED (Tech lead / Architect)
|
|
72
|
+
→ Deep audit on critical components
|
|
73
|
+
→ Threat modeling on new features
|
|
74
|
+
→ Define team security standards
|
|
75
|
+
|
|
76
|
+
EXPERT (CISO / Security Engineer)
|
|
77
|
+
→ Red team mode for critical systems
|
|
78
|
+
→ Validate and complete generated reports
|
|
79
|
+
→ Define security KPIs
|
|
80
|
+
|
|
81
|
+
═══════════════════════════════════════════════════════════════
|
|
82
|
+
RECOMMENDED TRACKING METRICS
|
|
83
|
+
═══════════════════════════════════════════════════════════════
|
|
84
|
+
|
|
85
|
+
Overall security score : Target ≥ 80/100
|
|
86
|
+
Open criticals : Target = 0
|
|
87
|
+
Open highs : Target ≤ 2
|
|
88
|
+
Critical MTTR : Target < 24h
|
|
89
|
+
High MTTR : Target < 7 days
|
|
90
|
+
Audit coverage : Target 100% of modules
|
|
91
|
+
Audit frequency : Minimum monthly
|
|
92
|
+
Unpatched critical CVEs : Target = 0
|
|
93
|
+
|
|
94
|
+
═══════════════════════════════════════════════════════════════
|
|
95
|
+
MASTER REFERENCES
|
|
96
|
+
═══════════════════════════════════════════════════════════════
|
|
97
|
+
|
|
98
|
+
OWASP Top 10 : https://owasp.org/Top10/
|
|
99
|
+
OWASP MASVS 2.0 : https://mas.owasp.org/MASVS/
|
|
100
|
+
OWASP Cheat Sheets : https://cheatsheetseries.owasp.org/
|
|
101
|
+
CWE Top 25 : https://cwe.mitre.org/top25/
|
|
102
|
+
CVSS Calculator : https://www.first.org/cvss/calculator/3.1
|
|
103
|
+
CVE Database : https://cve.mitre.org/
|
|
104
|
+
NVD : https://nvd.nist.gov/
|
|
105
|
+
Snyk Vuln DB : https://snyk.io/vuln/
|
|
106
|
+
npm advisories : https://github.com/advisories
|
|
107
|
+
SANS Top 25 : https://www.sans.org/top25-software-errors/
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
# ✅ MOBILE MASTER CHECKLIST — CYBERAUDIT SKILL
|
|
2
|
+
# The ultimate mobile checklist — OWASP MASVS 2.0 aligned
|
|
3
|
+
|
|
4
|
+
═══════════════════════════════════════════════════════════════
|
|
5
|
+
INSTRUCTIONS: Check each item. Document each ❌.
|
|
6
|
+
✅ = Conforming ❌ = Finding ⚠️ = Context-dependent N/A = Not applicable
|
|
7
|
+
═══════════════════════════════════════════════════════════════
|
|
8
|
+
|
|
9
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
10
|
+
SECTION 1 — LOCAL STORAGE (MASVS-STORAGE)
|
|
11
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
12
|
+
|
|
13
|
+
SENSITIVE DATA
|
|
14
|
+
□ No auth token in AsyncStorage / SharedPreferences
|
|
15
|
+
□ No password in AsyncStorage / SharedPreferences
|
|
16
|
+
□ No PII data in cleartext in insecure storage
|
|
17
|
+
□ No financial data in cleartext on the device
|
|
18
|
+
□ Keychain (iOS) used for secrets on iOS
|
|
19
|
+
□ Keystore (Android) used for secrets on Android
|
|
20
|
+
□ react-native-keychain / flutter_secure_storage used
|
|
21
|
+
□ AccessControl configured on Keychain
|
|
22
|
+
(BIOMETRY_ANY_OR_DEVICE_PASSCODE minimum)
|
|
23
|
+
□ Accessible configured on Keychain
|
|
24
|
+
(WHEN_UNLOCKED_THIS_DEVICE_ONLY recommended)
|
|
25
|
+
|
|
26
|
+
LOCAL DATABASE
|
|
27
|
+
□ SQLite encrypted if sensitive data (SQLCipher)
|
|
28
|
+
□ Hive encrypted if sensitive data (Flutter)
|
|
29
|
+
□ Realm encrypted if sensitive data
|
|
30
|
+
□ DB encryption key stored in Keychain/Keystore
|
|
31
|
+
□ Encryption key not hardcoded in code
|
|
32
|
+
|
|
33
|
+
LOCAL FILES
|
|
34
|
+
□ Sensitive files in app's private directory
|
|
35
|
+
□ Sensitive files excluded from backups
|
|
36
|
+
Android: android:allowBackup="false" or rules
|
|
37
|
+
iOS : NSURLIsExcludedFromBackupKey = true
|
|
38
|
+
□ PDFs / sensitive documents encrypted before storage
|
|
39
|
+
□ Sensitive images not accessible from gallery
|
|
40
|
+
↑ HTTP cache containing no sensitive data
|
|
41
|
+
|
|
42
|
+
LOGS AND DEBUGGING
|
|
43
|
+
□ No token in logs (console.log, print, NSLog)
|
|
44
|
+
□ No password in logs
|
|
45
|
+
□ No PII data in logs
|
|
46
|
+
□ Debug logs disabled in production
|
|
47
|
+
□ __DEV__ / BuildConfig.DEBUG used to condition logs
|
|
48
|
+
□ Sentry/Crashlytics: sensitive data filtered before sending
|
|
49
|
+
|
|
50
|
+
USER INTERFACE
|
|
51
|
+
□ Password fields with secureTextEntry={true}
|
|
52
|
+
□ Autocomplete disabled on sensitive fields
|
|
53
|
+
□ Keyboard cache disabled on sensitive fields
|
|
54
|
+
(autoComplete="off", textContentType="oneTimeCode")
|
|
55
|
+
□ Clipboard not exposed for sensitive data
|
|
56
|
+
□ Screenshot disabled or screen hidden in background
|
|
57
|
+
Android: FLAG_SECURE
|
|
58
|
+
iOS : overlay when backgrounding
|
|
59
|
+
□ Sensitive data hidden in app switcher
|
|
60
|
+
|
|
61
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
62
|
+
SECTION 2 — NETWORK (MASVS-NETWORK)
|
|
63
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
64
|
+
|
|
65
|
+
HTTPS AND TLS
|
|
66
|
+
□ HTTPS used exclusively (no http://)
|
|
67
|
+
□ Android: usesCleartextTraffic="false"
|
|
68
|
+
□ Android: Network Security Config configured
|
|
69
|
+
□ iOS: App Transport Security without unjustified exceptions
|
|
70
|
+
□ TLS 1.2 minimum, TLS 1.3 recommended
|
|
71
|
+
□ Weak cipher suites disabled
|
|
72
|
+
□ Valid and non-expired certificates
|
|
73
|
+
□ Certificate validation not disabled
|
|
74
|
+
(Never ignore SSL errors in prod)
|
|
75
|
+
|
|
76
|
+
CERTIFICATE PINNING
|
|
77
|
+
□ Certificate pinning implemented on critical endpoints
|
|
78
|
+
□ At least 2 pins configured (1 primary + 1 backup)
|
|
79
|
+
□ Pin expiration date configured
|
|
80
|
+
□ Rotation procedure documented
|
|
81
|
+
□ Library used: react-native-ssl-pinning / dio pinning
|
|
82
|
+
□ Pinning on auth and sensitive data endpoints
|
|
83
|
+
|
|
84
|
+
NETWORK REQUESTS
|
|
85
|
+
□ Auth tokens in headers (Authorization: Bearer)
|
|
86
|
+
□ Auth tokens never in query parameters
|
|
87
|
+
□ Timeout configured on all requests
|
|
88
|
+
□ Retry logic with exponential backoff
|
|
89
|
+
□ Sensitive data not logged in interceptors
|
|
90
|
+
□ Security headers verified client-side if necessary
|
|
91
|
+
|
|
92
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
93
|
+
SECTION 3 — CRYPTOGRAPHY (MASVS-CRYPTO)
|
|
94
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
95
|
+
|
|
96
|
+
ALGORITHMS
|
|
97
|
+
□ AES-256-GCM or ChaCha20-Poly1305 for symmetric encryption
|
|
98
|
+
□ RSA-2048+ or ECDSA P-256+ for asymmetric encryption
|
|
99
|
+
□ SHA-256 minimum for hashing (not MD5, not SHA1)
|
|
100
|
+
□ bcrypt / argon2 for passwords if stored locally
|
|
101
|
+
□ No custom algorithm implemented
|
|
102
|
+
□ Standard cryptographic libraries used
|
|
103
|
+
(libsodium, CryptoKit, javax.crypto)
|
|
104
|
+
|
|
105
|
+
KEYS AND SECRETS
|
|
106
|
+
□ No cryptographic key hardcoded in code
|
|
107
|
+
□ No keys in resource files
|
|
108
|
+
□ Keys generated with a secure random generator
|
|
109
|
+
□ Keys stored in Keychain/Keystore
|
|
110
|
+
□ Unique IV/Nonce per encryption operation
|
|
111
|
+
□ Session keys different from encryption keys
|
|
112
|
+
|
|
113
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
114
|
+
SECTION 4 — AUTHENTICATION (MASVS-AUTH)
|
|
115
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
116
|
+
|
|
117
|
+
TOKENS AND SESSIONS
|
|
118
|
+
□ Access tokens stored in Keychain/Keystore
|
|
119
|
+
□ Refresh tokens stored in Keychain/Keystore
|
|
120
|
+
□ Short access token expiration (≤ 15 min)
|
|
121
|
+
□ Refresh token rotation implemented
|
|
122
|
+
□ Token revocation server-side possible
|
|
123
|
+
□ Tokens invalidated on logout
|
|
124
|
+
□ Tokens invalidated on password change
|
|
125
|
+
|
|
126
|
+
BIOMETRICS
|
|
127
|
+
□ Biometrics linked to a cryptographic key (not just UI check)
|
|
128
|
+
□ invalidatedByBiometricEnrollment = true (Android)
|
|
129
|
+
□ Secure fallback if biometrics unavailable
|
|
130
|
+
□ Biometrics require device unlock
|
|
131
|
+
□ No bypass possible via ADB or basic Frida
|
|
132
|
+
|
|
133
|
+
SESSION
|
|
134
|
+
□ Inactivity timeout configured
|
|
135
|
+
□ Re-authentication required for sensitive actions
|
|
136
|
+
□ Session invalidated if app is uninstalled
|
|
137
|
+
□ Correct jailbreak/root behavior documented
|
|
138
|
+
|
|
139
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
140
|
+
SECTION 5 — PLATFORM (MASVS-PLATFORM)
|
|
141
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
142
|
+
|
|
143
|
+
ANDROID — COMPONENTS
|
|
144
|
+
□ Unnecessary Activities: android:exported="false"
|
|
145
|
+
□ Unnecessary Services: android:exported="false"
|
|
146
|
+
□ Unnecessary Broadcast Receivers: exported="false"
|
|
147
|
+
□ Unnecessary Content Providers: exported="false"
|
|
148
|
+
□ Permissions required on exported components
|
|
149
|
+
□ Minimal and precise intent filters
|
|
150
|
+
|
|
151
|
+
ANDROID — DEEP LINKS
|
|
152
|
+
□ App Links preferred over custom URL Schemes
|
|
153
|
+
□ Digital Asset Links configured correctly
|
|
154
|
+
□ Deep link parameters validated and sanitised
|
|
155
|
+
□ Auth checked before sensitive actions via deep link
|
|
156
|
+
□ Redirection to external URLs impossible
|
|
157
|
+
|
|
158
|
+
iOS — URL SCHEMES
|
|
159
|
+
□ Custom URL Schemes: parameters validated
|
|
160
|
+
□ Universal Links preferred over URL Schemes
|
|
161
|
+
□ AASA (apple-app-site-association) correctly configured
|
|
162
|
+
□ Sensitive actions protected behind auth
|
|
163
|
+
|
|
164
|
+
WEBVIEW
|
|
165
|
+
□ JavaScript disabled if not needed
|
|
166
|
+
□ Loaded URLs explicitly whitelisted
|
|
167
|
+
□ shouldOverrideUrlLoading / decidePolicyForNavigationAction implemented
|
|
168
|
+
□ allowFileAccess = false
|
|
169
|
+
□ allowUniversalAccessFromFileURLs = false
|
|
170
|
+
□ JavaScript Bridge: minimum exposed methods
|
|
171
|
+
□ WebView messages validated and sanitised
|
|
172
|
+
□ No loading of user-provided URLs without validation
|
|
173
|
+
|
|
174
|
+
PERMISSIONS
|
|
175
|
+
□ All declared permissions are used
|
|
176
|
+
□ No unnecessary permissions declared
|
|
177
|
+
□ Permissions requested at time of need
|
|
178
|
+
□ App works if a permission is denied
|
|
179
|
+
□ Sensitive permissions justified in privacy policy
|
|
180
|
+
(Camera, Microphone, Location, Contacts, Storage)
|
|
181
|
+
|
|
182
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
183
|
+
SECTION 6 — CODE AND BUILD (MASVS-CODE)
|
|
184
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
185
|
+
|
|
186
|
+
SECRETS IN BINARY
|
|
187
|
+
□ No API key in JS/Dart/Swift/Kotlin source code
|
|
188
|
+
□ No internal endpoint (staging, dev) in production code
|
|
189
|
+
□ No hardcoded password
|
|
190
|
+
□ No encryption key in binary
|
|
191
|
+
□ No unnecessary embedded certificate
|
|
192
|
+
□ No internal URL revealing infrastructure
|
|
193
|
+
|
|
194
|
+
BUILD AND CONFIGURATION
|
|
195
|
+
□ Debug mode disabled in release build
|
|
196
|
+
□ Assertions disabled in release build
|
|
197
|
+
□ ProGuard / R8 enabled in release (Android)
|
|
198
|
+
□ Obfuscation configured for sensitive code
|
|
199
|
+
□ Source maps not included in production build
|
|
200
|
+
□ Secure signing configuration (keys protected)
|
|
201
|
+
□ Reproducible build configured if possible
|
|
202
|
+
|
|
203
|
+
DEPENDENCIES
|
|
204
|
+
□ Dependencies audited (npm audit / pub audit)
|
|
205
|
+
□ No unaddressed critical CVE
|
|
206
|
+
□ Lock files committed
|
|
207
|
+
□ Native dependencies verified
|
|
208
|
+
□ Third-party SDK: data policy verified
|
|
209
|
+
(Analytics, Ads, Crash reporting: what do they collect?)
|
|
210
|
+
|
|
211
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
212
|
+
SECTION 7 — RESILIENCE (MASVS-RESILIENCE)
|
|
213
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
214
|
+
(Applicable to financial, health, national security apps)
|
|
215
|
+
|
|
216
|
+
□ Root detection (Android) implemented
|
|
217
|
+
□ Jailbreak detection (iOS) implemented
|
|
218
|
+
□ Defined behavior if root/jailbreak detected
|
|
219
|
+
□ Anti-tampering: binary integrity verification
|
|
220
|
+
□ Anti-debug: debugger attachment detection
|
|
221
|
+
□ Anti-emulator: emulator detection if needed
|
|
222
|
+
□ Frida / hooking frameworks detection
|
|
223
|
+
□ Advanced sensitive code obfuscation
|
|
224
|
+
|
|
225
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
226
|
+
SECTION 8 — COMPLIANCE AND PRIVACY
|
|
227
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
228
|
+
|
|
229
|
+
□ Privacy policy present and accessible
|
|
230
|
+
□ Explicit consent before data collection
|
|
231
|
+
□ Data minimization
|
|
232
|
+
□ Data deleted if account deleted
|
|
233
|
+
□ Data portability right implemented
|
|
234
|
+
□ Analytics: anonymization if possible
|
|
235
|
+
□ Crash reporters: PII filtered before sending
|
|
236
|
+
□ Accurate and complete App Store Privacy Label
|
|
237
|
+
|
|
238
|
+
═══════════════════════════════════════════════════════════════
|
|
239
|
+
MASVS SCORE:
|
|
240
|
+
STORAGE : [_]/8 CRYPTO : [_]/6 AUTH : [_]/7
|
|
241
|
+
NETWORK : [_]/7 PLATFORM : [_]/9 CODE : [_]/8
|
|
242
|
+
RESILIENCE : [_]/8 (if applicable)
|
|
243
|
+
|
|
244
|
+
TOTAL : [___] / [___] applicable items = ____%
|
|
245
|
+
═══════════════════════════════════════════════════════════════
|