secure-scan 1.2.2

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 (569) hide show
  1. package/README.md +564 -0
  2. package/dist/ai/aiAnalyzer.d.ts +99 -0
  3. package/dist/ai/aiAnalyzer.d.ts.map +1 -0
  4. package/dist/ai/aiAnalyzer.js +669 -0
  5. package/dist/ai/aiAnalyzer.js.map +1 -0
  6. package/dist/ai/index.d.ts +5 -0
  7. package/dist/ai/index.d.ts.map +1 -0
  8. package/dist/ai/index.js +21 -0
  9. package/dist/ai/index.js.map +1 -0
  10. package/dist/analyzers/base/baseAnalyzer.d.ts +44 -0
  11. package/dist/analyzers/base/baseAnalyzer.d.ts.map +1 -0
  12. package/dist/analyzers/base/baseAnalyzer.js +53 -0
  13. package/dist/analyzers/base/baseAnalyzer.js.map +1 -0
  14. package/dist/analyzers/base/index.d.ts +5 -0
  15. package/dist/analyzers/base/index.d.ts.map +1 -0
  16. package/dist/analyzers/base/index.js +21 -0
  17. package/dist/analyzers/base/index.js.map +1 -0
  18. package/dist/analyzers/c-cpp/cppAnalyzer.d.ts +60 -0
  19. package/dist/analyzers/c-cpp/cppAnalyzer.d.ts.map +1 -0
  20. package/dist/analyzers/c-cpp/cppAnalyzer.js +218 -0
  21. package/dist/analyzers/c-cpp/cppAnalyzer.js.map +1 -0
  22. package/dist/analyzers/c-cpp/index.d.ts +5 -0
  23. package/dist/analyzers/c-cpp/index.d.ts.map +1 -0
  24. package/dist/analyzers/c-cpp/index.js +21 -0
  25. package/dist/analyzers/c-cpp/index.js.map +1 -0
  26. package/dist/analyzers/core/engine/index.d.ts +5 -0
  27. package/dist/analyzers/core/engine/index.d.ts.map +1 -0
  28. package/dist/analyzers/core/engine/index.js +21 -0
  29. package/dist/analyzers/core/engine/index.js.map +1 -0
  30. package/dist/analyzers/core/engine/ruleEngine.d.ts +46 -0
  31. package/dist/analyzers/core/engine/ruleEngine.d.ts.map +1 -0
  32. package/dist/analyzers/core/engine/ruleEngine.js +173 -0
  33. package/dist/analyzers/core/engine/ruleEngine.js.map +1 -0
  34. package/dist/analyzers/core/index.d.ts +8 -0
  35. package/dist/analyzers/core/index.d.ts.map +1 -0
  36. package/dist/analyzers/core/index.js +24 -0
  37. package/dist/analyzers/core/index.js.map +1 -0
  38. package/dist/analyzers/core/scanner/fileScanner.d.ts +31 -0
  39. package/dist/analyzers/core/scanner/fileScanner.d.ts.map +1 -0
  40. package/dist/analyzers/core/scanner/fileScanner.js +199 -0
  41. package/dist/analyzers/core/scanner/fileScanner.js.map +1 -0
  42. package/dist/analyzers/core/scanner/index.d.ts +5 -0
  43. package/dist/analyzers/core/scanner/index.d.ts.map +1 -0
  44. package/dist/analyzers/core/scanner/index.js +21 -0
  45. package/dist/analyzers/core/scanner/index.js.map +1 -0
  46. package/dist/analyzers/core/scoring/index.d.ts +5 -0
  47. package/dist/analyzers/core/scoring/index.d.ts.map +1 -0
  48. package/dist/analyzers/core/scoring/index.js +21 -0
  49. package/dist/analyzers/core/scoring/index.js.map +1 -0
  50. package/dist/analyzers/core/scoring/riskScoring.d.ts +49 -0
  51. package/dist/analyzers/core/scoring/riskScoring.d.ts.map +1 -0
  52. package/dist/analyzers/core/scoring/riskScoring.js +180 -0
  53. package/dist/analyzers/core/scoring/riskScoring.js.map +1 -0
  54. package/dist/analyzers/core/securityScanner.d.ts +47 -0
  55. package/dist/analyzers/core/securityScanner.d.ts.map +1 -0
  56. package/dist/analyzers/core/securityScanner.js +298 -0
  57. package/dist/analyzers/core/securityScanner.js.map +1 -0
  58. package/dist/analyzers/csharp/csharpAnalyzer.d.ts +64 -0
  59. package/dist/analyzers/csharp/csharpAnalyzer.d.ts.map +1 -0
  60. package/dist/analyzers/csharp/csharpAnalyzer.js +232 -0
  61. package/dist/analyzers/csharp/csharpAnalyzer.js.map +1 -0
  62. package/dist/analyzers/csharp/index.d.ts +5 -0
  63. package/dist/analyzers/csharp/index.d.ts.map +1 -0
  64. package/dist/analyzers/csharp/index.js +21 -0
  65. package/dist/analyzers/csharp/index.js.map +1 -0
  66. package/dist/analyzers/iac/iacAnalyzer.d.ts +36 -0
  67. package/dist/analyzers/iac/iacAnalyzer.d.ts.map +1 -0
  68. package/dist/analyzers/iac/iacAnalyzer.js +182 -0
  69. package/dist/analyzers/iac/iacAnalyzer.js.map +1 -0
  70. package/dist/analyzers/iac/index.d.ts +5 -0
  71. package/dist/analyzers/iac/index.d.ts.map +1 -0
  72. package/dist/analyzers/iac/index.js +21 -0
  73. package/dist/analyzers/iac/index.js.map +1 -0
  74. package/dist/analyzers/index.d.ts +30 -0
  75. package/dist/analyzers/index.d.ts.map +1 -0
  76. package/dist/analyzers/index.js +80 -0
  77. package/dist/analyzers/index.js.map +1 -0
  78. package/dist/analyzers/java/index.d.ts +5 -0
  79. package/dist/analyzers/java/index.d.ts.map +1 -0
  80. package/dist/analyzers/java/index.js +21 -0
  81. package/dist/analyzers/java/index.js.map +1 -0
  82. package/dist/analyzers/java/javaAnalyzer.d.ts +64 -0
  83. package/dist/analyzers/java/javaAnalyzer.d.ts.map +1 -0
  84. package/dist/analyzers/java/javaAnalyzer.js +224 -0
  85. package/dist/analyzers/java/javaAnalyzer.js.map +1 -0
  86. package/dist/analyzers/javascript/astUtils.d.ts +170 -0
  87. package/dist/analyzers/javascript/astUtils.d.ts.map +1 -0
  88. package/dist/analyzers/javascript/astUtils.js +700 -0
  89. package/dist/analyzers/javascript/astUtils.js.map +1 -0
  90. package/dist/analyzers/javascript/index.d.ts +18 -0
  91. package/dist/analyzers/javascript/index.d.ts.map +1 -0
  92. package/dist/analyzers/javascript/index.js +50 -0
  93. package/dist/analyzers/javascript/index.js.map +1 -0
  94. package/dist/analyzers/javascript/javascriptAnalyzer.d.ts +111 -0
  95. package/dist/analyzers/javascript/javascriptAnalyzer.d.ts.map +1 -0
  96. package/dist/analyzers/javascript/javascriptAnalyzer.js +860 -0
  97. package/dist/analyzers/javascript/javascriptAnalyzer.js.map +1 -0
  98. package/dist/analyzers/javascript/malwareDetector.d.ts +102 -0
  99. package/dist/analyzers/javascript/malwareDetector.d.ts.map +1 -0
  100. package/dist/analyzers/javascript/malwareDetector.js +616 -0
  101. package/dist/analyzers/javascript/malwareDetector.js.map +1 -0
  102. package/dist/analyzers/javascript/packageJsonAnalyzer.d.ts +87 -0
  103. package/dist/analyzers/javascript/packageJsonAnalyzer.d.ts.map +1 -0
  104. package/dist/analyzers/javascript/packageJsonAnalyzer.js +553 -0
  105. package/dist/analyzers/javascript/packageJsonAnalyzer.js.map +1 -0
  106. package/dist/analyzers/javascript/taintAnalyzer.d.ts +120 -0
  107. package/dist/analyzers/javascript/taintAnalyzer.d.ts.map +1 -0
  108. package/dist/analyzers/javascript/taintAnalyzer.js +526 -0
  109. package/dist/analyzers/javascript/taintAnalyzer.js.map +1 -0
  110. package/dist/analyzers/php/index.d.ts +5 -0
  111. package/dist/analyzers/php/index.d.ts.map +1 -0
  112. package/dist/analyzers/php/index.js +21 -0
  113. package/dist/analyzers/php/index.js.map +1 -0
  114. package/dist/analyzers/php/phpAnalyzer.d.ts +56 -0
  115. package/dist/analyzers/php/phpAnalyzer.d.ts.map +1 -0
  116. package/dist/analyzers/php/phpAnalyzer.js +202 -0
  117. package/dist/analyzers/php/phpAnalyzer.js.map +1 -0
  118. package/dist/analyzers/python/index.d.ts +5 -0
  119. package/dist/analyzers/python/index.d.ts.map +1 -0
  120. package/dist/analyzers/python/index.js +21 -0
  121. package/dist/analyzers/python/index.js.map +1 -0
  122. package/dist/analyzers/python/pythonAnalyzer.d.ts +64 -0
  123. package/dist/analyzers/python/pythonAnalyzer.d.ts.map +1 -0
  124. package/dist/analyzers/python/pythonAnalyzer.js +226 -0
  125. package/dist/analyzers/python/pythonAnalyzer.js.map +1 -0
  126. package/dist/cli/index.d.ts +7 -0
  127. package/dist/cli/index.d.ts.map +1 -0
  128. package/dist/cli/index.js +281 -0
  129. package/dist/cli/index.js.map +1 -0
  130. package/dist/core/engine/index.d.ts +5 -0
  131. package/dist/core/engine/index.d.ts.map +1 -0
  132. package/dist/core/engine/index.js +21 -0
  133. package/dist/core/engine/index.js.map +1 -0
  134. package/dist/core/engine/ruleEngine.d.ts +46 -0
  135. package/dist/core/engine/ruleEngine.d.ts.map +1 -0
  136. package/dist/core/engine/ruleEngine.js +173 -0
  137. package/dist/core/engine/ruleEngine.js.map +1 -0
  138. package/dist/core/index.d.ts +8 -0
  139. package/dist/core/index.d.ts.map +1 -0
  140. package/dist/core/index.js +24 -0
  141. package/dist/core/index.js.map +1 -0
  142. package/dist/core/scanner/fileScanner.d.ts +31 -0
  143. package/dist/core/scanner/fileScanner.d.ts.map +1 -0
  144. package/dist/core/scanner/fileScanner.js +199 -0
  145. package/dist/core/scanner/fileScanner.js.map +1 -0
  146. package/dist/core/scanner/index.d.ts +5 -0
  147. package/dist/core/scanner/index.d.ts.map +1 -0
  148. package/dist/core/scanner/index.js +21 -0
  149. package/dist/core/scanner/index.js.map +1 -0
  150. package/dist/core/scoring/index.d.ts +5 -0
  151. package/dist/core/scoring/index.d.ts.map +1 -0
  152. package/dist/core/scoring/index.js +21 -0
  153. package/dist/core/scoring/index.js.map +1 -0
  154. package/dist/core/scoring/riskScoring.d.ts +49 -0
  155. package/dist/core/scoring/riskScoring.d.ts.map +1 -0
  156. package/dist/core/scoring/riskScoring.js +180 -0
  157. package/dist/core/scoring/riskScoring.js.map +1 -0
  158. package/dist/core/securityScanner.d.ts +47 -0
  159. package/dist/core/securityScanner.d.ts.map +1 -0
  160. package/dist/core/securityScanner.js +298 -0
  161. package/dist/core/securityScanner.js.map +1 -0
  162. package/dist/dependencies/aiDependencyAnalyzer.d.ts +96 -0
  163. package/dist/dependencies/aiDependencyAnalyzer.d.ts.map +1 -0
  164. package/dist/dependencies/aiDependencyAnalyzer.js +435 -0
  165. package/dist/dependencies/aiDependencyAnalyzer.js.map +1 -0
  166. package/dist/dependencies/database/cveDatabase.d.ts +32 -0
  167. package/dist/dependencies/database/cveDatabase.d.ts.map +1 -0
  168. package/dist/dependencies/database/cveDatabase.js +393 -0
  169. package/dist/dependencies/database/cveDatabase.js.map +1 -0
  170. package/dist/dependencies/database/index.d.ts +6 -0
  171. package/dist/dependencies/database/index.d.ts.map +1 -0
  172. package/dist/dependencies/database/index.js +22 -0
  173. package/dist/dependencies/database/index.js.map +1 -0
  174. package/dist/dependencies/database/maliciousPackages.d.ts +43 -0
  175. package/dist/dependencies/database/maliciousPackages.d.ts.map +1 -0
  176. package/dist/dependencies/database/maliciousPackages.js +279 -0
  177. package/dist/dependencies/database/maliciousPackages.js.map +1 -0
  178. package/dist/dependencies/dependencyAnalyzer.d.ts +74 -0
  179. package/dist/dependencies/dependencyAnalyzer.d.ts.map +1 -0
  180. package/dist/dependencies/dependencyAnalyzer.js +349 -0
  181. package/dist/dependencies/dependencyAnalyzer.js.map +1 -0
  182. package/dist/dependencies/detectors/index.d.ts +7 -0
  183. package/dist/dependencies/detectors/index.d.ts.map +1 -0
  184. package/dist/dependencies/detectors/index.js +28 -0
  185. package/dist/dependencies/detectors/index.js.map +1 -0
  186. package/dist/dependencies/detectors/securityStandards.d.ts +15 -0
  187. package/dist/dependencies/detectors/securityStandards.d.ts.map +1 -0
  188. package/dist/dependencies/detectors/securityStandards.js +178 -0
  189. package/dist/dependencies/detectors/securityStandards.js.map +1 -0
  190. package/dist/dependencies/detectors/vulnerabilityDetector.d.ts +53 -0
  191. package/dist/dependencies/detectors/vulnerabilityDetector.d.ts.map +1 -0
  192. package/dist/dependencies/detectors/vulnerabilityDetector.js +289 -0
  193. package/dist/dependencies/detectors/vulnerabilityDetector.js.map +1 -0
  194. package/dist/dependencies/index.d.ts +14 -0
  195. package/dist/dependencies/index.d.ts.map +1 -0
  196. package/dist/dependencies/index.js +43 -0
  197. package/dist/dependencies/index.js.map +1 -0
  198. package/dist/dependencies/installed/index.d.ts +8 -0
  199. package/dist/dependencies/installed/index.d.ts.map +1 -0
  200. package/dist/dependencies/installed/index.js +24 -0
  201. package/dist/dependencies/installed/index.js.map +1 -0
  202. package/dist/dependencies/installed/installedScanner.d.ts +91 -0
  203. package/dist/dependencies/installed/installedScanner.d.ts.map +1 -0
  204. package/dist/dependencies/installed/installedScanner.js +766 -0
  205. package/dist/dependencies/installed/installedScanner.js.map +1 -0
  206. package/dist/dependencies/installed/malwarePatterns.d.ts +32 -0
  207. package/dist/dependencies/installed/malwarePatterns.d.ts.map +1 -0
  208. package/dist/dependencies/installed/malwarePatterns.js +480 -0
  209. package/dist/dependencies/installed/malwarePatterns.js.map +1 -0
  210. package/dist/dependencies/installed/types.d.ts +274 -0
  211. package/dist/dependencies/installed/types.d.ts.map +1 -0
  212. package/dist/dependencies/installed/types.js +7 -0
  213. package/dist/dependencies/installed/types.js.map +1 -0
  214. package/dist/dependencies/parsers/base/baseParser.d.ts +44 -0
  215. package/dist/dependencies/parsers/base/baseParser.d.ts.map +1 -0
  216. package/dist/dependencies/parsers/base/baseParser.js +80 -0
  217. package/dist/dependencies/parsers/base/baseParser.js.map +1 -0
  218. package/dist/dependencies/parsers/base/index.d.ts +6 -0
  219. package/dist/dependencies/parsers/base/index.d.ts.map +1 -0
  220. package/dist/dependencies/parsers/base/index.js +27 -0
  221. package/dist/dependencies/parsers/base/index.js.map +1 -0
  222. package/dist/dependencies/parsers/cpp/cppParser.d.ts +36 -0
  223. package/dist/dependencies/parsers/cpp/cppParser.d.ts.map +1 -0
  224. package/dist/dependencies/parsers/cpp/cppParser.js +196 -0
  225. package/dist/dependencies/parsers/cpp/cppParser.js.map +1 -0
  226. package/dist/dependencies/parsers/cpp/index.d.ts +6 -0
  227. package/dist/dependencies/parsers/cpp/index.d.ts.map +1 -0
  228. package/dist/dependencies/parsers/cpp/index.js +27 -0
  229. package/dist/dependencies/parsers/cpp/index.js.map +1 -0
  230. package/dist/dependencies/parsers/csharp/csharpParser.d.ts +32 -0
  231. package/dist/dependencies/parsers/csharp/csharpParser.d.ts.map +1 -0
  232. package/dist/dependencies/parsers/csharp/csharpParser.js +125 -0
  233. package/dist/dependencies/parsers/csharp/csharpParser.js.map +1 -0
  234. package/dist/dependencies/parsers/csharp/index.d.ts +6 -0
  235. package/dist/dependencies/parsers/csharp/index.d.ts.map +1 -0
  236. package/dist/dependencies/parsers/csharp/index.js +27 -0
  237. package/dist/dependencies/parsers/csharp/index.js.map +1 -0
  238. package/dist/dependencies/parsers/index.d.ts +24 -0
  239. package/dist/dependencies/parsers/index.d.ts.map +1 -0
  240. package/dist/dependencies/parsers/index.js +69 -0
  241. package/dist/dependencies/parsers/index.js.map +1 -0
  242. package/dist/dependencies/parsers/java/index.d.ts +6 -0
  243. package/dist/dependencies/parsers/java/index.d.ts.map +1 -0
  244. package/dist/dependencies/parsers/java/index.js +27 -0
  245. package/dist/dependencies/parsers/java/index.js.map +1 -0
  246. package/dist/dependencies/parsers/java/javaParser.d.ts +32 -0
  247. package/dist/dependencies/parsers/java/javaParser.d.ts.map +1 -0
  248. package/dist/dependencies/parsers/java/javaParser.js +168 -0
  249. package/dist/dependencies/parsers/java/javaParser.js.map +1 -0
  250. package/dist/dependencies/parsers/javascript/index.d.ts +6 -0
  251. package/dist/dependencies/parsers/javascript/index.d.ts.map +1 -0
  252. package/dist/dependencies/parsers/javascript/index.js +27 -0
  253. package/dist/dependencies/parsers/javascript/index.js.map +1 -0
  254. package/dist/dependencies/parsers/javascript/javascriptParser.d.ts +55 -0
  255. package/dist/dependencies/parsers/javascript/javascriptParser.d.ts.map +1 -0
  256. package/dist/dependencies/parsers/javascript/javascriptParser.js +266 -0
  257. package/dist/dependencies/parsers/javascript/javascriptParser.js.map +1 -0
  258. package/dist/dependencies/parsers/php/index.d.ts +6 -0
  259. package/dist/dependencies/parsers/php/index.d.ts.map +1 -0
  260. package/dist/dependencies/parsers/php/index.js +27 -0
  261. package/dist/dependencies/parsers/php/index.js.map +1 -0
  262. package/dist/dependencies/parsers/php/phpParser.d.ts +35 -0
  263. package/dist/dependencies/parsers/php/phpParser.d.ts.map +1 -0
  264. package/dist/dependencies/parsers/php/phpParser.js +162 -0
  265. package/dist/dependencies/parsers/php/phpParser.js.map +1 -0
  266. package/dist/dependencies/parsers/python/index.d.ts +6 -0
  267. package/dist/dependencies/parsers/python/index.d.ts.map +1 -0
  268. package/dist/dependencies/parsers/python/index.js +27 -0
  269. package/dist/dependencies/parsers/python/index.js.map +1 -0
  270. package/dist/dependencies/parsers/python/pythonParser.d.ts +60 -0
  271. package/dist/dependencies/parsers/python/pythonParser.d.ts.map +1 -0
  272. package/dist/dependencies/parsers/python/pythonParser.js +336 -0
  273. package/dist/dependencies/parsers/python/pythonParser.js.map +1 -0
  274. package/dist/dependencies/types.d.ts +280 -0
  275. package/dist/dependencies/types.d.ts.map +1 -0
  276. package/dist/dependencies/types.js +59 -0
  277. package/dist/dependencies/types.js.map +1 -0
  278. package/dist/i18n/index.d.ts +2 -0
  279. package/dist/i18n/index.d.ts.map +1 -0
  280. package/dist/i18n/index.js +18 -0
  281. package/dist/i18n/index.js.map +1 -0
  282. package/dist/i18n/translations.d.ts +55 -0
  283. package/dist/i18n/translations.d.ts.map +1 -0
  284. package/dist/i18n/translations.js +119 -0
  285. package/dist/i18n/translations.js.map +1 -0
  286. package/dist/index.d.ts +14 -0
  287. package/dist/index.d.ts.map +1 -0
  288. package/dist/index.js +36 -0
  289. package/dist/index.js.map +1 -0
  290. package/dist/reports/dependencyReportGenerator.d.ts +20 -0
  291. package/dist/reports/dependencyReportGenerator.d.ts.map +1 -0
  292. package/dist/reports/dependencyReportGenerator.js +690 -0
  293. package/dist/reports/dependencyReportGenerator.js.map +1 -0
  294. package/dist/reports/htmlReportGenerator.d.ts +43 -0
  295. package/dist/reports/htmlReportGenerator.d.ts.map +1 -0
  296. package/dist/reports/htmlReportGenerator.js +793 -0
  297. package/dist/reports/htmlReportGenerator.js.map +1 -0
  298. package/dist/reports/index.d.ts +7 -0
  299. package/dist/reports/index.d.ts.map +1 -0
  300. package/dist/reports/index.js +23 -0
  301. package/dist/reports/index.js.map +1 -0
  302. package/dist/reports/installedDepsReportGenerator.d.ts +14 -0
  303. package/dist/reports/installedDepsReportGenerator.d.ts.map +1 -0
  304. package/dist/reports/installedDepsReportGenerator.js +872 -0
  305. package/dist/reports/installedDepsReportGenerator.js.map +1 -0
  306. package/dist/rules/index.d.ts +31 -0
  307. package/dist/rules/index.d.ts.map +1 -0
  308. package/dist/rules/index.js +95 -0
  309. package/dist/rules/index.js.map +1 -0
  310. package/dist/rules/malware/categories/backdoors.d.ts +12 -0
  311. package/dist/rules/malware/categories/backdoors.d.ts.map +1 -0
  312. package/dist/rules/malware/categories/backdoors.js +163 -0
  313. package/dist/rules/malware/categories/backdoors.js.map +1 -0
  314. package/dist/rules/malware/categories/cryptominers.d.ts +13 -0
  315. package/dist/rules/malware/categories/cryptominers.d.ts.map +1 -0
  316. package/dist/rules/malware/categories/cryptominers.js +415 -0
  317. package/dist/rules/malware/categories/cryptominers.js.map +1 -0
  318. package/dist/rules/malware/categories/exfiltration.d.ts +20 -0
  319. package/dist/rules/malware/categories/exfiltration.d.ts.map +1 -0
  320. package/dist/rules/malware/categories/exfiltration.js +658 -0
  321. package/dist/rules/malware/categories/exfiltration.js.map +1 -0
  322. package/dist/rules/malware/categories/keyloggers.d.ts +19 -0
  323. package/dist/rules/malware/categories/keyloggers.d.ts.map +1 -0
  324. package/dist/rules/malware/categories/keyloggers.js +763 -0
  325. package/dist/rules/malware/categories/keyloggers.js.map +1 -0
  326. package/dist/rules/malware/categories/loaders.d.ts +20 -0
  327. package/dist/rules/malware/categories/loaders.d.ts.map +1 -0
  328. package/dist/rules/malware/categories/loaders.js +702 -0
  329. package/dist/rules/malware/categories/loaders.js.map +1 -0
  330. package/dist/rules/malware/categories/network.d.ts +19 -0
  331. package/dist/rules/malware/categories/network.d.ts.map +1 -0
  332. package/dist/rules/malware/categories/network.js +622 -0
  333. package/dist/rules/malware/categories/network.js.map +1 -0
  334. package/dist/rules/malware/categories/obfuscation.d.ts +22 -0
  335. package/dist/rules/malware/categories/obfuscation.d.ts.map +1 -0
  336. package/dist/rules/malware/categories/obfuscation.js +766 -0
  337. package/dist/rules/malware/categories/obfuscation.js.map +1 -0
  338. package/dist/rules/malware/constants/index.d.ts +281 -0
  339. package/dist/rules/malware/constants/index.d.ts.map +1 -0
  340. package/dist/rules/malware/constants/index.js +327 -0
  341. package/dist/rules/malware/constants/index.js.map +1 -0
  342. package/dist/rules/malware/engine/index.d.ts +178 -0
  343. package/dist/rules/malware/engine/index.d.ts.map +1 -0
  344. package/dist/rules/malware/engine/index.js +552 -0
  345. package/dist/rules/malware/engine/index.js.map +1 -0
  346. package/dist/rules/malware/index.d.ts +205 -0
  347. package/dist/rules/malware/index.d.ts.map +1 -0
  348. package/dist/rules/malware/index.js +837 -0
  349. package/dist/rules/malware/index.js.map +1 -0
  350. package/dist/rules/malware/scoring/index.d.ts +84 -0
  351. package/dist/rules/malware/scoring/index.d.ts.map +1 -0
  352. package/dist/rules/malware/scoring/index.js +441 -0
  353. package/dist/rules/malware/scoring/index.js.map +1 -0
  354. package/dist/rules/malware/types/index.d.ts +616 -0
  355. package/dist/rules/malware/types/index.d.ts.map +1 -0
  356. package/dist/rules/malware/types/index.js +155 -0
  357. package/dist/rules/malware/types/index.js.map +1 -0
  358. package/dist/rules/malware/utils/index.d.ts +117 -0
  359. package/dist/rules/malware/utils/index.d.ts.map +1 -0
  360. package/dist/rules/malware/utils/index.js +514 -0
  361. package/dist/rules/malware/utils/index.js.map +1 -0
  362. package/dist/rules/standards.d.ts +26 -0
  363. package/dist/rules/standards.d.ts.map +1 -0
  364. package/dist/rules/standards.js +352 -0
  365. package/dist/rules/standards.js.map +1 -0
  366. package/dist/rules/vulnerabilities/constants/index.d.ts +835 -0
  367. package/dist/rules/vulnerabilities/constants/index.d.ts.map +1 -0
  368. package/dist/rules/vulnerabilities/constants/index.js +544 -0
  369. package/dist/rules/vulnerabilities/constants/index.js.map +1 -0
  370. package/dist/rules/vulnerabilities/engine/index.d.ts +145 -0
  371. package/dist/rules/vulnerabilities/engine/index.d.ts.map +1 -0
  372. package/dist/rules/vulnerabilities/engine/index.js +581 -0
  373. package/dist/rules/vulnerabilities/engine/index.js.map +1 -0
  374. package/dist/rules/vulnerabilities/index.d.ts +148 -0
  375. package/dist/rules/vulnerabilities/index.d.ts.map +1 -0
  376. package/dist/rules/vulnerabilities/index.js +252 -0
  377. package/dist/rules/vulnerabilities/index.js.map +1 -0
  378. package/dist/rules/vulnerabilities/rules/authentication.d.ts +8 -0
  379. package/dist/rules/vulnerabilities/rules/authentication.d.ts.map +1 -0
  380. package/dist/rules/vulnerabilities/rules/authentication.js +419 -0
  381. package/dist/rules/vulnerabilities/rules/authentication.js.map +1 -0
  382. package/dist/rules/vulnerabilities/rules/commandInjection.d.ts +8 -0
  383. package/dist/rules/vulnerabilities/rules/commandInjection.d.ts.map +1 -0
  384. package/dist/rules/vulnerabilities/rules/commandInjection.js +300 -0
  385. package/dist/rules/vulnerabilities/rules/commandInjection.js.map +1 -0
  386. package/dist/rules/vulnerabilities/rules/csrf.d.ts +8 -0
  387. package/dist/rules/vulnerabilities/rules/csrf.d.ts.map +1 -0
  388. package/dist/rules/vulnerabilities/rules/csrf.js +261 -0
  389. package/dist/rules/vulnerabilities/rules/csrf.js.map +1 -0
  390. package/dist/rules/vulnerabilities/rules/deserialization.d.ts +8 -0
  391. package/dist/rules/vulnerabilities/rules/deserialization.d.ts.map +1 -0
  392. package/dist/rules/vulnerabilities/rules/deserialization.js +336 -0
  393. package/dist/rules/vulnerabilities/rules/deserialization.js.map +1 -0
  394. package/dist/rules/vulnerabilities/rules/fileUpload.d.ts +8 -0
  395. package/dist/rules/vulnerabilities/rules/fileUpload.d.ts.map +1 -0
  396. package/dist/rules/vulnerabilities/rules/fileUpload.js +325 -0
  397. package/dist/rules/vulnerabilities/rules/fileUpload.js.map +1 -0
  398. package/dist/rules/vulnerabilities/rules/hardcodedSecrets.d.ts +8 -0
  399. package/dist/rules/vulnerabilities/rules/hardcodedSecrets.d.ts.map +1 -0
  400. package/dist/rules/vulnerabilities/rules/hardcodedSecrets.js +446 -0
  401. package/dist/rules/vulnerabilities/rules/hardcodedSecrets.js.map +1 -0
  402. package/dist/rules/vulnerabilities/rules/index.d.ts +17 -0
  403. package/dist/rules/vulnerabilities/rules/index.d.ts.map +1 -0
  404. package/dist/rules/vulnerabilities/rules/index.js +47 -0
  405. package/dist/rules/vulnerabilities/rules/index.js.map +1 -0
  406. package/dist/rules/vulnerabilities/rules/pathTraversal.d.ts +8 -0
  407. package/dist/rules/vulnerabilities/rules/pathTraversal.d.ts.map +1 -0
  408. package/dist/rules/vulnerabilities/rules/pathTraversal.js +351 -0
  409. package/dist/rules/vulnerabilities/rules/pathTraversal.js.map +1 -0
  410. package/dist/rules/vulnerabilities/rules/prototypePollution.d.ts +8 -0
  411. package/dist/rules/vulnerabilities/rules/prototypePollution.d.ts.map +1 -0
  412. package/dist/rules/vulnerabilities/rules/prototypePollution.js +272 -0
  413. package/dist/rules/vulnerabilities/rules/prototypePollution.js.map +1 -0
  414. package/dist/rules/vulnerabilities/rules/securityMisconfiguration.d.ts +8 -0
  415. package/dist/rules/vulnerabilities/rules/securityMisconfiguration.d.ts.map +1 -0
  416. package/dist/rules/vulnerabilities/rules/securityMisconfiguration.js +438 -0
  417. package/dist/rules/vulnerabilities/rules/securityMisconfiguration.js.map +1 -0
  418. package/dist/rules/vulnerabilities/rules/sqlInjection.d.ts +12 -0
  419. package/dist/rules/vulnerabilities/rules/sqlInjection.d.ts.map +1 -0
  420. package/dist/rules/vulnerabilities/rules/sqlInjection.js +636 -0
  421. package/dist/rules/vulnerabilities/rules/sqlInjection.js.map +1 -0
  422. package/dist/rules/vulnerabilities/rules/ssrf.d.ts +8 -0
  423. package/dist/rules/vulnerabilities/rules/ssrf.d.ts.map +1 -0
  424. package/dist/rules/vulnerabilities/rules/ssrf.js +401 -0
  425. package/dist/rules/vulnerabilities/rules/ssrf.js.map +1 -0
  426. package/dist/rules/vulnerabilities/rules/xss.d.ts +11 -0
  427. package/dist/rules/vulnerabilities/rules/xss.d.ts.map +1 -0
  428. package/dist/rules/vulnerabilities/rules/xss.js +724 -0
  429. package/dist/rules/vulnerabilities/rules/xss.js.map +1 -0
  430. package/dist/rules/vulnerabilities/scoring/index.d.ts +80 -0
  431. package/dist/rules/vulnerabilities/scoring/index.d.ts.map +1 -0
  432. package/dist/rules/vulnerabilities/scoring/index.js +414 -0
  433. package/dist/rules/vulnerabilities/scoring/index.js.map +1 -0
  434. package/dist/rules/vulnerabilities/types/index.d.ts +830 -0
  435. package/dist/rules/vulnerabilities/types/index.d.ts.map +1 -0
  436. package/dist/rules/vulnerabilities/types/index.js +164 -0
  437. package/dist/rules/vulnerabilities/types/index.js.map +1 -0
  438. package/dist/rules/vulnerabilities/utils/index.d.ts +206 -0
  439. package/dist/rules/vulnerabilities/utils/index.d.ts.map +1 -0
  440. package/dist/rules/vulnerabilities/utils/index.js +615 -0
  441. package/dist/rules/vulnerabilities/utils/index.js.map +1 -0
  442. package/dist/types/index.d.ts +359 -0
  443. package/dist/types/index.d.ts.map +1 -0
  444. package/dist/types/index.js +61 -0
  445. package/dist/types/index.js.map +1 -0
  446. package/dist/utils/index.d.ts +82 -0
  447. package/dist/utils/index.d.ts.map +1 -0
  448. package/dist/utils/index.js +326 -0
  449. package/dist/utils/index.js.map +1 -0
  450. package/dist/utils/logger.d.ts +40 -0
  451. package/dist/utils/logger.d.ts.map +1 -0
  452. package/dist/utils/logger.js +139 -0
  453. package/dist/utils/logger.js.map +1 -0
  454. package/docs/ARCHITECTURE.md +320 -0
  455. package/docs/V1.2.1-IA_Performances.md +116 -0
  456. package/docs/images/WIN_Defender.png +0 -0
  457. package/package.json +68 -0
  458. package/secure-scan.config.json +134 -0
  459. package/secure-scan.sln +29 -0
  460. package/src/ai/aiAnalyzer.ts +714 -0
  461. package/src/ai/index.ts +5 -0
  462. package/src/analyzers/base/baseAnalyzer.ts +66 -0
  463. package/src/analyzers/base/index.ts +5 -0
  464. package/src/analyzers/c-cpp/cppAnalyzer.ts +308 -0
  465. package/src/analyzers/c-cpp/index.ts +5 -0
  466. package/src/analyzers/core/engine/index.ts +5 -0
  467. package/src/analyzers/core/engine/ruleEngine.ts +221 -0
  468. package/src/analyzers/core/index.ts +8 -0
  469. package/src/analyzers/core/scanner/fileScanner.ts +204 -0
  470. package/src/analyzers/core/scanner/index.ts +5 -0
  471. package/src/analyzers/core/scoring/index.ts +5 -0
  472. package/src/analyzers/core/scoring/riskScoring.ts +198 -0
  473. package/src/analyzers/core/securityScanner.ts +321 -0
  474. package/src/analyzers/csharp/csharpAnalyzer.ts +328 -0
  475. package/src/analyzers/csharp/index.ts +5 -0
  476. package/src/analyzers/iac/iacAnalyzer.ts +318 -0
  477. package/src/analyzers/iac/index.ts +5 -0
  478. package/src/analyzers/index.ts +67 -0
  479. package/src/analyzers/java/index.ts +5 -0
  480. package/src/analyzers/java/javaAnalyzer.ts +320 -0
  481. package/src/analyzers/javascript/PROMPT_JS_ANALYZER.md +267 -0
  482. package/src/analyzers/javascript/astUtils.ts +789 -0
  483. package/src/analyzers/javascript/index.ts +50 -0
  484. package/src/analyzers/javascript/javascriptAnalyzer.ts +984 -0
  485. package/src/analyzers/javascript/malwareDetector.ts +697 -0
  486. package/src/analyzers/javascript/packageJsonAnalyzer.ts +626 -0
  487. package/src/analyzers/javascript/taintAnalyzer.ts +630 -0
  488. package/src/analyzers/php/index.ts +5 -0
  489. package/src/analyzers/php/phpAnalyzer.ts +280 -0
  490. package/src/analyzers/python/index.ts +5 -0
  491. package/src/analyzers/python/pythonAnalyzer.ts +319 -0
  492. package/src/cli/index.ts +276 -0
  493. package/src/dependencies/aiDependencyAnalyzer.ts +496 -0
  494. package/src/dependencies/database/cveDatabase.ts +426 -0
  495. package/src/dependencies/database/index.ts +6 -0
  496. package/src/dependencies/database/maliciousPackages.ts +286 -0
  497. package/src/dependencies/dependencyAnalyzer.ts +394 -0
  498. package/src/dependencies/detectors/index.ts +7 -0
  499. package/src/dependencies/detectors/securityStandards.ts +200 -0
  500. package/src/dependencies/detectors/vulnerabilityDetector.ts +343 -0
  501. package/src/dependencies/index.ts +27 -0
  502. package/src/dependencies/installed/index.ts +8 -0
  503. package/src/dependencies/installed/installedScanner.ts +821 -0
  504. package/src/dependencies/installed/malwarePatterns.ts +492 -0
  505. package/src/dependencies/installed/types.ts +287 -0
  506. package/src/dependencies/parsers/base/baseParser.ts +108 -0
  507. package/src/dependencies/parsers/base/index.ts +6 -0
  508. package/src/dependencies/parsers/cpp/cppParser.ts +245 -0
  509. package/src/dependencies/parsers/cpp/index.ts +6 -0
  510. package/src/dependencies/parsers/csharp/csharpParser.ts +151 -0
  511. package/src/dependencies/parsers/csharp/index.ts +6 -0
  512. package/src/dependencies/parsers/index.ts +56 -0
  513. package/src/dependencies/parsers/java/index.ts +6 -0
  514. package/src/dependencies/parsers/java/javaParser.ts +203 -0
  515. package/src/dependencies/parsers/javascript/index.ts +6 -0
  516. package/src/dependencies/parsers/javascript/javascriptParser.ts +362 -0
  517. package/src/dependencies/parsers/php/index.ts +6 -0
  518. package/src/dependencies/parsers/php/phpParser.ts +208 -0
  519. package/src/dependencies/parsers/python/index.ts +6 -0
  520. package/src/dependencies/parsers/python/pythonParser.ts +437 -0
  521. package/src/dependencies/types.ts +330 -0
  522. package/src/i18n/index.ts +1 -0
  523. package/src/i18n/translations.ts +194 -0
  524. package/src/index.ts +16 -0
  525. package/src/reports/dependencyReportGenerator.ts +717 -0
  526. package/src/reports/htmlReportGenerator.ts +781 -0
  527. package/src/reports/index.ts +7 -0
  528. package/src/reports/installedDepsReportGenerator.ts +899 -0
  529. package/src/rules/index.ts +58 -0
  530. package/src/rules/malware/INFO.md +287 -0
  531. package/src/rules/malware/categories/backdoors.ts +174 -0
  532. package/src/rules/malware/categories/cryptominers.ts +434 -0
  533. package/src/rules/malware/categories/exfiltration.ts +677 -0
  534. package/src/rules/malware/categories/keyloggers.ts +780 -0
  535. package/src/rules/malware/categories/loaders.ts +721 -0
  536. package/src/rules/malware/categories/network.ts +639 -0
  537. package/src/rules/malware/categories/obfuscation.ts +788 -0
  538. package/src/rules/malware/constants/index.ts +358 -0
  539. package/src/rules/malware/engine/index.ts +758 -0
  540. package/src/rules/malware/index.ts +928 -0
  541. package/src/rules/malware/scoring/index.ts +549 -0
  542. package/src/rules/malware/types/index.ts +752 -0
  543. package/src/rules/malware/utils/index.ts +643 -0
  544. package/src/rules/standards.ts +372 -0
  545. package/src/rules/vulnerabilities/PROMPT_VULNERABILITIES.md +226 -0
  546. package/src/rules/vulnerabilities/constants/index.ts +625 -0
  547. package/src/rules/vulnerabilities/engine/index.ts +831 -0
  548. package/src/rules/vulnerabilities/index.ts +312 -0
  549. package/src/rules/vulnerabilities/rules/authentication.ts +426 -0
  550. package/src/rules/vulnerabilities/rules/commandInjection.ts +307 -0
  551. package/src/rules/vulnerabilities/rules/csrf.ts +268 -0
  552. package/src/rules/vulnerabilities/rules/deserialization.ts +343 -0
  553. package/src/rules/vulnerabilities/rules/fileUpload.ts +332 -0
  554. package/src/rules/vulnerabilities/rules/hardcodedSecrets.ts +453 -0
  555. package/src/rules/vulnerabilities/rules/index.ts +17 -0
  556. package/src/rules/vulnerabilities/rules/pathTraversal.ts +358 -0
  557. package/src/rules/vulnerabilities/rules/prototypePollution.ts +279 -0
  558. package/src/rules/vulnerabilities/rules/securityMisconfiguration.ts +445 -0
  559. package/src/rules/vulnerabilities/rules/sqlInjection.ts +669 -0
  560. package/src/rules/vulnerabilities/rules/ssrf.ts +408 -0
  561. package/src/rules/vulnerabilities/rules/xss.ts +753 -0
  562. package/src/rules/vulnerabilities/scoring/index.ts +543 -0
  563. package/src/rules/vulnerabilities/types/index.ts +1004 -0
  564. package/src/rules/vulnerabilities/utils/index.ts +709 -0
  565. package/src/types/index.ts +391 -0
  566. package/src/utils/index.ts +306 -0
  567. package/src/utils/logger.ts +150 -0
  568. package/test-installed-scanner.ts +136 -0
  569. package/tsconfig.json +30 -0
@@ -0,0 +1,349 @@
1
+ "use strict";
2
+ /**
3
+ * Dependency Analyzer
4
+ * Main orchestrator for Software Composition Analysis (SCA)
5
+ * Analyzes project dependencies without executing any code
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.DependencyAnalyzer = void 0;
42
+ const fs = __importStar(require("fs"));
43
+ const path = __importStar(require("path"));
44
+ const types_1 = require("./types");
45
+ const types_2 = require("../types");
46
+ const parsers_1 = require("./parsers");
47
+ const detectors_1 = require("./detectors");
48
+ const logger_1 = require("../utils/logger");
49
+ /**
50
+ * Manifest file patterns to search for
51
+ */
52
+ const MANIFEST_PATTERNS = [
53
+ // JavaScript/Node.js
54
+ 'package.json',
55
+ 'package-lock.json',
56
+ 'yarn.lock',
57
+ // Python
58
+ 'requirements.txt',
59
+ 'Pipfile',
60
+ 'Pipfile.lock',
61
+ 'pyproject.toml',
62
+ // PHP
63
+ 'composer.json',
64
+ 'composer.lock',
65
+ // Java
66
+ 'pom.xml',
67
+ 'build.gradle',
68
+ // C/C++
69
+ 'vcpkg.json',
70
+ 'conanfile.txt',
71
+ 'CMakeLists.txt',
72
+ // C#
73
+ '*.csproj',
74
+ 'packages.config'
75
+ ];
76
+ /**
77
+ * Dependency Analyzer Class
78
+ * Main entry point for Software Composition Analysis
79
+ */
80
+ class DependencyAnalyzer {
81
+ config;
82
+ vulnerabilityDetector;
83
+ aiAnalyzer; // Will be integrated with AIAnalyzer
84
+ constructor(config) {
85
+ this.config = {
86
+ ...config,
87
+ maxDepth: config.maxDepth ?? 5,
88
+ exclude: config.exclude ?? ['node_modules', 'vendor', 'venv', '.git', 'dist', 'build'],
89
+ includeDevDependencies: config.includeDevDependencies ?? true,
90
+ verbose: config.verbose ?? false
91
+ };
92
+ this.vulnerabilityDetector = new detectors_1.VulnerabilityDetector();
93
+ }
94
+ /**
95
+ * Run dependency analysis
96
+ */
97
+ async analyze() {
98
+ const startTime = Date.now();
99
+ logger_1.logger.info('📦 Starting dependency analysis (SCA)...');
100
+ // Find all manifest files
101
+ logger_1.logger.info('🔍 Searching for dependency manifests...');
102
+ const manifestFiles = await this.findManifestFiles();
103
+ if (manifestFiles.length === 0) {
104
+ logger_1.logger.warn('⚠️ No dependency manifest files found');
105
+ return this.createEmptyResult(startTime);
106
+ }
107
+ logger_1.logger.info(`📄 Found ${manifestFiles.length} manifest file(s)`);
108
+ // Parse all manifests
109
+ const manifests = [];
110
+ const allDependencies = [];
111
+ for (const filePath of manifestFiles) {
112
+ const manifest = await this.parseManifest(filePath);
113
+ if (manifest) {
114
+ manifests.push(manifest);
115
+ allDependencies.push(...manifest.dependencies);
116
+ }
117
+ }
118
+ // Deduplicate dependencies
119
+ const uniqueDependencies = this.deduplicateDependencies(allDependencies);
120
+ logger_1.logger.info(`📊 Found ${uniqueDependencies.length} unique dependencies`);
121
+ // Analyze for vulnerabilities
122
+ logger_1.logger.info('🔒 Analyzing dependencies for vulnerabilities...');
123
+ const vulnerabilities = await this.analyzeVulnerabilities(uniqueDependencies);
124
+ if (vulnerabilities.length > 0) {
125
+ logger_1.logger.warn(`⚠️ Found ${vulnerabilities.length} vulnerability issue(s)`);
126
+ }
127
+ else {
128
+ logger_1.logger.info('✅ No vulnerabilities detected');
129
+ }
130
+ // Calculate statistics
131
+ const endTime = Date.now();
132
+ const stats = this.calculateStats(manifests, uniqueDependencies, vulnerabilities, endTime - startTime);
133
+ // Get ecosystems
134
+ const ecosystems = [...new Set(manifests.map(m => m.ecosystem))];
135
+ return {
136
+ manifests,
137
+ dependencies: uniqueDependencies,
138
+ vulnerabilities,
139
+ stats,
140
+ ecosystems,
141
+ timestamp: new Date()
142
+ };
143
+ }
144
+ /**
145
+ * Find all manifest files in the project
146
+ */
147
+ async findManifestFiles() {
148
+ const manifestFiles = [];
149
+ const parsers = (0, parsers_1.getAllDependencyParsers)();
150
+ await this.walkDirectory(this.config.projectPath, 0, (filePath) => {
151
+ const fileName = path.basename(filePath);
152
+ // Check if any parser supports this file
153
+ for (const parser of parsers) {
154
+ if (parser.supports(fileName)) {
155
+ manifestFiles.push(filePath);
156
+ if (this.config.verbose) {
157
+ logger_1.logger.debug(`Found manifest: ${filePath}`);
158
+ }
159
+ break;
160
+ }
161
+ }
162
+ });
163
+ return manifestFiles;
164
+ }
165
+ /**
166
+ * Recursively walk directory
167
+ */
168
+ async walkDirectory(dir, depth, callback) {
169
+ if (depth > (this.config.maxDepth ?? 5))
170
+ return;
171
+ try {
172
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
173
+ for (const entry of entries) {
174
+ const fullPath = path.join(dir, entry.name);
175
+ if (entry.isDirectory()) {
176
+ // Check if excluded
177
+ if (this.config.exclude?.includes(entry.name))
178
+ continue;
179
+ await this.walkDirectory(fullPath, depth + 1, callback);
180
+ }
181
+ else if (entry.isFile()) {
182
+ callback(fullPath);
183
+ }
184
+ }
185
+ }
186
+ catch (error) {
187
+ // Ignore permission errors
188
+ if (this.config.verbose) {
189
+ logger_1.logger.debug(`Cannot read directory: ${dir}`);
190
+ }
191
+ }
192
+ }
193
+ /**
194
+ * Parse a manifest file
195
+ */
196
+ async parseManifest(filePath) {
197
+ const fileName = path.basename(filePath);
198
+ const parser = (0, parsers_1.getParserForFile)(fileName);
199
+ if (!parser) {
200
+ logger_1.logger.debug(`No parser found for: ${fileName}`);
201
+ return null;
202
+ }
203
+ try {
204
+ const content = fs.readFileSync(filePath, 'utf-8');
205
+ const manifest = await parser.parse(filePath, content);
206
+ if (manifest.parseErrors && manifest.parseErrors.length > 0) {
207
+ logger_1.logger.warn(`⚠️ Parse errors in ${filePath}: ${manifest.parseErrors.join(', ')}`);
208
+ }
209
+ return manifest;
210
+ }
211
+ catch (error) {
212
+ logger_1.logger.debug(`Failed to parse ${filePath}: ${error}`);
213
+ return null;
214
+ }
215
+ }
216
+ /**
217
+ * Deduplicate dependencies across manifests
218
+ */
219
+ deduplicateDependencies(dependencies) {
220
+ const seen = new Map();
221
+ for (const dep of dependencies) {
222
+ const key = `${dep.ecosystem}:${dep.name}`;
223
+ if (!seen.has(key)) {
224
+ seen.set(key, dep);
225
+ }
226
+ else {
227
+ // Keep the one with more information (resolved version, etc.)
228
+ const existing = seen.get(key);
229
+ if (dep.resolvedVersion && !existing.resolvedVersion) {
230
+ seen.set(key, dep);
231
+ }
232
+ }
233
+ }
234
+ return Array.from(seen.values());
235
+ }
236
+ /**
237
+ * Analyze dependencies for vulnerabilities
238
+ */
239
+ async analyzeVulnerabilities(dependencies) {
240
+ const vulnerabilities = [];
241
+ for (const dep of dependencies) {
242
+ // Skip dev dependencies if configured
243
+ if (!this.config.includeDevDependencies && dep.dependencyType === 'dev') {
244
+ continue;
245
+ }
246
+ const depVulns = await this.vulnerabilityDetector.analyzeDependency(dep);
247
+ vulnerabilities.push(...depVulns);
248
+ // Log critical vulnerabilities
249
+ for (const vuln of depVulns) {
250
+ if (vuln.severity === types_2.Severity.CRITICAL || vuln.severity === types_2.Severity.HIGH) {
251
+ logger_1.logger.warn(`🚨 ${vuln.severity.toUpperCase()}: ${vuln.title}`);
252
+ }
253
+ }
254
+ }
255
+ // Sort by severity
256
+ return this.sortVulnerabilities(vulnerabilities);
257
+ }
258
+ /**
259
+ * Sort vulnerabilities by severity
260
+ */
261
+ sortVulnerabilities(vulnerabilities) {
262
+ const severityOrder = {
263
+ [types_2.Severity.CRITICAL]: 0,
264
+ [types_2.Severity.HIGH]: 1,
265
+ [types_2.Severity.MEDIUM]: 2,
266
+ [types_2.Severity.LOW]: 3,
267
+ [types_2.Severity.INFO]: 4
268
+ };
269
+ return vulnerabilities.sort((a, b) => severityOrder[a.severity] - severityOrder[b.severity]);
270
+ }
271
+ /**
272
+ * Calculate analysis statistics
273
+ */
274
+ calculateStats(manifests, dependencies, vulnerabilities, duration) {
275
+ const directDeps = dependencies.filter(d => d.dependencyType === 'direct');
276
+ const transitiveDeps = dependencies.filter(d => d.dependencyType === 'transitive');
277
+ const vulnerableDeps = new Set(vulnerabilities.map(v => `${v.dependency.ecosystem}:${v.dependency.name}`));
278
+ const vulnBySeverity = {
279
+ [types_2.Severity.CRITICAL]: 0,
280
+ [types_2.Severity.HIGH]: 0,
281
+ [types_2.Severity.MEDIUM]: 0,
282
+ [types_2.Severity.LOW]: 0,
283
+ [types_2.Severity.INFO]: 0
284
+ };
285
+ const vulnByCategory = {
286
+ [types_1.DependencyRiskCategory.VULNERABILITY]: 0,
287
+ [types_1.DependencyRiskCategory.SUPPLY_CHAIN]: 0,
288
+ [types_1.DependencyRiskCategory.MALICIOUS]: 0,
289
+ [types_1.DependencyRiskCategory.OUTDATED]: 0,
290
+ [types_1.DependencyRiskCategory.LICENSE]: 0,
291
+ [types_1.DependencyRiskCategory.MAINTENANCE]: 0
292
+ };
293
+ for (const vuln of vulnerabilities) {
294
+ vulnBySeverity[vuln.severity]++;
295
+ vulnByCategory[vuln.category]++;
296
+ }
297
+ const ecosystems = [...new Set(manifests.map(m => m.ecosystem))];
298
+ return {
299
+ totalManifests: manifests.length,
300
+ totalDependencies: dependencies.length,
301
+ directDependencies: directDeps.length,
302
+ transitiveDependencies: transitiveDeps.length,
303
+ vulnerableDependencies: vulnerableDeps.size,
304
+ vulnerabilitiesBySeverity: vulnBySeverity,
305
+ vulnerabilitiesByCategory: vulnByCategory,
306
+ ecosystemsAnalyzed: ecosystems,
307
+ duration
308
+ };
309
+ }
310
+ /**
311
+ * Create empty result when no manifests found
312
+ */
313
+ createEmptyResult(startTime) {
314
+ return {
315
+ manifests: [],
316
+ dependencies: [],
317
+ vulnerabilities: [],
318
+ stats: {
319
+ totalManifests: 0,
320
+ totalDependencies: 0,
321
+ directDependencies: 0,
322
+ transitiveDependencies: 0,
323
+ vulnerableDependencies: 0,
324
+ vulnerabilitiesBySeverity: {
325
+ [types_2.Severity.CRITICAL]: 0,
326
+ [types_2.Severity.HIGH]: 0,
327
+ [types_2.Severity.MEDIUM]: 0,
328
+ [types_2.Severity.LOW]: 0,
329
+ [types_2.Severity.INFO]: 0
330
+ },
331
+ vulnerabilitiesByCategory: {
332
+ [types_1.DependencyRiskCategory.VULNERABILITY]: 0,
333
+ [types_1.DependencyRiskCategory.SUPPLY_CHAIN]: 0,
334
+ [types_1.DependencyRiskCategory.MALICIOUS]: 0,
335
+ [types_1.DependencyRiskCategory.OUTDATED]: 0,
336
+ [types_1.DependencyRiskCategory.LICENSE]: 0,
337
+ [types_1.DependencyRiskCategory.MAINTENANCE]: 0
338
+ },
339
+ ecosystemsAnalyzed: [],
340
+ duration: Date.now() - startTime
341
+ },
342
+ ecosystems: [],
343
+ timestamp: new Date()
344
+ };
345
+ }
346
+ }
347
+ exports.DependencyAnalyzer = DependencyAnalyzer;
348
+ exports.default = DependencyAnalyzer;
349
+ //# sourceMappingURL=dependencyAnalyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencyAnalyzer.js","sourceRoot":"","sources":["../../src/dependencies/dependencyAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Detectors Module Exports
3
+ */
4
+ export * from './vulnerabilityDetector';
5
+ export * from './securityStandards';
6
+ export { default as VulnerabilityDetector } from './vulnerabilityDetector';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dependencies/detectors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ /**
3
+ * Detectors Module Exports
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ var __importDefault = (this && this.__importDefault) || function (mod) {
20
+ return (mod && mod.__esModule) ? mod : { "default": mod };
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.VulnerabilityDetector = void 0;
24
+ __exportStar(require("./vulnerabilityDetector"), exports);
25
+ __exportStar(require("./securityStandards"), exports);
26
+ var vulnerabilityDetector_1 = require("./vulnerabilityDetector");
27
+ Object.defineProperty(exports, "VulnerabilityDetector", { enumerable: true, get: function () { return __importDefault(vulnerabilityDetector_1).default; } });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dependencies/detectors/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;AAEH,0DAAwC;AACxC,sDAAoC;AACpC,iEAA2E;AAAlE,+IAAA,OAAO,OAAyB"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Security Standards for Dependency Analysis
3
+ * Maps dependency risks to OWASP, CWE, MITRE, and SANS standards
4
+ */
5
+ import { SecurityStandard } from '../../types';
6
+ import { DependencyRiskCategory } from '../types';
7
+ /**
8
+ * Get security standards for a dependency risk category
9
+ */
10
+ export declare function getStandardsForDependencyRisk(category: DependencyRiskCategory, cwes?: string[]): SecurityStandard[];
11
+ /**
12
+ * Get all dependency-related security standards
13
+ */
14
+ export declare function getAllDependencyStandards(): SecurityStandard[];
15
+ //# sourceMappingURL=securityStandards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"securityStandards.d.ts","sourceRoot":"","sources":["../../../src/dependencies/detectors/securityStandards.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAgIlD;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,sBAAsB,EAChC,IAAI,CAAC,EAAE,MAAM,EAAE,GACd,gBAAgB,EAAE,CA0CpB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,gBAAgB,EAAE,CAY9D"}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ /**
3
+ * Security Standards for Dependency Analysis
4
+ * Maps dependency risks to OWASP, CWE, MITRE, and SANS standards
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.getStandardsForDependencyRisk = getStandardsForDependencyRisk;
8
+ exports.getAllDependencyStandards = getAllDependencyStandards;
9
+ const types_1 = require("../types");
10
+ /**
11
+ * OWASP A06:2021 - Vulnerable and Outdated Components
12
+ */
13
+ const OWASP_A06 = {
14
+ name: 'OWASP',
15
+ id: 'A06:2021',
16
+ title: 'Vulnerable and Outdated Components',
17
+ description: 'Components, such as libraries, frameworks, and other software modules, run with the same privileges as the application. If a vulnerable component is exploited, such an attack can facilitate serious data loss or server takeover.',
18
+ url: 'https://owasp.org/Top10/A06_2021-Vulnerable_and_Outdated_Components/'
19
+ };
20
+ /**
21
+ * CWE-937 - OWASP Top 10 2017 Category A9 - Using Components with Known Vulnerabilities
22
+ */
23
+ const CWE_937 = {
24
+ name: 'CWE',
25
+ id: 'CWE-937',
26
+ title: 'Using Components with Known Vulnerabilities',
27
+ description: 'The product uses a component that has a known vulnerability.',
28
+ url: 'https://cwe.mitre.org/data/definitions/937.html'
29
+ };
30
+ /**
31
+ * CWE-1035 - OWASP Top 10 2017 Category A9 - Using Components with Known Vulnerabilities
32
+ */
33
+ const CWE_1035 = {
34
+ name: 'CWE',
35
+ id: 'CWE-1035',
36
+ title: 'OWASP Top 10 2017 Category A9',
37
+ description: 'Weaknesses in this category are related to the A9 category Using Components with Known Vulnerabilities in the OWASP Top 10 2017.',
38
+ url: 'https://cwe.mitre.org/data/definitions/1035.html'
39
+ };
40
+ /**
41
+ * CWE-506 - Embedded Malicious Code
42
+ */
43
+ const CWE_506 = {
44
+ name: 'CWE',
45
+ id: 'CWE-506',
46
+ title: 'Embedded Malicious Code',
47
+ description: 'The product contains code that appears to be malicious in nature.',
48
+ url: 'https://cwe.mitre.org/data/definitions/506.html'
49
+ };
50
+ /**
51
+ * CWE-829 - Inclusion of Functionality from Untrusted Control Sphere
52
+ */
53
+ const CWE_829 = {
54
+ name: 'CWE',
55
+ id: 'CWE-829',
56
+ title: 'Inclusion of Functionality from Untrusted Control Sphere',
57
+ description: 'The product imports, requires, or includes executable functionality from a source that is outside of the intended control sphere.',
58
+ url: 'https://cwe.mitre.org/data/definitions/829.html'
59
+ };
60
+ /**
61
+ * CWE-1104 - Use of Unmaintained Third Party Components
62
+ */
63
+ const CWE_1104 = {
64
+ name: 'CWE',
65
+ id: 'CWE-1104',
66
+ title: 'Use of Unmaintained Third Party Components',
67
+ description: 'The product relies on third-party components that are not actively supported or maintained by the original developer or a trusted proxy.',
68
+ url: 'https://cwe.mitre.org/data/definitions/1104.html'
69
+ };
70
+ /**
71
+ * MITRE ATT&CK - Supply Chain Compromise
72
+ */
73
+ const MITRE_SUPPLY_CHAIN = {
74
+ name: 'MITRE',
75
+ id: 'T1195',
76
+ title: 'Supply Chain Compromise',
77
+ description: 'Adversaries may manipulate products or product delivery mechanisms prior to receipt by a final consumer for the purpose of data or system compromise.',
78
+ url: 'https://attack.mitre.org/techniques/T1195/'
79
+ };
80
+ /**
81
+ * MITRE ATT&CK - Compromise Software Supply Chain
82
+ */
83
+ const MITRE_T1195_002 = {
84
+ name: 'MITRE',
85
+ id: 'T1195.002',
86
+ title: 'Compromise Software Supply Chain',
87
+ description: 'Adversaries may manipulate application software prior to receipt by a final consumer for the purpose of data or system compromise.',
88
+ url: 'https://attack.mitre.org/techniques/T1195/002/'
89
+ };
90
+ /**
91
+ * SANS Top 25 - Related entries
92
+ */
93
+ const SANS_UNTRUSTED_INPUT = {
94
+ name: 'SANS',
95
+ id: 'SANS-1',
96
+ title: 'Improper Neutralization of Special Elements',
97
+ description: 'Failure to properly validate and sanitize input from untrusted sources.',
98
+ url: 'https://www.sans.org/top25-software-errors/'
99
+ };
100
+ /**
101
+ * Get standards for a specific CWE
102
+ */
103
+ function getCWEStandard(cweId) {
104
+ const cweMap = {
105
+ 'CWE-937': CWE_937,
106
+ 'CWE-1035': CWE_1035,
107
+ 'CWE-506': CWE_506,
108
+ 'CWE-829': CWE_829,
109
+ 'CWE-1104': CWE_1104
110
+ };
111
+ if (cweMap[cweId]) {
112
+ return cweMap[cweId];
113
+ }
114
+ // Create a generic CWE standard for unknown CWEs
115
+ const cweNumber = cweId.replace('CWE-', '');
116
+ return {
117
+ name: 'CWE',
118
+ id: cweId,
119
+ title: `CWE-${cweNumber}`,
120
+ description: `Common Weakness Enumeration ${cweNumber}`,
121
+ url: `https://cwe.mitre.org/data/definitions/${cweNumber}.html`
122
+ };
123
+ }
124
+ /**
125
+ * Get security standards for a dependency risk category
126
+ */
127
+ function getStandardsForDependencyRisk(category, cwes) {
128
+ const standards = [];
129
+ // Always include OWASP A06 for dependency risks
130
+ standards.push(OWASP_A06);
131
+ switch (category) {
132
+ case types_1.DependencyRiskCategory.VULNERABILITY:
133
+ standards.push(CWE_937, CWE_1035);
134
+ // Add specific CWEs if provided
135
+ if (cwes) {
136
+ for (const cwe of cwes) {
137
+ const cweStandard = getCWEStandard(cwe);
138
+ if (cweStandard && !standards.some(s => s.id === cweStandard.id)) {
139
+ standards.push(cweStandard);
140
+ }
141
+ }
142
+ }
143
+ break;
144
+ case types_1.DependencyRiskCategory.MALICIOUS:
145
+ standards.push(CWE_506, CWE_829, MITRE_SUPPLY_CHAIN, MITRE_T1195_002);
146
+ break;
147
+ case types_1.DependencyRiskCategory.SUPPLY_CHAIN:
148
+ standards.push(CWE_829, MITRE_SUPPLY_CHAIN, MITRE_T1195_002);
149
+ break;
150
+ case types_1.DependencyRiskCategory.OUTDATED:
151
+ standards.push(CWE_1104);
152
+ break;
153
+ case types_1.DependencyRiskCategory.MAINTENANCE:
154
+ standards.push(CWE_1104);
155
+ break;
156
+ case types_1.DependencyRiskCategory.LICENSE:
157
+ // No specific security standards for license issues
158
+ break;
159
+ }
160
+ return standards;
161
+ }
162
+ /**
163
+ * Get all dependency-related security standards
164
+ */
165
+ function getAllDependencyStandards() {
166
+ return [
167
+ OWASP_A06,
168
+ CWE_937,
169
+ CWE_1035,
170
+ CWE_506,
171
+ CWE_829,
172
+ CWE_1104,
173
+ MITRE_SUPPLY_CHAIN,
174
+ MITRE_T1195_002,
175
+ SANS_UNTRUSTED_INPUT
176
+ ];
177
+ }
178
+ //# sourceMappingURL=securityStandards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"securityStandards.js","sourceRoot":"","sources":["../../../src/dependencies/detectors/securityStandards.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Vulnerability Detector
3
+ * Detects vulnerabilities, supply chain risks, and malicious packages
4
+ */
5
+ import { Dependency, DependencyVulnerability } from '../types';
6
+ /**
7
+ * Vulnerability Detector Class
8
+ * Detects various security issues in dependencies
9
+ */
10
+ export declare class VulnerabilityDetector {
11
+ /**
12
+ * Analyze a dependency for vulnerabilities and risks
13
+ */
14
+ analyzeDependency(dependency: Dependency): Promise<DependencyVulnerability[]>;
15
+ /**
16
+ * Check if package is known malicious
17
+ */
18
+ private checkMaliciousPackage;
19
+ /**
20
+ * Check for known CVEs
21
+ */
22
+ private checkCVEs;
23
+ /**
24
+ * Check for typosquatting
25
+ */
26
+ private checkTyposquatting;
27
+ /**
28
+ * Find typosquatting candidates
29
+ */
30
+ private findTyposquatCandidates;
31
+ /**
32
+ * Calculate string similarity (Levenshtein distance based)
33
+ */
34
+ private calculateSimilarity;
35
+ /**
36
+ * Levenshtein distance algorithm
37
+ */
38
+ private levenshteinDistance;
39
+ /**
40
+ * Detect type of typosquat
41
+ */
42
+ private detectTyposquatType;
43
+ /**
44
+ * Check for deprecated packages
45
+ */
46
+ private checkDeprecated;
47
+ /**
48
+ * Check for supply chain risks
49
+ */
50
+ private checkSupplyChainRisks;
51
+ }
52
+ export default VulnerabilityDetector;
53
+ //# sourceMappingURL=vulnerabilityDetector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vulnerabilityDetector.d.ts","sourceRoot":"","sources":["../../../src/dependencies/detectors/vulnerabilityDetector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,UAAU,EACV,uBAAuB,EAOxB,MAAM,UAAU,CAAC;AAQlB;;;GAGG;AACH,qBAAa,qBAAqB;IAChC;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAgCnF;;OAEG;YACW,qBAAqB;IAiCnC;;OAEG;YACW,SAAS;IAqCvB;;OAEG;YACW,kBAAkB;IA6BhC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA4B/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;OAEG;YACW,eAAe;IA6B7B;;OAEG;YACW,qBAAqB;CAkCpC;AAED,eAAe,qBAAqB,CAAC"}