@nahisaho/musubix-security 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/dist/analysis/enhanced-taint-analyzer.d.ts +120 -0
  2. package/dist/analysis/enhanced-taint-analyzer.d.ts.map +1 -0
  3. package/dist/analysis/enhanced-taint-analyzer.js +450 -0
  4. package/dist/analysis/enhanced-taint-analyzer.js.map +1 -0
  5. package/dist/analysis/index.d.ts +1 -0
  6. package/dist/analysis/index.d.ts.map +1 -1
  7. package/dist/analysis/index.js +1 -0
  8. package/dist/analysis/index.js.map +1 -1
  9. package/dist/analysis/interprocedural/call-graph-builder.d.ts +192 -0
  10. package/dist/analysis/interprocedural/call-graph-builder.d.ts.map +1 -0
  11. package/dist/analysis/interprocedural/call-graph-builder.js +510 -0
  12. package/dist/analysis/interprocedural/call-graph-builder.js.map +1 -0
  13. package/dist/analysis/interprocedural/dfg-adapter.d.ts +166 -0
  14. package/dist/analysis/interprocedural/dfg-adapter.d.ts.map +1 -0
  15. package/dist/analysis/interprocedural/dfg-adapter.js +455 -0
  16. package/dist/analysis/interprocedural/dfg-adapter.js.map +1 -0
  17. package/dist/analysis/interprocedural/index.d.ts +9 -0
  18. package/dist/analysis/interprocedural/index.d.ts.map +1 -0
  19. package/dist/analysis/interprocedural/index.js +9 -0
  20. package/dist/analysis/interprocedural/index.js.map +1 -0
  21. package/dist/analysis/interprocedural/taint-propagator.d.ts +250 -0
  22. package/dist/analysis/interprocedural/taint-propagator.d.ts.map +1 -0
  23. package/dist/analysis/interprocedural/taint-propagator.js +435 -0
  24. package/dist/analysis/interprocedural/taint-propagator.js.map +1 -0
  25. package/dist/analysis/sanitizers/command-sanitizers.d.ts +12 -0
  26. package/dist/analysis/sanitizers/command-sanitizers.d.ts.map +1 -0
  27. package/dist/analysis/sanitizers/command-sanitizers.js +123 -0
  28. package/dist/analysis/sanitizers/command-sanitizers.js.map +1 -0
  29. package/dist/analysis/sanitizers/html-sanitizers.d.ts +12 -0
  30. package/dist/analysis/sanitizers/html-sanitizers.d.ts.map +1 -0
  31. package/dist/analysis/sanitizers/html-sanitizers.js +213 -0
  32. package/dist/analysis/sanitizers/html-sanitizers.js.map +1 -0
  33. package/dist/analysis/sanitizers/index.d.ts +35 -0
  34. package/dist/analysis/sanitizers/index.d.ts.map +1 -0
  35. package/dist/analysis/sanitizers/index.js +59 -0
  36. package/dist/analysis/sanitizers/index.js.map +1 -0
  37. package/dist/analysis/sanitizers/path-sanitizers.d.ts +12 -0
  38. package/dist/analysis/sanitizers/path-sanitizers.d.ts.map +1 -0
  39. package/dist/analysis/sanitizers/path-sanitizers.js +163 -0
  40. package/dist/analysis/sanitizers/path-sanitizers.js.map +1 -0
  41. package/dist/analysis/sanitizers/sql-sanitizers.d.ts +12 -0
  42. package/dist/analysis/sanitizers/sql-sanitizers.d.ts.map +1 -0
  43. package/dist/analysis/sanitizers/sql-sanitizers.js +216 -0
  44. package/dist/analysis/sanitizers/sql-sanitizers.js.map +1 -0
  45. package/dist/analysis/sanitizers/types.d.ts +78 -0
  46. package/dist/analysis/sanitizers/types.d.ts.map +1 -0
  47. package/dist/analysis/sanitizers/types.js +7 -0
  48. package/dist/analysis/sanitizers/types.js.map +1 -0
  49. package/dist/analysis/sanitizers/validation-sanitizers.d.ts +12 -0
  50. package/dist/analysis/sanitizers/validation-sanitizers.d.ts.map +1 -0
  51. package/dist/analysis/sanitizers/validation-sanitizers.js +268 -0
  52. package/dist/analysis/sanitizers/validation-sanitizers.js.map +1 -0
  53. package/dist/analysis/sinks/code-eval.d.ts +12 -0
  54. package/dist/analysis/sinks/code-eval.d.ts.map +1 -0
  55. package/dist/analysis/sinks/code-eval.js +231 -0
  56. package/dist/analysis/sinks/code-eval.js.map +1 -0
  57. package/dist/analysis/sinks/command-exec.d.ts +12 -0
  58. package/dist/analysis/sinks/command-exec.d.ts.map +1 -0
  59. package/dist/analysis/sinks/command-exec.js +187 -0
  60. package/dist/analysis/sinks/command-exec.js.map +1 -0
  61. package/dist/analysis/sinks/file-operations.d.ts +12 -0
  62. package/dist/analysis/sinks/file-operations.d.ts.map +1 -0
  63. package/dist/analysis/sinks/file-operations.js +239 -0
  64. package/dist/analysis/sinks/file-operations.js.map +1 -0
  65. package/dist/analysis/sinks/html-output.d.ts +12 -0
  66. package/dist/analysis/sinks/html-output.d.ts.map +1 -0
  67. package/dist/analysis/sinks/html-output.js +256 -0
  68. package/dist/analysis/sinks/html-output.js.map +1 -0
  69. package/dist/analysis/sinks/index.d.ts +30 -0
  70. package/dist/analysis/sinks/index.d.ts.map +1 -0
  71. package/dist/analysis/sinks/index.js +46 -0
  72. package/dist/analysis/sinks/index.js.map +1 -0
  73. package/dist/analysis/sinks/sql-query.d.ts +12 -0
  74. package/dist/analysis/sinks/sql-query.d.ts.map +1 -0
  75. package/dist/analysis/sinks/sql-query.js +209 -0
  76. package/dist/analysis/sinks/sql-query.js.map +1 -0
  77. package/dist/analysis/sinks/types.d.ts +97 -0
  78. package/dist/analysis/sinks/types.d.ts.map +1 -0
  79. package/dist/analysis/sinks/types.js +7 -0
  80. package/dist/analysis/sinks/types.js.map +1 -0
  81. package/dist/analysis/sources/database.d.ts +12 -0
  82. package/dist/analysis/sources/database.d.ts.map +1 -0
  83. package/dist/analysis/sources/database.js +211 -0
  84. package/dist/analysis/sources/database.js.map +1 -0
  85. package/dist/analysis/sources/environment.d.ts +12 -0
  86. package/dist/analysis/sources/environment.d.ts.map +1 -0
  87. package/dist/analysis/sources/environment.js +158 -0
  88. package/dist/analysis/sources/environment.js.map +1 -0
  89. package/dist/analysis/sources/file-system.d.ts +12 -0
  90. package/dist/analysis/sources/file-system.d.ts.map +1 -0
  91. package/dist/analysis/sources/file-system.js +180 -0
  92. package/dist/analysis/sources/file-system.js.map +1 -0
  93. package/dist/analysis/sources/http-request.d.ts +12 -0
  94. package/dist/analysis/sources/http-request.d.ts.map +1 -0
  95. package/dist/analysis/sources/http-request.js +179 -0
  96. package/dist/analysis/sources/http-request.js.map +1 -0
  97. package/dist/analysis/sources/index.d.ts +26 -0
  98. package/dist/analysis/sources/index.d.ts.map +1 -0
  99. package/dist/analysis/sources/index.js +40 -0
  100. package/dist/analysis/sources/index.js.map +1 -0
  101. package/dist/analysis/sources/types.d.ts +93 -0
  102. package/dist/analysis/sources/types.d.ts.map +1 -0
  103. package/dist/analysis/sources/types.js +7 -0
  104. package/dist/analysis/sources/types.js.map +1 -0
  105. package/dist/analysis/sources/user-input.d.ts +12 -0
  106. package/dist/analysis/sources/user-input.d.ts.map +1 -0
  107. package/dist/analysis/sources/user-input.js +261 -0
  108. package/dist/analysis/sources/user-input.js.map +1 -0
  109. package/dist/cve/cpe-matcher.d.ts +183 -0
  110. package/dist/cve/cpe-matcher.d.ts.map +1 -0
  111. package/dist/cve/cpe-matcher.js +396 -0
  112. package/dist/cve/cpe-matcher.js.map +1 -0
  113. package/dist/cve/cve-cache.d.ts +225 -0
  114. package/dist/cve/cve-cache.d.ts.map +1 -0
  115. package/dist/cve/cve-cache.js +452 -0
  116. package/dist/cve/cve-cache.js.map +1 -0
  117. package/dist/cve/cve-cache.test.d.ts +6 -0
  118. package/dist/cve/cve-cache.test.d.ts.map +1 -0
  119. package/dist/cve/cve-cache.test.js +363 -0
  120. package/dist/cve/cve-cache.test.js.map +1 -0
  121. package/dist/cve/dependency-parser.d.ts +204 -0
  122. package/dist/cve/dependency-parser.d.ts.map +1 -0
  123. package/dist/cve/dependency-parser.js +338 -0
  124. package/dist/cve/dependency-parser.js.map +1 -0
  125. package/dist/cve/index.d.ts +20 -0
  126. package/dist/cve/index.d.ts.map +1 -0
  127. package/dist/cve/index.js +13 -0
  128. package/dist/cve/index.js.map +1 -0
  129. package/dist/cve/nvd-client.d.ts +137 -0
  130. package/dist/cve/nvd-client.d.ts.map +1 -0
  131. package/dist/cve/nvd-client.js +333 -0
  132. package/dist/cve/nvd-client.js.map +1 -0
  133. package/dist/cve/rate-limiter.d.ts +194 -0
  134. package/dist/cve/rate-limiter.d.ts.map +1 -0
  135. package/dist/cve/rate-limiter.js +276 -0
  136. package/dist/cve/rate-limiter.js.map +1 -0
  137. package/dist/cve/report-generator.d.ts +145 -0
  138. package/dist/cve/report-generator.d.ts.map +1 -0
  139. package/dist/cve/report-generator.js +377 -0
  140. package/dist/cve/report-generator.js.map +1 -0
  141. package/dist/cve/report-generator.test.d.ts +6 -0
  142. package/dist/cve/report-generator.test.d.ts.map +1 -0
  143. package/dist/cve/report-generator.test.js +275 -0
  144. package/dist/cve/report-generator.test.js.map +1 -0
  145. package/dist/cve/vulnerability-scanner.d.ts +198 -0
  146. package/dist/cve/vulnerability-scanner.d.ts.map +1 -0
  147. package/dist/cve/vulnerability-scanner.js +311 -0
  148. package/dist/cve/vulnerability-scanner.js.map +1 -0
  149. package/dist/cve/vulnerability-scanner.test.d.ts +6 -0
  150. package/dist/cve/vulnerability-scanner.test.d.ts.map +1 -0
  151. package/dist/cve/vulnerability-scanner.test.js +329 -0
  152. package/dist/cve/vulnerability-scanner.test.js.map +1 -0
  153. package/dist/index.d.ts +1 -0
  154. package/dist/index.d.ts.map +1 -1
  155. package/dist/index.js +4 -0
  156. package/dist/index.js.map +1 -1
  157. package/dist/rules/config/config-parser.d.ts +119 -0
  158. package/dist/rules/config/config-parser.d.ts.map +1 -0
  159. package/dist/rules/config/config-parser.js +376 -0
  160. package/dist/rules/config/config-parser.js.map +1 -0
  161. package/dist/rules/config/index.d.ts +8 -0
  162. package/dist/rules/config/index.d.ts.map +1 -0
  163. package/dist/rules/config/index.js +8 -0
  164. package/dist/rules/config/index.js.map +1 -0
  165. package/dist/rules/config/profiles.d.ts +85 -0
  166. package/dist/rules/config/profiles.d.ts.map +1 -0
  167. package/dist/rules/config/profiles.js +226 -0
  168. package/dist/rules/config/profiles.js.map +1 -0
  169. package/dist/rules/cwe/cwe-119-buffer-overflow.d.ts +9 -0
  170. package/dist/rules/cwe/cwe-119-buffer-overflow.d.ts.map +1 -0
  171. package/dist/rules/cwe/cwe-119-buffer-overflow.js +54 -0
  172. package/dist/rules/cwe/cwe-119-buffer-overflow.js.map +1 -0
  173. package/dist/rules/cwe/cwe-125-oob-read.d.ts +20 -0
  174. package/dist/rules/cwe/cwe-125-oob-read.d.ts.map +1 -0
  175. package/dist/rules/cwe/cwe-125-oob-read.js +247 -0
  176. package/dist/rules/cwe/cwe-125-oob-read.js.map +1 -0
  177. package/dist/rules/cwe/cwe-190-integer-overflow.d.ts +9 -0
  178. package/dist/rules/cwe/cwe-190-integer-overflow.d.ts.map +1 -0
  179. package/dist/rules/cwe/cwe-190-integer-overflow.js +55 -0
  180. package/dist/rules/cwe/cwe-190-integer-overflow.js.map +1 -0
  181. package/dist/rules/cwe/cwe-20-input-validation.d.ts +21 -0
  182. package/dist/rules/cwe/cwe-20-input-validation.d.ts.map +1 -0
  183. package/dist/rules/cwe/cwe-20-input-validation.js +342 -0
  184. package/dist/rules/cwe/cwe-20-input-validation.js.map +1 -0
  185. package/dist/rules/cwe/cwe-22-path-traversal.d.ts +20 -0
  186. package/dist/rules/cwe/cwe-22-path-traversal.d.ts.map +1 -0
  187. package/dist/rules/cwe/cwe-22-path-traversal.js +306 -0
  188. package/dist/rules/cwe/cwe-22-path-traversal.js.map +1 -0
  189. package/dist/rules/cwe/cwe-269-improper-privilege.d.ts +9 -0
  190. package/dist/rules/cwe/cwe-269-improper-privilege.d.ts.map +1 -0
  191. package/dist/rules/cwe/cwe-269-improper-privilege.js +58 -0
  192. package/dist/rules/cwe/cwe-269-improper-privilege.js.map +1 -0
  193. package/dist/rules/cwe/cwe-276-default-permissions.d.ts +9 -0
  194. package/dist/rules/cwe/cwe-276-default-permissions.d.ts.map +1 -0
  195. package/dist/rules/cwe/cwe-276-default-permissions.js +54 -0
  196. package/dist/rules/cwe/cwe-276-default-permissions.js.map +1 -0
  197. package/dist/rules/cwe/cwe-287-improper-auth.d.ts +9 -0
  198. package/dist/rules/cwe/cwe-287-improper-auth.d.ts.map +1 -0
  199. package/dist/rules/cwe/cwe-287-improper-auth.js +57 -0
  200. package/dist/rules/cwe/cwe-287-improper-auth.js.map +1 -0
  201. package/dist/rules/cwe/cwe-306-missing-auth-critical.d.ts +9 -0
  202. package/dist/rules/cwe/cwe-306-missing-auth-critical.d.ts.map +1 -0
  203. package/dist/rules/cwe/cwe-306-missing-auth-critical.js +53 -0
  204. package/dist/rules/cwe/cwe-306-missing-auth-critical.js.map +1 -0
  205. package/dist/rules/cwe/cwe-352-csrf.d.ts +9 -0
  206. package/dist/rules/cwe/cwe-352-csrf.d.ts.map +1 -0
  207. package/dist/rules/cwe/cwe-352-csrf.js +51 -0
  208. package/dist/rules/cwe/cwe-352-csrf.js.map +1 -0
  209. package/dist/rules/cwe/cwe-362-race-condition.d.ts +9 -0
  210. package/dist/rules/cwe/cwe-362-race-condition.d.ts.map +1 -0
  211. package/dist/rules/cwe/cwe-362-race-condition.js +55 -0
  212. package/dist/rules/cwe/cwe-362-race-condition.js.map +1 -0
  213. package/dist/rules/cwe/cwe-416-use-after-free.d.ts +23 -0
  214. package/dist/rules/cwe/cwe-416-use-after-free.d.ts.map +1 -0
  215. package/dist/rules/cwe/cwe-416-use-after-free.js +402 -0
  216. package/dist/rules/cwe/cwe-416-use-after-free.js.map +1 -0
  217. package/dist/rules/cwe/cwe-434-file-upload.d.ts +9 -0
  218. package/dist/rules/cwe/cwe-434-file-upload.d.ts.map +1 -0
  219. package/dist/rules/cwe/cwe-434-file-upload.js +55 -0
  220. package/dist/rules/cwe/cwe-434-file-upload.js.map +1 -0
  221. package/dist/rules/cwe/cwe-476-null-deref.d.ts +9 -0
  222. package/dist/rules/cwe/cwe-476-null-deref.d.ts.map +1 -0
  223. package/dist/rules/cwe/cwe-476-null-deref.js +55 -0
  224. package/dist/rules/cwe/cwe-476-null-deref.js.map +1 -0
  225. package/dist/rules/cwe/cwe-502-deserialization.d.ts +9 -0
  226. package/dist/rules/cwe/cwe-502-deserialization.d.ts.map +1 -0
  227. package/dist/rules/cwe/cwe-502-deserialization.js +57 -0
  228. package/dist/rules/cwe/cwe-502-deserialization.js.map +1 -0
  229. package/dist/rules/cwe/cwe-77-command-injection.d.ts +9 -0
  230. package/dist/rules/cwe/cwe-77-command-injection.d.ts.map +1 -0
  231. package/dist/rules/cwe/cwe-77-command-injection.js +55 -0
  232. package/dist/rules/cwe/cwe-77-command-injection.js.map +1 -0
  233. package/dist/rules/cwe/cwe-78-command-injection.d.ts +20 -0
  234. package/dist/rules/cwe/cwe-78-command-injection.d.ts.map +1 -0
  235. package/dist/rules/cwe/cwe-78-command-injection.js +259 -0
  236. package/dist/rules/cwe/cwe-78-command-injection.js.map +1 -0
  237. package/dist/rules/cwe/cwe-787-oob-write.d.ts +21 -0
  238. package/dist/rules/cwe/cwe-787-oob-write.d.ts.map +1 -0
  239. package/dist/rules/cwe/cwe-787-oob-write.js +321 -0
  240. package/dist/rules/cwe/cwe-787-oob-write.js.map +1 -0
  241. package/dist/rules/cwe/cwe-79-xss.d.ts +22 -0
  242. package/dist/rules/cwe/cwe-79-xss.d.ts.map +1 -0
  243. package/dist/rules/cwe/cwe-79-xss.js +386 -0
  244. package/dist/rules/cwe/cwe-79-xss.js.map +1 -0
  245. package/dist/rules/cwe/cwe-798-hardcoded-credentials.d.ts +9 -0
  246. package/dist/rules/cwe/cwe-798-hardcoded-credentials.d.ts.map +1 -0
  247. package/dist/rules/cwe/cwe-798-hardcoded-credentials.js +58 -0
  248. package/dist/rules/cwe/cwe-798-hardcoded-credentials.js.map +1 -0
  249. package/dist/rules/cwe/cwe-862-missing-auth.d.ts +9 -0
  250. package/dist/rules/cwe/cwe-862-missing-auth.d.ts.map +1 -0
  251. package/dist/rules/cwe/cwe-862-missing-auth.js +55 -0
  252. package/dist/rules/cwe/cwe-862-missing-auth.js.map +1 -0
  253. package/dist/rules/cwe/cwe-863-incorrect-auth.d.ts +9 -0
  254. package/dist/rules/cwe/cwe-863-incorrect-auth.d.ts.map +1 -0
  255. package/dist/rules/cwe/cwe-863-incorrect-auth.js +58 -0
  256. package/dist/rules/cwe/cwe-863-incorrect-auth.js.map +1 -0
  257. package/dist/rules/cwe/cwe-89-sql-injection.d.ts +21 -0
  258. package/dist/rules/cwe/cwe-89-sql-injection.d.ts.map +1 -0
  259. package/dist/rules/cwe/cwe-89-sql-injection.js +456 -0
  260. package/dist/rules/cwe/cwe-89-sql-injection.js.map +1 -0
  261. package/dist/rules/cwe/cwe-918-ssrf.d.ts +9 -0
  262. package/dist/rules/cwe/cwe-918-ssrf.d.ts.map +1 -0
  263. package/dist/rules/cwe/cwe-918-ssrf.js +59 -0
  264. package/dist/rules/cwe/cwe-918-ssrf.js.map +1 -0
  265. package/dist/rules/cwe/cwe-94-code-injection.d.ts +9 -0
  266. package/dist/rules/cwe/cwe-94-code-injection.d.ts.map +1 -0
  267. package/dist/rules/cwe/cwe-94-code-injection.js +59 -0
  268. package/dist/rules/cwe/cwe-94-code-injection.js.map +1 -0
  269. package/dist/rules/cwe/index.d.ts +43 -0
  270. package/dist/rules/cwe/index.d.ts.map +1 -0
  271. package/dist/rules/cwe/index.js +99 -0
  272. package/dist/rules/cwe/index.js.map +1 -0
  273. package/dist/rules/engine/index.d.ts +10 -0
  274. package/dist/rules/engine/index.d.ts.map +1 -0
  275. package/dist/rules/engine/index.js +9 -0
  276. package/dist/rules/engine/index.js.map +1 -0
  277. package/dist/rules/engine/rule-context.d.ts +99 -0
  278. package/dist/rules/engine/rule-context.d.ts.map +1 -0
  279. package/dist/rules/engine/rule-context.js +175 -0
  280. package/dist/rules/engine/rule-context.js.map +1 -0
  281. package/dist/rules/engine/rule-engine.d.ts +132 -0
  282. package/dist/rules/engine/rule-engine.d.ts.map +1 -0
  283. package/dist/rules/engine/rule-engine.js +379 -0
  284. package/dist/rules/engine/rule-engine.js.map +1 -0
  285. package/dist/rules/engine/rule-registry.d.ts +133 -0
  286. package/dist/rules/engine/rule-registry.d.ts.map +1 -0
  287. package/dist/rules/engine/rule-registry.js +281 -0
  288. package/dist/rules/engine/rule-registry.js.map +1 -0
  289. package/dist/rules/index.d.ts +14 -0
  290. package/dist/rules/index.d.ts.map +1 -0
  291. package/dist/rules/index.js +16 -0
  292. package/dist/rules/index.js.map +1 -0
  293. package/dist/rules/owasp/a01-broken-access-control.d.ts +19 -0
  294. package/dist/rules/owasp/a01-broken-access-control.d.ts.map +1 -0
  295. package/dist/rules/owasp/a01-broken-access-control.js +295 -0
  296. package/dist/rules/owasp/a01-broken-access-control.js.map +1 -0
  297. package/dist/rules/owasp/a02-cryptographic-failures.d.ts +19 -0
  298. package/dist/rules/owasp/a02-cryptographic-failures.d.ts.map +1 -0
  299. package/dist/rules/owasp/a02-cryptographic-failures.js +327 -0
  300. package/dist/rules/owasp/a02-cryptographic-failures.js.map +1 -0
  301. package/dist/rules/owasp/a03-injection.d.ts +21 -0
  302. package/dist/rules/owasp/a03-injection.d.ts.map +1 -0
  303. package/dist/rules/owasp/a03-injection.js +342 -0
  304. package/dist/rules/owasp/a03-injection.js.map +1 -0
  305. package/dist/rules/owasp/a04-insecure-design.d.ts +19 -0
  306. package/dist/rules/owasp/a04-insecure-design.d.ts.map +1 -0
  307. package/dist/rules/owasp/a04-insecure-design.js +403 -0
  308. package/dist/rules/owasp/a04-insecure-design.js.map +1 -0
  309. package/dist/rules/owasp/a05-security-misconfiguration.d.ts +19 -0
  310. package/dist/rules/owasp/a05-security-misconfiguration.d.ts.map +1 -0
  311. package/dist/rules/owasp/a05-security-misconfiguration.js +371 -0
  312. package/dist/rules/owasp/a05-security-misconfiguration.js.map +1 -0
  313. package/dist/rules/owasp/a06-vulnerable-components.d.ts +18 -0
  314. package/dist/rules/owasp/a06-vulnerable-components.d.ts.map +1 -0
  315. package/dist/rules/owasp/a06-vulnerable-components.js +243 -0
  316. package/dist/rules/owasp/a06-vulnerable-components.js.map +1 -0
  317. package/dist/rules/owasp/a07-auth-failures.d.ts +19 -0
  318. package/dist/rules/owasp/a07-auth-failures.d.ts.map +1 -0
  319. package/dist/rules/owasp/a07-auth-failures.js +300 -0
  320. package/dist/rules/owasp/a07-auth-failures.js.map +1 -0
  321. package/dist/rules/owasp/a08-integrity-failures.d.ts +18 -0
  322. package/dist/rules/owasp/a08-integrity-failures.d.ts.map +1 -0
  323. package/dist/rules/owasp/a08-integrity-failures.js +306 -0
  324. package/dist/rules/owasp/a08-integrity-failures.js.map +1 -0
  325. package/dist/rules/owasp/a09-logging-failures.d.ts +18 -0
  326. package/dist/rules/owasp/a09-logging-failures.d.ts.map +1 -0
  327. package/dist/rules/owasp/a09-logging-failures.js +339 -0
  328. package/dist/rules/owasp/a09-logging-failures.js.map +1 -0
  329. package/dist/rules/owasp/a10-ssrf.d.ts +18 -0
  330. package/dist/rules/owasp/a10-ssrf.d.ts.map +1 -0
  331. package/dist/rules/owasp/a10-ssrf.js +349 -0
  332. package/dist/rules/owasp/a10-ssrf.js.map +1 -0
  333. package/dist/rules/owasp/index.d.ts +20 -0
  334. package/dist/rules/owasp/index.d.ts.map +1 -0
  335. package/dist/rules/owasp/index.js +53 -0
  336. package/dist/rules/owasp/index.js.map +1 -0
  337. package/dist/rules/types.d.ts +277 -0
  338. package/dist/rules/types.d.ts.map +1 -0
  339. package/dist/rules/types.js +34 -0
  340. package/dist/rules/types.js.map +1 -0
  341. package/dist/tests/integration/epic-integration.test.d.ts +7 -0
  342. package/dist/tests/integration/epic-integration.test.d.ts.map +1 -0
  343. package/dist/tests/integration/epic-integration.test.js +390 -0
  344. package/dist/tests/integration/epic-integration.test.js.map +1 -0
  345. package/dist/tests/rules/cwe/cwe-top25-1-13.test.d.ts +2 -0
  346. package/dist/tests/rules/cwe/cwe-top25-1-13.test.d.ts.map +1 -0
  347. package/dist/tests/rules/cwe/cwe-top25-1-13.test.js +154 -0
  348. package/dist/tests/rules/cwe/cwe-top25-1-13.test.js.map +1 -0
  349. package/dist/tests/rules/cwe/cwe-top25-14-25.test.d.ts +2 -0
  350. package/dist/tests/rules/cwe/cwe-top25-14-25.test.d.ts.map +1 -0
  351. package/dist/tests/rules/cwe/cwe-top25-14-25.test.js +121 -0
  352. package/dist/tests/rules/cwe/cwe-top25-14-25.test.js.map +1 -0
  353. package/dist/types/cve.d.ts +278 -0
  354. package/dist/types/cve.d.ts.map +1 -0
  355. package/dist/types/cve.js +7 -0
  356. package/dist/types/cve.js.map +1 -0
  357. package/dist/types/index.d.ts +2 -0
  358. package/dist/types/index.d.ts.map +1 -1
  359. package/dist/types/rule.d.ts +245 -0
  360. package/dist/types/rule.d.ts.map +1 -0
  361. package/dist/types/rule.js +7 -0
  362. package/dist/types/rule.js.map +1 -0
  363. package/package.json +1 -1
@@ -0,0 +1,256 @@
1
+ /**
2
+ * @fileoverview HTML output sink definitions (XSS vulnerabilities)
3
+ * @module @nahisaho/musubix-security/analysis/sinks/html-output
4
+ * @trace REQ-SEC-001
5
+ */
6
+ /**
7
+ * HTML output sinks (XSS vulnerabilities)
8
+ * @trace REQ-SEC-001
9
+ */
10
+ export const HTML_OUTPUT_SINKS = [
11
+ // Express response
12
+ {
13
+ id: 'SNK-XSS-001',
14
+ name: 'Express Response Send',
15
+ category: 'html-output',
16
+ severity: 'high',
17
+ framework: 'express',
18
+ patterns: [
19
+ { receiver: 'res', method: 'send', vulnerableArg: 0 },
20
+ { receiver: 'res', method: 'write', vulnerableArg: 0 },
21
+ { receiver: 'response', method: 'send', vulnerableArg: 0 },
22
+ ],
23
+ expectedSanitizers: ['escapeHtml', 'encode', 'sanitizeHtml', 'DOMPurify'],
24
+ description: 'Express response with user data - XSS risk',
25
+ enabled: true,
26
+ tags: ['xss', 'express', 'html'],
27
+ relatedCWE: ['CWE-79'],
28
+ owaspCategory: 'A03:2021-Injection',
29
+ },
30
+ // Template rendering
31
+ {
32
+ id: 'SNK-XSS-010',
33
+ name: 'Template Render',
34
+ category: 'html-output',
35
+ severity: 'high',
36
+ framework: 'express',
37
+ patterns: [
38
+ { receiver: 'res', method: 'render', vulnerableArg: 1 },
39
+ { receiver: 'response', method: 'render', vulnerableArg: 1 },
40
+ ],
41
+ expectedSanitizers: ['escapeHtml', 'template auto-escape'],
42
+ description: 'Template rendering with user data',
43
+ enabled: true,
44
+ tags: ['xss', 'template', 'html'],
45
+ relatedCWE: ['CWE-79'],
46
+ owaspCategory: 'A03:2021-Injection',
47
+ },
48
+ // innerHTML (DOM XSS)
49
+ {
50
+ id: 'SNK-XSS-020',
51
+ name: 'DOM innerHTML',
52
+ category: 'html-output',
53
+ severity: 'high',
54
+ framework: 'browser',
55
+ patterns: [
56
+ { property: 'innerHTML', vulnerableArg: 0 },
57
+ { property: 'outerHTML', vulnerableArg: 0 },
58
+ ],
59
+ expectedSanitizers: ['escapeHtml', 'DOMPurify', 'sanitizeHtml', 'textContent'],
60
+ description: 'DOM innerHTML assignment - DOM XSS vulnerability',
61
+ enabled: true,
62
+ tags: ['xss', 'dom', 'innerHTML'],
63
+ relatedCWE: ['CWE-79'],
64
+ owaspCategory: 'A03:2021-Injection',
65
+ },
66
+ // document.write
67
+ {
68
+ id: 'SNK-XSS-030',
69
+ name: 'Document Write',
70
+ category: 'html-output',
71
+ severity: 'high',
72
+ framework: 'browser',
73
+ patterns: [
74
+ { receiver: 'document', method: 'write', vulnerableArg: 0 },
75
+ { receiver: 'document', method: 'writeln', vulnerableArg: 0 },
76
+ ],
77
+ expectedSanitizers: ['escapeHtml', 'DOMPurify'],
78
+ description: 'document.write with user data - XSS vulnerability',
79
+ enabled: true,
80
+ tags: ['xss', 'dom', 'document.write'],
81
+ relatedCWE: ['CWE-79'],
82
+ owaspCategory: 'A03:2021-Injection',
83
+ },
84
+ // insertAdjacentHTML
85
+ {
86
+ id: 'SNK-XSS-040',
87
+ name: 'Insert Adjacent HTML',
88
+ category: 'html-output',
89
+ severity: 'high',
90
+ framework: 'browser',
91
+ patterns: [
92
+ { method: 'insertAdjacentHTML', vulnerableArg: 1 },
93
+ ],
94
+ expectedSanitizers: ['escapeHtml', 'DOMPurify'],
95
+ description: 'insertAdjacentHTML with user data',
96
+ enabled: true,
97
+ tags: ['xss', 'dom', 'insertAdjacentHTML'],
98
+ relatedCWE: ['CWE-79'],
99
+ owaspCategory: 'A03:2021-Injection',
100
+ },
101
+ // jQuery html()
102
+ {
103
+ id: 'SNK-XSS-050',
104
+ name: 'jQuery HTML',
105
+ category: 'html-output',
106
+ severity: 'high',
107
+ framework: 'jquery',
108
+ patterns: [
109
+ { receiver: '$', method: 'html', vulnerableArg: 0 },
110
+ { receiver: 'jQuery', method: 'html', vulnerableArg: 0 },
111
+ { method: 'html', vulnerableArg: 0 },
112
+ { receiver: '$', method: 'append', vulnerableArg: 0 },
113
+ { receiver: '$', method: 'prepend', vulnerableArg: 0 },
114
+ { receiver: '$', method: 'after', vulnerableArg: 0 },
115
+ { receiver: '$', method: 'before', vulnerableArg: 0 },
116
+ ],
117
+ expectedSanitizers: ['escapeHtml', 'DOMPurify', 'text()'],
118
+ description: 'jQuery HTML manipulation with user data',
119
+ enabled: true,
120
+ tags: ['xss', 'jquery', 'html'],
121
+ relatedCWE: ['CWE-79'],
122
+ owaspCategory: 'A03:2021-Injection',
123
+ },
124
+ // React dangerouslySetInnerHTML
125
+ {
126
+ id: 'SNK-XSS-060',
127
+ name: 'React DangerouslySetInnerHTML',
128
+ category: 'html-output',
129
+ severity: 'high',
130
+ framework: 'react',
131
+ patterns: [
132
+ { property: 'dangerouslySetInnerHTML', vulnerableArg: 0 },
133
+ ],
134
+ expectedSanitizers: ['DOMPurify', 'sanitizeHtml', 'isomorphic-dompurify'],
135
+ description: 'React dangerouslySetInnerHTML with user data',
136
+ enabled: true,
137
+ tags: ['xss', 'react', 'dangerouslySetInnerHTML'],
138
+ relatedCWE: ['CWE-79'],
139
+ owaspCategory: 'A03:2021-Injection',
140
+ },
141
+ // Vue v-html
142
+ {
143
+ id: 'SNK-XSS-070',
144
+ name: 'Vue v-html Directive',
145
+ category: 'html-output',
146
+ severity: 'high',
147
+ framework: 'vue',
148
+ patterns: [
149
+ { property: 'v-html', vulnerableArg: 0 },
150
+ ],
151
+ expectedSanitizers: ['DOMPurify', 'sanitizeHtml', 'vue-sanitize'],
152
+ description: 'Vue v-html directive with user data',
153
+ enabled: true,
154
+ tags: ['xss', 'vue', 'v-html'],
155
+ relatedCWE: ['CWE-79'],
156
+ owaspCategory: 'A03:2021-Injection',
157
+ },
158
+ // Angular bypassSecurityTrust
159
+ {
160
+ id: 'SNK-XSS-080',
161
+ name: 'Angular Bypass Security',
162
+ category: 'html-output',
163
+ severity: 'high',
164
+ framework: 'angular',
165
+ patterns: [
166
+ { method: 'bypassSecurityTrustHtml', vulnerableArg: 0 },
167
+ { method: 'bypassSecurityTrustScript', vulnerableArg: 0 },
168
+ { method: 'bypassSecurityTrustStyle', vulnerableArg: 0 },
169
+ { method: 'bypassSecurityTrustUrl', vulnerableArg: 0 },
170
+ { method: 'bypassSecurityTrustResourceUrl', vulnerableArg: 0 },
171
+ ],
172
+ expectedSanitizers: ['DOMPurify', 'sanitizeHtml'],
173
+ description: 'Angular security bypass with user data',
174
+ enabled: true,
175
+ tags: ['xss', 'angular', 'bypass-security'],
176
+ relatedCWE: ['CWE-79'],
177
+ owaspCategory: 'A03:2021-Injection',
178
+ },
179
+ // URL redirect (Open Redirect)
180
+ {
181
+ id: 'SNK-XSS-090',
182
+ name: 'URL Redirect',
183
+ category: 'redirect',
184
+ severity: 'medium',
185
+ framework: 'express',
186
+ patterns: [
187
+ { receiver: 'res', method: 'redirect', vulnerableArg: 0 },
188
+ { receiver: 'response', method: 'redirect', vulnerableArg: 0 },
189
+ ],
190
+ expectedSanitizers: ['validateUrl', 'isAllowedDomain', 'whitelist'],
191
+ description: 'URL redirect with user-controlled destination',
192
+ enabled: true,
193
+ tags: ['redirect', 'open-redirect'],
194
+ relatedCWE: ['CWE-601'],
195
+ owaspCategory: 'A01:2021-Broken Access Control',
196
+ },
197
+ // Browser location
198
+ {
199
+ id: 'SNK-XSS-100',
200
+ name: 'Browser Location',
201
+ category: 'redirect',
202
+ severity: 'medium',
203
+ framework: 'browser',
204
+ patterns: [
205
+ { receiver: 'location', property: 'href', vulnerableArg: 0 },
206
+ { receiver: 'window', property: ['location', 'href'], vulnerableArg: 0 },
207
+ { receiver: 'location', method: 'assign', vulnerableArg: 0 },
208
+ { receiver: 'location', method: 'replace', vulnerableArg: 0 },
209
+ ],
210
+ expectedSanitizers: ['validateUrl', 'isAllowedDomain'],
211
+ description: 'Browser location assignment with user data',
212
+ enabled: true,
213
+ tags: ['redirect', 'open-redirect', 'dom'],
214
+ relatedCWE: ['CWE-601'],
215
+ owaspCategory: 'A01:2021-Broken Access Control',
216
+ },
217
+ // HTTP Header Injection
218
+ {
219
+ id: 'SNK-XSS-110',
220
+ name: 'HTTP Header',
221
+ category: 'html-output',
222
+ severity: 'medium',
223
+ framework: 'express',
224
+ patterns: [
225
+ { receiver: 'res', method: 'setHeader', vulnerableArg: 1 },
226
+ { receiver: 'res', method: 'set', vulnerableArg: 1 },
227
+ { receiver: 'response', method: 'header', vulnerableArg: 1 },
228
+ ],
229
+ expectedSanitizers: ['sanitizeHeader', 'removeNewlines'],
230
+ description: 'HTTP header injection - CRLF/header splitting',
231
+ enabled: true,
232
+ tags: ['header-injection', 'crlf'],
233
+ relatedCWE: ['CWE-113'],
234
+ owaspCategory: 'A03:2021-Injection',
235
+ },
236
+ // Log injection
237
+ {
238
+ id: 'SNK-XSS-120',
239
+ name: 'Log Output',
240
+ category: 'html-output',
241
+ severity: 'low',
242
+ patterns: [
243
+ { receiver: 'console', method: 'log', vulnerableArg: 0 },
244
+ { receiver: 'logger', method: 'info', vulnerableArg: 0 },
245
+ { receiver: 'logger', method: 'warn', vulnerableArg: 0 },
246
+ { receiver: 'logger', method: 'error', vulnerableArg: 0 },
247
+ ],
248
+ expectedSanitizers: ['sanitizeForLog', 'removeNewlines'],
249
+ description: 'Log output with user data - log injection/forging',
250
+ enabled: true,
251
+ tags: ['log-injection', 'log-forging'],
252
+ relatedCWE: ['CWE-117'],
253
+ owaspCategory: 'A09:2021-Security Logging and Monitoring Failures',
254
+ },
255
+ ];
256
+ //# sourceMappingURL=html-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-output.js","sourceRoot":"","sources":["../../../src/analysis/sinks/html-output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @fileoverview Taint sink definitions - Builtin sinks for interprocedural taint analysis
3
+ * @module @nahisaho/musubix-security/analysis/sinks
4
+ * @trace REQ-SEC-001 (EARS: テイント分析の高度化)
5
+ */
6
+ export * from './sql-query.js';
7
+ export * from './command-exec.js';
8
+ export * from './file-operations.js';
9
+ export * from './html-output.js';
10
+ export * from './code-eval.js';
11
+ export * from './types.js';
12
+ import type { SinkDefinition } from './types.js';
13
+ /**
14
+ * All built-in taint sinks aggregated
15
+ * @trace REQ-SEC-001
16
+ */
17
+ export declare const ALL_BUILTIN_SINKS: readonly SinkDefinition[];
18
+ /**
19
+ * Get sinks by category
20
+ */
21
+ export declare function getSinksByCategory(category: SinkDefinition['category']): readonly SinkDefinition[];
22
+ /**
23
+ * Get sinks by severity
24
+ */
25
+ export declare function getSinksBySeverity(severity: SinkDefinition['severity']): readonly SinkDefinition[];
26
+ /**
27
+ * Get sinks by CWE ID
28
+ */
29
+ export declare function getSinksByCWE(cweId: string): readonly SinkDefinition[];
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analysis/sinks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAO3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAM7C,CAAC;AAEX;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,SAAS,cAAc,EAAE,CAE3B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,SAAS,cAAc,EAAE,CAE3B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,cAAc,EAAE,CAEtE"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @fileoverview Taint sink definitions - Builtin sinks for interprocedural taint analysis
3
+ * @module @nahisaho/musubix-security/analysis/sinks
4
+ * @trace REQ-SEC-001 (EARS: テイント分析の高度化)
5
+ */
6
+ export * from './sql-query.js';
7
+ export * from './command-exec.js';
8
+ export * from './file-operations.js';
9
+ export * from './html-output.js';
10
+ export * from './code-eval.js';
11
+ export * from './types.js';
12
+ import { SQL_QUERY_SINKS } from './sql-query.js';
13
+ import { COMMAND_EXEC_SINKS } from './command-exec.js';
14
+ import { FILE_OPERATION_SINKS } from './file-operations.js';
15
+ import { HTML_OUTPUT_SINKS } from './html-output.js';
16
+ import { CODE_EVAL_SINKS } from './code-eval.js';
17
+ /**
18
+ * All built-in taint sinks aggregated
19
+ * @trace REQ-SEC-001
20
+ */
21
+ export const ALL_BUILTIN_SINKS = [
22
+ ...SQL_QUERY_SINKS,
23
+ ...COMMAND_EXEC_SINKS,
24
+ ...FILE_OPERATION_SINKS,
25
+ ...HTML_OUTPUT_SINKS,
26
+ ...CODE_EVAL_SINKS,
27
+ ];
28
+ /**
29
+ * Get sinks by category
30
+ */
31
+ export function getSinksByCategory(category) {
32
+ return ALL_BUILTIN_SINKS.filter((s) => s.category === category);
33
+ }
34
+ /**
35
+ * Get sinks by severity
36
+ */
37
+ export function getSinksBySeverity(severity) {
38
+ return ALL_BUILTIN_SINKS.filter((s) => s.severity === severity);
39
+ }
40
+ /**
41
+ * Get sinks by CWE ID
42
+ */
43
+ export function getSinksByCWE(cweId) {
44
+ return ALL_BUILTIN_SINKS.filter((s) => s.relatedCWE?.includes(cweId));
45
+ }
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/analysis/sinks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjD;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA8B;IAC1D,GAAG,eAAe;IAClB,GAAG,kBAAkB;IACrB,GAAG,oBAAoB;IACvB,GAAG,iBAAiB;IACpB,GAAG,eAAe;CACV,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAoC;IAEpC,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAoC;IAEpC,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACxE,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @fileoverview SQL query sink definitions
3
+ * @module @nahisaho/musubix-security/analysis/sinks/sql-query
4
+ * @trace REQ-SEC-001
5
+ */
6
+ import type { SinkDefinition } from './types.js';
7
+ /**
8
+ * SQL injection sinks
9
+ * @trace REQ-SEC-001
10
+ */
11
+ export declare const SQL_QUERY_SINKS: readonly SinkDefinition[];
12
+ //# sourceMappingURL=sql-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-query.d.ts","sourceRoot":"","sources":["../../../src/analysis/sinks/sql-query.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,cAAc,EA+M3C,CAAC"}
@@ -0,0 +1,209 @@
1
+ /**
2
+ * @fileoverview SQL query sink definitions
3
+ * @module @nahisaho/musubix-security/analysis/sinks/sql-query
4
+ * @trace REQ-SEC-001
5
+ */
6
+ /**
7
+ * SQL injection sinks
8
+ * @trace REQ-SEC-001
9
+ */
10
+ export const SQL_QUERY_SINKS = [
11
+ // Generic SQL
12
+ {
13
+ id: 'SNK-SQL-001',
14
+ name: 'Raw SQL Query',
15
+ category: 'sql-query',
16
+ severity: 'critical',
17
+ patterns: [
18
+ { method: 'query', vulnerableArg: 0 },
19
+ { method: 'execute', vulnerableArg: 0 },
20
+ { receiver: 'db', method: 'query', vulnerableArg: 0 },
21
+ { receiver: 'connection', method: 'query', vulnerableArg: 0 },
22
+ { receiver: 'pool', method: 'query', vulnerableArg: 0 },
23
+ ],
24
+ expectedSanitizers: ['escape', 'parameterize', 'prepare'],
25
+ description: 'Raw SQL query execution - vulnerable to SQL injection',
26
+ enabled: true,
27
+ tags: ['sql', 'injection', 'database'],
28
+ relatedCWE: ['CWE-89'],
29
+ owaspCategory: 'A03:2021-Injection',
30
+ },
31
+ // MySQL
32
+ {
33
+ id: 'SNK-SQL-010',
34
+ name: 'MySQL Query',
35
+ category: 'sql-query',
36
+ severity: 'critical',
37
+ framework: 'mysql',
38
+ patterns: [
39
+ { receiver: 'mysql', method: 'query', vulnerableArg: 0 },
40
+ { receiver: 'connection', method: 'query', vulnerableArg: 0 },
41
+ { receiver: 'pool', method: 'query', vulnerableArg: 0 },
42
+ {
43
+ importPattern: { module: 'mysql', named: ['createConnection', 'createPool'] },
44
+ method: 'query',
45
+ vulnerableArg: 0,
46
+ },
47
+ ],
48
+ expectedSanitizers: ['escape', 'format', 'escapeId'],
49
+ description: 'MySQL query execution',
50
+ enabled: true,
51
+ tags: ['sql', 'mysql', 'injection'],
52
+ relatedCWE: ['CWE-89'],
53
+ owaspCategory: 'A03:2021-Injection',
54
+ },
55
+ // MySQL2
56
+ {
57
+ id: 'SNK-SQL-011',
58
+ name: 'MySQL2 Query',
59
+ category: 'sql-query',
60
+ severity: 'critical',
61
+ framework: 'mysql2',
62
+ patterns: [
63
+ { receiver: 'mysql', method: 'query', vulnerableArg: 0 },
64
+ { receiver: 'connection', method: 'query', vulnerableArg: 0 },
65
+ { receiver: 'connection', method: 'execute', vulnerableArg: 0 },
66
+ ],
67
+ expectedSanitizers: ['escape', 'format', 'prepare'],
68
+ description: 'MySQL2 query execution',
69
+ enabled: true,
70
+ tags: ['sql', 'mysql2', 'injection'],
71
+ relatedCWE: ['CWE-89'],
72
+ owaspCategory: 'A03:2021-Injection',
73
+ },
74
+ // PostgreSQL (pg)
75
+ {
76
+ id: 'SNK-SQL-020',
77
+ name: 'PostgreSQL Query',
78
+ category: 'sql-query',
79
+ severity: 'critical',
80
+ framework: 'pg',
81
+ patterns: [
82
+ { receiver: 'client', method: 'query', vulnerableArg: 0 },
83
+ { receiver: 'pool', method: 'query', vulnerableArg: 0 },
84
+ { receiver: 'pg', method: 'query', vulnerableArg: 0 },
85
+ ],
86
+ expectedSanitizers: ['escape', 'format', 'escapeLiteral', 'escapeIdentifier'],
87
+ description: 'PostgreSQL query execution',
88
+ enabled: true,
89
+ tags: ['sql', 'postgresql', 'pg', 'injection'],
90
+ relatedCWE: ['CWE-89'],
91
+ owaspCategory: 'A03:2021-Injection',
92
+ },
93
+ // SQLite (better-sqlite3)
94
+ {
95
+ id: 'SNK-SQL-030',
96
+ name: 'SQLite Query',
97
+ category: 'sql-query',
98
+ severity: 'critical',
99
+ framework: 'better-sqlite3',
100
+ patterns: [
101
+ { receiver: 'db', method: 'prepare', vulnerableArg: 0 },
102
+ { receiver: 'db', method: 'exec', vulnerableArg: 0 },
103
+ { receiver: 'database', method: 'prepare', vulnerableArg: 0 },
104
+ ],
105
+ expectedSanitizers: ['parameterize'],
106
+ description: 'SQLite query execution',
107
+ enabled: true,
108
+ tags: ['sql', 'sqlite', 'injection'],
109
+ relatedCWE: ['CWE-89'],
110
+ owaspCategory: 'A03:2021-Injection',
111
+ },
112
+ // Knex.js Raw
113
+ {
114
+ id: 'SNK-SQL-040',
115
+ name: 'Knex Raw Query',
116
+ category: 'sql-query',
117
+ severity: 'critical',
118
+ framework: 'knex',
119
+ patterns: [
120
+ { receiver: 'knex', method: 'raw', vulnerableArg: 0 },
121
+ { receiver: 'db', method: 'raw', vulnerableArg: 0 },
122
+ ],
123
+ expectedSanitizers: ['parameterize', 'binding'],
124
+ description: 'Knex.js raw query execution',
125
+ enabled: true,
126
+ tags: ['sql', 'knex', 'raw', 'injection'],
127
+ relatedCWE: ['CWE-89'],
128
+ owaspCategory: 'A03:2021-Injection',
129
+ },
130
+ // TypeORM Raw
131
+ {
132
+ id: 'SNK-SQL-050',
133
+ name: 'TypeORM Raw Query',
134
+ category: 'sql-query',
135
+ severity: 'critical',
136
+ framework: 'typeorm',
137
+ patterns: [
138
+ { method: 'query', vulnerableArg: 0 },
139
+ { receiver: 'entityManager', method: 'query', vulnerableArg: 0 },
140
+ { receiver: 'connection', method: 'query', vulnerableArg: 0 },
141
+ { receiver: 'dataSource', method: 'query', vulnerableArg: 0 },
142
+ ],
143
+ expectedSanitizers: ['parameterize'],
144
+ description: 'TypeORM raw query execution',
145
+ enabled: true,
146
+ tags: ['sql', 'typeorm', 'raw', 'injection'],
147
+ relatedCWE: ['CWE-89'],
148
+ owaspCategory: 'A03:2021-Injection',
149
+ },
150
+ // Prisma Raw
151
+ {
152
+ id: 'SNK-SQL-060',
153
+ name: 'Prisma Raw Query',
154
+ category: 'sql-query',
155
+ severity: 'critical',
156
+ framework: 'prisma',
157
+ patterns: [
158
+ { receiver: 'prisma', method: '$queryRaw', vulnerableArg: 0 },
159
+ { receiver: 'prisma', method: '$executeRaw', vulnerableArg: 0 },
160
+ { receiver: 'prisma', method: '$queryRawUnsafe', vulnerableArg: 0 },
161
+ { receiver: 'prisma', method: '$executeRawUnsafe', vulnerableArg: 0 },
162
+ ],
163
+ expectedSanitizers: ['Prisma.sql', 'template literal'],
164
+ description: 'Prisma raw query execution',
165
+ enabled: true,
166
+ tags: ['sql', 'prisma', 'raw', 'injection'],
167
+ relatedCWE: ['CWE-89'],
168
+ owaspCategory: 'A03:2021-Injection',
169
+ },
170
+ // Sequelize Raw
171
+ {
172
+ id: 'SNK-SQL-070',
173
+ name: 'Sequelize Raw Query',
174
+ category: 'sql-query',
175
+ severity: 'critical',
176
+ framework: 'sequelize',
177
+ patterns: [
178
+ { receiver: 'sequelize', method: 'query', vulnerableArg: 0 },
179
+ ],
180
+ expectedSanitizers: ['parameterize', 'replacements', 'bind'],
181
+ description: 'Sequelize raw query execution',
182
+ enabled: true,
183
+ tags: ['sql', 'sequelize', 'raw', 'injection'],
184
+ relatedCWE: ['CWE-89'],
185
+ owaspCategory: 'A03:2021-Injection',
186
+ },
187
+ // NoSQL Injection (MongoDB)
188
+ {
189
+ id: 'SNK-SQL-080',
190
+ name: 'MongoDB Query Operator',
191
+ category: 'nosql-query',
192
+ severity: 'high',
193
+ framework: 'mongodb',
194
+ patterns: [
195
+ { method: 'find', vulnerableArg: 0 },
196
+ { method: 'findOne', vulnerableArg: 0 },
197
+ { method: 'updateOne', vulnerableArg: 0 },
198
+ { method: 'deleteOne', vulnerableArg: 0 },
199
+ { method: 'aggregate', vulnerableArg: 0 },
200
+ ],
201
+ expectedSanitizers: ['sanitize', 'validateObjectId'],
202
+ description: 'MongoDB query with potential NoSQL injection',
203
+ enabled: true,
204
+ tags: ['nosql', 'mongodb', 'injection'],
205
+ relatedCWE: ['CWE-943'],
206
+ owaspCategory: 'A03:2021-Injection',
207
+ },
208
+ ];
209
+ //# sourceMappingURL=sql-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-query.js","sourceRoot":"","sources":["../../../src/analysis/sinks/sql-query.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAA8B;IACxD,cAAc;IACd;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE;YACR,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;YACrC,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,EAAE;YACvC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;YACrD,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;YAC7D,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;SACxD;QACD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,CAAC;QACzD,WAAW,EAAE,uDAAuD;QACpE,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC;QACtC,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,aAAa,EAAE,oBAAoB;KACpC;IAED,QAAQ;IACR;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,OAAO;QAClB,QAAQ,EAAE;YACR,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;YACxD,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;YAC7D,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;YACvD;gBACE,aAAa,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,kBAAkB,EAAE,YAAY,CAAC,EAAE;gBAC7E,MAAM,EAAE,OAAO;gBACf,aAAa,EAAE,CAAC;aACjB;SACF;QACD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;QACpD,WAAW,EAAE,uBAAuB;QACpC,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC;QACnC,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,aAAa,EAAE,oBAAoB;KACpC;IAED,SAAS;IACT;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,QAAQ;QACnB,QAAQ,EAAE;YACR,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;YACxD,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;YAC7D,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,EAAE;SAChE;QACD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;QACnD,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC;QACpC,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,aAAa,EAAE,oBAAoB;KACpC;IAED,kBAAkB;IAClB;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE;YACR,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;YACzD,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;YACvD,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;SACtD;QACD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,kBAAkB,CAAC;QAC7E,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,CAAC;QAC9C,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,aAAa,EAAE,oBAAoB;KACpC;IAED,0BAA0B;IAC1B;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,gBAAgB;QAC3B,QAAQ,EAAE;YACR,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,EAAE;YACvD,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;YACpD,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,EAAE;SAC9D;QACD,kBAAkB,EAAE,CAAC,cAAc,CAAC;QACpC,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC;QACpC,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,aAAa,EAAE,oBAAoB;KACpC;IAED,cAAc;IACd;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE;YACR,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,EAAE;YACrD,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,EAAE;SACpD;QACD,kBAAkB,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC;QAC/C,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC;QACzC,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,aAAa,EAAE,oBAAoB;KACpC;IAED,cAAc;IACd;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,mBAAmB;QACzB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE;YACR,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;YACrC,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;YAChE,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;YAC7D,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;SAC9D;QACD,kBAAkB,EAAE,CAAC,cAAc,CAAC;QACpC,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC;QAC5C,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,aAAa,EAAE,oBAAoB;KACpC;IAED,aAAa;IACb;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,QAAQ;QACnB,QAAQ,EAAE;YACR,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,EAAE;YAC7D,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,EAAE;YAC/D,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC,EAAE;YACnE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,CAAC,EAAE;SACtE;QACD,kBAAkB,EAAE,CAAC,YAAY,EAAE,kBAAkB,CAAC;QACtD,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC;QAC3C,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,aAAa,EAAE,oBAAoB;KACpC;IAED,gBAAgB;IAChB;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE;YACR,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;SAC7D;QACD,kBAAkB,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC;QAC5D,WAAW,EAAE,+BAA+B;QAC5C,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC;QAC9C,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,aAAa,EAAE,oBAAoB;KACpC;IAED,4BAA4B;IAC5B;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE;YACR,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;YACpC,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,EAAE;YACvC,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,EAAE;YACzC,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,EAAE;YACzC,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,EAAE;SAC1C;QACD,kBAAkB,EAAE,CAAC,UAAU,EAAE,kBAAkB,CAAC;QACpD,WAAW,EAAE,8CAA8C;QAC3D,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC;QACvC,UAAU,EAAE,CAAC,SAAS,CAAC;QACvB,aAAa,EAAE,oBAAoB;KACpC;CACO,CAAC"}