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
package/README.md ADDED
@@ -0,0 +1,564 @@
1
+ # πŸ” Secure-Scan: Herramienta SAST Profesional
2
+
3
+ [![Licencia: MIT](https://img.shields.io/badge/Licencia-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
+ [![VersiΓ³n Node.js](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen)](https://nodejs.org)
5
+ [![Idioma](https://img.shields.io/badge/Idioma-EspaΓ±ol%20%7C%20English-blue.svg)](#-idiomas)
6
+
7
+ **Secure-Scan** es una herramienta profesional de **AnΓ‘lisis EstΓ‘tico de Seguridad de Aplicaciones (SAST)** diseΓ±ada para detectar vulnerabilidades y cΓ³digo malicioso en repositorios de cΓ³digo sin ejecutarlos.
8
+
9
+ ## 🎯 Características Principales
10
+
11
+ ### πŸ” AnΓ‘lisis de CΓ³digo Fuente
12
+ - βœ… **AnΓ‘lisis EstΓ‘tico Puro** - Sin ejecuciΓ³n, compilaciΓ³n ni interpretaciΓ³n de cΓ³digo
13
+ - πŸ” **DetecciΓ³n de Vulnerabilidades** - SQL Injection, XSS, CSRF, Command Injection, Path Traversal, etc.
14
+ - 🦠 **Detección de Malware** - Backdoors, keyloggers, cryptominers, web shells, payloads ocultos
15
+ - 🌐 **Multi-lenguaje** - JavaScript, Python, PHP, Java, C/C++, C#, IaC (Docker, Terraform, Kubernetes)
16
+
17
+ ### πŸ“¦ AnΓ‘lisis de ComposiciΓ³n de Software (SCA)
18
+ - πŸ“‹ **AnΓ‘lisis de Manifiestos** - package.json, requirements.txt, composer.json, pom.xml, etc.
19
+ - πŸ”“ **DetecciΓ³n de CVEs** - Vulnerabilidades conocidas en dependencias
20
+ - ⚠️ **Typosquatting** - Detecta paquetes maliciosos con nombres similares
21
+ - πŸ” **AnΓ‘lisis de Lock Files** - package-lock.json, yarn.lock, composer.lock, Pipfile.lock
22
+
23
+ ### πŸ”¬ Escaneo de Dependencias Instaladas (NUEVO)
24
+ - πŸ“‚ **Escaneo de node_modules** - AnΓ‘lisis profundo de paquetes npm/yarn instalados
25
+ - 🐍 **Escaneo de venv/site-packages** - Paquetes Python instalados
26
+ - 🐘 **Escaneo de vendor** - Dependencias PHP Composer
27
+ - 🦠 **Detección de Malware en Dependencias**:
28
+ - πŸšͺ Backdoors (reverse shells, conexiones C2, robo de SSH keys)
29
+ - ⛏️ Cryptominers (minerΓ­a de criptomonedas oculta)
30
+ - πŸ”“ Data Stealers (robo de credenciales, variables de entorno, tokens)
31
+ - πŸ“₯ Malicious Loaders (descarga de payloads remotos)
32
+ - πŸ” CΓ³digo Ofuscado (base64 eval, hex encoding, anti-anΓ‘lisis)
33
+ - πŸ“€ ExfiltraciΓ³n de Datos (DNS tunneling, HTTP POST de datos)
34
+ - πŸ›‘οΈ TΓ©cnicas Anti-AnΓ‘lisis (detecciΓ³n de debuggers, sandbox evasion)
35
+ - βœ… **VerificaciΓ³n de Integridad** - Compara versiones instaladas vs lock files
36
+ - ⚑ **AnÑlisis de Post-Install Scripts** - Detecta scripts maliciosos en hooks
37
+
38
+ ### πŸ“Š Reportes y EstΓ‘ndares
39
+ - πŸ“Š **Reportes HTML Profesionales** - Estilo auditorΓ­a de seguridad
40
+ - πŸ€– **IA Integrada** - AnΓ‘lisis inteligente con modelos locales o en la nube
41
+ - πŸ“‹ **Mapeo a EstΓ‘ndares** - OWASP Top 10, CWE, MITRE ATT&CK, SANS Top 25
42
+ - 🌍 **Multiidioma** - Reportes en español (por defecto) o inglés
43
+ - πŸ“ˆ **PuntuaciΓ³n de Riesgo** - Score 0-100 basado en severidad y cantidad de hallazgos
44
+
45
+ ## πŸ—οΈ Arquitectura
46
+
47
+ ```
48
+ secure-scan/
49
+ β”œβ”€β”€ src/
50
+ β”‚ β”œβ”€β”€ cli/ # Interfaz de lΓ­nea de comandos
51
+ β”‚ β”œβ”€β”€ core/ # NΓΊcleo del sistema
52
+ β”‚ β”‚ β”œβ”€β”€ scanner/ # EscΓ‘ner de archivos
53
+ β”‚ β”‚ β”œβ”€β”€ engine/ # Motor de reglas
54
+ β”‚ β”‚ └── scoring/ # Motor de puntuaciΓ³n de riesgo
55
+ β”‚ β”œβ”€β”€ analyzers/ # Analizadores por lenguaje (plugins)
56
+ β”‚ β”‚ β”œβ”€β”€ javascript/
57
+ β”‚ β”‚ β”œβ”€β”€ python/
58
+ β”‚ β”‚ β”œβ”€β”€ php/
59
+ β”‚ β”‚ β”œβ”€β”€ java/
60
+ β”‚ β”‚ β”œβ”€β”€ c-cpp/
61
+ β”‚ β”‚ β”œβ”€β”€ csharp/
62
+ β”‚ β”‚ └── iac/ # Infraestructura como CΓ³digo
63
+ β”‚ β”œβ”€β”€ dependencies/ # AnΓ‘lisis de Dependencias (SCA)
64
+ β”‚ β”‚ β”œβ”€β”€ parsers/ # Parsers por ecosistema (npm, pip, composer, etc.)
65
+ β”‚ β”‚ β”œβ”€β”€ detectors/ # Detectores de vulnerabilidades
66
+ β”‚ β”‚ β”œβ”€β”€ database/ # Base de datos CVE y paquetes maliciosos
67
+ β”‚ β”‚ └── installed/ # EscΓ‘ner de dependencias instaladas (malware)
68
+ β”‚ β”œβ”€β”€ rules/ # Reglas de detecciΓ³n
69
+ β”‚ β”‚ β”œβ”€β”€ vulnerabilities/
70
+ β”‚ β”‚ └── malware/
71
+ β”‚ β”œβ”€β”€ ai/ # Motor de IA
72
+ β”‚ β”œβ”€β”€ reports/ # Generador de reportes
73
+ β”‚ β”œβ”€β”€ i18n/ # Traducciones (espaΓ±ol/inglΓ©s)
74
+ β”‚ β”œβ”€β”€ types/ # Definiciones TypeScript
75
+ β”‚ └── utils/ # Utilidades
76
+ β”œβ”€β”€ test-samples/ # Archivos de prueba
77
+ └── docs/ # DocumentaciΓ³n
78
+ ```
79
+
80
+ ## πŸš€ InstalaciΓ³n
81
+
82
+ ### OpciΓ³n 1: InstalaciΓ³n Global (Recomendada)
83
+
84
+ ```bash
85
+ # Clonar el repositorio
86
+ git clone https://github.com/your-org/secure-scan.git
87
+ cd secure-scan
88
+
89
+ # Instalar dependencias y compilar
90
+ npm install
91
+
92
+ # Instalar globalmente
93
+ npm link
94
+
95
+ # Verificar instalaciΓ³n
96
+ secure-scan --version
97
+ ```
98
+
99
+ ### InstalaciΓ³n de IA Local con Ollama (Opcional pero Recomendado)
100
+
101
+ La IA local permite anΓ‘lisis avanzado **sin costos** y con **privacidad total**. Sigue estos pasos:
102
+
103
+ #### Paso 1: Instalar Ollama
104
+
105
+ **Windows:**
106
+ ```bash
107
+ # Usando winget (recomendado)
108
+ winget install Ollama.Ollama
109
+
110
+ # O descarga el instalador desde https://ollama.ai
111
+ ```
112
+
113
+ **Linux:**
114
+ ```bash
115
+ curl -fsSL https://ollama.ai/install.sh | sh
116
+ ```
117
+
118
+ **macOS:**
119
+ ```bash
120
+ brew install ollama
121
+ ```
122
+
123
+ #### Paso 2: Descargar un modelo de IA
124
+
125
+ ```bash
126
+ # CodeLlama 7B Instruct - Recomendado para anΓ‘lisis de cΓ³digo
127
+ ollama pull codellama:7b-instruct
128
+
129
+ # Alternativas segΓΊn tu hardware:
130
+ # - PC con 8GB+ RAM: codellama:7b-instruct (3.8 GB)
131
+ # - PC con 16GB+ RAM: codellama:13b-instruct (7.4 GB)
132
+ # - PC con poca RAM: llama3.2:3b (2 GB)
133
+ ```
134
+
135
+ #### Paso 3: Verificar que Ollama estΓ© funcionando
136
+
137
+ ```bash
138
+ # Ollama se inicia automΓ‘ticamente como servicio en Windows
139
+ # Para verificar que funciona:
140
+ ollama list
141
+
142
+ # Si no estΓ‘ corriendo, iniciarlo manualmente:
143
+ ollama serve
144
+ ```
145
+
146
+ #### Paso 4: Ejecutar escaneo con IA local
147
+
148
+ ```bash
149
+ # Escaneo bΓ‘sico con IA local
150
+ secure-scan scan ./mi-proyecto --ai --ai-provider local
151
+
152
+ # Con reporte de salida
153
+ secure-scan scan ./mi-proyecto --ai --ai-provider local -o ./reporte-seguridad
154
+ ```
155
+
156
+ > **πŸ’‘ Nota:** La primera ejecuciΓ³n puede tardar mΓ‘s mientras el modelo se carga en memoria. Las siguientes serΓ‘n mΓ‘s rΓ‘pidas.
157
+
158
+ ### OpciΓ³n 2: Usar con npx
159
+
160
+ ```bash
161
+ # Ejecutar directamente sin instalar
162
+ npx secure-scan scan ./mi-proyecto
163
+ ```
164
+
165
+ ### OpciΓ³n 3: InstalaciΓ³n desde npm (prΓ³ximamente)
166
+
167
+ ```bash
168
+ npm install -g secure-scan
169
+ ```
170
+
171
+ ## πŸ“– Uso
172
+ ### VISO MODIFICAR EL ARCHIVO secure-scan.config.json PARA CONFIGURAR LA HERRAMIENTA SEGÚN TUS NECESIDADES.
173
+ ### Escaneo BΓ‘sico
174
+
175
+ ```bash
176
+ # Escanear un proyecto
177
+ secure-scan scan ./mi-proyecto
178
+
179
+ # O usando la ruta completa
180
+ secure-scan scan "C:\Users\TuUsuario\Proyectos\mi-proyecto"
181
+ ```
182
+
183
+ ### Opciones Disponibles
184
+
185
+ ```bash
186
+ # Escanear con reporte HTML personalizado
187
+ secure-scan scan ./proyecto -o ./mi-reporte
188
+
189
+ # Modo verbose (mΓ‘s detalles)
190
+ secure-scan scan ./proyecto -v
191
+
192
+ # Usar anΓ‘lisis de IA (requiere API key)
193
+ secure-scan scan ./proyecto --ai --api-key TU_API_KEY
194
+
195
+ # Especificar lenguajes
196
+ secure-scan scan ./proyecto --languages javascript,python
197
+
198
+ # Reporte en inglΓ©s
199
+ secure-scan scan ./proyecto --lang en
200
+
201
+ # Reporte en espaΓ±ol (por defecto)
202
+ secure-scan scan ./proyecto --lang es
203
+ ```
204
+
205
+ ### CombinaciΓ³n de Opciones
206
+
207
+ Puedes combinar mΓΊltiples opciones en un solo comando:
208
+
209
+ ```bash
210
+ # Escaneo completo con IA, verbose y reporte personalizado
211
+ secure-scan scan ./proyecto -v --ai --api-key "TU_API_KEY" -o "./reporte-seguridad"
212
+
213
+ # Escaneo con IA local (Ollama), lenguajes especΓ­ficos y reporte en inglΓ©s
214
+ secure-scan scan ./proyecto --ai --ai-provider local -o "./security-report" --lang en --languages javascript,python
215
+
216
+ # Escaneo rΓ‘pido solo crΓ­ticos con salida JSON
217
+ secure-scan scan ./proyecto --min-severity critical --json
218
+
219
+ # Escaneo completo excluyendo carpetas
220
+ secure-scan scan ./proyecto -v --exclude "tests,docs,examples" -o "./audit-report"
221
+ ```
222
+
223
+ ### Referencia de Opciones
224
+
225
+ | OpciΓ³n | Alias | DescripciΓ³n | Ejemplo |
226
+ |--------|-------|-------------|---------|
227
+ | `--output` | `-o` | Ruta del reporte HTML | `-o ./reporte` |
228
+ | `--verbose` | `-v` | Salida detallada | `-v` |
229
+ | `--ai` | - | Habilitar anΓ‘lisis IA | `--ai` |
230
+ | `--api-key` | - | API key (auto-detecta proveedor) | `--api-key "sk-..."` |
231
+ | `--ai-provider` | - | Proveedor IA (openai, anthropic, google, gemini, local, auto) | `--ai-provider google` |
232
+ | `--ai-model` | - | Modelo de IA | `--ai-model gpt-4o` |
233
+ | `--languages` | `-l` | Lenguajes a escanear | `--languages js,py` |
234
+ | `--exclude` | `-e` | Patrones a excluir | `--exclude "test,docs"` |
235
+ | `--min-severity` | - | Severidad mΓ­nima | `--min-severity high` |
236
+ | `--lang` | - | Idioma del reporte (es/en) | `--lang en` |
237
+ | `--json` | - | Salida en formato JSON | `--json` |
238
+ | `--max-file-size` | - | TamaΓ±o mΓ‘ximo de archivo | `--max-file-size 10485760` |
239
+
240
+ ### Proveedores de IA Soportados
241
+
242
+ La herramienta **auto-detecta el proveedor** basΓ‘ndose en el formato de tu API key:
243
+
244
+ | Proveedor | Prefijo API Key | Modelos Disponibles |
245
+ |-----------|-----------------|---------------------|
246
+ | **OpenAI** | `sk-` o `sk-proj-` | `gpt-4o`, `gpt-4-turbo`, `gpt-4`, `gpt-3.5-turbo`, `o1-preview`, `o1-mini` |
247
+ | **Anthropic** | `sk-ant-` | `claude-3-opus`, `claude-3-sonnet`, `claude-3-haiku` |
248
+ | **Google AI** | `AIzaSy` | `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-pro` |
249
+ | **Local** | N/A | Cualquier modelo via Ollama, LM Studio, etc. |
250
+
251
+ ```bash
252
+ # OpenAI (auto-detectado)
253
+ secure-scan scan ./proyecto --ai --api-key "sk-proj-abc123..."
254
+
255
+ # Google Gemini (auto-detectado)
256
+ secure-scan scan ./proyecto --ai --api-key "AIzaSyAbc123..."
257
+
258
+ # Anthropic Claude (auto-detectado)
259
+ secure-scan scan ./proyecto --ai --api-key "sk-ant-abc123..."
260
+
261
+ # Especificar modelo manualmente
262
+ secure-scan scan ./proyecto --ai --api-key "sk-..." --ai-model gpt-4o
263
+
264
+ # IA Local con Ollama (sin API key)
265
+ secure-scan scan ./proyecto --ai --ai-provider local
266
+ ```
267
+
268
+ ### Comandos Adicionales
269
+
270
+ ```bash
271
+ # Ver ayuda
272
+ secure-scan --help
273
+
274
+ # Ver versiΓ³n
275
+ secure-scan --version
276
+
277
+ # Inicializar configuraciΓ³n
278
+ secure-scan init
279
+
280
+ # Listar reglas disponibles
281
+ secure-scan rules
282
+
283
+ # Filtrar reglas por lenguaje
284
+ secure-scan rules -l python
285
+ ```
286
+
287
+ ## 🦠 Detección de Malware en Dependencias
288
+
289
+ Secure-Scan escanea las dependencias instaladas en busca de cΓ³digo malicioso. Actualmente detecta **17 patrones de malware**:
290
+
291
+ ### CategorΓ­as de Malware Detectado
292
+
293
+ | CategorΓ­a | DescripciΓ³n | Ejemplos |
294
+ |-----------|-------------|----------|
295
+ | πŸšͺ **Backdoors** | Acceso remoto no autorizado | Reverse shells, conexiones C2, robo de SSH keys |
296
+ | ⛏️ **Cryptominers** | MinerΓ­a de criptomonedas | APIs de Stratum, CoinHive, MoneroOcean |
297
+ | πŸ”“ **Data Stealers** | Robo de informaciΓ³n | Credenciales, tokens, variables de entorno |
298
+ | πŸ“₯ **Loaders** | Descarga de payloads | eval(require('http').get), dynamic imports |
299
+ | πŸ” **OfuscaciΓ³n** | CΓ³digo oculto | Base64 + eval, hex encoding, char codes |
300
+ | πŸ“€ **ExfiltraciΓ³n** | EnvΓ­o de datos | DNS tunneling, HTTP POST, WebSockets |
301
+ | πŸ›‘οΈ **Anti-AnΓ‘lisis** | EvasiΓ³n de detecciΓ³n | Anti-debug, sandbox detection |
302
+ | πŸ“ **File System** | Acceso sospechoso | /etc/passwd, ~/.ssh, credential stores |
303
+
304
+ ### Directorios Escaneados
305
+
306
+ ```
307
+ πŸ“‚ node_modules/ β†’ Paquetes npm/yarn
308
+ πŸ“‚ vendor/ β†’ Dependencias PHP Composer
309
+ πŸ“‚ venv/ β†’ Entornos virtuales Python
310
+ πŸ“‚ site-packages/ β†’ Paquetes Python globales
311
+ πŸ“‚ .venv/ β†’ Entornos virtuales alternativos
312
+ ```
313
+
314
+ ### VerificaciΓ³n de Integridad
315
+
316
+ El escΓ‘ner tambiΓ©n verifica que las versiones instaladas coincidan con las declaradas en los lock files:
317
+
318
+ - βœ… `package-lock.json` vs `node_modules/*/package.json`
319
+ - βœ… `yarn.lock` vs `node_modules/*/package.json`
320
+ - βœ… `composer.lock` vs `vendor/*/composer.json`
321
+ - βœ… `Pipfile.lock` vs `venv/lib/python*/site-packages/`
322
+
323
+ ## 🌍 Idiomas
324
+
325
+ Secure-Scan soporta reportes en mΓΊltiples idiomas:
326
+
327
+ | Idioma | CΓ³digo | Por Defecto |
328
+ |--------|--------|-------------|
329
+ | πŸ‡ͺπŸ‡Έ EspaΓ±ol | `es` | βœ… SΓ­ |
330
+ | πŸ‡¬πŸ‡§ InglΓ©s | `en` | No |
331
+
332
+ ```bash
333
+ # Reporte en espaΓ±ol (por defecto)
334
+ secure-scan scan ./proyecto -o reporte
335
+
336
+ # Reporte en inglΓ©s
337
+ secure-scan scan ./proyecto -o report --lang en
338
+ ```
339
+
340
+ ## πŸ“Š Niveles de Severidad
341
+
342
+ | Nivel | DescripciΓ³n |
343
+ |-------|-------------|
344
+ | πŸ”΅ Info | InformaciΓ³n relevante, buenas prΓ‘cticas |
345
+ | 🟒 Bajo | Riesgo bajo, impacto limitado |
346
+ | 🟑 Medio | Riesgo moderado, requiere atención |
347
+ | 🟠 Alto | Riesgo alto, corregir pronto |
348
+ | πŸ”΄ CrΓ­tico | Riesgo crΓ­tico, corregir inmediatamente |
349
+
350
+ ## πŸ›‘οΈ EstΓ‘ndares de Seguridad
351
+
352
+ Todos los hallazgos se mapean a estΓ‘ndares reconocidos:
353
+
354
+ | EstΓ‘ndar | DescripciΓ³n | Uso |
355
+ |----------|-------------|-----|
356
+ | **OWASP Top 10** | Top 10 riesgos de seguridad web | Vulnerabilidades web |
357
+ | **CWE** | Common Weakness Enumeration | Debilidades de cΓ³digo |
358
+ | **MITRE ATT&CK** | TΓ‘cticas y TΓ©cnicas de Atacantes | DetecciΓ³n de malware |
359
+ | **SANS Top 25** | Errores de Software MΓ‘s Peligrosos | PriorizaciΓ³n |
360
+
361
+ ### Ejemplos de Mapeo
362
+
363
+ | Hallazgo | CWE | OWASP | MITRE ATT&CK |
364
+ |----------|-----|-------|--------------|
365
+ | SQL Injection | CWE-89 | A03:2021 | T1190 |
366
+ | XSS | CWE-79 | A03:2021 | T1059.007 |
367
+ | Reverse Shell | CWE-506 | - | T1059, T1571 |
368
+ | Cryptominer | CWE-400 | - | T1496 |
369
+ | Data Exfiltration | CWE-200 | - | T1041 |
370
+
371
+ ## πŸ”§ ConfiguraciΓ³n
372
+
373
+ Crea un archivo `secure-scan.config.json` en la raΓ­z del proyecto:
374
+
375
+ ```json
376
+ {
377
+ "exclude": ["node_modules", "dist", "vendor"],
378
+ "languages": ["javascript", "python", "php"],
379
+ "minSeverity": "low",
380
+ "language": "es",
381
+ "ai": {
382
+ "enabled": false,
383
+ "provider": "openai",
384
+ "model": "gpt-4"
385
+ },
386
+ "rules": {
387
+ "disabled": [],
388
+ "custom": []
389
+ }
390
+ }
391
+ ```
392
+
393
+ ### Opciones de ConfiguraciΓ³n
394
+
395
+ | OpciΓ³n | DescripciΓ³n | Valor por Defecto |
396
+ |--------|-------------|-------------------|
397
+ | `exclude` | Patrones a excluir | `["node_modules", "dist"]` |
398
+ | `languages` | Lenguajes a analizar | Todos |
399
+ | `minSeverity` | Severidad mΓ­nima | `low` |
400
+ | `language` | Idioma del reporte | `es` |
401
+ | `ai.enabled` | Habilitar anΓ‘lisis IA | `false` |
402
+
403
+ ## πŸ€– Uso de Modelos de IA Locales
404
+
405
+ Secure-Scan soporta el uso de **modelos de IA locales** para anΓ‘lisis de seguridad sin depender de APIs externas.
406
+
407
+ ### Requisitos de Hardware
408
+
409
+ | Modelo | RAM MΓ­nima | GPU (Opcional) | Velocidad |
410
+ |--------|------------|----------------|-----------|
411
+ | `llama3.2:3b` | 4 GB | No necesaria | Muy rΓ‘pida |
412
+ | `codellama:7b-instruct` | 8 GB | 4 GB VRAM | RΓ‘pida |
413
+ | `codellama:13b-instruct` | 16 GB | 8 GB VRAM | Moderada |
414
+ | `deepseek-coder:6.7b` | 8 GB | 6 GB VRAM | RΓ‘pida |
415
+
416
+ ### ConfiguraciΓ³n para IA Local
417
+
418
+ Modifica la secciΓ³n `ai` en `secure-scan.config.json`:
419
+
420
+ ```json
421
+ {
422
+ "ai": {
423
+ "enabled": true,
424
+ "provider": "local",
425
+ "model": "codellama:7b-instruct",
426
+ "endpoint": "http://localhost:11434/api/generate",
427
+ "enhanceFindings": true,
428
+ "generateSummary": true,
429
+ "maxTokens": 4096,
430
+ "temperature": 0.1
431
+ }
432
+ }
433
+ ```
434
+
435
+ ### Herramientas de IA Local Compatibles
436
+
437
+ | Herramienta | Endpoint por Defecto | Modelos Recomendados |
438
+ |-------------|---------------------|----------------------|
439
+ | **Ollama** | `http://localhost:11434/api/generate` | `codellama`, `llama3`, `mistral`, `deepseek-coder` |
440
+ | **LM Studio** | `http://localhost:1234/v1/completions` | Cualquier modelo GGUF |
441
+ | **LocalAI** | `http://localhost:8080/v1/completions` | Compatible con OpenAI API |
442
+ | **text-generation-webui** | `http://localhost:5000/api/generate` | Varios formatos |
443
+
444
+ ### Ejemplo con Ollama (Recomendado)
445
+
446
+ 1. **Instalar Ollama**: Descarga desde [ollama.ai](https://ollama.ai)
447
+
448
+ 2. **Descargar un modelo optimizado para cΓ³digo**:
449
+ ```bash
450
+ # CodeLlama - especializado en cΓ³digo
451
+ ollama pull codellama
452
+
453
+ # DeepSeek Coder - excelente para anΓ‘lisis de seguridad
454
+ ollama pull deepseek-coder
455
+
456
+ # Mistral - buen balance rendimiento/calidad
457
+ ollama pull mistral
458
+ ```
459
+
460
+ 3. **Ollama se ejecuta automΓ‘ticamente** en `http://localhost:11434`
461
+
462
+ 4. **Ejecutar escaneo con IA local**:
463
+ ```bash
464
+ secure-scan scan ./mi-proyecto --ai
465
+ ```
466
+
467
+ ### Ejemplo con LM Studio
468
+
469
+ 1. Descarga [LM Studio](https://lmstudio.ai/)
470
+ 2. Descarga un modelo GGUF (ej: `codellama-7b-instruct.Q4_K_M.gguf`)
471
+ 3. Inicia el servidor local en LM Studio
472
+ 4. Configura el endpoint:
473
+ ```json
474
+ {
475
+ "ai": {
476
+ "enabled": true,
477
+ "provider": "local",
478
+ "endpoint": "http://localhost:1234/v1/completions"
479
+ }
480
+ }
481
+ ```
482
+
483
+ ### Ventajas de IA Local
484
+
485
+ - πŸ”’ **Privacidad total** - Tu cΓ³digo nunca sale de tu mΓ‘quina
486
+ - πŸ’° **Sin costos** - No requiere suscripciones ni API keys
487
+ - ⚑ **Sin límites** - Analiza todo el código que necesites
488
+ - 🌐 **Offline** - Funciona sin conexión a internet
489
+
490
+ ## πŸ“ˆ Hoja de Ruta
491
+
492
+ - [x] Fase 1: AnΓ‘lisis estΓ‘tico bΓ‘sico (JavaScript, Python, PHP, Java, C/C++, C#)
493
+ - [x] Fase 2: IntegraciΓ³n de IA (OpenAI, Anthropic, modelos locales con Ollama)
494
+ - [x] Fase 3: Soporte multiidioma (reportes en espaΓ±ol/inglΓ©s)
495
+ - [x] Fase 4: AnΓ‘lisis de dependencias (SCA)
496
+ - [x] Parsers para 6 ecosistemas (npm, pip, composer, maven, nuget, go)
497
+ - [x] DetecciΓ³n de CVEs y vulnerabilidades conocidas
498
+ - [x] DetecciΓ³n de typosquatting
499
+ - [x] **Escaneo de dependencias instaladas con detecciΓ³n de malware**
500
+ - [x] **17 patrones de malware (backdoors, cryptominers, stealers, etc.)**
501
+ - [x] **VerificaciΓ³n de integridad (lock files vs instalados)**
502
+ - [ ] Fase 5: IntegraciΓ³n CI/CD (GitHub Actions, GitLab CI, Azure DevOps)
503
+ - [ ] Fase 6: AnΓ‘lisis dinΓ‘mico (DAST)
504
+ - [ ] Fase 7: Dashboard web en tiempo real
505
+
506
+ ## ⚠️ Advertencias de Seguridad
507
+
508
+ - Esta herramienta **NUNCA** ejecuta cΓ³digo del proyecto analizado
509
+ - DiseΓ±ada exclusivamente para **auditorΓ­a defensiva**
510
+ - No genera ni contiene malware funcional
511
+ - Uso responsable y Γ©tico ΓΊnicamente
512
+
513
+ ## πŸ’» Ejemplo de Salida
514
+
515
+ ```
516
+ πŸ” Secure-Scan v2.0.0
517
+
518
+ πŸ“‚ Escaneando: ./mi-proyecto
519
+ πŸ” Archivos analizados: 156
520
+ πŸ“ LΓ­neas de cΓ³digo: 24,853
521
+ ⏱️ Tiempo: 2.34s
522
+
523
+ πŸ“Š Resultados del Escaneo:
524
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
525
+ β”‚ πŸ”΄ CrΓ­tico: 5 β”‚ 🟠 Alto: 12 β”‚ 🟑 Medio: 23 β”‚
526
+ β”‚ 🟒 Bajo: 8 β”‚ πŸ”΅ Info: 3 β”‚ Total: 51 β”‚
527
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
528
+
529
+ πŸ“¦ Dependencias Analizadas:
530
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
531
+ β”‚ πŸ“‹ Manifiestos: 3 β”‚ πŸ“¦ Paquetes: 847 β”‚
532
+ β”‚ πŸ”“ CVEs: 12 β”‚ 🦠 Malware: 0 β”‚
533
+ β”‚ ⚠️ Typosquatting: 1 β”‚ βœ… Integridad: OK β”‚
534
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
535
+
536
+ πŸ“ˆ PuntuaciΓ³n de Riesgo: 72/100 (Alto)
537
+
538
+ πŸ“„ Reporte generado: ./security-report.html
539
+ ```
540
+
541
+ ## πŸ“„ Licencia
542
+
543
+ MIT License - Ver [LICENSE](LICENSE)
544
+
545
+ ## 🀝 Contribuir
546
+
547
+ 1. Fork el repositorio
548
+ 2. Crea una rama (`git checkout -b feature/nueva-funcionalidad`)
549
+ 3. Commit tus cambios (`git commit -m 'AΓ±adir nueva funcionalidad'`)
550
+ 4. Push a la rama (`git push origin feature/nueva-funcionalidad`)
551
+ 5. Abre un Pull Request
552
+
553
+ ## πŸ“ž Soporte
554
+
555
+ - πŸ“§ Email: soporte@secure-scan.dev
556
+ - πŸ› Issues: [GitHub Issues](https://github.com/your-org/secure-scan/issues)
557
+ - πŸ“– DocumentaciΓ³n: [docs/](docs/)
558
+
559
+ ---
560
+
561
+ **Desarrollado con ❀️ para la comunidad de seguridad**
562
+
563
+ ---
564
+ **Autor:** Luis000923
@@ -0,0 +1,99 @@
1
+ /**
2
+ * AI Analyzer Module
3
+ * Uses AI/ML for advanced threat detection and analysis
4
+ */
5
+ import { AIConfig, Finding, ScannedFile } from '../types';
6
+ /**
7
+ * AI Analysis Result
8
+ */
9
+ interface AIAnalysisResult {
10
+ findings: Finding[];
11
+ explanation?: string;
12
+ suggestedFixes?: string[];
13
+ riskAssessment?: string;
14
+ }
15
+ /**
16
+ * AI Analyzer Class
17
+ * Provides AI-powered security analysis
18
+ */
19
+ export declare class AIAnalyzer {
20
+ private config;
21
+ private initialized;
22
+ private detectedProvider;
23
+ constructor(config: AIConfig);
24
+ /**
25
+ * Auto-detect AI provider from API key format
26
+ */
27
+ private detectProvider;
28
+ /**
29
+ * Initialize AI analyzer
30
+ */
31
+ initialize(): Promise<void>;
32
+ /**
33
+ * Analyze code with AI
34
+ */
35
+ analyze(file: ScannedFile): Promise<AIAnalysisResult>;
36
+ /**
37
+ * Get the best model for the provider
38
+ */
39
+ private getModel;
40
+ /**
41
+ * Analyze with OpenAI (supports all GPT models)
42
+ */
43
+ private analyzeWithOpenAI;
44
+ /**
45
+ * Analyze with Anthropic Claude
46
+ */
47
+ private analyzeWithAnthropic;
48
+ /**
49
+ * Analyze with Google AI (Gemini)
50
+ */
51
+ private analyzeWithGoogle;
52
+ private analysisCache;
53
+ /**
54
+ * Analyze with local model (Ollama compatible) - Optimized for performance
55
+ */
56
+ private analyzeWithLocal;
57
+ /**
58
+ * Analyze multiple files in parallel (for local models)
59
+ */
60
+ analyzeParallel(files: ScannedFile[]): Promise<Map<string, AIAnalysisResult>>;
61
+ /**
62
+ * Clear the analysis cache
63
+ */
64
+ clearCache(): void;
65
+ /**
66
+ * Get system prompt for AI
67
+ */
68
+ private getSystemPrompt;
69
+ /**
70
+ * Build analysis prompt
71
+ */
72
+ private buildAnalysisPrompt;
73
+ /**
74
+ * Parse AI response into findings
75
+ */
76
+ private parseAIResponse;
77
+ /**
78
+ * Convert AI finding to Finding type
79
+ */
80
+ private convertToFinding;
81
+ /**
82
+ * Parse severity string
83
+ */
84
+ private parseSeverity;
85
+ /**
86
+ * Parse threat type string
87
+ */
88
+ private parseThreatType;
89
+ /**
90
+ * Check if threat type is malware
91
+ */
92
+ private ismalwareType;
93
+ /**
94
+ * Enhance finding with AI explanation
95
+ */
96
+ enhanceFinding(finding: Finding): Promise<Finding>;
97
+ }
98
+ export default AIAnalyzer;
99
+ //# sourceMappingURL=aiAnalyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aiAnalyzer.d.ts","sourceRoot":"","sources":["../../src/ai/aiAnalyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAyC,MAAM,UAAU,CAAC;AAKjG;;GAEG;AACH,UAAU,gBAAgB;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAOD;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,gBAAgB,CAA8B;gBAE1C,MAAM,EAAE,QAAQ;IAM5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAwCtB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwB3D;;OAEG;IACH,OAAO,CAAC,QAAQ;IAkBhB;;OAEG;YACW,iBAAiB;IAgD/B;;OAEG;YACW,oBAAoB;IAqClC;;OAEG;YACW,iBAAiB;IAmF/B,OAAO,CAAC,aAAa,CAA4C;IAEjE;;OAEG;YACW,gBAAgB;IA0G9B;;OAEG;IACG,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAqBnF;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB;;OAEG;IACH,OAAO,CAAC,eAAe;IAmCvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmB3B;;OAEG;IACH,OAAO,CAAC,eAAe;IA6BvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA2CxB;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,eAAe;IA0BvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CA4CzD;AAED,eAAe,UAAU,CAAC"}