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.
Files changed (60) hide show
  1. package/README.md +77 -0
  2. package/dist/cli.d.ts +2 -0
  3. package/dist/cli.js +241 -0
  4. package/dist/mcp-server.d.ts +2 -0
  5. package/dist/mcp-server.js +126 -0
  6. package/package.json +58 -0
  7. package/skills/cyberaudit/AGENT-BOOT.md +122 -0
  8. package/skills/cyberaudit/COMMANDS.md +1125 -0
  9. package/skills/cyberaudit/INSTALL.md +311 -0
  10. package/skills/cyberaudit/MASTER.md +194 -0
  11. package/skills/cyberaudit/README.md +154 -0
  12. package/skills/cyberaudit/USAGE-GUIDE.md +107 -0
  13. package/skills/cyberaudit/mobile/MOBILE-CHECKLIST.md +245 -0
  14. package/skills/cyberaudit/mobile/MOBILE-PHILOSOPHY.md +352 -0
  15. package/skills/cyberaudit/mobile/MOBILE-REMEDIATION-LIBRARY.md +468 -0
  16. package/skills/cyberaudit/mobile/MOBILE-THREAT-MODELS.md +279 -0
  17. package/skills/cyberaudit/mobile/frameworks/EXPO.md +247 -0
  18. package/skills/cyberaudit/mobile/frameworks/FLUTTER.md +338 -0
  19. package/skills/cyberaudit/mobile/frameworks/IONIC.md +248 -0
  20. package/skills/cyberaudit/mobile/frameworks/REACT-NATIVE.md +479 -0
  21. package/skills/cyberaudit/mobile/vulnerabilities/AUTH-MOBILE.md +160 -0
  22. package/skills/cyberaudit/mobile/vulnerabilities/BINARY-ANALYSIS.md +193 -0
  23. package/skills/cyberaudit/mobile/vulnerabilities/CRYPTO-MOBILE.md +192 -0
  24. package/skills/cyberaudit/mobile/vulnerabilities/IPC-DEEPLINKS.md +231 -0
  25. package/skills/cyberaudit/mobile/vulnerabilities/NETWORK-MOBILE.md +165 -0
  26. package/skills/cyberaudit/mobile/vulnerabilities/PERMISSIONS.md +180 -0
  27. package/skills/cyberaudit/mobile/vulnerabilities/RUNTIME-MOBILE.md +214 -0
  28. package/skills/cyberaudit/mobile/vulnerabilities/STORAGE.md +197 -0
  29. package/skills/cyberaudit/reports/EXECUTIVE-SUMMARY-TEMPLATE.md +188 -0
  30. package/skills/cyberaudit/reports/REPORT-TEMPLATE-MOBILE.md +410 -0
  31. package/skills/cyberaudit/reports/REPORT-TEMPLATE-WEB.md +222 -0
  32. package/skills/cyberaudit/shared/COMPLIANCE.md +307 -0
  33. package/skills/cyberaudit/shared/CVSS-GUIDE.md +175 -0
  34. package/skills/cyberaudit/shared/OWASP-MAPPER.md +130 -0
  35. package/skills/cyberaudit/shared/SEVERITY-SCORING.md +102 -0
  36. package/skills/cyberaudit/shared/THREAT-MODELING.md +112 -0
  37. package/skills/cyberaudit/web/WEB-CHECKLIST.md +222 -0
  38. package/skills/cyberaudit/web/WEB-PHILOSOPHY.md +308 -0
  39. package/skills/cyberaudit/web/WEB-REMEDIATION-LIBRARY.md +665 -0
  40. package/skills/cyberaudit/web/WEB-THREAT-MODELS.md +460 -0
  41. package/skills/cyberaudit/web/frameworks/ANGULAR.md +169 -0
  42. package/skills/cyberaudit/web/frameworks/EXPRESS.md +185 -0
  43. package/skills/cyberaudit/web/frameworks/LARAVEL.md +371 -0
  44. package/skills/cyberaudit/web/frameworks/NESTJS.md +337 -0
  45. package/skills/cyberaudit/web/frameworks/NEXTJS.md +352 -0
  46. package/skills/cyberaudit/web/frameworks/REACT.md +346 -0
  47. package/skills/cyberaudit/web/frameworks/VUE.md +205 -0
  48. package/skills/cyberaudit/web/vulnerabilities/AUTH-AUTHZ.md +117 -0
  49. package/skills/cyberaudit/web/vulnerabilities/BUSINESS-LOGIC.md +603 -0
  50. package/skills/cyberaudit/web/vulnerabilities/CORS.md +117 -0
  51. package/skills/cyberaudit/web/vulnerabilities/CSRF.md +131 -0
  52. package/skills/cyberaudit/web/vulnerabilities/DESERIALIZATION.md +96 -0
  53. package/skills/cyberaudit/web/vulnerabilities/HEADERS.md +105 -0
  54. package/skills/cyberaudit/web/vulnerabilities/IDOR-BOLA.md +153 -0
  55. package/skills/cyberaudit/web/vulnerabilities/INJECTION.md +165 -0
  56. package/skills/cyberaudit/web/vulnerabilities/SECRETS.md +119 -0
  57. package/skills/cyberaudit/web/vulnerabilities/SSRF.md +124 -0
  58. package/skills/cyberaudit/web/vulnerabilities/SUPPLY-CHAIN.md +142 -0
  59. package/skills/cyberaudit/web/vulnerabilities/XSS.md +133 -0
  60. package/skills/cyberaudit/web/vulnerabilities/XXE.md +94 -0
@@ -0,0 +1,197 @@
1
+ # 💾 STORAGE — MOBILE VULNERABILITY GUIDE
2
+ # Mobile local storage vulnerabilities
3
+
4
+ ═══════════════════════════════════════════════════════════════
5
+ UNDERSTANDING MOBILE STORAGE
6
+ ═══════════════════════════════════════════════════════════════
7
+
8
+ STORAGE SECURITY HIERARCHY
9
+ ────────────────────────────
10
+
11
+ LEVEL 1 — MOST SECURE (Hardware-backed)
12
+ iOS : Keychain with Secure Enclave
13
+ Android: Keystore with StrongBox (if available)
14
+ → Protected by dedicated hardware
15
+ → Impossible to extract even with root
16
+ → Bound to physical device
17
+
18
+ LEVEL 2 — SECURE (Software-backed)
19
+ iOS : Standard Keychain
20
+ Android: Software Keystore
21
+ → Encrypted by the operating system
22
+ → Hard to extract, requires advanced exploitation
23
+ → Recommended for auth tokens
24
+
25
+ LEVEL 3 — ACCEPTABLE (with app-level encryption)
26
+ MMKV encrypted, Hive encrypted, SQLCipher
27
+ → Encrypted by the application itself
28
+ → Safe if key is in Level 1 or 2
29
+ → Risky if key is in code
30
+
31
+ LEVEL 4 — DANGEROUS (unencrypted)
32
+ AsyncStorage, SharedPreferences, UserDefaults,
33
+ localStorage, sessionStorage, unencrypted SQLite
34
+ → Readable directly on rooted/jailbroken device
35
+ → Extractable via ADB backup (Android)
36
+ → Never use for sensitive data
37
+
38
+ DATA CONSIDERED SENSITIVE
39
+ ───────────────────────────────
40
+ → Authentication tokens (JWT, session tokens)
41
+ → Refresh tokens
42
+ → Passwords (even hashed client-side)
43
+ → Cryptographic keys
44
+ → Credit card numbers
45
+ → Health data (HIPAA)
46
+ → Personally identifiable information (GDPR)
47
+ → PIN codes / secret codes
48
+
49
+ ═══════════════════════════════════════════════════════════════
50
+ DETAILED VULNERABILITIES
51
+ ═══════════════════════════════════════════════════════════════
52
+
53
+ VULN-STORAGE-001 — Sensitive data in AsyncStorage
54
+ Severity: HIGH (CVSS 6.8)
55
+ MASVS : MASVS-STORAGE-1
56
+
57
+ Explanation:
58
+ AsyncStorage stores data in unencrypted files
59
+ in the application directory.
60
+ On rooted Android:
61
+ /data/data/com.yourapp/databases/AsyncStorage
62
+ On jailbroken iOS:
63
+ NSLibraryDirectory/RCTAsyncLocalStorage_V1/
64
+
65
+ These files are readable in seconds
66
+ with the appropriate tools.
67
+
68
+ Detection:
69
+ AsyncStorage.setItem(key, value) where value contains
70
+ a token, password, or sensitive data.
71
+
72
+ Exploitation:
73
+ 1. Rooted device
74
+ 2. adb shell
75
+ 3. cat /data/data/com.app/databases/AsyncStorage*
76
+ 4. Read cleartext token
77
+
78
+ Fix: See REM-MOB-001
79
+
80
+ VULN-STORAGE-002 — Unprotected Android Backup
81
+ Severity: HIGH (CVSS 6.2)
82
+ MASVS : MASVS-STORAGE-3
83
+
84
+ Explanation:
85
+ By default: android:allowBackup="true"
86
+ An ADB backup can be performed without root
87
+ if USB debugging is enabled.
88
+
89
+ Even without USB debugging, cloud backups (Google)
90
+ may include app data.
91
+
92
+ Detection:
93
+ android:allowBackup="true" in AndroidManifest.xml
94
+ OR absence of backup_rules.xml
95
+
96
+ Exploitation:
97
+ adb backup -apk com.yourapp -f backup.ab
98
+ java -jar abe.jar unpack backup.ab backup.tar
99
+ tar xf backup.tar
100
+ ls apps/com.yourapp/
101
+ # All app data is there
102
+
103
+ Fix:
104
+ <application android:allowBackup="false" />
105
+ <!-- OR with selective backup rules -->
106
+ <application
107
+ android:fullBackupContent="@xml/backup_rules"
108
+ android:dataExtractionRules="@xml/data_extraction_rules">
109
+
110
+ <!-- backup_rules.xml -->
111
+ <full-backup-content>
112
+ <exclude domain="sharedpref" path="." />
113
+ <exclude domain="database" path="." />
114
+ <exclude domain="file" path="sensitive/" />
115
+ </full-backup-content>
116
+
117
+ VULN-STORAGE-003 — Screenshots in Task Switcher
118
+ Severity: MEDIUM (CVSS 4.0)
119
+ MASVS : MASVS-STORAGE-4
120
+
121
+ Explanation:
122
+ When the user puts the app in background,
123
+ Android and iOS capture a screenshot for
124
+ display in the task switcher.
125
+
126
+ This screenshot may contain:
127
+ → Bank balance
128
+ → Private messages
129
+ → Medical data
130
+ → Personal information
131
+
132
+ On a shared or stolen device, these screenshots
133
+ are accessible.
134
+
135
+ Fix:
136
+ Android — FLAG_SECURE in MainActivity:
137
+ getWindow().setFlags(
138
+ WindowManager.LayoutParams.FLAG_SECURE,
139
+ WindowManager.LayoutParams.FLAG_SECURE
140
+ )
141
+
142
+ iOS — Overlay when backgrounding:
143
+ NotificationCenter.default.addObserver(
144
+ self,
145
+ selector: #selector(appDidBecomeInactive),
146
+ name: UIApplication.willResignActiveNotification,
147
+ object: nil
148
+ )
149
+
150
+ React Native — See REM-MOB-003
151
+
152
+ VULN-STORAGE-004 — Sensitive data in logs
153
+ Severity: MEDIUM (CVSS 5.5)
154
+ MASVS : MASVS-STORAGE-2
155
+
156
+ Explanation:
157
+ System logs on Android are accessible via:
158
+ adb logcat
159
+ Without root, only your own app logs.
160
+ With root, all system logs.
161
+
162
+ Tools like LogCat Reader can read
163
+ other apps' logs on some older devices.
164
+
165
+ Detection:
166
+ console.log, print, NSLog with tokens, passwords,
167
+ user data, complete API responses.
168
+
169
+ Fix: See REM-MOB-004
170
+
171
+ VULN-STORAGE-005 — Unencrypted SQLite Database
172
+ Severity: HIGH (CVSS 6.8)
173
+ MASVS : MASVS-STORAGE-1
174
+
175
+ Explanation:
176
+ An unencrypted SQLite DB is an ordinary file.
177
+ On rooted device, directly readable:
178
+ adb shell
179
+ sqlite3 /data/data/com.app/databases/app.db
180
+ .dump
181
+
182
+ Or extracted via backup and opened with DB Browser for SQLite.
183
+
184
+ Fix:
185
+ React Native: react-native-sqlite-storage + SQLCipher
186
+ Flutter : sqflite_sqlcipher
187
+ Ionic : Ionic Secure Storage
188
+
189
+ // React Native with SQLCipher
190
+ import SQLite from 'react-native-sqlite-storage'
191
+ SQLite.enablePromise(true)
192
+
193
+ const db = await SQLite.openDatabase({
194
+ name: 'app.db',
195
+ key: await getEncryptionKeyFromKeychain(),
196
+ // The key comes from Keychain, not code!
197
+ })
@@ -0,0 +1,188 @@
1
+ # 📊 EXECUTIVE SUMMARY — CYBERAUDIT SKILL
2
+ # Executive summary — For decision-makers and management
3
+
4
+ ═══════════════════════════════════════════════════════════════
5
+ USAGE: This template is used ALONE when the recipient
6
+ is non-technical (CTO, CEO, CISO, client).
7
+ It summarises a full report in 1-2 pages.
8
+ Business language, zero technical jargon.
9
+ ═══════════════════════════════════════════════════════════════
10
+
11
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
12
+
13
+ SECURITY EXECUTIVE SUMMARY
14
+ ════════════════════════════
15
+
16
+ Application : [NAME]
17
+ Type : [Web / Mobile / Web + Mobile]
18
+ Date : [DATE]
19
+ Reference : [FULL REPORT ID]
20
+
21
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
22
+
23
+ ONE-LINE VERDICT
24
+ ─────────────────────
25
+
26
+ "[The application has critical vulnerabilities
27
+ that expose user data to an immediate
28
+ risk of compromise and block its deployment
29
+ to production as-is.]"
30
+
31
+ OR
32
+
33
+ "[The application has a satisfactory security level
34
+ with a few improvement points to plan, and can
35
+ be deployed to production after fixing the 2
36
+ high-severity items identified.]"
37
+
38
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
39
+
40
+ KEY INDICATORS
41
+ ────────────────
42
+
43
+ SECURITY SCORE : [XX]/100
44
+ RISK LEVEL : [🔴 CRITICAL / 🟠 HIGH / 🟡 MODERATE / 🟢 GOOD]
45
+ PRODUCTION DEPLOYMENT : [🔴 BLOCKED / 🟠 CONDITIONAL / 🟢 AUTHORISED]
46
+ GDPR COMPLIANCE : [✅ Compliant / ❌ Non-compliant / ⚠️ Partial]
47
+ PCI-DSS COMPLIANCE : [✅ / ❌ / ⚠️ / N/A]
48
+
49
+ VULNERABILITIES FOUND:
50
+ ┌──────────────────────────────────────────────┐
51
+ │ 🔴 Critical : [N] → Immediate risk │
52
+ │ 🟠 High : [N] → Significant risk │
53
+ │ 🟡 Medium : [N] → Moderate risk │
54
+ │ 🟢 Low : [N] → Minor risk │
55
+ │ │
56
+ │ TOTAL : [N] vulnerabilities │
57
+ └──────────────────────────────────────────────┘
58
+
59
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
60
+
61
+ WHAT THIS MEANS IN PRACTICE
62
+ ────────────────────────────────────
63
+
64
+ Agent instructions:
65
+ Translate technical findings into business risks
66
+ understandable by a non-technical person.
67
+ Use simple analogies. No jargon.
68
+
69
+ RISK 1 — [Business title, not technical]
70
+ ┌──────────────────────────────────────────────────────────┐
71
+ │ What happens: │
72
+ │ [Simple explanation — e.g., "An attacker can access │
73
+ │ the personal data of all your users │
74
+ │ without having an account on your platform"] │
75
+ │ │
76
+ │ Potential impact: │
77
+ │ [Business impact — e.g., "Exposure of X customer │
78
+ │ data, GDPR fine risk up to 4% of revenue, │
79
+ │ reputational damage"] │
80
+ │ │
81
+ │ Fix time : [X days] │
82
+ │ Estimated cost : [Low / Medium / High] │
83
+ └──────────────────────────────────────────────────────────┘
84
+
85
+ RISK 2 — [Business title]
86
+ ┌──────────────────────────────────────────────────────────┐
87
+ │ What happens: │
88
+ │ [Simple explanation] │
89
+ │ │
90
+ │ Potential impact: │
91
+ │ [Business impact] │
92
+ │ │
93
+ │ Fix time : [X days] │
94
+ │ Estimated cost : [Low / Medium / High] │
95
+ └──────────────────────────────────────────────────────────┘
96
+
97
+ RISK 3 — [Business title]
98
+ ┌──────────────────────────────────────────────────────────┐
99
+ │ What happens: │
100
+ │ [Simple explanation] │
101
+ │ │
102
+ │ Potential impact: │
103
+ │ [Business impact] │
104
+ │ │
105
+ │ Fix time : [X days] │
106
+ │ Estimated cost : [Low / Medium / High] │
107
+ └──────────────────────────────────────────────────────────┘
108
+
109
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
110
+
111
+ WHAT IS WORKING WELL
112
+ ────────────────────────
113
+
114
+ [Always mention positive points.
115
+ A good security report acknowledges what is done well.]
116
+
117
+ ✅ [Positive point 1 — e.g., "Authentication is robust
118
+ with two-factor authentication and protection against
119
+ brute force attacks"]
120
+
121
+ ✅ [Positive point 2 — e.g., "Network communications are
122
+ encrypted and certificates are correctly verified"]
123
+
124
+ ✅ [Positive point 3]
125
+
126
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
127
+
128
+ RECOMMENDED ACTION PLAN
129
+ ────────────────────────
130
+
131
+ WEEK 1 — Immediate actions
132
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
133
+ Who : Development team
134
+ What : [Critical actions in simple language]
135
+ Budget : [Estimated in man-days]
136
+ Deliverable : Validated critical fixes
137
+
138
+ MONTH 1 — Priority actions
139
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
140
+ Who : Development team + DevOps
141
+ What : [High-severity actions]
142
+ Budget : [Estimated in man-days]
143
+ Deliverable : Remediation report
144
+
145
+ QUARTER 1 — Structural improvements
146
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
147
+ Who : Extended team
148
+ What : [Architecture and process improvements]
149
+ Budget : [Estimated in man-days]
150
+ Deliverable : Level [X] certified application
151
+
152
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
153
+
154
+ INVESTMENT VS RISK
155
+ ─────────────────────────
156
+
157
+ Fix cost : [XX] man-days ≈ [XX]€
158
+
159
+ Cost of a data breach (estimate):
160
+ ┌──────────────────────────────────────────────────┐
161
+ │ Possible GDPR fine : up to [XX]€ │
162
+ │ Notification cost : [XX]€ estimated │
163
+ │ Reputational damage : [Not quantifiable] │
164
+ │ Average data breach cost : 4.45M$ (IBM 2023) │
165
+ │ │
166
+ │ ROI of fixes : Obvious │
167
+ └──────────────────────────────────────────────────┘
168
+
169
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
170
+
171
+ DECISION REQUIRED
172
+ ─────────────────
173
+
174
+ □ Approve Phase 1 remediation plan (immediate)
175
+ □ Allocate [N] man-days to the development team
176
+ □ [If NO-GO] Block deployment until fixes are complete
177
+ □ Schedule a follow-up audit in [30/60/90] days
178
+ □ [If applicable] Notify the DPO for GDPR risk
179
+
180
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
181
+
182
+ Full report available : [Report reference]
183
+ For any questions : Use CyberAudit in Q&A mode
184
+
185
+ Generated by CyberAudit Skill v3.0 — LUNAIRE EDITION
186
+ CONFIDENTIAL document — Management level only
187
+
188
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━