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,307 @@
|
|
|
1
|
+
# ⚖️ COMPLIANCE — CYBERAUDIT SKILL
|
|
2
|
+
# Regulatory compliance guide for auditing
|
|
3
|
+
|
|
4
|
+
═══════════════════════════════════════════════════════════════
|
|
5
|
+
USAGE : This file guides the agent to assess regulatory
|
|
6
|
+
compliance during the audit. Loaded automatically
|
|
7
|
+
when sensitive data is detected or requested
|
|
8
|
+
explicitly.
|
|
9
|
+
═══════════════════════════════════════════════════════════════
|
|
10
|
+
|
|
11
|
+
═══════════════════════════════════════════════════════════════
|
|
12
|
+
GDPR — GENERAL DATA PROTECTION REGULATION
|
|
13
|
+
═══════════════════════════════════════════════════════════════
|
|
14
|
+
|
|
15
|
+
APPLICABILITY
|
|
16
|
+
─────────────
|
|
17
|
+
Applies if :
|
|
18
|
+
→ The application processes data of EU residents
|
|
19
|
+
→ Regardless of the company's hosting country
|
|
20
|
+
→ Personal data = any info identifying a person
|
|
21
|
+
|
|
22
|
+
Personal data concerned :
|
|
23
|
+
→ First name, last name, email, phone
|
|
24
|
+
→ IP address (considered personal data)
|
|
25
|
+
→ Location data
|
|
26
|
+
→ Online identifiers (cookies, device ID)
|
|
27
|
+
→ Health data (special category — enhanced protection)
|
|
28
|
+
→ Biometric data (special category)
|
|
29
|
+
→ Financial / banking data
|
|
30
|
+
|
|
31
|
+
GDPR TECHNICAL REQUIREMENTS
|
|
32
|
+
──────────────────────────
|
|
33
|
+
|
|
34
|
+
ARTICLE 25 — Privacy by Design & by Default
|
|
35
|
+
┌──────────────────────────────────────────────────────────┐
|
|
36
|
+
│ CHECK : │
|
|
37
|
+
│ □ Minimal collection (only what is necessary) │
|
|
38
|
+
│ □ Defined and enforced retention period │
|
|
39
|
+
│ □ Unnecessary data automatically deleted │
|
|
40
|
+
│ □ Pseudonymization of data when possible │
|
|
41
|
+
│ □ Encryption of personal data at rest │
|
|
42
|
+
│ □ Encryption in transit (HTTPS) │
|
|
43
|
+
│ □ Access to personal data logged │
|
|
44
|
+
│ □ Restrictive privacy settings by default │
|
|
45
|
+
└──────────────────────────────────────────────────────────┘
|
|
46
|
+
|
|
47
|
+
ARTICLE 32 — Security of processing
|
|
48
|
+
┌──────────────────────────────────────────────────────────┐
|
|
49
|
+
│ CHECK : │
|
|
50
|
+
│ □ Encryption of personal data │
|
|
51
|
+
│ □ Confidentiality, integrity, availability ensured │
|
|
52
|
+
│ □ Ability to restore after an incident │
|
|
53
|
+
│ □ Regular testing and evaluation procedure │
|
|
54
|
+
│ □ Password hashing (bcrypt/argon2) │
|
|
55
|
+
│ □ Strong authentication for PII data access │
|
|
56
|
+
│ □ RBAC limiting access to personal data │
|
|
57
|
+
└──────────────────────────────────────────────────────────┘
|
|
58
|
+
|
|
59
|
+
ARTICLE 33 — Breach notification
|
|
60
|
+
┌──────────────────────────────────────────────────────────┐
|
|
61
|
+
│ CHECK : │
|
|
62
|
+
│ □ Logging of PII data access and modifications │
|
|
63
|
+
│ □ Ability to detect a breach (monitoring) │
|
|
64
|
+
│ □ Ability to identify compromised data │
|
|
65
|
+
│ □ Documented notification procedure (72h) │
|
|
66
|
+
└──────────────────────────────────────────────────────────┘
|
|
67
|
+
|
|
68
|
+
USER RIGHTS — Technical requirements
|
|
69
|
+
┌──────────────────────────────────────────────────────────┐
|
|
70
|
+
│ Right of access (Art. 15) │
|
|
71
|
+
│ □ User data export available │
|
|
72
|
+
│ □ Readable format (JSON, CSV) │
|
|
73
|
+
│ │
|
|
74
|
+
│ Right to erasure (Art. 17) │
|
|
75
|
+
│ □ Effective deletion (not just deactivation) │
|
|
76
|
+
│ □ Cascade deletion (all tables) │
|
|
77
|
+
│ □ Deletion in backups (policy) │
|
|
78
|
+
│ │
|
|
79
|
+
│ Right to data portability (Art. 20) │
|
|
80
|
+
│ □ Export in an interoperable format │
|
|
81
|
+
│ │
|
|
82
|
+
│ Right to rectification (Art. 16) │
|
|
83
|
+
│ □ Modification of personal data possible │
|
|
84
|
+
└──────────────────────────────────────────────────────────┘
|
|
85
|
+
|
|
86
|
+
COMMON GDPR FINDINGS TO DETECT
|
|
87
|
+
───────────────────────────────────
|
|
88
|
+
|
|
89
|
+
CRITICAL — Personal data in plaintext in database
|
|
90
|
+
Pattern : Unencrypted columns for : ssn, passport,
|
|
91
|
+
health_data, payment_method, biometric_data
|
|
92
|
+
Severity : HIGH (GDPR special categories = CRITICAL)
|
|
93
|
+
Remediation : AES-256 encryption at application level
|
|
94
|
+
or transparent database encryption
|
|
95
|
+
|
|
96
|
+
CRITICAL — No retention period
|
|
97
|
+
Pattern : No cron/job for automatic deletion,
|
|
98
|
+
data kept indefinitely
|
|
99
|
+
Severity : MEDIUM
|
|
100
|
+
Remediation : Implement a retention policy
|
|
101
|
+
with automatic deletion
|
|
102
|
+
|
|
103
|
+
HIGH — Logs containing personal data
|
|
104
|
+
Pattern : console.log(user), logger.info({email, name}),
|
|
105
|
+
requests logged with body containing PII
|
|
106
|
+
Severity : HIGH
|
|
107
|
+
Remediation : Mask/pseudonymize in logs
|
|
108
|
+
|
|
109
|
+
HIGH — No right to erasure
|
|
110
|
+
Pattern : No DELETE /user/account route,
|
|
111
|
+
soft delete only
|
|
112
|
+
Severity : MEDIUM
|
|
113
|
+
Remediation : Implement full deletion
|
|
114
|
+
|
|
115
|
+
MEDIUM — Cookies without consent
|
|
116
|
+
Pattern : Analytics/tracking cookies without banner,
|
|
117
|
+
persistent non-essential cookies
|
|
118
|
+
Severity : MEDIUM
|
|
119
|
+
Remediation : Implement a CMP (Consent Management)
|
|
120
|
+
|
|
121
|
+
═══════════════════════════════════════════════════════════════
|
|
122
|
+
PCI-DSS — PAYMENT CARD INDUSTRY DATA SECURITY STANDARD
|
|
123
|
+
═══════════════════════════════════════════════════════════════
|
|
124
|
+
|
|
125
|
+
APPLICABILITY
|
|
126
|
+
─────────────
|
|
127
|
+
Applies if :
|
|
128
|
+
→ The application processes, stores, or transmits card data
|
|
129
|
+
→ Card numbers, CVV, expiration dates, PIN
|
|
130
|
+
→ EVEN if using Stripe/PayPal (reduced scope
|
|
131
|
+
but minimum requirements still apply)
|
|
132
|
+
|
|
133
|
+
GOLDEN RULE OF PCI-DSS FOR DEVELOPERS
|
|
134
|
+
──────────────────────────────────────────
|
|
135
|
+
|
|
136
|
+
NEVER STORE :
|
|
137
|
+
→ CVV/CVC (security code) — ABSOLUTELY FORBIDDEN
|
|
138
|
+
→ Card number in plaintext
|
|
139
|
+
→ PIN in plaintext
|
|
140
|
+
→ Full magnetic stripe data
|
|
141
|
+
|
|
142
|
+
If using Stripe/PayPal (recommended) :
|
|
143
|
+
→ Never see card data on server side
|
|
144
|
+
→ Use Stripe tokens (tok_xxx, pm_xxx) only
|
|
145
|
+
→ Validated webhook signature
|
|
146
|
+
|
|
147
|
+
COMMON PCI-DSS FINDINGS
|
|
148
|
+
──────────────────────────
|
|
149
|
+
|
|
150
|
+
CRITICAL — Storing the CVV
|
|
151
|
+
Pattern : cvv column, card_security_code in database
|
|
152
|
+
Log containing a CVV
|
|
153
|
+
Severity : CRITICAL — direct PCI-DSS violation
|
|
154
|
+
Remediation : Immediate deletion, never store
|
|
155
|
+
|
|
156
|
+
CRITICAL — Card number in plaintext
|
|
157
|
+
Pattern : card_number, pan, credit_card column not tokenized
|
|
158
|
+
Severity : CRITICAL
|
|
159
|
+
Remediation : Tokenization via Stripe/Braintree,
|
|
160
|
+
or encryption + masking (1234 **** **** 5678)
|
|
161
|
+
|
|
162
|
+
HIGH — Stripe webhook without signature validation
|
|
163
|
+
Pattern : app.post('/webhook/stripe', (req, res) => {
|
|
164
|
+
const event = req.body // No verification !
|
|
165
|
+
Severity : HIGH
|
|
166
|
+
Remediation :
|
|
167
|
+
const event = stripe.webhooks.constructEvent(
|
|
168
|
+
req.rawBody,
|
|
169
|
+
req.headers['stripe-signature'],
|
|
170
|
+
process.env.STRIPE_WEBHOOK_SECRET
|
|
171
|
+
)
|
|
172
|
+
|
|
173
|
+
HIGH — Stripe Live key in plaintext in code
|
|
174
|
+
Pattern : sk_live_xxxxxxxx in source code
|
|
175
|
+
Severity : CRITICAL (exposed secret)
|
|
176
|
+
Remediation : Environment variable immediately,
|
|
177
|
+
rotate the compromised key
|
|
178
|
+
|
|
179
|
+
MEDIUM — Logs with card numbers (even partial)
|
|
180
|
+
Pattern : logger.info('Payment for card:', cardNumber)
|
|
181
|
+
Severity : HIGH
|
|
182
|
+
Remediation : Never log card data
|
|
183
|
+
|
|
184
|
+
═══════════════════════════════════════════════════════════════
|
|
185
|
+
HIPAA — HEALTH INSURANCE PORTABILITY AND ACCOUNTABILITY ACT
|
|
186
|
+
═══════════════════════════════════════════════════════════════
|
|
187
|
+
|
|
188
|
+
APPLICABILITY
|
|
189
|
+
─────────────
|
|
190
|
+
Applies if :
|
|
191
|
+
→ US application processing PHI (Protected Health Information)
|
|
192
|
+
→ Health data : diagnoses, prescriptions, results,
|
|
193
|
+
medical records, health insurance data
|
|
194
|
+
|
|
195
|
+
HIPAA TECHNICAL REQUIREMENTS (SAFEGUARDS)
|
|
196
|
+
─────────────────────────────────────────
|
|
197
|
+
|
|
198
|
+
□ Encryption of PHI at rest (AES-256 minimum)
|
|
199
|
+
□ Encryption of PHI in transit (TLS 1.2+)
|
|
200
|
+
□ Unique user access control
|
|
201
|
+
□ Audit logs of all PHI accesses
|
|
202
|
+
□ Automatic logout after inactivity
|
|
203
|
+
□ Strong authentication mandatory
|
|
204
|
+
□ Mobile device encryption
|
|
205
|
+
□ Documented breach procedure (60 days notification)
|
|
206
|
+
|
|
207
|
+
COMMON HIPAA FINDINGS
|
|
208
|
+
────────────────────────
|
|
209
|
+
|
|
210
|
+
CRITICAL — PHI not encrypted in database
|
|
211
|
+
Fields : diagnosis, prescription, medical_record,
|
|
212
|
+
health_condition, lab_results
|
|
213
|
+
Remediation : AES-256 encryption at application level
|
|
214
|
+
|
|
215
|
+
CRITICAL — PHI in logs
|
|
216
|
+
Pattern : logger.debug('Patient data:', patient)
|
|
217
|
+
Remediation : Never log PHI
|
|
218
|
+
|
|
219
|
+
HIGH — No audit trail for PHI accesses
|
|
220
|
+
Pattern : No logging of PHI reads/modifications
|
|
221
|
+
Remediation : Log each access with user_id, timestamp,
|
|
222
|
+
action, resource_id
|
|
223
|
+
|
|
224
|
+
HIGH — Session without timeout
|
|
225
|
+
Pattern : No inactive session expiration
|
|
226
|
+
Remediation : 15 minute inactivity timeout for PHI
|
|
227
|
+
|
|
228
|
+
═══════════════════════════════════════════════════════════════
|
|
229
|
+
SOC 2 — SERVICE ORGANIZATION CONTROL 2
|
|
230
|
+
═══════════════════════════════════════════════════════════════
|
|
231
|
+
|
|
232
|
+
APPLICABILITY
|
|
233
|
+
─────────────
|
|
234
|
+
Often required by B2B Enterprise customers
|
|
235
|
+
Especially in SaaS, cloud services
|
|
236
|
+
|
|
237
|
+
RELEVANT TRUST SERVICE CRITERIA
|
|
238
|
+
───────────────────────────────────
|
|
239
|
+
|
|
240
|
+
CC6 — Logical and Physical Access Controls
|
|
241
|
+
□ MFA on all admin access
|
|
242
|
+
□ Principle of least privilege
|
|
243
|
+
□ Quarterly access review
|
|
244
|
+
□ Immediate revocation upon departure
|
|
245
|
+
|
|
246
|
+
CC7 — System Operations
|
|
247
|
+
□ Anomaly monitoring
|
|
248
|
+
□ Intrusion detection
|
|
249
|
+
□ Alerts on security events
|
|
250
|
+
|
|
251
|
+
CC8 — Change Management
|
|
252
|
+
□ Security tests in CI/CD pipeline
|
|
253
|
+
□ Code review before merge
|
|
254
|
+
□ Audit trail of changes
|
|
255
|
+
|
|
256
|
+
CC9 — Risk Mitigation
|
|
257
|
+
□ Third-party vendor management
|
|
258
|
+
□ Dependency audit
|
|
259
|
+
□ Incident management procedure
|
|
260
|
+
|
|
261
|
+
═══════════════════════════════════════════════════════════════
|
|
262
|
+
COMPLIANCE CHECKLIST FOR THE AGENT
|
|
263
|
+
═══════════════════════════════════════════════════════════════
|
|
264
|
+
|
|
265
|
+
AUTOMATIC COMPLIANCE CONTEXT DETECTION
|
|
266
|
+
─────────────────────────────────────────────
|
|
267
|
+
|
|
268
|
+
If the app contains these patterns → enable GDPR :
|
|
269
|
+
→ Columns : email, name, phone, address, ip_address,
|
|
270
|
+
birth_date, gender, nationality
|
|
271
|
+
→ Routes : /register, /profile, /user
|
|
272
|
+
→ Mentions : gdpr, rgpd, dpo, privacy
|
|
273
|
+
|
|
274
|
+
If the app contains these patterns → enable PCI-DSS :
|
|
275
|
+
→ Columns : card_number, cvv, expiry, pan
|
|
276
|
+
→ Imports : stripe, braintree, paypal, square
|
|
277
|
+
→ Routes : /payment, /checkout, /billing
|
|
278
|
+
|
|
279
|
+
If the app contains these patterns → enable HIPAA :
|
|
280
|
+
→ Columns : diagnosis, prescription, medical, health,
|
|
281
|
+
patient, ehr, emr
|
|
282
|
+
→ Imports : hl7, fhir
|
|
283
|
+
→ Context mentioned in the code/README
|
|
284
|
+
|
|
285
|
+
COMPLIANCE SCORING
|
|
286
|
+
───────────────────
|
|
287
|
+
|
|
288
|
+
COMPLIANT : All applicable requirements met
|
|
289
|
+
PARTIAL : >70% of requirements met
|
|
290
|
+
NON-COMPLIANT : <70% of requirements met
|
|
291
|
+
CRITICAL : Direct violation of a mandatory rule
|
|
292
|
+
(e.g.: CVV stored = direct PCI-DSS violation)
|
|
293
|
+
|
|
294
|
+
LEGAL NOTICE
|
|
295
|
+
────────────────────
|
|
296
|
+
|
|
297
|
+
This compliance guide is provided for informational purposes
|
|
298
|
+
to guide the technical audit. It does not constitute
|
|
299
|
+
legal advice. For official certification,
|
|
300
|
+
consult a certified auditor (QSA for PCI-DSS,
|
|
301
|
+
DPO for GDPR, HIPAA Privacy Officer for HIPAA).
|
|
302
|
+
|
|
303
|
+
Official references :
|
|
304
|
+
→ GDPR : https://gdpr.eu/
|
|
305
|
+
→ PCI-DSS : https://www.pcisecuritystandards.org/
|
|
306
|
+
→ HIPAA : https://www.hhs.gov/hipaa/
|
|
307
|
+
→ SOC 2 : https://www.aicpa.org/
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# 📊 COMPLETE CVSS GUIDE — CYBERAUDIT SKILL
|
|
2
|
+
# Common Vulnerability Scoring System v3.1
|
|
3
|
+
|
|
4
|
+
═══════════════════════════════════════════════════════════════
|
|
5
|
+
CVSS 3.1 — COMPLETE REFERENCE
|
|
6
|
+
═══════════════════════════════════════════════════════════════
|
|
7
|
+
|
|
8
|
+
FORMAT OF THE CVSS VECTOR
|
|
9
|
+
───────────────────────
|
|
10
|
+
CVSS:3.1/AV:[X]/AC:[X]/PR:[X]/UI:[X]/S:[X]/C:[X]/I:[X]/A:[X]
|
|
11
|
+
|
|
12
|
+
BASE METRICS (BASE SCORE)
|
|
13
|
+
──────────────────────────────
|
|
14
|
+
|
|
15
|
+
AV — ATTACK VECTOR
|
|
16
|
+
N (Network) 3.85 Via the Internet or remote network
|
|
17
|
+
A (Adjacent) 2.62 Same network segment (LAN, Bluetooth, WiFi)
|
|
18
|
+
L (Local) 1.55 Local access required (shell, session)
|
|
19
|
+
P (Physical) 0.20 Physical access to the device required
|
|
20
|
+
|
|
21
|
+
AC — ATTACK COMPLEXITY
|
|
22
|
+
L (Low) 0.77 Reproducible conditions, no special prerequisites
|
|
23
|
+
H (High) 0.44 Specific conditions: race condition, rare config
|
|
24
|
+
|
|
25
|
+
PR — PRIVILEGES REQUIRED
|
|
26
|
+
N (None) 0.85 Anonymous, no authentication
|
|
27
|
+
L (Low) 0.62 Normal user (0.68 if scope changed)
|
|
28
|
+
H (High) 0.27 Administrator (0.50 if scope changed)
|
|
29
|
+
|
|
30
|
+
UI — USER INTERACTION
|
|
31
|
+
N (None) 0.85 Exploitation without victim action
|
|
32
|
+
R (Required) 0.62 The victim must click/take an action
|
|
33
|
+
|
|
34
|
+
S — SCOPE
|
|
35
|
+
U (Unchanged) Impact limited to the vulnerable component
|
|
36
|
+
C (Changed) Impact on other components/systems
|
|
37
|
+
|
|
38
|
+
C — CONFIDENTIALITY IMPACT
|
|
39
|
+
H (High) 0.56 All data exposed, or critical data
|
|
40
|
+
L (Low) 0.22 Partial access, non-critical data
|
|
41
|
+
N (None) 0.00 No impact on confidentiality
|
|
42
|
+
|
|
43
|
+
I — INTEGRITY IMPACT
|
|
44
|
+
H (High) 0.56 Total modification possible, corrupted data
|
|
45
|
+
L (Low) 0.22 Partial modification possible
|
|
46
|
+
N (None) 0.00 No impact on integrity
|
|
47
|
+
|
|
48
|
+
A — AVAILABILITY IMPACT
|
|
49
|
+
H (High) 0.56 Service completely unavailable
|
|
50
|
+
L (Low) 0.22 Degradation or partial interruption
|
|
51
|
+
N (None) 0.00 No impact on availability
|
|
52
|
+
|
|
53
|
+
═══════════════════════════════════════════════════════════════
|
|
54
|
+
QUICK REFERENCE SCORES
|
|
55
|
+
═══════════════════════════════════════════════════════════════
|
|
56
|
+
|
|
57
|
+
CRITICAL (9.0 - 10.0)
|
|
58
|
+
Typical examples :
|
|
59
|
+
|
|
60
|
+
Unauthenticated SQLi on public endpoint
|
|
61
|
+
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H = 10.0
|
|
62
|
+
|
|
63
|
+
RCE via deserialization
|
|
64
|
+
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H = 10.0
|
|
65
|
+
|
|
66
|
+
Full auth bypass
|
|
67
|
+
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H = 9.8
|
|
68
|
+
|
|
69
|
+
JWT algorithm:none
|
|
70
|
+
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N = 9.1
|
|
71
|
+
|
|
72
|
+
HIGH (7.0 - 8.9)
|
|
73
|
+
Typical examples :
|
|
74
|
+
|
|
75
|
+
IDOR on sensitive data (auth required)
|
|
76
|
+
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N = 7.1
|
|
77
|
+
|
|
78
|
+
Stored XSS without CSP
|
|
79
|
+
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N = 7.6
|
|
80
|
+
|
|
81
|
+
SSRF to internal infrastructure
|
|
82
|
+
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N = 8.6
|
|
83
|
+
|
|
84
|
+
Exposed secrets (active API key)
|
|
85
|
+
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N = 7.5
|
|
86
|
+
|
|
87
|
+
Missing certificate pinning (critical app)
|
|
88
|
+
AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N = 7.4
|
|
89
|
+
|
|
90
|
+
MEDIUM (4.0 - 6.9)
|
|
91
|
+
Typical examples :
|
|
92
|
+
|
|
93
|
+
CSRF on non-critical action
|
|
94
|
+
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N = 6.5
|
|
95
|
+
|
|
96
|
+
Reflected XSS with partial CSP
|
|
97
|
+
AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N = 4.7
|
|
98
|
+
|
|
99
|
+
Clickjacking on sensitive page
|
|
100
|
+
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N = 4.3
|
|
101
|
+
|
|
102
|
+
Open redirect
|
|
103
|
+
AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N = 5.4
|
|
104
|
+
|
|
105
|
+
AsyncStorage with token (mobile)
|
|
106
|
+
AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N = 4.6
|
|
107
|
+
|
|
108
|
+
LOW (0.1 - 3.9)
|
|
109
|
+
Typical examples :
|
|
110
|
+
|
|
111
|
+
Missing X-Content-Type-Options header
|
|
112
|
+
AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N = 3.1
|
|
113
|
+
|
|
114
|
+
Information disclosure (framework version)
|
|
115
|
+
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N = 5.3 → Medium
|
|
116
|
+
|
|
117
|
+
Cookie without SameSite (limited context)
|
|
118
|
+
AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N = 3.1
|
|
119
|
+
|
|
120
|
+
═══════════════════════════════════════════════════════════════
|
|
121
|
+
COMMON SCORING MISTAKES
|
|
122
|
+
═══════════════════════════════════════════════════════════════
|
|
123
|
+
|
|
124
|
+
ERROR 1 — Underestimating the Attack Vector
|
|
125
|
+
❌ AV:L (Local) for a web API
|
|
126
|
+
✅ AV:N (Network) — accessible via the Internet
|
|
127
|
+
|
|
128
|
+
ERROR 2 — Ignoring the Scope Changed
|
|
129
|
+
If a SQLi gives access to the entire server:
|
|
130
|
+
S:C (Changed) because the impact goes beyond the application
|
|
131
|
+
This multiplies the score
|
|
132
|
+
|
|
133
|
+
ERROR 3 — Forgetting the context
|
|
134
|
+
A "critical" vulnerability in theory can be
|
|
135
|
+
"high" in practice if:
|
|
136
|
+
→ Auth required (PR:L or PR:H instead of PR:N)
|
|
137
|
+
→ Non-sensitive data (C:L instead of C:H)
|
|
138
|
+
|
|
139
|
+
ERROR 4 — Not using temporal metrics
|
|
140
|
+
Base Score = theoretical score
|
|
141
|
+
Temporal Score = adjusted score based on:
|
|
142
|
+
→ Exploit availability
|
|
143
|
+
→ Confidence level in the vulnerability
|
|
144
|
+
→ Remediation available
|
|
145
|
+
|
|
146
|
+
═══════════════════════════════════════════════════════════════
|
|
147
|
+
FINAL SEVERITY DECISION
|
|
148
|
+
═══════════════════════════════════════════════════════════════
|
|
149
|
+
|
|
150
|
+
SCORING PROCESS FOR THE AGENT:
|
|
151
|
+
|
|
152
|
+
STEP 1 : Calculate the CVSS Base Score
|
|
153
|
+
|
|
154
|
+
STEP 2 : Apply contextual factors
|
|
155
|
+
→ Application publicly exposed? → may increase
|
|
156
|
+
→ PII/financial data? → may increase
|
|
157
|
+
→ Mitigations in place (WAF, auth)? → may decrease
|
|
158
|
+
|
|
159
|
+
STEP 3 : Decide the final severity
|
|
160
|
+
9.0-10.0 → CRITICAL
|
|
161
|
+
7.0-8.9 → HIGH
|
|
162
|
+
4.0-6.9 → MEDIUM
|
|
163
|
+
0.1-3.9 → LOW
|
|
164
|
+
0.0 → INFO
|
|
165
|
+
|
|
166
|
+
STEP 4 : Always cite the full CVSS vector
|
|
167
|
+
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
|
|
168
|
+
Score : 9.8 (CRITICAL)
|
|
169
|
+
|
|
170
|
+
REFERENCE CALCULATOR :
|
|
171
|
+
https://www.first.org/cvss/calculator/3.1
|
|
172
|
+
|
|
173
|
+
# The 4 Missing Files — Complete Content
|
|
174
|
+
|
|
175
|
+
---
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# 🗺️ OWASP MAPPER — CYBERAUDIT SKILL
|
|
2
|
+
# Quick reference OWASP Top 10 Web + MASVS Mobile
|
|
3
|
+
|
|
4
|
+
═══════════════════════════════════════════════════════════════
|
|
5
|
+
OWASP TOP 10 WEB 2023
|
|
6
|
+
═══════════════════════════════════════════════════════════════
|
|
7
|
+
|
|
8
|
+
A01:2021 — BROKEN ACCESS CONTROL (↑ from #5)
|
|
9
|
+
What it is : Access controls are not enforced
|
|
10
|
+
Examples : IDOR, Path traversal, CORS misconfigured,
|
|
11
|
+
Privilege escalation, admin routes without auth
|
|
12
|
+
Detect : Look for access to resources without
|
|
13
|
+
ownership or role verification
|
|
14
|
+
Reference : https://owasp.org/Top10/A01_2021-Broken_Access_Control/
|
|
15
|
+
|
|
16
|
+
A02:2021 — CRYPTOGRAPHIC FAILURES (↑ from #3)
|
|
17
|
+
What it is : Sensitive data poorly protected in transit or at rest
|
|
18
|
+
Examples : Unencrypted HTTP, MD5/SHA1 for passwords,
|
|
19
|
+
hardcoded secrets, plaintext data in database
|
|
20
|
+
Detect : Look for unencrypted transmissions,
|
|
21
|
+
weak algorithms, exposed secrets
|
|
22
|
+
Reference : https://owasp.org/Top10/A02_2021-Cryptographic_Failures/
|
|
23
|
+
|
|
24
|
+
A03:2021 — INJECTION (↓ from #1)
|
|
25
|
+
What it is : Untrusted data sent to an interpreter
|
|
26
|
+
Examples : SQLi, NoSQLi, Command injection, XSS, SSTI
|
|
27
|
+
Detect : Look for unvalidated/unparameterized inputs
|
|
28
|
+
in queries and templates
|
|
29
|
+
Reference : https://owasp.org/Top10/A03_2021-Injection/
|
|
30
|
+
|
|
31
|
+
A04:2021 — INSECURE DESIGN (NEW)
|
|
32
|
+
What it is : Design flaws, not implementation
|
|
33
|
+
Examples : Missing rate limiting by design,
|
|
34
|
+
workflow without validation steps,
|
|
35
|
+
blind trust in sources
|
|
36
|
+
Detect : Analyze business flows and architecture
|
|
37
|
+
Reference : https://owasp.org/Top10/A04_2021-Insecure_Design/
|
|
38
|
+
|
|
39
|
+
A05:2021 — SECURITY MISCONFIGURATION (↑ from #6)
|
|
40
|
+
What it is : Default or incomplete configurations
|
|
41
|
+
Examples : Debug in prod, missing headers, CORS *,
|
|
42
|
+
default accounts, exposed stack traces
|
|
43
|
+
Detect : Analyze all configurations and headers
|
|
44
|
+
Reference : https://owasp.org/Top10/A05_2021-Security_Misconfiguration/
|
|
45
|
+
|
|
46
|
+
A06:2021 — VULNERABLE AND OUTDATED COMPONENTS (↑ from #9)
|
|
47
|
+
What it is : Components with known vulnerabilities
|
|
48
|
+
Examples : CVEs in npm/composer packages,
|
|
49
|
+
unpatched frameworks, Log4Shell
|
|
50
|
+
Detect : npm audit, composer audit, CVE databases
|
|
51
|
+
Reference : https://owasp.org/Top10/A06_2021-Vulnerable_and_Outdated_Components/
|
|
52
|
+
|
|
53
|
+
A07:2021 — IDENTIFICATION AND AUTHENTICATION FAILURES (↓ from #2)
|
|
54
|
+
What it is : Flaws in authentication and session management
|
|
55
|
+
Examples : Brute force possible, weak JWT,
|
|
56
|
+
session not invalidated, weak passwords allowed
|
|
57
|
+
Detect : Analyze the entire authentication flow
|
|
58
|
+
Reference : https://owasp.org/Top10/A07_2021-Identification_and_Authentication_Failures/
|
|
59
|
+
|
|
60
|
+
A08:2021 — SOFTWARE AND DATA INTEGRITY FAILURES (NEW)
|
|
61
|
+
What it is : Code and infrastructure without integrity verification
|
|
62
|
+
Examples : Unverified dependencies, insecure CI/CD,
|
|
63
|
+
unsafe deserialization, unsigned auto-update
|
|
64
|
+
Detect : Analyze the CI/CD pipeline and dependency management
|
|
65
|
+
Reference : https://owasp.org/Top10/A08_2021-Software_and_Data_Integrity_Failures/
|
|
66
|
+
|
|
67
|
+
A09:2021 — SECURITY LOGGING AND MONITORING FAILURES (↑ from #10)
|
|
68
|
+
What it is : Insufficient logging to detect attacks
|
|
69
|
+
Examples : Missing auth logs, alerts not configured,
|
|
70
|
+
unreadable logs, no SIEM
|
|
71
|
+
Detect : Check what is logged and what is not
|
|
72
|
+
Reference : https://owasp.org/Top10/A09_2021-Security_Logging_and_Monitoring_Failures/
|
|
73
|
+
|
|
74
|
+
A10:2021 — SERVER-SIDE REQUEST FORGERY (NEW)
|
|
75
|
+
What it is : The app makes requests to unvalidated URLs
|
|
76
|
+
Examples : Fetching user-supplied URLs,
|
|
77
|
+
webhooks to internal URLs, resource imports
|
|
78
|
+
Detect : Look for places where the app makes HTTP
|
|
79
|
+
requests based on user input
|
|
80
|
+
Reference : https://owasp.org/Top10/A10_2021-Server-Side_Request_Forgery_(SSRF)/
|
|
81
|
+
|
|
82
|
+
═══════════════════════════════════════════════════════════════
|
|
83
|
+
OWASP MASVS 2.0 — MOBILE
|
|
84
|
+
═══════════════════════════════════════════════════════════════
|
|
85
|
+
|
|
86
|
+
MASVS-STORAGE — Data Storage
|
|
87
|
+
L1 : No sensitive data in unsecured storage
|
|
88
|
+
L2 : No sensitive data in logs
|
|
89
|
+
L3 : No sensitive data in unencrypted backups
|
|
90
|
+
L4 : Sensitive data cleared if app backgrounded
|
|
91
|
+
Reference : https://mas.owasp.org/MASVS/05-MASVS-STORAGE/
|
|
92
|
+
|
|
93
|
+
MASVS-CRYPTO — Cryptography
|
|
94
|
+
L1 : Use of modern cryptographic algorithms
|
|
95
|
+
L2 : Standard implementations (not custom)
|
|
96
|
+
L3 : Secrets not hardcoded
|
|
97
|
+
L4 : Cryptographic keys managed securely
|
|
98
|
+
Reference : https://mas.owasp.org/MASVS/06-MASVS-CRYPTO/
|
|
99
|
+
|
|
100
|
+
MASVS-AUTH — Authentication & Authorization
|
|
101
|
+
L1 : Auth verified server-side
|
|
102
|
+
L2 : Secure session and token management
|
|
103
|
+
L3 : Biometrics correctly implemented
|
|
104
|
+
Reference : https://mas.owasp.org/MASVS/07-MASVS-AUTH/
|
|
105
|
+
|
|
106
|
+
MASVS-NETWORK — Network Communication
|
|
107
|
+
L1 : HTTPS exclusively
|
|
108
|
+
L2 : Certificate verification correct
|
|
109
|
+
L3 : Certificate pinning on critical endpoints
|
|
110
|
+
Reference : https://mas.owasp.org/MASVS/08-MASVS-NETWORK/
|
|
111
|
+
|
|
112
|
+
MASVS-PLATFORM — Platform Interactions
|
|
113
|
+
L1 : Correct use of platform APIs
|
|
114
|
+
L2 : Secure WebViews
|
|
115
|
+
L3 : Secure IPC (Intent, URL Schemes, Deep Links)
|
|
116
|
+
L4 : Minimal permissions
|
|
117
|
+
Reference : https://mas.owasp.org/MASVS/09-MASVS-PLATFORM/
|
|
118
|
+
|
|
119
|
+
MASVS-CODE — Code Quality
|
|
120
|
+
L1 : Dependencies up to date
|
|
121
|
+
L2 : No debug features in prod
|
|
122
|
+
L3 : Proper error handling
|
|
123
|
+
Reference : https://mas.owasp.org/MASVS/10-MASVS-CODE/
|
|
124
|
+
|
|
125
|
+
MASVS-RESILIENCE — Resilience (highly sensitive apps)
|
|
126
|
+
L1 : Root/Jailbreak detection
|
|
127
|
+
L2 : Anti-tampering
|
|
128
|
+
L3 : Anti-debugging
|
|
129
|
+
L4 : Obfuscation
|
|
130
|
+
Reference : https://mas.owasp.org/MASVS/11-MASVS-RESILIENCE/
|