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,94 @@
1
+ # 📄 XXE — XML EXTERNAL ENTITIES GUIDE
2
+
3
+ ═══════════════════════════════════════════════════════════════
4
+ DEFINITION
5
+ ═══════════════════════════════════════════════════════════════
6
+
7
+ XXE = Injection into XML parsing via external entities.
8
+ Allows reading local files, performing SSRF,
9
+ or causing DoS (Billion Laughs attack).
10
+
11
+ OWASP : A05:2021 (Security Misconfiguration)
12
+ CWE : CWE-611
13
+
14
+ CLASSIC PAYLOAD :
15
+ <?xml version="1.0"?>
16
+ <!DOCTYPE foo [
17
+ <!ENTITY xxe SYSTEM "file:///etc/passwd">
18
+ ]>
19
+ <root>&xxe;</root>
20
+
21
+ → If the parser reads the external entity →
22
+ contents of /etc/passwd in the response
23
+
24
+ SSRF PAYLOAD :
25
+ <!ENTITY xxe SYSTEM "http://169.254.169.254/latest/meta-data/">
26
+
27
+ DoS PAYLOAD (Billion Laughs) :
28
+ <!DOCTYPE bomb [
29
+ <!ENTITY a "aaaa...aaaa"> (1000 chars)
30
+ <!ENTITY b "&a;&a;&a;..."> (1000x a)
31
+ <!ENTITY c "&b;&b;&b;..."> (1000x b)
32
+ ]>
33
+ → Exponential expansion → memory crash
34
+
35
+ ═══════════════════════════════════════════════════════════════
36
+ PATTERNS TO DETECT
37
+ ═══════════════════════════════════════════════════════════════
38
+
39
+ VULNERABLE CONTEXTS :
40
+ → XML file upload
41
+ → SVG file upload (XML-based)
42
+ → DOCX/XLSX file upload (ZIP containing XML)
43
+ → API accepting Content-Type: application/xml
44
+ → XML configuration parsing
45
+
46
+ VULNERABLE CODE :
47
+ // PHP — Without disabling entities
48
+ $doc = new DOMDocument()
49
+ $doc->loadXML($userXml) // Vulnerable by default
50
+
51
+ // Java — SAXParser vulnerable by default in some versions
52
+ SAXParser parser = SAXParserFactory.newInstance().newSAXParser()
53
+ parser.parse(new InputSource(new StringReader(userXml)), handler)
54
+
55
+ // Python — lxml secure, xml.etree.ElementTree also
56
+ // BUT xmltodict with certain configs
57
+
58
+ // Node.js — xml2js
59
+ const result = await parseStringPromise(userXml) // Configuration ?
60
+
61
+ ═══════════════════════════════════════════════════════════════
62
+ REMEDIATION
63
+ ═══════════════════════════════════════════════════════════════
64
+
65
+ DISABLE EXTERNAL ENTITIES :
66
+
67
+ PHP :
68
+ $doc = new DOMDocument()
69
+ // Disable external entities
70
+ libxml_disable_entity_loader(true) // PHP < 8.0
71
+ // PHP 8.0+ : disabled by default
72
+ $doc->loadXML($userXml, LIBXML_NOENT | LIBXML_DTDLOAD)
73
+ // Better : use LIBXML_NONET to block network
74
+
75
+ NODE.JS with xml2js :
76
+ import { parseString } from 'xml2js'
77
+ // xml2js does not expand external entities by default ✅
78
+
79
+ NODE.JS with fast-xml-parser :
80
+ import { XMLParser } from 'fast-xml-parser'
81
+ const parser = new XMLParser({
82
+ allowBooleanAttributes: false,
83
+ processEntities: false, // Disable entities
84
+ })
85
+
86
+ RECOMMENDED ALTERNATIVE :
87
+ // Use JSON instead of XML when possible
88
+ // JSON does not have this problem
89
+
90
+ FOR SVG UPLOADS :
91
+ // Reject SVGs with DTD or external entities
92
+ // Reprocess SVGs with sharp to eliminate dangerous XML
93
+ import sharp from 'sharp'
94
+ const safePng = await sharp(svgBuffer).png().toBuffer()