@oculum/scanner 1.0.13 → 1.0.15

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 (1328) hide show
  1. package/dist/detect/ai-code/index.d.ts +6 -11
  2. package/dist/detect/ai-code/index.d.ts.map +1 -1
  3. package/dist/detect/ai-code/index.js +6 -24
  4. package/dist/detect/ai-code/index.js.map +1 -1
  5. package/dist/detect/ast-rules/agent-tools-ast.d.ts +14 -0
  6. package/dist/detect/ast-rules/agent-tools-ast.d.ts.map +1 -0
  7. package/dist/detect/ast-rules/agent-tools-ast.js +809 -0
  8. package/dist/detect/ast-rules/agent-tools-ast.js.map +1 -0
  9. package/dist/detect/ast-rules/ai-fingerprinting-ast.d.ts +14 -0
  10. package/dist/detect/ast-rules/ai-fingerprinting-ast.d.ts.map +1 -0
  11. package/dist/detect/ast-rules/ai-fingerprinting-ast.js +344 -0
  12. package/dist/detect/ast-rules/ai-fingerprinting-ast.js.map +1 -0
  13. package/dist/detect/ast-rules/auth-patterns-ast.d.ts +14 -0
  14. package/dist/detect/ast-rules/auth-patterns-ast.d.ts.map +1 -0
  15. package/dist/detect/ast-rules/auth-patterns-ast.js +280 -0
  16. package/dist/detect/ast-rules/auth-patterns-ast.js.map +1 -0
  17. package/dist/detect/ast-rules/byok-ast.d.ts +13 -0
  18. package/dist/detect/ast-rules/byok-ast.d.ts.map +1 -0
  19. package/dist/detect/ast-rules/byok-ast.js +180 -0
  20. package/dist/detect/ast-rules/byok-ast.js.map +1 -0
  21. package/dist/detect/ast-rules/child-process-ast.d.ts +13 -0
  22. package/dist/detect/ast-rules/child-process-ast.d.ts.map +1 -0
  23. package/dist/detect/ast-rules/child-process-ast.js +252 -0
  24. package/dist/detect/ast-rules/child-process-ast.js.map +1 -0
  25. package/dist/detect/ast-rules/dangerous-eval-ast.d.ts +13 -0
  26. package/dist/detect/ast-rules/dangerous-eval-ast.d.ts.map +1 -0
  27. package/dist/detect/ast-rules/dangerous-eval-ast.js +218 -0
  28. package/dist/detect/ast-rules/dangerous-eval-ast.js.map +1 -0
  29. package/dist/detect/ast-rules/data-exposure-ast.d.ts +13 -0
  30. package/dist/detect/ast-rules/data-exposure-ast.d.ts.map +1 -0
  31. package/dist/detect/ast-rules/data-exposure-ast.js +158 -0
  32. package/dist/detect/ast-rules/data-exposure-ast.js.map +1 -0
  33. package/dist/detect/ast-rules/dom-xss-ast.d.ts +14 -0
  34. package/dist/detect/ast-rules/dom-xss-ast.d.ts.map +1 -0
  35. package/dist/detect/ast-rules/dom-xss-ast.js +217 -0
  36. package/dist/detect/ast-rules/dom-xss-ast.js.map +1 -0
  37. package/dist/detect/ast-rules/endpoint-protection-ast.d.ts +13 -0
  38. package/dist/detect/ast-rules/endpoint-protection-ast.d.ts.map +1 -0
  39. package/dist/detect/ast-rules/endpoint-protection-ast.js +228 -0
  40. package/dist/detect/ast-rules/endpoint-protection-ast.js.map +1 -0
  41. package/dist/detect/ast-rules/entropy-ast.d.ts +17 -0
  42. package/dist/detect/ast-rules/entropy-ast.d.ts.map +1 -0
  43. package/dist/detect/ast-rules/entropy-ast.js +265 -0
  44. package/dist/detect/ast-rules/entropy-ast.js.map +1 -0
  45. package/dist/detect/ast-rules/flask-debug-ast.d.ts +10 -0
  46. package/dist/detect/ast-rules/flask-debug-ast.d.ts.map +1 -0
  47. package/dist/detect/ast-rules/flask-debug-ast.js +125 -0
  48. package/dist/detect/ast-rules/flask-debug-ast.js.map +1 -0
  49. package/dist/detect/ast-rules/framework-checks-ast.d.ts +13 -0
  50. package/dist/detect/ast-rules/framework-checks-ast.d.ts.map +1 -0
  51. package/dist/detect/ast-rules/framework-checks-ast.js +185 -0
  52. package/dist/detect/ast-rules/framework-checks-ast.js.map +1 -0
  53. package/dist/detect/ast-rules/helpers/call-analysis.d.ts +62 -0
  54. package/dist/detect/ast-rules/helpers/call-analysis.d.ts.map +1 -0
  55. package/dist/detect/ast-rules/helpers/call-analysis.js +217 -0
  56. package/dist/detect/ast-rules/helpers/call-analysis.js.map +1 -0
  57. package/dist/detect/ast-rules/helpers/context-detection.d.ts +33 -0
  58. package/dist/detect/ast-rules/helpers/context-detection.d.ts.map +1 -0
  59. package/dist/detect/ast-rules/helpers/context-detection.js +256 -0
  60. package/dist/detect/ast-rules/helpers/context-detection.js.map +1 -0
  61. package/dist/detect/ast-rules/helpers/control-flow.d.ts +40 -0
  62. package/dist/detect/ast-rules/helpers/control-flow.d.ts.map +1 -0
  63. package/dist/detect/ast-rules/helpers/control-flow.js +174 -0
  64. package/dist/detect/ast-rules/helpers/control-flow.js.map +1 -0
  65. package/dist/detect/ast-rules/helpers/import-analysis.d.ts +43 -0
  66. package/dist/detect/ast-rules/helpers/import-analysis.d.ts.map +1 -0
  67. package/dist/detect/ast-rules/helpers/import-analysis.js +149 -0
  68. package/dist/detect/ast-rules/helpers/import-analysis.js.map +1 -0
  69. package/dist/detect/ast-rules/helpers/index.d.ts +16 -0
  70. package/dist/detect/ast-rules/helpers/index.d.ts.map +1 -0
  71. package/dist/detect/ast-rules/helpers/index.js +112 -0
  72. package/dist/detect/ast-rules/helpers/index.js.map +1 -0
  73. package/dist/detect/ast-rules/helpers/python-helpers.d.ts +215 -0
  74. package/dist/detect/ast-rules/helpers/python-helpers.d.ts.map +1 -0
  75. package/dist/detect/ast-rules/helpers/python-helpers.js +935 -0
  76. package/dist/detect/ast-rules/helpers/python-helpers.js.map +1 -0
  77. package/dist/detect/ast-rules/helpers/scope-analysis.d.ts +50 -0
  78. package/dist/detect/ast-rules/helpers/scope-analysis.d.ts.map +1 -0
  79. package/dist/detect/ast-rules/helpers/scope-analysis.js +194 -0
  80. package/dist/detect/ast-rules/helpers/scope-analysis.js.map +1 -0
  81. package/dist/detect/ast-rules/helpers/string-analysis.d.ts +57 -0
  82. package/dist/detect/ast-rules/helpers/string-analysis.d.ts.map +1 -0
  83. package/dist/detect/ast-rules/helpers/string-analysis.js +184 -0
  84. package/dist/detect/ast-rules/helpers/string-analysis.js.map +1 -0
  85. package/dist/detect/ast-rules/helpers/type-extraction.d.ts +44 -0
  86. package/dist/detect/ast-rules/helpers/type-extraction.d.ts.map +1 -0
  87. package/dist/detect/ast-rules/helpers/type-extraction.js +125 -0
  88. package/dist/detect/ast-rules/helpers/type-extraction.js.map +1 -0
  89. package/dist/detect/ast-rules/helpers/user-input.d.ts +35 -0
  90. package/dist/detect/ast-rules/helpers/user-input.d.ts.map +1 -0
  91. package/dist/detect/ast-rules/helpers/user-input.js +243 -0
  92. package/dist/detect/ast-rules/helpers/user-input.js.map +1 -0
  93. package/dist/detect/ast-rules/index.d.ts +112 -0
  94. package/dist/detect/ast-rules/index.d.ts.map +1 -0
  95. package/dist/detect/ast-rules/index.js +232 -0
  96. package/dist/detect/ast-rules/index.js.map +1 -0
  97. package/dist/detect/ast-rules/json-parse-ast.d.ts +13 -0
  98. package/dist/detect/ast-rules/json-parse-ast.d.ts.map +1 -0
  99. package/dist/detect/ast-rules/json-parse-ast.js +143 -0
  100. package/dist/detect/ast-rules/json-parse-ast.js.map +1 -0
  101. package/dist/detect/ast-rules/log-injection-ast.d.ts +14 -0
  102. package/dist/detect/ast-rules/log-injection-ast.d.ts.map +1 -0
  103. package/dist/detect/ast-rules/log-injection-ast.js +235 -0
  104. package/dist/detect/ast-rules/log-injection-ast.js.map +1 -0
  105. package/dist/detect/ast-rules/logic-gates-ast.d.ts +14 -0
  106. package/dist/detect/ast-rules/logic-gates-ast.d.ts.map +1 -0
  107. package/dist/detect/ast-rules/logic-gates-ast.js +312 -0
  108. package/dist/detect/ast-rules/logic-gates-ast.js.map +1 -0
  109. package/dist/detect/ast-rules/mcp-security-ast.d.ts +14 -0
  110. package/dist/detect/ast-rules/mcp-security-ast.d.ts.map +1 -0
  111. package/dist/detect/ast-rules/mcp-security-ast.js +755 -0
  112. package/dist/detect/ast-rules/mcp-security-ast.js.map +1 -0
  113. package/dist/detect/ast-rules/model-supply-chain-ast.d.ts +13 -0
  114. package/dist/detect/ast-rules/model-supply-chain-ast.d.ts.map +1 -0
  115. package/dist/detect/ast-rules/model-supply-chain-ast.js +188 -0
  116. package/dist/detect/ast-rules/model-supply-chain-ast.js.map +1 -0
  117. package/dist/detect/ast-rules/package-hallucination-ast.d.ts +13 -0
  118. package/dist/detect/ast-rules/package-hallucination-ast.d.ts.map +1 -0
  119. package/dist/detect/ast-rules/package-hallucination-ast.js +607 -0
  120. package/dist/detect/ast-rules/package-hallucination-ast.js.map +1 -0
  121. package/dist/detect/ast-rules/prompt-hygiene-ast.d.ts +15 -0
  122. package/dist/detect/ast-rules/prompt-hygiene-ast.d.ts.map +1 -0
  123. package/dist/detect/ast-rules/prompt-hygiene-ast.js +332 -0
  124. package/dist/detect/ast-rules/prompt-hygiene-ast.js.map +1 -0
  125. package/dist/detect/ast-rules/rag-safety-ast.d.ts +18 -0
  126. package/dist/detect/ast-rules/rag-safety-ast.d.ts.map +1 -0
  127. package/dist/detect/ast-rules/rag-safety-ast.js +640 -0
  128. package/dist/detect/ast-rules/rag-safety-ast.js.map +1 -0
  129. package/dist/detect/ast-rules/request-validation-ast.d.ts +13 -0
  130. package/dist/detect/ast-rules/request-validation-ast.d.ts.map +1 -0
  131. package/dist/detect/ast-rules/request-validation-ast.js +116 -0
  132. package/dist/detect/ast-rules/request-validation-ast.js.map +1 -0
  133. package/dist/detect/ast-rules/risky-imports-ast.d.ts +14 -0
  134. package/dist/detect/ast-rules/risky-imports-ast.d.ts.map +1 -0
  135. package/dist/detect/ast-rules/risky-imports-ast.js +114 -0
  136. package/dist/detect/ast-rules/risky-imports-ast.js.map +1 -0
  137. package/dist/detect/ast-rules/schema-validation-ast.d.ts +14 -0
  138. package/dist/detect/ast-rules/schema-validation-ast.d.ts.map +1 -0
  139. package/dist/detect/ast-rules/schema-validation-ast.js +233 -0
  140. package/dist/detect/ast-rules/schema-validation-ast.js.map +1 -0
  141. package/dist/detect/ast-rules/secret-patterns-ast.d.ts +17 -0
  142. package/dist/detect/ast-rules/secret-patterns-ast.d.ts.map +1 -0
  143. package/dist/detect/ast-rules/secret-patterns-ast.js +199 -0
  144. package/dist/detect/ast-rules/secret-patterns-ast.js.map +1 -0
  145. package/dist/detect/ast-rules/security-headers-ast.d.ts +14 -0
  146. package/dist/detect/ast-rules/security-headers-ast.d.ts.map +1 -0
  147. package/dist/detect/ast-rules/security-headers-ast.js +187 -0
  148. package/dist/detect/ast-rules/security-headers-ast.js.map +1 -0
  149. package/dist/detect/ast-rules/sql-injection-ast.d.ts +17 -0
  150. package/dist/detect/ast-rules/sql-injection-ast.d.ts.map +1 -0
  151. package/dist/detect/ast-rules/sql-injection-ast.js +497 -0
  152. package/dist/detect/ast-rules/sql-injection-ast.js.map +1 -0
  153. package/dist/detect/ast-rules/ssrf-ast.d.ts +14 -0
  154. package/dist/detect/ast-rules/ssrf-ast.d.ts.map +1 -0
  155. package/dist/detect/ast-rules/ssrf-ast.js +573 -0
  156. package/dist/detect/ast-rules/ssrf-ast.js.map +1 -0
  157. package/dist/detect/ast-rules/taint-fix-templates.d.ts +18 -0
  158. package/dist/detect/ast-rules/taint-fix-templates.d.ts.map +1 -0
  159. package/dist/detect/ast-rules/taint-fix-templates.js +92 -0
  160. package/dist/detect/ast-rules/taint-fix-templates.js.map +1 -0
  161. package/dist/detect/ast-rules/taint-flow-ast.d.ts +24 -0
  162. package/dist/detect/ast-rules/taint-flow-ast.d.ts.map +1 -0
  163. package/dist/detect/ast-rules/taint-flow-ast.js +340 -0
  164. package/dist/detect/ast-rules/taint-flow-ast.js.map +1 -0
  165. package/dist/detect/ast-rules/variables-ast.d.ts +24 -0
  166. package/dist/detect/ast-rules/variables-ast.d.ts.map +1 -0
  167. package/dist/detect/ast-rules/variables-ast.js +362 -0
  168. package/dist/detect/ast-rules/variables-ast.js.map +1 -0
  169. package/dist/detect/ast-rules/weak-crypto-ast.d.ts +15 -0
  170. package/dist/detect/ast-rules/weak-crypto-ast.d.ts.map +1 -0
  171. package/dist/detect/ast-rules/weak-crypto-ast.js +406 -0
  172. package/dist/detect/ast-rules/weak-crypto-ast.js.map +1 -0
  173. package/dist/detect/ast-rules/xxe-ast.d.ts +13 -0
  174. package/dist/detect/ast-rules/xxe-ast.d.ts.map +1 -0
  175. package/dist/detect/ast-rules/xxe-ast.js +157 -0
  176. package/dist/detect/ast-rules/xxe-ast.js.map +1 -0
  177. package/dist/detect/config/agent-skill-injection.d.ts.map +1 -1
  178. package/dist/detect/config/agent-skill-injection.js +2 -24
  179. package/dist/detect/config/agent-skill-injection.js.map +1 -1
  180. package/dist/detect/config/index.d.ts +1 -0
  181. package/dist/detect/config/index.d.ts.map +1 -1
  182. package/dist/detect/config/index.js +3 -1
  183. package/dist/detect/config/index.js.map +1 -1
  184. package/dist/detect/config/osv-check.d.ts.map +1 -1
  185. package/dist/detect/config/osv-check.js +6 -1
  186. package/dist/detect/config/osv-check.js.map +1 -1
  187. package/dist/detect/config/package-check.d.ts.map +1 -1
  188. package/dist/detect/config/package-check.js +6 -1
  189. package/dist/detect/config/package-check.js.map +1 -1
  190. package/dist/detect/config/rules-file-backdoor.d.ts +36 -0
  191. package/dist/detect/config/rules-file-backdoor.d.ts.map +1 -0
  192. package/dist/detect/config/rules-file-backdoor.js +379 -0
  193. package/dist/detect/config/rules-file-backdoor.js.map +1 -0
  194. package/dist/detect/index.d.ts +43 -6
  195. package/dist/detect/index.d.ts.map +1 -1
  196. package/dist/detect/index.js +70 -7
  197. package/dist/detect/index.js.map +1 -1
  198. package/dist/detect/secrets/config-audit.d.ts +5 -0
  199. package/dist/detect/secrets/config-audit.d.ts.map +1 -1
  200. package/dist/detect/secrets/config-audit.js +131 -3
  201. package/dist/detect/secrets/config-audit.js.map +1 -1
  202. package/dist/detect/secrets/entropy.d.ts.map +1 -1
  203. package/dist/detect/secrets/entropy.js +180 -0
  204. package/dist/detect/secrets/entropy.js.map +1 -1
  205. package/dist/detect/secrets/index.d.ts +0 -2
  206. package/dist/detect/secrets/index.d.ts.map +1 -1
  207. package/dist/detect/secrets/index.js +7 -17
  208. package/dist/detect/secrets/index.js.map +1 -1
  209. package/dist/detect/structural/index.d.ts +15 -28
  210. package/dist/detect/structural/index.d.ts.map +1 -1
  211. package/dist/detect/structural/index.js +20 -497
  212. package/dist/detect/structural/index.js.map +1 -1
  213. package/dist/index.d.ts +3 -0
  214. package/dist/index.d.ts.map +1 -1
  215. package/dist/index.js +9 -1
  216. package/dist/index.js.map +1 -1
  217. package/dist/model/auth-helper-detector.d.ts.map +1 -1
  218. package/dist/model/auth-helper-detector.js +2 -7
  219. package/dist/model/auth-helper-detector.js.map +1 -1
  220. package/dist/model/import-resolver.d.ts.map +1 -1
  221. package/dist/model/import-resolver.js +94 -0
  222. package/dist/model/import-resolver.js.map +1 -1
  223. package/dist/model/imported-auth-detector.js +8 -8
  224. package/dist/model/imported-auth-detector.js.map +1 -1
  225. package/dist/model/index.d.ts +8 -0
  226. package/dist/model/index.d.ts.map +1 -1
  227. package/dist/model/index.js +198 -73
  228. package/dist/model/index.js.map +1 -1
  229. package/dist/model/module-graph.d.ts.map +1 -1
  230. package/dist/model/module-graph.js +22 -9
  231. package/dist/model/module-graph.js.map +1 -1
  232. package/dist/model/project-context.d.ts +1 -1
  233. package/dist/model/project-context.d.ts.map +1 -1
  234. package/dist/model/project-context.js +34 -0
  235. package/dist/model/project-context.js.map +1 -1
  236. package/dist/model/route-auth-resolver.d.ts.map +1 -1
  237. package/dist/model/route-auth-resolver.js +17 -2
  238. package/dist/model/route-auth-resolver.js.map +1 -1
  239. package/dist/model/route-discovery/index.js +1 -1
  240. package/dist/model/route-discovery/index.js.map +1 -1
  241. package/dist/model/route-discovery/nextjs.js +1 -1
  242. package/dist/model/route-discovery/nextjs.js.map +1 -1
  243. package/dist/model/route-discovery/python.d.ts +6 -3
  244. package/dist/model/route-discovery/python.d.ts.map +1 -1
  245. package/dist/model/route-discovery/python.js +132 -9
  246. package/dist/model/route-discovery/python.js.map +1 -1
  247. package/dist/model/route-discovery/types.d.ts +1 -1
  248. package/dist/model/route-discovery/types.d.ts.map +1 -1
  249. package/dist/model/route-discovery/utils.d.ts +8 -0
  250. package/dist/model/route-discovery/utils.d.ts.map +1 -1
  251. package/dist/model/route-discovery/utils.js +70 -0
  252. package/dist/model/route-discovery/utils.js.map +1 -1
  253. package/dist/model/taint-types.d.ts +0 -4
  254. package/dist/model/taint-types.d.ts.map +1 -1
  255. package/dist/parse/ast.d.ts +58 -0
  256. package/dist/parse/ast.d.ts.map +1 -0
  257. package/dist/parse/ast.js +230 -0
  258. package/dist/parse/ast.js.map +1 -0
  259. package/dist/parse/call-graph.d.ts +41 -0
  260. package/dist/parse/call-graph.d.ts.map +1 -0
  261. package/dist/parse/call-graph.js +386 -0
  262. package/dist/parse/call-graph.js.map +1 -0
  263. package/dist/parse/file-classifier.d.ts +11 -0
  264. package/dist/parse/file-classifier.d.ts.map +1 -1
  265. package/dist/parse/file-classifier.js +63 -15
  266. package/dist/parse/file-classifier.js.map +1 -1
  267. package/dist/parse/node-index.d.ts +32 -0
  268. package/dist/parse/node-index.d.ts.map +1 -0
  269. package/dist/parse/node-index.js +103 -0
  270. package/dist/parse/node-index.js.map +1 -0
  271. package/dist/parse/type-extractor.d.ts +50 -0
  272. package/dist/parse/type-extractor.d.ts.map +1 -0
  273. package/dist/parse/type-extractor.js +243 -0
  274. package/dist/parse/type-extractor.js.map +1 -0
  275. package/dist/pipeline/config.d.ts +10 -2
  276. package/dist/pipeline/config.d.ts.map +1 -1
  277. package/dist/pipeline/config.js.map +1 -1
  278. package/dist/pipeline/index.d.ts +3 -3
  279. package/dist/pipeline/index.d.ts.map +1 -1
  280. package/dist/pipeline/index.js +214 -65
  281. package/dist/pipeline/index.js.map +1 -1
  282. package/dist/pipeline/modes/incremental.d.ts.map +1 -1
  283. package/dist/pipeline/modes/incremental.js +2 -7
  284. package/dist/pipeline/modes/incremental.js.map +1 -1
  285. package/dist/postprocess/dedup.d.ts +5 -2
  286. package/dist/postprocess/dedup.d.ts.map +1 -1
  287. package/dist/postprocess/dedup.js +47 -16
  288. package/dist/postprocess/dedup.js.map +1 -1
  289. package/dist/report/build-result.d.ts +9 -4
  290. package/dist/report/build-result.d.ts.map +1 -1
  291. package/dist/report/build-result.js +15 -4
  292. package/dist/report/build-result.js.map +1 -1
  293. package/dist/report/formatters/cli-terminal.d.ts +1 -1
  294. package/dist/report/formatters/cli-terminal.d.ts.map +1 -1
  295. package/dist/report/formatters/cli-terminal.js +434 -231
  296. package/dist/report/formatters/cli-terminal.js.map +1 -1
  297. package/dist/report/sanitize.d.ts +10 -0
  298. package/dist/report/sanitize.d.ts.map +1 -0
  299. package/dist/report/sanitize.js +19 -0
  300. package/dist/report/sanitize.js.map +1 -0
  301. package/dist/score/adjustments.d.ts +20 -2
  302. package/dist/score/adjustments.d.ts.map +1 -1
  303. package/dist/score/adjustments.js +108 -37
  304. package/dist/score/adjustments.js.map +1 -1
  305. package/dist/score/confidence.d.ts +6 -0
  306. package/dist/score/confidence.d.ts.map +1 -1
  307. package/dist/score/confidence.js +10 -4
  308. package/dist/score/confidence.js.map +1 -1
  309. package/dist/score/evidence.d.ts +25 -0
  310. package/dist/score/evidence.d.ts.map +1 -0
  311. package/dist/score/evidence.js +51 -0
  312. package/dist/score/evidence.js.map +1 -0
  313. package/dist/score/index.d.ts +3 -1
  314. package/dist/score/index.d.ts.map +1 -1
  315. package/dist/score/index.js +25 -50
  316. package/dist/score/index.js.map +1 -1
  317. package/dist/score/types.d.ts +5 -1
  318. package/dist/score/types.d.ts.map +1 -1
  319. package/dist/shared/category-filter.d.ts.map +1 -1
  320. package/dist/shared/category-filter.js +12 -0
  321. package/dist/shared/category-filter.js.map +1 -1
  322. package/dist/shared/regex-utils.d.ts +3 -0
  323. package/dist/shared/regex-utils.d.ts.map +1 -0
  324. package/dist/shared/regex-utils.js +8 -0
  325. package/dist/shared/regex-utils.js.map +1 -0
  326. package/dist/shared/registry-clients.d.ts +7 -0
  327. package/dist/shared/registry-clients.d.ts.map +1 -1
  328. package/dist/shared/registry-clients.js +94 -17
  329. package/dist/shared/registry-clients.js.map +1 -1
  330. package/dist/shared/rules/metadata.d.ts.map +1 -1
  331. package/dist/shared/rules/metadata.js +17 -0
  332. package/dist/shared/rules/metadata.js.map +1 -1
  333. package/dist/shared/types.d.ts +60 -16
  334. package/dist/shared/types.d.ts.map +1 -1
  335. package/dist/shared/types.js +38 -21
  336. package/dist/shared/types.js.map +1 -1
  337. package/dist/taint/async-flow.d.ts +44 -0
  338. package/dist/taint/async-flow.d.ts.map +1 -0
  339. package/dist/taint/async-flow.js +271 -0
  340. package/dist/taint/async-flow.js.map +1 -0
  341. package/dist/taint/cfg-builder.d.ts +35 -0
  342. package/dist/taint/cfg-builder.d.ts.map +1 -0
  343. package/dist/taint/cfg-builder.js +980 -0
  344. package/dist/taint/cfg-builder.js.map +1 -0
  345. package/dist/taint/cfg-types.d.ts +76 -0
  346. package/dist/taint/cfg-types.d.ts.map +1 -0
  347. package/dist/taint/cfg-types.js +13 -0
  348. package/dist/taint/cfg-types.js.map +1 -0
  349. package/dist/taint/constant-propagation.d.ts +34 -0
  350. package/dist/taint/constant-propagation.d.ts.map +1 -0
  351. package/dist/taint/constant-propagation.js +164 -0
  352. package/dist/taint/constant-propagation.js.map +1 -0
  353. package/dist/taint/cross-file-analyzer.d.ts +27 -0
  354. package/dist/taint/cross-file-analyzer.d.ts.map +1 -0
  355. package/dist/taint/cross-file-analyzer.js +99 -0
  356. package/dist/taint/cross-file-analyzer.js.map +1 -0
  357. package/dist/taint/cross-file-index.d.ts +59 -0
  358. package/dist/taint/cross-file-index.d.ts.map +1 -0
  359. package/dist/taint/cross-file-index.js +183 -0
  360. package/dist/taint/cross-file-index.js.map +1 -0
  361. package/dist/taint/def-use.d.ts +27 -0
  362. package/dist/taint/def-use.d.ts.map +1 -0
  363. package/dist/taint/def-use.js +519 -0
  364. package/dist/taint/def-use.js.map +1 -0
  365. package/dist/taint/file-analysis-cache.d.ts +47 -0
  366. package/dist/taint/file-analysis-cache.d.ts.map +1 -0
  367. package/dist/taint/file-analysis-cache.js +107 -0
  368. package/dist/taint/file-analysis-cache.js.map +1 -0
  369. package/dist/taint/framework-models.d.ts +77 -0
  370. package/dist/taint/framework-models.d.ts.map +1 -0
  371. package/dist/taint/framework-models.js +258 -0
  372. package/dist/taint/framework-models.js.map +1 -0
  373. package/dist/taint/helpers.d.ts +31 -0
  374. package/dist/taint/helpers.d.ts.map +1 -0
  375. package/dist/taint/helpers.js +130 -0
  376. package/dist/taint/helpers.js.map +1 -0
  377. package/dist/taint/index.d.ts +28 -0
  378. package/dist/taint/index.d.ts.map +1 -0
  379. package/dist/taint/index.js +77 -0
  380. package/dist/taint/index.js.map +1 -0
  381. package/dist/taint/llm-registry.d.ts +47 -0
  382. package/dist/taint/llm-registry.d.ts.map +1 -0
  383. package/dist/taint/llm-registry.js +152 -0
  384. package/dist/taint/llm-registry.js.map +1 -0
  385. package/dist/taint/llm-risk-scoring.d.ts +54 -0
  386. package/dist/taint/llm-risk-scoring.d.ts.map +1 -0
  387. package/dist/taint/llm-risk-scoring.js +376 -0
  388. package/dist/taint/llm-risk-scoring.js.map +1 -0
  389. package/dist/taint/propagation-types.d.ts +104 -0
  390. package/dist/taint/propagation-types.d.ts.map +1 -0
  391. package/dist/taint/propagation-types.js +98 -0
  392. package/dist/taint/propagation-types.js.map +1 -0
  393. package/dist/taint/propagation.d.ts +111 -0
  394. package/dist/taint/propagation.d.ts.map +1 -0
  395. package/dist/taint/propagation.js +1576 -0
  396. package/dist/taint/propagation.js.map +1 -0
  397. package/dist/taint/sanitizer-registry.d.ts +26 -0
  398. package/dist/taint/sanitizer-registry.d.ts.map +1 -0
  399. package/dist/taint/sanitizer-registry.js +422 -0
  400. package/dist/taint/sanitizer-registry.js.map +1 -0
  401. package/dist/taint/sink-classifier.d.ts +27 -0
  402. package/dist/taint/sink-classifier.d.ts.map +1 -0
  403. package/dist/taint/sink-classifier.js +1166 -0
  404. package/dist/taint/sink-classifier.js.map +1 -0
  405. package/dist/taint/source-classifier.d.ts +29 -0
  406. package/dist/taint/source-classifier.d.ts.map +1 -0
  407. package/dist/taint/source-classifier.js +814 -0
  408. package/dist/taint/source-classifier.js.map +1 -0
  409. package/dist/taint/taint-analyzer.d.ts +33 -0
  410. package/dist/taint/taint-analyzer.d.ts.map +1 -0
  411. package/dist/taint/taint-analyzer.js +88 -0
  412. package/dist/taint/taint-analyzer.js.map +1 -0
  413. package/dist/taint/taint-summary.d.ts +37 -0
  414. package/dist/taint/taint-summary.d.ts.map +1 -0
  415. package/dist/taint/taint-summary.js +293 -0
  416. package/dist/taint/taint-summary.js.map +1 -0
  417. package/dist/taint/types.d.ts +47 -0
  418. package/dist/taint/types.d.ts.map +1 -0
  419. package/dist/taint/types.js +19 -0
  420. package/dist/taint/types.js.map +1 -0
  421. package/dist/tiers.d.ts +2 -2
  422. package/dist/tiers.js +1 -1
  423. package/dist/validate/clients.d.ts +2 -1
  424. package/dist/validate/clients.d.ts.map +1 -1
  425. package/dist/validate/clients.js +3 -2
  426. package/dist/validate/clients.js.map +1 -1
  427. package/dist/validate/index.d.ts +5 -6
  428. package/dist/validate/index.d.ts.map +1 -1
  429. package/dist/validate/index.js +22 -21
  430. package/dist/validate/index.js.map +1 -1
  431. package/dist/validate/prompts/modules/ai-patterns.d.ts +1 -1
  432. package/dist/validate/prompts/modules/ai-patterns.d.ts.map +1 -1
  433. package/dist/validate/prompts/modules/ai-patterns.js +16 -0
  434. package/dist/validate/prompts/modules/ai-patterns.js.map +1 -1
  435. package/dist/validate/prompts/modules/common.d.ts +1 -1
  436. package/dist/validate/prompts/modules/common.d.ts.map +1 -1
  437. package/dist/validate/prompts/modules/common.js +12 -3
  438. package/dist/validate/prompts/modules/common.js.map +1 -1
  439. package/dist/validate/providers/anthropic.d.ts +4 -4
  440. package/dist/validate/providers/anthropic.d.ts.map +1 -1
  441. package/dist/validate/providers/anthropic.js +85 -58
  442. package/dist/validate/providers/anthropic.js.map +1 -1
  443. package/dist/validate/providers/openai.d.ts +4 -4
  444. package/dist/validate/providers/openai.d.ts.map +1 -1
  445. package/dist/validate/providers/openai.js +149 -99
  446. package/dist/validate/providers/openai.js.map +1 -1
  447. package/dist/validate/request-builder.d.ts +2 -8
  448. package/dist/validate/request-builder.d.ts.map +1 -1
  449. package/dist/validate/request-builder.js +4 -34
  450. package/dist/validate/request-builder.js.map +1 -1
  451. package/dist/validate/types.d.ts +9 -0
  452. package/dist/validate/types.d.ts.map +1 -1
  453. package/dist/validate/types.js.map +1 -1
  454. package/dist/validate/utils/path-helpers.js +2 -2
  455. package/dist/validate/utils/path-helpers.js.map +1 -1
  456. package/dist/validate/utils/response-parser.d.ts +10 -0
  457. package/dist/validate/utils/response-parser.d.ts.map +1 -1
  458. package/dist/validate/utils/response-parser.js +21 -2
  459. package/dist/validate/utils/response-parser.js.map +1 -1
  460. package/dist/validate/utils/retry.d.ts.map +1 -1
  461. package/dist/validate/utils/retry.js +19 -4
  462. package/dist/validate/utils/retry.js.map +1 -1
  463. package/package.json +7 -4
  464. package/src/__tests__/benchmark/fixtures/layer2/ai-execution-sinks.ts +1 -1
  465. package/src/__tests__/benchmark/planted-benchmark.test.ts +337 -0
  466. package/src/__tests__/benchmark/utils/test-runner.ts +38 -4
  467. package/src/__tests__/category-filter.test.ts +5 -1
  468. package/src/__tests__/context-engine/route-discovery/python.test.ts +726 -0
  469. package/src/__tests__/detect/ast-rules.test.ts +1043 -0
  470. package/src/__tests__/detect/offline-mode.test.ts +147 -0
  471. package/src/__tests__/detect/postinstall-enrichment.test.ts +300 -0
  472. package/src/__tests__/detect/python-ast-rules.test.ts +569 -0
  473. package/src/__tests__/detect/python-helpers.test.ts +536 -0
  474. package/src/__tests__/detect/python-sast-rules.test.ts +453 -0
  475. package/src/__tests__/detect/rules-file-backdoor-decoders.test.ts +151 -0
  476. package/src/__tests__/detect/rules-file-backdoor.test.ts +284 -0
  477. package/src/__tests__/detect/taint-fix-templates.test.ts +150 -0
  478. package/src/__tests__/detect/taint-path-serialization.test.ts +170 -0
  479. package/src/__tests__/parse/call-graph.test.ts +300 -0
  480. package/src/__tests__/parse/python-parser.test.ts +274 -0
  481. package/src/__tests__/regression/known-false-positives.test.ts +491 -9
  482. package/src/__tests__/regression/rules-file-backdoor.test.ts +137 -0
  483. package/src/__tests__/score/adjustments.test.ts +34 -16
  484. package/src/__tests__/score/confidence.test.ts +84 -57
  485. package/src/__tests__/score/evidence-scoring.test.ts +249 -0
  486. package/src/__tests__/score/evidence.test.ts +144 -0
  487. package/src/__tests__/score/scoring-integration.test.ts +56 -34
  488. package/src/__tests__/score/taint-adjustments.test.ts +14 -228
  489. package/src/__tests__/snapshots/__snapshots__/scan-depth.test.ts.snap +65 -59
  490. package/src/__tests__/snapshots/scan-depth.test.ts +39 -7
  491. package/src/__tests__/taint/async-flow.test.ts +247 -0
  492. package/src/__tests__/taint/cfg-builder.test.ts +835 -0
  493. package/src/__tests__/taint/constant-propagation.test.ts +302 -0
  494. package/src/__tests__/taint/cross-file-index.test.ts +683 -0
  495. package/src/__tests__/taint/cross-file-integration.test.ts +275 -0
  496. package/src/__tests__/taint/cross-file-propagation.test.ts +910 -0
  497. package/src/__tests__/taint/def-use.test.ts +132 -0
  498. package/src/__tests__/taint/field-sensitive-sinks.test.ts +179 -0
  499. package/src/__tests__/taint/field-sensitivity.test.ts +342 -0
  500. package/src/__tests__/taint/file-analysis-cache.test.ts +290 -0
  501. package/src/__tests__/taint/framework-models.test.ts +227 -0
  502. package/src/__tests__/taint/llm-flow-graph.test.ts +850 -0
  503. package/src/__tests__/taint/llm-risk-scoring.test.ts +439 -0
  504. package/src/__tests__/taint/performance-parity.test.ts +315 -0
  505. package/src/__tests__/taint/propagation.test.ts +621 -0
  506. package/src/__tests__/taint/python-cross-file.test.ts +494 -0
  507. package/src/__tests__/taint/python-taint.test.ts +1344 -0
  508. package/src/__tests__/taint/sanitizer-registry.test.ts +304 -0
  509. package/src/__tests__/taint/sanitizer-regression.test.ts +111 -0
  510. package/src/__tests__/taint/sink-classifier.test.ts +537 -0
  511. package/src/__tests__/taint/source-classifier.test.ts +367 -0
  512. package/src/__tests__/taint/taint-pipeline.test.ts +418 -0
  513. package/src/__tests__/taint/taint-smoke.test.ts +400 -0
  514. package/src/__tests__/taint/taint-summary.test.ts +472 -0
  515. package/src/detect/ai-code/index.ts +6 -11
  516. package/src/detect/ast-rules/agent-tools-ast.ts +861 -0
  517. package/src/detect/ast-rules/ai-fingerprinting-ast.ts +451 -0
  518. package/src/detect/ast-rules/auth-patterns-ast.ts +304 -0
  519. package/src/detect/ast-rules/byok-ast.ts +195 -0
  520. package/src/detect/ast-rules/child-process-ast.ts +276 -0
  521. package/src/detect/ast-rules/dangerous-eval-ast.ts +227 -0
  522. package/src/detect/ast-rules/data-exposure-ast.ts +162 -0
  523. package/src/detect/ast-rules/dom-xss-ast.ts +260 -0
  524. package/src/detect/ast-rules/endpoint-protection-ast.ts +231 -0
  525. package/src/detect/ast-rules/entropy-ast.ts +268 -0
  526. package/src/detect/ast-rules/flask-debug-ast.ts +148 -0
  527. package/src/detect/ast-rules/framework-checks-ast.ts +200 -0
  528. package/src/detect/ast-rules/helpers/call-analysis.ts +256 -0
  529. package/src/detect/ast-rules/helpers/context-detection.ts +277 -0
  530. package/src/detect/ast-rules/helpers/control-flow.ts +179 -0
  531. package/src/detect/ast-rules/helpers/import-analysis.ts +185 -0
  532. package/src/detect/ast-rules/helpers/index.ts +133 -0
  533. package/src/detect/ast-rules/helpers/python-helpers.ts +1054 -0
  534. package/src/detect/ast-rules/helpers/scope-analysis.ts +224 -0
  535. package/src/detect/ast-rules/helpers/string-analysis.ts +215 -0
  536. package/src/detect/ast-rules/helpers/type-extraction.ts +138 -0
  537. package/src/detect/ast-rules/helpers/user-input.ts +256 -0
  538. package/src/detect/ast-rules/index.ts +311 -0
  539. package/src/detect/ast-rules/json-parse-ast.ts +162 -0
  540. package/src/detect/ast-rules/log-injection-ast.ts +243 -0
  541. package/src/detect/ast-rules/logic-gates-ast.ts +343 -0
  542. package/src/detect/ast-rules/mcp-security-ast.ts +808 -0
  543. package/src/detect/ast-rules/model-supply-chain-ast.ts +202 -0
  544. package/src/detect/ast-rules/package-hallucination-ast.ts +664 -0
  545. package/src/detect/ast-rules/prompt-hygiene-ast.ts +329 -0
  546. package/src/detect/ast-rules/rag-safety-ast.ts +689 -0
  547. package/src/detect/ast-rules/request-validation-ast.ts +122 -0
  548. package/src/detect/ast-rules/risky-imports-ast.ts +133 -0
  549. package/src/detect/ast-rules/schema-validation-ast.ts +244 -0
  550. package/src/detect/ast-rules/secret-patterns-ast.ts +223 -0
  551. package/src/detect/ast-rules/security-headers-ast.ts +206 -0
  552. package/src/detect/ast-rules/sql-injection-ast.ts +614 -0
  553. package/src/detect/ast-rules/ssrf-ast.ts +601 -0
  554. package/src/detect/ast-rules/taint-fix-templates.ts +108 -0
  555. package/src/detect/ast-rules/taint-flow-ast.ts +416 -0
  556. package/src/detect/ast-rules/variables-ast.ts +446 -0
  557. package/src/detect/ast-rules/weak-crypto-ast.ts +441 -0
  558. package/src/detect/ast-rules/xxe-ast.ts +184 -0
  559. package/src/detect/config/agent-skill-injection.ts +2 -24
  560. package/src/detect/config/index.ts +1 -0
  561. package/src/detect/config/osv-check.ts +6 -1
  562. package/src/detect/config/package-check.ts +6 -1
  563. package/src/detect/config/rules-file-backdoor.ts +438 -0
  564. package/src/detect/index.ts +146 -52
  565. package/src/detect/secrets/config-audit.ts +148 -3
  566. package/src/detect/secrets/entropy.ts +195 -0
  567. package/src/detect/secrets/index.ts +7 -16
  568. package/src/detect/structural/index.ts +23 -566
  569. package/src/index.ts +7 -0
  570. package/src/model/auth-helper-detector.ts +1 -7
  571. package/src/model/import-resolver.ts +104 -0
  572. package/src/model/imported-auth-detector.ts +1 -1
  573. package/src/model/index.ts +240 -80
  574. package/src/model/module-graph.ts +17 -5
  575. package/src/model/project-context.ts +28 -1
  576. package/src/model/route-auth-resolver.ts +18 -3
  577. package/src/model/route-discovery/index.ts +1 -1
  578. package/src/model/route-discovery/nextjs.ts +1 -1
  579. package/src/model/route-discovery/python.ts +156 -9
  580. package/src/model/route-discovery/types.ts +1 -1
  581. package/src/model/route-discovery/utils.ts +73 -0
  582. package/src/model/taint-types.ts +1 -6
  583. package/src/parse/ast.ts +271 -0
  584. package/src/parse/call-graph.ts +419 -0
  585. package/src/parse/file-classifier.ts +69 -15
  586. package/src/parse/node-index.ts +118 -0
  587. package/src/parse/type-extractor.ts +293 -0
  588. package/src/pipeline/config.ts +10 -1
  589. package/src/pipeline/index.ts +475 -187
  590. package/src/pipeline/modes/incremental.ts +1 -7
  591. package/src/postprocess/dedup.ts +48 -17
  592. package/src/report/build-result.ts +57 -29
  593. package/src/report/formatters/cli-terminal.ts +731 -415
  594. package/src/report/sanitize.ts +27 -0
  595. package/src/score/adjustments.ts +113 -40
  596. package/src/score/confidence.ts +10 -5
  597. package/src/score/evidence.ts +55 -0
  598. package/src/score/index.ts +27 -55
  599. package/src/score/types.ts +4 -0
  600. package/src/shared/category-filter.ts +12 -0
  601. package/src/shared/regex-utils.ts +4 -0
  602. package/src/shared/registry-clients.ts +106 -18
  603. package/src/shared/rules/__tests__/metadata.test.ts +5 -1
  604. package/src/shared/rules/metadata.ts +19 -0
  605. package/src/shared/types.ts +373 -254
  606. package/src/taint/async-flow.ts +301 -0
  607. package/src/taint/cfg-builder.ts +1127 -0
  608. package/src/taint/cfg-types.ts +110 -0
  609. package/src/taint/constant-propagation.ts +170 -0
  610. package/src/taint/cross-file-analyzer.ts +118 -0
  611. package/src/taint/cross-file-index.ts +275 -0
  612. package/src/taint/def-use.ts +556 -0
  613. package/src/taint/file-analysis-cache.ts +145 -0
  614. package/src/taint/framework-models.ts +313 -0
  615. package/src/taint/helpers.ts +138 -0
  616. package/src/taint/index.ts +71 -0
  617. package/src/taint/llm-registry.ts +174 -0
  618. package/src/taint/llm-risk-scoring.ts +412 -0
  619. package/src/taint/propagation-types.ts +188 -0
  620. package/src/taint/propagation.ts +1750 -0
  621. package/src/taint/sanitizer-registry.ts +490 -0
  622. package/src/taint/sink-classifier.ts +1402 -0
  623. package/src/taint/source-classifier.ts +859 -0
  624. package/src/taint/taint-analyzer.ts +112 -0
  625. package/src/taint/taint-summary.ts +341 -0
  626. package/src/taint/types.ts +86 -0
  627. package/src/tiers.ts +2 -2
  628. package/src/validate/clients.ts +3 -2
  629. package/src/validate/index.ts +89 -53
  630. package/src/validate/prompts/modules/ai-patterns.ts +16 -0
  631. package/src/validate/prompts/modules/common.ts +12 -3
  632. package/src/validate/providers/anthropic.ts +254 -148
  633. package/src/validate/providers/openai.ts +363 -218
  634. package/src/validate/request-builder.ts +2 -45
  635. package/src/validate/types.ts +9 -0
  636. package/src/validate/utils/path-helpers.ts +2 -2
  637. package/src/validate/utils/response-parser.ts +32 -3
  638. package/src/validate/utils/retry.ts +19 -4
  639. package/dist/ai-context/index.d.ts +0 -6
  640. package/dist/ai-context/index.d.ts.map +0 -1
  641. package/dist/ai-context/index.js +0 -13
  642. package/dist/ai-context/index.js.map +0 -1
  643. package/dist/ai-context/manager.d.ts +0 -67
  644. package/dist/ai-context/manager.d.ts.map +0 -1
  645. package/dist/ai-context/manager.js +0 -104
  646. package/dist/ai-context/manager.js.map +0 -1
  647. package/dist/baseline/diff.d.ts +0 -32
  648. package/dist/baseline/diff.d.ts.map +0 -1
  649. package/dist/baseline/diff.js +0 -119
  650. package/dist/baseline/diff.js.map +0 -1
  651. package/dist/baseline/index.d.ts +0 -9
  652. package/dist/baseline/index.d.ts.map +0 -1
  653. package/dist/baseline/index.js +0 -19
  654. package/dist/baseline/index.js.map +0 -1
  655. package/dist/baseline/manager.d.ts +0 -67
  656. package/dist/baseline/manager.d.ts.map +0 -1
  657. package/dist/baseline/manager.js +0 -180
  658. package/dist/baseline/manager.js.map +0 -1
  659. package/dist/baseline/types.d.ts +0 -91
  660. package/dist/baseline/types.d.ts.map +0 -1
  661. package/dist/baseline/types.js +0 -12
  662. package/dist/baseline/types.js.map +0 -1
  663. package/dist/category-filter.d.ts +0 -125
  664. package/dist/category-filter.d.ts.map +0 -1
  665. package/dist/category-filter.js +0 -360
  666. package/dist/category-filter.js.map +0 -1
  667. package/dist/detect/ai-code/agent-tools.d.ts +0 -22
  668. package/dist/detect/ai-code/agent-tools.d.ts.map +0 -1
  669. package/dist/detect/ai-code/agent-tools.js +0 -1509
  670. package/dist/detect/ai-code/agent-tools.js.map +0 -1
  671. package/dist/detect/ai-code/byok-patterns.d.ts +0 -15
  672. package/dist/detect/ai-code/byok-patterns.d.ts.map +0 -1
  673. package/dist/detect/ai-code/byok-patterns.js +0 -313
  674. package/dist/detect/ai-code/byok-patterns.js.map +0 -1
  675. package/dist/detect/ai-code/endpoint-protection.d.ts +0 -38
  676. package/dist/detect/ai-code/endpoint-protection.d.ts.map +0 -1
  677. package/dist/detect/ai-code/endpoint-protection.js +0 -349
  678. package/dist/detect/ai-code/endpoint-protection.js.map +0 -1
  679. package/dist/detect/ai-code/execution-sinks.d.ts +0 -21
  680. package/dist/detect/ai-code/execution-sinks.d.ts.map +0 -1
  681. package/dist/detect/ai-code/execution-sinks.js +0 -1158
  682. package/dist/detect/ai-code/execution-sinks.js.map +0 -1
  683. package/dist/detect/ai-code/fingerprinting.d.ts +0 -10
  684. package/dist/detect/ai-code/fingerprinting.d.ts.map +0 -1
  685. package/dist/detect/ai-code/fingerprinting.js +0 -665
  686. package/dist/detect/ai-code/fingerprinting.js.map +0 -1
  687. package/dist/detect/ai-code/mcp-security.d.ts +0 -20
  688. package/dist/detect/ai-code/mcp-security.d.ts.map +0 -1
  689. package/dist/detect/ai-code/mcp-security.js +0 -880
  690. package/dist/detect/ai-code/mcp-security.js.map +0 -1
  691. package/dist/detect/ai-code/model-supply-chain.d.ts +0 -23
  692. package/dist/detect/ai-code/model-supply-chain.d.ts.map +0 -1
  693. package/dist/detect/ai-code/model-supply-chain.js +0 -447
  694. package/dist/detect/ai-code/model-supply-chain.js.map +0 -1
  695. package/dist/detect/ai-code/package-hallucination.d.ts +0 -22
  696. package/dist/detect/ai-code/package-hallucination.d.ts.map +0 -1
  697. package/dist/detect/ai-code/package-hallucination.js +0 -841
  698. package/dist/detect/ai-code/package-hallucination.js.map +0 -1
  699. package/dist/detect/ai-code/prompt-hygiene.d.ts +0 -22
  700. package/dist/detect/ai-code/prompt-hygiene.d.ts.map +0 -1
  701. package/dist/detect/ai-code/prompt-hygiene.js +0 -1177
  702. package/dist/detect/ai-code/prompt-hygiene.js.map +0 -1
  703. package/dist/detect/ai-code/rag-safety.d.ts +0 -24
  704. package/dist/detect/ai-code/rag-safety.d.ts.map +0 -1
  705. package/dist/detect/ai-code/rag-safety.js +0 -913
  706. package/dist/detect/ai-code/rag-safety.js.map +0 -1
  707. package/dist/detect/ai-code/schema-validation.d.ts +0 -28
  708. package/dist/detect/ai-code/schema-validation.d.ts.map +0 -1
  709. package/dist/detect/ai-code/schema-validation.js +0 -378
  710. package/dist/detect/ai-code/schema-validation.js.map +0 -1
  711. package/dist/detect/secrets/patterns.d.ts +0 -11
  712. package/dist/detect/secrets/patterns.d.ts.map +0 -1
  713. package/dist/detect/secrets/patterns.js +0 -518
  714. package/dist/detect/secrets/patterns.js.map +0 -1
  715. package/dist/detect/secrets/weak-crypto.d.ts +0 -10
  716. package/dist/detect/secrets/weak-crypto.d.ts.map +0 -1
  717. package/dist/detect/secrets/weak-crypto.js +0 -432
  718. package/dist/detect/secrets/weak-crypto.js.map +0 -1
  719. package/dist/detect/structural/auth-patterns.d.ts +0 -22
  720. package/dist/detect/structural/auth-patterns.d.ts.map +0 -1
  721. package/dist/detect/structural/auth-patterns.js +0 -533
  722. package/dist/detect/structural/auth-patterns.js.map +0 -1
  723. package/dist/detect/structural/dangerous-functions/child-process.d.ts +0 -16
  724. package/dist/detect/structural/dangerous-functions/child-process.d.ts.map +0 -1
  725. package/dist/detect/structural/dangerous-functions/child-process.js +0 -74
  726. package/dist/detect/structural/dangerous-functions/child-process.js.map +0 -1
  727. package/dist/detect/structural/dangerous-functions/dom-xss.d.ts +0 -34
  728. package/dist/detect/structural/dangerous-functions/dom-xss.d.ts.map +0 -1
  729. package/dist/detect/structural/dangerous-functions/dom-xss.js +0 -230
  730. package/dist/detect/structural/dangerous-functions/dom-xss.js.map +0 -1
  731. package/dist/detect/structural/dangerous-functions/index.d.ts +0 -16
  732. package/dist/detect/structural/dangerous-functions/index.d.ts.map +0 -1
  733. package/dist/detect/structural/dangerous-functions/index.js +0 -1193
  734. package/dist/detect/structural/dangerous-functions/index.js.map +0 -1
  735. package/dist/detect/structural/dangerous-functions/json-parse.d.ts +0 -31
  736. package/dist/detect/structural/dangerous-functions/json-parse.d.ts.map +0 -1
  737. package/dist/detect/structural/dangerous-functions/json-parse.js +0 -326
  738. package/dist/detect/structural/dangerous-functions/json-parse.js.map +0 -1
  739. package/dist/detect/structural/dangerous-functions/math-random.d.ts +0 -111
  740. package/dist/detect/structural/dangerous-functions/math-random.d.ts.map +0 -1
  741. package/dist/detect/structural/dangerous-functions/math-random.js +0 -684
  742. package/dist/detect/structural/dangerous-functions/math-random.js.map +0 -1
  743. package/dist/detect/structural/dangerous-functions/patterns.d.ts +0 -21
  744. package/dist/detect/structural/dangerous-functions/patterns.d.ts.map +0 -1
  745. package/dist/detect/structural/dangerous-functions/patterns.js +0 -163
  746. package/dist/detect/structural/dangerous-functions/patterns.js.map +0 -1
  747. package/dist/detect/structural/dangerous-functions/request-validation.d.ts +0 -13
  748. package/dist/detect/structural/dangerous-functions/request-validation.d.ts.map +0 -1
  749. package/dist/detect/structural/dangerous-functions/request-validation.js +0 -126
  750. package/dist/detect/structural/dangerous-functions/request-validation.js.map +0 -1
  751. package/dist/detect/structural/dangerous-functions/utils/control-flow.d.ts +0 -24
  752. package/dist/detect/structural/dangerous-functions/utils/control-flow.d.ts.map +0 -1
  753. package/dist/detect/structural/dangerous-functions/utils/control-flow.js +0 -70
  754. package/dist/detect/structural/dangerous-functions/utils/control-flow.js.map +0 -1
  755. package/dist/detect/structural/dangerous-functions/utils/helpers.d.ts +0 -31
  756. package/dist/detect/structural/dangerous-functions/utils/helpers.d.ts.map +0 -1
  757. package/dist/detect/structural/dangerous-functions/utils/helpers.js +0 -147
  758. package/dist/detect/structural/dangerous-functions/utils/helpers.js.map +0 -1
  759. package/dist/detect/structural/dangerous-functions/utils/index.d.ts +0 -9
  760. package/dist/detect/structural/dangerous-functions/utils/index.d.ts.map +0 -1
  761. package/dist/detect/structural/dangerous-functions/utils/index.js +0 -23
  762. package/dist/detect/structural/dangerous-functions/utils/index.js.map +0 -1
  763. package/dist/detect/structural/dangerous-functions/utils/schema-validation.d.ts +0 -22
  764. package/dist/detect/structural/dangerous-functions/utils/schema-validation.d.ts.map +0 -1
  765. package/dist/detect/structural/dangerous-functions/utils/schema-validation.js +0 -102
  766. package/dist/detect/structural/dangerous-functions/utils/schema-validation.js.map +0 -1
  767. package/dist/detect/structural/data-exposure.d.ts +0 -19
  768. package/dist/detect/structural/data-exposure.d.ts.map +0 -1
  769. package/dist/detect/structural/data-exposure.js +0 -262
  770. package/dist/detect/structural/data-exposure.js.map +0 -1
  771. package/dist/detect/structural/framework-checks.d.ts +0 -10
  772. package/dist/detect/structural/framework-checks.d.ts.map +0 -1
  773. package/dist/detect/structural/framework-checks.js +0 -389
  774. package/dist/detect/structural/framework-checks.js.map +0 -1
  775. package/dist/detect/structural/log-injection.d.ts +0 -18
  776. package/dist/detect/structural/log-injection.d.ts.map +0 -1
  777. package/dist/detect/structural/log-injection.js +0 -217
  778. package/dist/detect/structural/log-injection.js.map +0 -1
  779. package/dist/detect/structural/logic-gates.d.ts +0 -10
  780. package/dist/detect/structural/logic-gates.d.ts.map +0 -1
  781. package/dist/detect/structural/logic-gates.js +0 -227
  782. package/dist/detect/structural/logic-gates.js.map +0 -1
  783. package/dist/detect/structural/risky-imports.d.ts +0 -10
  784. package/dist/detect/structural/risky-imports.d.ts.map +0 -1
  785. package/dist/detect/structural/risky-imports.js +0 -168
  786. package/dist/detect/structural/risky-imports.js.map +0 -1
  787. package/dist/detect/structural/security-headers.d.ts +0 -18
  788. package/dist/detect/structural/security-headers.d.ts.map +0 -1
  789. package/dist/detect/structural/security-headers.js +0 -196
  790. package/dist/detect/structural/security-headers.js.map +0 -1
  791. package/dist/detect/structural/ssrf-detection.d.ts +0 -18
  792. package/dist/detect/structural/ssrf-detection.d.ts.map +0 -1
  793. package/dist/detect/structural/ssrf-detection.js +0 -263
  794. package/dist/detect/structural/ssrf-detection.js.map +0 -1
  795. package/dist/detect/structural/variables.d.ts +0 -11
  796. package/dist/detect/structural/variables.d.ts.map +0 -1
  797. package/dist/detect/structural/variables.js +0 -159
  798. package/dist/detect/structural/variables.js.map +0 -1
  799. package/dist/detect/structural/xxe-detection.d.ts +0 -18
  800. package/dist/detect/structural/xxe-detection.d.ts.map +0 -1
  801. package/dist/detect/structural/xxe-detection.js +0 -245
  802. package/dist/detect/structural/xxe-detection.js.map +0 -1
  803. package/dist/filtering/context-adjustments.d.ts +0 -23
  804. package/dist/filtering/context-adjustments.d.ts.map +0 -1
  805. package/dist/filtering/context-adjustments.js +0 -100
  806. package/dist/filtering/context-adjustments.js.map +0 -1
  807. package/dist/filtering/index.d.ts +0 -3
  808. package/dist/filtering/index.d.ts.map +0 -1
  809. package/dist/filtering/index.js +0 -8
  810. package/dist/filtering/index.js.map +0 -1
  811. package/dist/filtering/pipeline.d.ts +0 -48
  812. package/dist/filtering/pipeline.d.ts.map +0 -1
  813. package/dist/filtering/pipeline.js +0 -76
  814. package/dist/filtering/pipeline.js.map +0 -1
  815. package/dist/formatters/ai-context.d.ts +0 -23
  816. package/dist/formatters/ai-context.d.ts.map +0 -1
  817. package/dist/formatters/ai-context.js +0 -238
  818. package/dist/formatters/ai-context.js.map +0 -1
  819. package/dist/formatters/cli-terminal.d.ts +0 -65
  820. package/dist/formatters/cli-terminal.d.ts.map +0 -1
  821. package/dist/formatters/cli-terminal.js +0 -735
  822. package/dist/formatters/cli-terminal.js.map +0 -1
  823. package/dist/formatters/github-comment.d.ts +0 -41
  824. package/dist/formatters/github-comment.d.ts.map +0 -1
  825. package/dist/formatters/github-comment.js +0 -370
  826. package/dist/formatters/github-comment.js.map +0 -1
  827. package/dist/formatters/grouping.d.ts +0 -52
  828. package/dist/formatters/grouping.d.ts.map +0 -1
  829. package/dist/formatters/grouping.js +0 -152
  830. package/dist/formatters/grouping.js.map +0 -1
  831. package/dist/formatters/ide/claude-code.d.ts +0 -17
  832. package/dist/formatters/ide/claude-code.d.ts.map +0 -1
  833. package/dist/formatters/ide/claude-code.js +0 -94
  834. package/dist/formatters/ide/claude-code.js.map +0 -1
  835. package/dist/formatters/ide/cursor.d.ts +0 -13
  836. package/dist/formatters/ide/cursor.d.ts.map +0 -1
  837. package/dist/formatters/ide/cursor.js +0 -125
  838. package/dist/formatters/ide/cursor.js.map +0 -1
  839. package/dist/formatters/ide/index.d.ts +0 -62
  840. package/dist/formatters/ide/index.d.ts.map +0 -1
  841. package/dist/formatters/ide/index.js +0 -184
  842. package/dist/formatters/ide/index.js.map +0 -1
  843. package/dist/formatters/ide/windsurf.d.ts +0 -13
  844. package/dist/formatters/ide/windsurf.d.ts.map +0 -1
  845. package/dist/formatters/ide/windsurf.js +0 -117
  846. package/dist/formatters/ide/windsurf.js.map +0 -1
  847. package/dist/formatters/index.d.ts +0 -11
  848. package/dist/formatters/index.d.ts.map +0 -1
  849. package/dist/formatters/index.js +0 -54
  850. package/dist/formatters/index.js.map +0 -1
  851. package/dist/formatters/vscode-diagnostic.d.ts +0 -103
  852. package/dist/formatters/vscode-diagnostic.d.ts.map +0 -1
  853. package/dist/formatters/vscode-diagnostic.js +0 -151
  854. package/dist/formatters/vscode-diagnostic.js.map +0 -1
  855. package/dist/layer1/comments.d.ts +0 -11
  856. package/dist/layer1/comments.d.ts.map +0 -1
  857. package/dist/layer1/comments.js +0 -203
  858. package/dist/layer1/comments.js.map +0 -1
  859. package/dist/layer1/config-audit.d.ts +0 -11
  860. package/dist/layer1/config-audit.d.ts.map +0 -1
  861. package/dist/layer1/config-audit.js +0 -311
  862. package/dist/layer1/config-audit.js.map +0 -1
  863. package/dist/layer1/config-mcp-audit.d.ts +0 -23
  864. package/dist/layer1/config-mcp-audit.d.ts.map +0 -1
  865. package/dist/layer1/config-mcp-audit.js +0 -239
  866. package/dist/layer1/config-mcp-audit.js.map +0 -1
  867. package/dist/layer1/entropy.d.ts +0 -11
  868. package/dist/layer1/entropy.d.ts.map +0 -1
  869. package/dist/layer1/entropy.js +0 -741
  870. package/dist/layer1/entropy.js.map +0 -1
  871. package/dist/layer1/file-flags.d.ts +0 -10
  872. package/dist/layer1/file-flags.d.ts.map +0 -1
  873. package/dist/layer1/file-flags.js +0 -119
  874. package/dist/layer1/file-flags.js.map +0 -1
  875. package/dist/layer1/index.d.ts +0 -38
  876. package/dist/layer1/index.d.ts.map +0 -1
  877. package/dist/layer1/index.js +0 -170
  878. package/dist/layer1/index.js.map +0 -1
  879. package/dist/layer1/patterns.d.ts +0 -11
  880. package/dist/layer1/patterns.d.ts.map +0 -1
  881. package/dist/layer1/patterns.js +0 -512
  882. package/dist/layer1/patterns.js.map +0 -1
  883. package/dist/layer1/urls.d.ts +0 -11
  884. package/dist/layer1/urls.d.ts.map +0 -1
  885. package/dist/layer1/urls.js +0 -444
  886. package/dist/layer1/urls.js.map +0 -1
  887. package/dist/layer1/weak-crypto.d.ts +0 -10
  888. package/dist/layer1/weak-crypto.d.ts.map +0 -1
  889. package/dist/layer1/weak-crypto.js +0 -428
  890. package/dist/layer1/weak-crypto.js.map +0 -1
  891. package/dist/layer2/ai-agent-tools.d.ts +0 -22
  892. package/dist/layer2/ai-agent-tools.d.ts.map +0 -1
  893. package/dist/layer2/ai-agent-tools.js +0 -1490
  894. package/dist/layer2/ai-agent-tools.js.map +0 -1
  895. package/dist/layer2/ai-endpoint-protection.d.ts +0 -38
  896. package/dist/layer2/ai-endpoint-protection.d.ts.map +0 -1
  897. package/dist/layer2/ai-endpoint-protection.js +0 -346
  898. package/dist/layer2/ai-endpoint-protection.js.map +0 -1
  899. package/dist/layer2/ai-execution-sinks.d.ts +0 -21
  900. package/dist/layer2/ai-execution-sinks.d.ts.map +0 -1
  901. package/dist/layer2/ai-execution-sinks.js +0 -1155
  902. package/dist/layer2/ai-execution-sinks.js.map +0 -1
  903. package/dist/layer2/ai-fingerprinting.d.ts +0 -10
  904. package/dist/layer2/ai-fingerprinting.d.ts.map +0 -1
  905. package/dist/layer2/ai-fingerprinting.js +0 -650
  906. package/dist/layer2/ai-fingerprinting.js.map +0 -1
  907. package/dist/layer2/ai-mcp-security.d.ts +0 -20
  908. package/dist/layer2/ai-mcp-security.d.ts.map +0 -1
  909. package/dist/layer2/ai-mcp-security.js +0 -877
  910. package/dist/layer2/ai-mcp-security.js.map +0 -1
  911. package/dist/layer2/ai-package-hallucination.d.ts +0 -22
  912. package/dist/layer2/ai-package-hallucination.d.ts.map +0 -1
  913. package/dist/layer2/ai-package-hallucination.js +0 -828
  914. package/dist/layer2/ai-package-hallucination.js.map +0 -1
  915. package/dist/layer2/ai-prompt-hygiene.d.ts +0 -22
  916. package/dist/layer2/ai-prompt-hygiene.d.ts.map +0 -1
  917. package/dist/layer2/ai-prompt-hygiene.js +0 -1156
  918. package/dist/layer2/ai-prompt-hygiene.js.map +0 -1
  919. package/dist/layer2/ai-rag-safety.d.ts +0 -24
  920. package/dist/layer2/ai-rag-safety.d.ts.map +0 -1
  921. package/dist/layer2/ai-rag-safety.js +0 -910
  922. package/dist/layer2/ai-rag-safety.js.map +0 -1
  923. package/dist/layer2/ai-schema-validation.d.ts +0 -28
  924. package/dist/layer2/ai-schema-validation.d.ts.map +0 -1
  925. package/dist/layer2/ai-schema-validation.js +0 -375
  926. package/dist/layer2/ai-schema-validation.js.map +0 -1
  927. package/dist/layer2/auth-antipatterns.d.ts +0 -22
  928. package/dist/layer2/auth-antipatterns.d.ts.map +0 -1
  929. package/dist/layer2/auth-antipatterns.js +0 -522
  930. package/dist/layer2/auth-antipatterns.js.map +0 -1
  931. package/dist/layer2/byok-patterns.d.ts +0 -15
  932. package/dist/layer2/byok-patterns.d.ts.map +0 -1
  933. package/dist/layer2/byok-patterns.js +0 -302
  934. package/dist/layer2/byok-patterns.js.map +0 -1
  935. package/dist/layer2/dangerous-functions/child-process.d.ts +0 -16
  936. package/dist/layer2/dangerous-functions/child-process.d.ts.map +0 -1
  937. package/dist/layer2/dangerous-functions/child-process.js +0 -74
  938. package/dist/layer2/dangerous-functions/child-process.js.map +0 -1
  939. package/dist/layer2/dangerous-functions/dom-xss.d.ts +0 -34
  940. package/dist/layer2/dangerous-functions/dom-xss.d.ts.map +0 -1
  941. package/dist/layer2/dangerous-functions/dom-xss.js +0 -230
  942. package/dist/layer2/dangerous-functions/dom-xss.js.map +0 -1
  943. package/dist/layer2/dangerous-functions/index.d.ts +0 -16
  944. package/dist/layer2/dangerous-functions/index.d.ts.map +0 -1
  945. package/dist/layer2/dangerous-functions/index.js +0 -1152
  946. package/dist/layer2/dangerous-functions/index.js.map +0 -1
  947. package/dist/layer2/dangerous-functions/json-parse.d.ts +0 -31
  948. package/dist/layer2/dangerous-functions/json-parse.d.ts.map +0 -1
  949. package/dist/layer2/dangerous-functions/json-parse.js +0 -319
  950. package/dist/layer2/dangerous-functions/json-parse.js.map +0 -1
  951. package/dist/layer2/dangerous-functions/math-random.d.ts +0 -111
  952. package/dist/layer2/dangerous-functions/math-random.d.ts.map +0 -1
  953. package/dist/layer2/dangerous-functions/math-random.js +0 -684
  954. package/dist/layer2/dangerous-functions/math-random.js.map +0 -1
  955. package/dist/layer2/dangerous-functions/patterns.d.ts +0 -21
  956. package/dist/layer2/dangerous-functions/patterns.d.ts.map +0 -1
  957. package/dist/layer2/dangerous-functions/patterns.js +0 -163
  958. package/dist/layer2/dangerous-functions/patterns.js.map +0 -1
  959. package/dist/layer2/dangerous-functions/request-validation.d.ts +0 -13
  960. package/dist/layer2/dangerous-functions/request-validation.d.ts.map +0 -1
  961. package/dist/layer2/dangerous-functions/request-validation.js +0 -119
  962. package/dist/layer2/dangerous-functions/request-validation.js.map +0 -1
  963. package/dist/layer2/dangerous-functions/utils/control-flow.d.ts +0 -24
  964. package/dist/layer2/dangerous-functions/utils/control-flow.d.ts.map +0 -1
  965. package/dist/layer2/dangerous-functions/utils/control-flow.js +0 -70
  966. package/dist/layer2/dangerous-functions/utils/control-flow.js.map +0 -1
  967. package/dist/layer2/dangerous-functions/utils/helpers.d.ts +0 -31
  968. package/dist/layer2/dangerous-functions/utils/helpers.d.ts.map +0 -1
  969. package/dist/layer2/dangerous-functions/utils/helpers.js +0 -147
  970. package/dist/layer2/dangerous-functions/utils/helpers.js.map +0 -1
  971. package/dist/layer2/dangerous-functions/utils/index.d.ts +0 -9
  972. package/dist/layer2/dangerous-functions/utils/index.d.ts.map +0 -1
  973. package/dist/layer2/dangerous-functions/utils/index.js +0 -23
  974. package/dist/layer2/dangerous-functions/utils/index.js.map +0 -1
  975. package/dist/layer2/dangerous-functions/utils/schema-validation.d.ts +0 -22
  976. package/dist/layer2/dangerous-functions/utils/schema-validation.d.ts.map +0 -1
  977. package/dist/layer2/dangerous-functions/utils/schema-validation.js +0 -102
  978. package/dist/layer2/dangerous-functions/utils/schema-validation.js.map +0 -1
  979. package/dist/layer2/data-exposure.d.ts +0 -19
  980. package/dist/layer2/data-exposure.d.ts.map +0 -1
  981. package/dist/layer2/data-exposure.js +0 -255
  982. package/dist/layer2/data-exposure.js.map +0 -1
  983. package/dist/layer2/framework-checks.d.ts +0 -10
  984. package/dist/layer2/framework-checks.d.ts.map +0 -1
  985. package/dist/layer2/framework-checks.js +0 -384
  986. package/dist/layer2/framework-checks.js.map +0 -1
  987. package/dist/layer2/index.d.ts +0 -74
  988. package/dist/layer2/index.d.ts.map +0 -1
  989. package/dist/layer2/index.js +0 -544
  990. package/dist/layer2/index.js.map +0 -1
  991. package/dist/layer2/log-injection.d.ts +0 -18
  992. package/dist/layer2/log-injection.d.ts.map +0 -1
  993. package/dist/layer2/log-injection.js +0 -214
  994. package/dist/layer2/log-injection.js.map +0 -1
  995. package/dist/layer2/logic-gates.d.ts +0 -10
  996. package/dist/layer2/logic-gates.d.ts.map +0 -1
  997. package/dist/layer2/logic-gates.js +0 -220
  998. package/dist/layer2/logic-gates.js.map +0 -1
  999. package/dist/layer2/model-supply-chain.d.ts +0 -23
  1000. package/dist/layer2/model-supply-chain.d.ts.map +0 -1
  1001. package/dist/layer2/model-supply-chain.js +0 -444
  1002. package/dist/layer2/model-supply-chain.js.map +0 -1
  1003. package/dist/layer2/risky-imports.d.ts +0 -10
  1004. package/dist/layer2/risky-imports.d.ts.map +0 -1
  1005. package/dist/layer2/risky-imports.js +0 -165
  1006. package/dist/layer2/risky-imports.js.map +0 -1
  1007. package/dist/layer2/security-headers.d.ts +0 -18
  1008. package/dist/layer2/security-headers.d.ts.map +0 -1
  1009. package/dist/layer2/security-headers.js +0 -187
  1010. package/dist/layer2/security-headers.js.map +0 -1
  1011. package/dist/layer2/ssrf-detection.d.ts +0 -18
  1012. package/dist/layer2/ssrf-detection.d.ts.map +0 -1
  1013. package/dist/layer2/ssrf-detection.js +0 -252
  1014. package/dist/layer2/ssrf-detection.js.map +0 -1
  1015. package/dist/layer2/variables.d.ts +0 -11
  1016. package/dist/layer2/variables.d.ts.map +0 -1
  1017. package/dist/layer2/variables.js +0 -156
  1018. package/dist/layer2/variables.js.map +0 -1
  1019. package/dist/layer2/xxe-detection.d.ts +0 -18
  1020. package/dist/layer2/xxe-detection.d.ts.map +0 -1
  1021. package/dist/layer2/xxe-detection.js +0 -242
  1022. package/dist/layer2/xxe-detection.js.map +0 -1
  1023. package/dist/layer3/anthropic/auto-dismiss.d.ts +0 -24
  1024. package/dist/layer3/anthropic/auto-dismiss.d.ts.map +0 -1
  1025. package/dist/layer3/anthropic/auto-dismiss.js +0 -199
  1026. package/dist/layer3/anthropic/auto-dismiss.js.map +0 -1
  1027. package/dist/layer3/anthropic/clients.d.ts +0 -44
  1028. package/dist/layer3/anthropic/clients.d.ts.map +0 -1
  1029. package/dist/layer3/anthropic/clients.js +0 -81
  1030. package/dist/layer3/anthropic/clients.js.map +0 -1
  1031. package/dist/layer3/anthropic/index.d.ts +0 -41
  1032. package/dist/layer3/anthropic/index.d.ts.map +0 -1
  1033. package/dist/layer3/anthropic/index.js +0 -141
  1034. package/dist/layer3/anthropic/index.js.map +0 -1
  1035. package/dist/layer3/anthropic/prompts/index.d.ts +0 -8
  1036. package/dist/layer3/anthropic/prompts/index.d.ts.map +0 -1
  1037. package/dist/layer3/anthropic/prompts/index.js +0 -16
  1038. package/dist/layer3/anthropic/prompts/index.js.map +0 -1
  1039. package/dist/layer3/anthropic/prompts/modules/ai-patterns.d.ts +0 -19
  1040. package/dist/layer3/anthropic/prompts/modules/ai-patterns.d.ts.map +0 -1
  1041. package/dist/layer3/anthropic/prompts/modules/ai-patterns.js +0 -156
  1042. package/dist/layer3/anthropic/prompts/modules/ai-patterns.js.map +0 -1
  1043. package/dist/layer3/anthropic/prompts/modules/auth-access.d.ts +0 -9
  1044. package/dist/layer3/anthropic/prompts/modules/auth-access.d.ts.map +0 -1
  1045. package/dist/layer3/anthropic/prompts/modules/auth-access.js +0 -25
  1046. package/dist/layer3/anthropic/prompts/modules/auth-access.js.map +0 -1
  1047. package/dist/layer3/anthropic/prompts/modules/common.d.ts +0 -11
  1048. package/dist/layer3/anthropic/prompts/modules/common.d.ts.map +0 -1
  1049. package/dist/layer3/anthropic/prompts/modules/common.js +0 -152
  1050. package/dist/layer3/anthropic/prompts/modules/common.js.map +0 -1
  1051. package/dist/layer3/anthropic/prompts/modules/index.d.ts +0 -54
  1052. package/dist/layer3/anthropic/prompts/modules/index.d.ts.map +0 -1
  1053. package/dist/layer3/anthropic/prompts/modules/index.js +0 -185
  1054. package/dist/layer3/anthropic/prompts/modules/index.js.map +0 -1
  1055. package/dist/layer3/anthropic/prompts/modules/owasp-classic.d.ts +0 -8
  1056. package/dist/layer3/anthropic/prompts/modules/owasp-classic.d.ts.map +0 -1
  1057. package/dist/layer3/anthropic/prompts/modules/owasp-classic.js +0 -84
  1058. package/dist/layer3/anthropic/prompts/modules/owasp-classic.js.map +0 -1
  1059. package/dist/layer3/anthropic/prompts/modules/secrets-crypto.d.ts +0 -8
  1060. package/dist/layer3/anthropic/prompts/modules/secrets-crypto.d.ts.map +0 -1
  1061. package/dist/layer3/anthropic/prompts/modules/secrets-crypto.js +0 -68
  1062. package/dist/layer3/anthropic/prompts/modules/secrets-crypto.js.map +0 -1
  1063. package/dist/layer3/anthropic/prompts/modules/xss-prompt.d.ts +0 -8
  1064. package/dist/layer3/anthropic/prompts/modules/xss-prompt.d.ts.map +0 -1
  1065. package/dist/layer3/anthropic/prompts/modules/xss-prompt.js +0 -22
  1066. package/dist/layer3/anthropic/prompts/modules/xss-prompt.js.map +0 -1
  1067. package/dist/layer3/anthropic/prompts/semantic-analysis.d.ts +0 -15
  1068. package/dist/layer3/anthropic/prompts/semantic-analysis.d.ts.map +0 -1
  1069. package/dist/layer3/anthropic/prompts/semantic-analysis.js +0 -169
  1070. package/dist/layer3/anthropic/prompts/semantic-analysis.js.map +0 -1
  1071. package/dist/layer3/anthropic/prompts/validation.d.ts +0 -18
  1072. package/dist/layer3/anthropic/prompts/validation.d.ts.map +0 -1
  1073. package/dist/layer3/anthropic/prompts/validation.js +0 -25
  1074. package/dist/layer3/anthropic/prompts/validation.js.map +0 -1
  1075. package/dist/layer3/anthropic/providers/anthropic.d.ts +0 -21
  1076. package/dist/layer3/anthropic/providers/anthropic.d.ts.map +0 -1
  1077. package/dist/layer3/anthropic/providers/anthropic.js +0 -269
  1078. package/dist/layer3/anthropic/providers/anthropic.js.map +0 -1
  1079. package/dist/layer3/anthropic/providers/index.d.ts +0 -8
  1080. package/dist/layer3/anthropic/providers/index.d.ts.map +0 -1
  1081. package/dist/layer3/anthropic/providers/index.js +0 -15
  1082. package/dist/layer3/anthropic/providers/index.js.map +0 -1
  1083. package/dist/layer3/anthropic/providers/openai.d.ts +0 -18
  1084. package/dist/layer3/anthropic/providers/openai.d.ts.map +0 -1
  1085. package/dist/layer3/anthropic/providers/openai.js +0 -343
  1086. package/dist/layer3/anthropic/providers/openai.js.map +0 -1
  1087. package/dist/layer3/anthropic/request-builder.d.ts +0 -27
  1088. package/dist/layer3/anthropic/request-builder.d.ts.map +0 -1
  1089. package/dist/layer3/anthropic/request-builder.js +0 -150
  1090. package/dist/layer3/anthropic/request-builder.js.map +0 -1
  1091. package/dist/layer3/anthropic/types.d.ts +0 -88
  1092. package/dist/layer3/anthropic/types.d.ts.map +0 -1
  1093. package/dist/layer3/anthropic/types.js +0 -38
  1094. package/dist/layer3/anthropic/types.js.map +0 -1
  1095. package/dist/layer3/anthropic/utils/context-extractor.d.ts +0 -55
  1096. package/dist/layer3/anthropic/utils/context-extractor.d.ts.map +0 -1
  1097. package/dist/layer3/anthropic/utils/context-extractor.js +0 -161
  1098. package/dist/layer3/anthropic/utils/context-extractor.js.map +0 -1
  1099. package/dist/layer3/anthropic/utils/index.d.ts +0 -11
  1100. package/dist/layer3/anthropic/utils/index.d.ts.map +0 -1
  1101. package/dist/layer3/anthropic/utils/index.js +0 -27
  1102. package/dist/layer3/anthropic/utils/index.js.map +0 -1
  1103. package/dist/layer3/anthropic/utils/path-helpers.d.ts +0 -21
  1104. package/dist/layer3/anthropic/utils/path-helpers.d.ts.map +0 -1
  1105. package/dist/layer3/anthropic/utils/path-helpers.js +0 -69
  1106. package/dist/layer3/anthropic/utils/path-helpers.js.map +0 -1
  1107. package/dist/layer3/anthropic/utils/response-parser.d.ts +0 -40
  1108. package/dist/layer3/anthropic/utils/response-parser.d.ts.map +0 -1
  1109. package/dist/layer3/anthropic/utils/response-parser.js +0 -285
  1110. package/dist/layer3/anthropic/utils/response-parser.js.map +0 -1
  1111. package/dist/layer3/anthropic/utils/retry.d.ts +0 -15
  1112. package/dist/layer3/anthropic/utils/retry.d.ts.map +0 -1
  1113. package/dist/layer3/anthropic/utils/retry.js +0 -62
  1114. package/dist/layer3/anthropic/utils/retry.js.map +0 -1
  1115. package/dist/layer3/index.d.ts +0 -27
  1116. package/dist/layer3/index.d.ts.map +0 -1
  1117. package/dist/layer3/index.js +0 -150
  1118. package/dist/layer3/index.js.map +0 -1
  1119. package/dist/layer3/osv-check.d.ts +0 -75
  1120. package/dist/layer3/osv-check.d.ts.map +0 -1
  1121. package/dist/layer3/osv-check.js +0 -308
  1122. package/dist/layer3/osv-check.js.map +0 -1
  1123. package/dist/layer3/package-check.d.ts +0 -63
  1124. package/dist/layer3/package-check.d.ts.map +0 -1
  1125. package/dist/layer3/package-check.js +0 -508
  1126. package/dist/layer3/package-check.js.map +0 -1
  1127. package/dist/model/cross-file-taint.d.ts +0 -40
  1128. package/dist/model/cross-file-taint.d.ts.map +0 -1
  1129. package/dist/model/cross-file-taint.js +0 -290
  1130. package/dist/model/cross-file-taint.js.map +0 -1
  1131. package/dist/model/function-classifier.d.ts +0 -32
  1132. package/dist/model/function-classifier.d.ts.map +0 -1
  1133. package/dist/model/function-classifier.js +0 -143
  1134. package/dist/model/function-classifier.js.map +0 -1
  1135. package/dist/model/sanitiser-detection.d.ts +0 -27
  1136. package/dist/model/sanitiser-detection.d.ts.map +0 -1
  1137. package/dist/model/sanitiser-detection.js +0 -224
  1138. package/dist/model/sanitiser-detection.js.map +0 -1
  1139. package/dist/model/sink-matcher.d.ts +0 -17
  1140. package/dist/model/sink-matcher.d.ts.map +0 -1
  1141. package/dist/model/sink-matcher.js +0 -141
  1142. package/dist/model/sink-matcher.js.map +0 -1
  1143. package/dist/model/sink-patterns.d.ts +0 -19
  1144. package/dist/model/sink-patterns.d.ts.map +0 -1
  1145. package/dist/model/sink-patterns.js +0 -88
  1146. package/dist/model/sink-patterns.js.map +0 -1
  1147. package/dist/model/source-discovery.d.ts +0 -15
  1148. package/dist/model/source-discovery.d.ts.map +0 -1
  1149. package/dist/model/source-discovery.js +0 -170
  1150. package/dist/model/source-discovery.js.map +0 -1
  1151. package/dist/model/taint-tracker.d.ts +0 -21
  1152. package/dist/model/taint-tracker.d.ts.map +0 -1
  1153. package/dist/model/taint-tracker.js +0 -281
  1154. package/dist/model/taint-tracker.js.map +0 -1
  1155. package/dist/modes/incremental.d.ts +0 -66
  1156. package/dist/modes/incremental.d.ts.map +0 -1
  1157. package/dist/modes/incremental.js +0 -200
  1158. package/dist/modes/incremental.js.map +0 -1
  1159. package/dist/rules/framework-fixes.d.ts +0 -48
  1160. package/dist/rules/framework-fixes.d.ts.map +0 -1
  1161. package/dist/rules/framework-fixes.js +0 -439
  1162. package/dist/rules/framework-fixes.js.map +0 -1
  1163. package/dist/rules/index.d.ts +0 -8
  1164. package/dist/rules/index.d.ts.map +0 -1
  1165. package/dist/rules/index.js +0 -18
  1166. package/dist/rules/index.js.map +0 -1
  1167. package/dist/rules/metadata.d.ts +0 -43
  1168. package/dist/rules/metadata.d.ts.map +0 -1
  1169. package/dist/rules/metadata.js +0 -800
  1170. package/dist/rules/metadata.js.map +0 -1
  1171. package/dist/score/auto-dismiss.d.ts +0 -28
  1172. package/dist/score/auto-dismiss.d.ts.map +0 -1
  1173. package/dist/score/auto-dismiss.js +0 -200
  1174. package/dist/score/auto-dismiss.js.map +0 -1
  1175. package/dist/suppression/config-loader.d.ts +0 -74
  1176. package/dist/suppression/config-loader.d.ts.map +0 -1
  1177. package/dist/suppression/config-loader.js +0 -424
  1178. package/dist/suppression/config-loader.js.map +0 -1
  1179. package/dist/suppression/hash.d.ts +0 -48
  1180. package/dist/suppression/hash.d.ts.map +0 -1
  1181. package/dist/suppression/hash.js +0 -88
  1182. package/dist/suppression/hash.js.map +0 -1
  1183. package/dist/suppression/index.d.ts +0 -11
  1184. package/dist/suppression/index.d.ts.map +0 -1
  1185. package/dist/suppression/index.js +0 -39
  1186. package/dist/suppression/index.js.map +0 -1
  1187. package/dist/suppression/inline-parser.d.ts +0 -39
  1188. package/dist/suppression/inline-parser.d.ts.map +0 -1
  1189. package/dist/suppression/inline-parser.js +0 -218
  1190. package/dist/suppression/inline-parser.js.map +0 -1
  1191. package/dist/suppression/manager.d.ts +0 -94
  1192. package/dist/suppression/manager.d.ts.map +0 -1
  1193. package/dist/suppression/manager.js +0 -292
  1194. package/dist/suppression/manager.js.map +0 -1
  1195. package/dist/suppression/types.d.ts +0 -151
  1196. package/dist/suppression/types.d.ts.map +0 -1
  1197. package/dist/suppression/types.js +0 -28
  1198. package/dist/suppression/types.js.map +0 -1
  1199. package/dist/types.d.ts +0 -331
  1200. package/dist/types.d.ts.map +0 -1
  1201. package/dist/types.js +0 -124
  1202. package/dist/types.js.map +0 -1
  1203. package/dist/utils/auth-helper-detector.d.ts +0 -56
  1204. package/dist/utils/auth-helper-detector.d.ts.map +0 -1
  1205. package/dist/utils/auth-helper-detector.js +0 -360
  1206. package/dist/utils/auth-helper-detector.js.map +0 -1
  1207. package/dist/utils/code-analysis.d.ts +0 -39
  1208. package/dist/utils/code-analysis.d.ts.map +0 -1
  1209. package/dist/utils/code-analysis.js +0 -159
  1210. package/dist/utils/code-analysis.js.map +0 -1
  1211. package/dist/utils/comment-analyzer.d.ts +0 -38
  1212. package/dist/utils/comment-analyzer.d.ts.map +0 -1
  1213. package/dist/utils/comment-analyzer.js +0 -218
  1214. package/dist/utils/comment-analyzer.js.map +0 -1
  1215. package/dist/utils/context-helpers.d.ts +0 -219
  1216. package/dist/utils/context-helpers.d.ts.map +0 -1
  1217. package/dist/utils/context-helpers.js +0 -886
  1218. package/dist/utils/context-helpers.js.map +0 -1
  1219. package/dist/utils/diff-detector.d.ts +0 -53
  1220. package/dist/utils/diff-detector.d.ts.map +0 -1
  1221. package/dist/utils/diff-detector.js +0 -104
  1222. package/dist/utils/diff-detector.js.map +0 -1
  1223. package/dist/utils/diff-parser.d.ts +0 -80
  1224. package/dist/utils/diff-parser.d.ts.map +0 -1
  1225. package/dist/utils/diff-parser.js +0 -202
  1226. package/dist/utils/diff-parser.js.map +0 -1
  1227. package/dist/utils/environment-context.d.ts +0 -76
  1228. package/dist/utils/environment-context.d.ts.map +0 -1
  1229. package/dist/utils/environment-context.js +0 -271
  1230. package/dist/utils/environment-context.js.map +0 -1
  1231. package/dist/utils/imported-auth-detector.d.ts +0 -37
  1232. package/dist/utils/imported-auth-detector.d.ts.map +0 -1
  1233. package/dist/utils/imported-auth-detector.js +0 -251
  1234. package/dist/utils/imported-auth-detector.js.map +0 -1
  1235. package/dist/utils/intent-detector.d.ts +0 -66
  1236. package/dist/utils/intent-detector.d.ts.map +0 -1
  1237. package/dist/utils/intent-detector.js +0 -282
  1238. package/dist/utils/intent-detector.js.map +0 -1
  1239. package/dist/utils/middleware-detector.d.ts +0 -55
  1240. package/dist/utils/middleware-detector.d.ts.map +0 -1
  1241. package/dist/utils/middleware-detector.js +0 -260
  1242. package/dist/utils/middleware-detector.js.map +0 -1
  1243. package/dist/utils/oauth-flow-detector.d.ts +0 -41
  1244. package/dist/utils/oauth-flow-detector.d.ts.map +0 -1
  1245. package/dist/utils/oauth-flow-detector.js +0 -202
  1246. package/dist/utils/oauth-flow-detector.js.map +0 -1
  1247. package/dist/utils/parsed-file.d.ts +0 -51
  1248. package/dist/utils/parsed-file.d.ts.map +0 -1
  1249. package/dist/utils/parsed-file.js +0 -95
  1250. package/dist/utils/parsed-file.js.map +0 -1
  1251. package/dist/utils/path-exclusions.d.ts +0 -55
  1252. package/dist/utils/path-exclusions.d.ts.map +0 -1
  1253. package/dist/utils/path-exclusions.js +0 -224
  1254. package/dist/utils/path-exclusions.js.map +0 -1
  1255. package/dist/utils/project-context-builder.d.ts +0 -119
  1256. package/dist/utils/project-context-builder.d.ts.map +0 -1
  1257. package/dist/utils/project-context-builder.js +0 -534
  1258. package/dist/utils/project-context-builder.js.map +0 -1
  1259. package/dist/utils/registry-clients.d.ts +0 -93
  1260. package/dist/utils/registry-clients.d.ts.map +0 -1
  1261. package/dist/utils/registry-clients.js +0 -273
  1262. package/dist/utils/registry-clients.js.map +0 -1
  1263. package/dist/utils/route-hierarchy.d.ts +0 -50
  1264. package/dist/utils/route-hierarchy.d.ts.map +0 -1
  1265. package/dist/utils/route-hierarchy.js +0 -226
  1266. package/dist/utils/route-hierarchy.js.map +0 -1
  1267. package/dist/utils/schema-semantics.d.ts +0 -45
  1268. package/dist/utils/schema-semantics.d.ts.map +0 -1
  1269. package/dist/utils/schema-semantics.js +0 -193
  1270. package/dist/utils/schema-semantics.js.map +0 -1
  1271. package/dist/utils/trpc-analyzer.d.ts +0 -78
  1272. package/dist/utils/trpc-analyzer.d.ts.map +0 -1
  1273. package/dist/utils/trpc-analyzer.js +0 -297
  1274. package/dist/utils/trpc-analyzer.js.map +0 -1
  1275. package/src/__tests__/context-engine/cross-file-taint.test.ts +0 -284
  1276. package/src/__tests__/context-engine/function-classifier.test.ts +0 -146
  1277. package/src/__tests__/context-engine/integration.test.ts +0 -320
  1278. package/src/__tests__/context-engine/sanitiser-detection.test.ts +0 -187
  1279. package/src/__tests__/context-engine/sink-matcher.test.ts +0 -251
  1280. package/src/__tests__/context-engine/source-discovery.test.ts +0 -186
  1281. package/src/__tests__/context-engine/taint-tracker.test.ts +0 -182
  1282. package/src/__tests__/snapshots/__snapshots__/anthropic-validation-refactor.test.ts.snap +0 -750
  1283. package/src/__tests__/snapshots/__snapshots__/dangerous-functions-refactor.test.ts.snap +0 -555
  1284. package/src/__tests__/snapshots/anthropic-validation-refactor.test.ts +0 -321
  1285. package/src/__tests__/snapshots/dangerous-functions-refactor.test.ts +0 -439
  1286. package/src/detect/ai-code/agent-tools.ts +0 -1662
  1287. package/src/detect/ai-code/byok-patterns.ts +0 -354
  1288. package/src/detect/ai-code/endpoint-protection.ts +0 -406
  1289. package/src/detect/ai-code/execution-sinks.ts +0 -1310
  1290. package/src/detect/ai-code/fingerprinting.ts +0 -774
  1291. package/src/detect/ai-code/mcp-security.ts +0 -937
  1292. package/src/detect/ai-code/model-supply-chain.ts +0 -535
  1293. package/src/detect/ai-code/package-hallucination.ts +0 -955
  1294. package/src/detect/ai-code/prompt-hygiene.ts +0 -1314
  1295. package/src/detect/ai-code/rag-safety.ts +0 -977
  1296. package/src/detect/ai-code/schema-validation.ts +0 -427
  1297. package/src/detect/secrets/patterns.ts +0 -561
  1298. package/src/detect/secrets/weak-crypto.ts +0 -485
  1299. package/src/detect/structural/__tests__/math-random-enhanced.test.ts +0 -405
  1300. package/src/detect/structural/auth-patterns.ts +0 -621
  1301. package/src/detect/structural/dangerous-functions/child-process.ts +0 -98
  1302. package/src/detect/structural/dangerous-functions/dom-xss.ts +0 -292
  1303. package/src/detect/structural/dangerous-functions/index.ts +0 -1556
  1304. package/src/detect/structural/dangerous-functions/json-parse.ts +0 -393
  1305. package/src/detect/structural/dangerous-functions/math-random.ts +0 -789
  1306. package/src/detect/structural/dangerous-functions/patterns.ts +0 -176
  1307. package/src/detect/structural/dangerous-functions/request-validation.ts +0 -153
  1308. package/src/detect/structural/dangerous-functions/utils/control-flow.ts +0 -35
  1309. package/src/detect/structural/dangerous-functions/utils/helpers.ts +0 -170
  1310. package/src/detect/structural/dangerous-functions/utils/index.ts +0 -25
  1311. package/src/detect/structural/dangerous-functions/utils/schema-validation.ts +0 -106
  1312. package/src/detect/structural/data-exposure.ts +0 -302
  1313. package/src/detect/structural/framework-checks.ts +0 -439
  1314. package/src/detect/structural/log-injection.ts +0 -254
  1315. package/src/detect/structural/logic-gates.ts +0 -256
  1316. package/src/detect/structural/risky-imports.ts +0 -197
  1317. package/src/detect/structural/security-headers.ts +0 -231
  1318. package/src/detect/structural/ssrf-detection.ts +0 -300
  1319. package/src/detect/structural/variables.ts +0 -177
  1320. package/src/detect/structural/xxe-detection.ts +0 -295
  1321. package/src/model/cross-file-taint.ts +0 -374
  1322. package/src/model/function-classifier.ts +0 -184
  1323. package/src/model/sanitiser-detection.ts +0 -268
  1324. package/src/model/sink-matcher.ts +0 -178
  1325. package/src/model/sink-patterns.ts +0 -109
  1326. package/src/model/source-discovery.ts +0 -209
  1327. package/src/model/taint-tracker.ts +0 -333
  1328. package/src/score/auto-dismiss.ts +0 -224
@@ -1,147 +0,0 @@
1
- "use strict";
2
- /**
3
- * General Helper Utilities
4
- *
5
- * Small utility functions used across the dangerous functions detection module.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.getLineContent = getLineContent;
9
- exports.getLineRange = getLineRange;
10
- exports.hasOnlyStaticInputs = hasOnlyStaticInputs;
11
- exports.hasPathTraversalProtection = hasPathTraversalProtection;
12
- exports.hasThrowingAuthHelper = hasThrowingAuthHelper;
13
- /**
14
- * Get a specific line from content by line number (0-indexed)
15
- */
16
- function getLineContent(content, lineNumber) {
17
- const lines = content.split('\n');
18
- return lines[lineNumber] || '';
19
- }
20
- /**
21
- * Get a range of lines from content
22
- */
23
- function getLineRange(content, startLine, endLine) {
24
- const lines = content.split('\n');
25
- const start = Math.max(0, startLine);
26
- const end = Math.min(lines.length, endLine);
27
- return lines.slice(start, end).join('\n');
28
- }
29
- /**
30
- * Check if eval/exec/Function has only static literal inputs (no user data)
31
- * Static inputs like eval('({ mode: "production" })') are low risk
32
- *
33
- * Returns true ONLY if the argument is a string literal (not a variable)
34
- */
35
- function hasOnlyStaticInputs(lineContent, content, lineNumber) {
36
- // Check if the argument to eval/exec/Function is a string literal ONLY
37
- // If it's a variable, it's NOT static (could come from anywhere)
38
- //
39
- // String literal patterns:
40
- // - Single quotes: 'content with "double quotes" inside' (no $ interpolation)
41
- // - Double quotes: "content" (no $ interpolation)
42
- // - Backticks without ${}: `content` (template literal but no interpolation)
43
- //
44
- // Note: We allow quotes INSIDE the string (e.g., 'text "with" quotes')
45
- // but NOT $ (which would indicate interpolation)
46
- const staticPatterns = [
47
- // Single-quoted string: eval('...') - can contain anything except single quotes and $
48
- /eval\s*\(\s*'[^'$]*'\s*\)/,
49
- // Double-quoted string: eval("...") - can contain anything except double quotes and $
50
- /eval\s*\(\s*"[^"$]*"\s*\)/,
51
- // Backtick without interpolation: eval(`...`) - must not have ${ inside
52
- /eval\s*\(\s*`[^`$]*`\s*\)/,
53
- // Function constructor with string literal
54
- /new\s+Function\s*\(\s*'[^'$]*'\s*\)/,
55
- /new\s+Function\s*\(\s*"[^"$]*"\s*\)/,
56
- // execSync with string literal
57
- /execSync\s*\(\s*'[^'$]*'\s*\)/,
58
- /execSync\s*\(\s*"[^"$]*"\s*\)/,
59
- // exec with string literal
60
- /exec\s*\(\s*'[^'$]*'/,
61
- /exec\s*\(\s*"[^"$]*"/,
62
- ];
63
- // Only return true if it matches a static pattern (string literal)
64
- // If it's a variable like eval(code), we can't assume it's static
65
- return staticPatterns.some(p => p.test(lineContent));
66
- }
67
- /**
68
- * Check if path traversal protection is in place
69
- * Looks for common sanitization patterns that prevent directory traversal attacks
70
- */
71
- function hasPathTraversalProtection(context, lineContent) {
72
- const protectionPatterns = [
73
- // Path normalization with base directory check (same line)
74
- /path\.resolve\s*\([^)]+\).*\.startsWith\s*\(/i,
75
- // startsWith check with common safe directory variable names
76
- /\.startsWith\s*\([^)]*(?:baseDir|basePath|rootDir|uploadDir|allowedDir|safeDir|SAFE_)/i,
77
- // MULTI-LINE PATTERN: path.resolve followed by startsWith check in context
78
- // This handles the common case where resolve and startsWith are on separate lines:
79
- // const resolved = path.resolve(baseDir, userPath)
80
- // if (!resolved.startsWith(baseDir)) throw new Error()
81
- // We check for BOTH patterns being present in the context
82
- // (handled below as combined check)
83
- // Explicit ".." rejection
84
- /\.includes\s*\(\s*['"`]\.\.['"`]\s*\)/i,
85
- /\.indexOf\s*\(\s*['"`]\.\.['"`]\s*\)/i,
86
- /['"`]\.\.['"`].*(?:throw|reject|return|error)/i,
87
- // Replace ".." pattern (sanitization)
88
- /\.replace\s*\([^)]*\\?\.\\?\.\s*[^)]*,\s*['"`]['"`]\s*\)/i,
89
- // Path sanitization libraries
90
- /sanitizePath|sanitizeFilename|sanitize-filename/i,
91
- /path-sanitizer|secure-path/i,
92
- // Explicit path validation
93
- /validatePath|isValidPath|checkPath|verifyPath/i,
94
- /isPathAllowed|isAllowedPath|pathIsAllowed/i,
95
- // Normalize and check pattern
96
- /path\.normalize\s*\([^)]+\).*(?:startsWith|includes|indexOf)/i,
97
- // Regex validation for safe characters only
98
- /\/\^?\[a-zA-Z0-9_\-\.\\\/\]\+\$?\//, // Only alphanumeric, dash, underscore, dot
99
- // Allowlist/whitelist patterns
100
- /allowedExtensions|allowedTypes|whitelist/i,
101
- /\.endsWith\s*\(\s*['"`]\.\w+['"`]\s*\)/i, // Extension check
102
- // Path.basename to strip directory
103
- /path\.basename\s*\(/i,
104
- // Zod/validation for filename patterns
105
- /z\.string\s*\(\s*\)\.regex\s*\(/i,
106
- ];
107
- // Check single-line patterns
108
- if (protectionPatterns.some(p => p.test(context) || p.test(lineContent))) {
109
- return true;
110
- }
111
- // Multi-line pattern: path.resolve + startsWith check on separate lines
112
- // This is a very common secure pattern:
113
- // const resolved = path.resolve(safeBaseDir, userInput)
114
- // if (!resolved.startsWith(safeBaseDir)) { throw ... }
115
- const hasPathResolve = /path\.resolve\s*\(/i.test(context);
116
- const hasStartsWithCheck = /\.startsWith\s*\(/i.test(context);
117
- const hasThrowOnFailure = /(throw|return|reject)\s+.*(error|invalid|denied)/i.test(context);
118
- if (hasPathResolve && hasStartsWithCheck && hasThrowOnFailure) {
119
- return true;
120
- }
121
- return false;
122
- }
123
- /**
124
- * Check if route has throwing auth helper (getCurrentUserId, requireAuth, etc.)
125
- * Routes with throwing auth helpers are already protected
126
- */
127
- function hasThrowingAuthHelper(content) {
128
- const throwingAuthPatterns = [
129
- /\bgetCurrentUserId\s*\(/i,
130
- /\brequireAuth\s*\(/i,
131
- /\bensureAuth\s*\(/i,
132
- /\bauth\s*\(\s*\)\s*\.protect\s*\(/i, // Clerk: auth().protect()
133
- /\bcurrentUser\s*\(\s*\)/i, // Clerk: currentUser()
134
- /\bgetServerSession\s*\([^)]*\)/i, // NextAuth
135
- /\bauth\s*\(\s*\)/i, // Generic auth() call
136
- /\bcheckAuth\s*\(/i,
137
- /\bverifyAuth\s*\(/i,
138
- /\bvalidateAuth\s*\(/i,
139
- /\bassertAuth\s*\(/i,
140
- /\bgetAuth\s*\(/i,
141
- /\brequireUser\s*\(/i,
142
- /\bgetUser\s*\(\s*\)/i, // supabase.auth.getUser()
143
- /const\s+\{\s*user\s*\}\s*=\s*await/i, // Destructuring pattern
144
- ];
145
- return throwingAuthPatterns.some(p => p.test(content));
146
- }
147
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/detect/structural/dangerous-functions/utils/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Utility Functions Index
3
- *
4
- * Re-exports all utility functions from the dangerous-functions module.
5
- */
6
- export { isInsideTryCatch, hasTryCatchNearby, extractFunctionContext, } from './control-flow';
7
- export { hasSchemaValidationNearby, hasManualValidation, hasSQLWhitelistValidation, } from './schema-validation';
8
- export { getLineContent, getLineRange, hasOnlyStaticInputs, hasPathTraversalProtection, hasThrowingAuthHelper, } from './helpers';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/detect/structural/dangerous-functions/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EACL,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,WAAW,CAAA"}
@@ -1,23 +0,0 @@
1
- "use strict";
2
- /**
3
- * Utility Functions Index
4
- *
5
- * Re-exports all utility functions from the dangerous-functions module.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.hasThrowingAuthHelper = exports.hasPathTraversalProtection = exports.hasOnlyStaticInputs = exports.getLineRange = exports.getLineContent = exports.hasSQLWhitelistValidation = exports.hasManualValidation = exports.hasSchemaValidationNearby = exports.extractFunctionContext = exports.hasTryCatchNearby = exports.isInsideTryCatch = void 0;
9
- var control_flow_1 = require("./control-flow");
10
- Object.defineProperty(exports, "isInsideTryCatch", { enumerable: true, get: function () { return control_flow_1.isInsideTryCatch; } });
11
- Object.defineProperty(exports, "hasTryCatchNearby", { enumerable: true, get: function () { return control_flow_1.hasTryCatchNearby; } });
12
- Object.defineProperty(exports, "extractFunctionContext", { enumerable: true, get: function () { return control_flow_1.extractFunctionContext; } });
13
- var schema_validation_1 = require("./schema-validation");
14
- Object.defineProperty(exports, "hasSchemaValidationNearby", { enumerable: true, get: function () { return schema_validation_1.hasSchemaValidationNearby; } });
15
- Object.defineProperty(exports, "hasManualValidation", { enumerable: true, get: function () { return schema_validation_1.hasManualValidation; } });
16
- Object.defineProperty(exports, "hasSQLWhitelistValidation", { enumerable: true, get: function () { return schema_validation_1.hasSQLWhitelistValidation; } });
17
- var helpers_1 = require("./helpers");
18
- Object.defineProperty(exports, "getLineContent", { enumerable: true, get: function () { return helpers_1.getLineContent; } });
19
- Object.defineProperty(exports, "getLineRange", { enumerable: true, get: function () { return helpers_1.getLineRange; } });
20
- Object.defineProperty(exports, "hasOnlyStaticInputs", { enumerable: true, get: function () { return helpers_1.hasOnlyStaticInputs; } });
21
- Object.defineProperty(exports, "hasPathTraversalProtection", { enumerable: true, get: function () { return helpers_1.hasPathTraversalProtection; } });
22
- Object.defineProperty(exports, "hasThrowingAuthHelper", { enumerable: true, get: function () { return helpers_1.hasThrowingAuthHelper; } });
23
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/detect/structural/dangerous-functions/utils/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,+CAIuB;AAHrB,gHAAA,gBAAgB,OAAA;AAChB,iHAAA,iBAAiB,OAAA;AACjB,sHAAA,sBAAsB,OAAA;AAGxB,yDAI4B;AAH1B,8HAAA,yBAAyB,OAAA;AACzB,wHAAA,mBAAmB,OAAA;AACnB,8HAAA,yBAAyB,OAAA;AAG3B,qCAMkB;AALhB,yGAAA,cAAc,OAAA;AACd,uGAAA,YAAY,OAAA;AACZ,8GAAA,mBAAmB,OAAA;AACnB,qHAAA,0BAA0B,OAAA;AAC1B,gHAAA,qBAAqB,OAAA"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Schema Validation Detection Utilities
3
- *
4
- * Functions for detecting schema validation patterns (zod, yup, joi, etc.)
5
- * and manual validation patterns.
6
- */
7
- /**
8
- * Check if schema validation is applied near a JSON.parse call
9
- * Looks for zod, yup, joi, or similar validation patterns
10
- */
11
- export declare function hasSchemaValidationNearby(content: string, lineNumber: number): boolean;
12
- /**
13
- * Check if this file appears to have form/input validation elsewhere
14
- * (manual checks on body fields, type guards, etc.)
15
- */
16
- export declare function hasManualValidation(content: string): boolean;
17
- /**
18
- * Check if SQL query uses whitelist validation pattern
19
- * e.g., columns validated against allowedColumns array before use
20
- */
21
- export declare function hasSQLWhitelistValidation(content: string, lineNumber: number): boolean;
22
- //# sourceMappingURL=schema-validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-validation.d.ts","sourceRoot":"","sources":["../../../../../src/detect/structural/dangerous-functions/utils/schema-validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAkCtF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAe5D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAiCtF"}
@@ -1,102 +0,0 @@
1
- "use strict";
2
- /**
3
- * Schema Validation Detection Utilities
4
- *
5
- * Functions for detecting schema validation patterns (zod, yup, joi, etc.)
6
- * and manual validation patterns.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.hasSchemaValidationNearby = hasSchemaValidationNearby;
10
- exports.hasManualValidation = hasManualValidation;
11
- exports.hasSQLWhitelistValidation = hasSQLWhitelistValidation;
12
- /**
13
- * Check if schema validation is applied near a JSON.parse call
14
- * Looks for zod, yup, joi, or similar validation patterns
15
- */
16
- function hasSchemaValidationNearby(content, lineNumber) {
17
- const lines = content.split('\n');
18
- const start = Math.max(0, lineNumber - 5);
19
- const end = Math.min(lines.length, lineNumber + 10);
20
- const context = lines.slice(start, end).join('\n');
21
- const schemaValidationPatterns = [
22
- // Zod patterns
23
- /z\.(object|string|number|array|boolean)\s*\(/i,
24
- /\.parse\s*\(/i,
25
- /\.safeParse\s*\(/i,
26
- /schema\.parse/i,
27
- /Schema\.parse/i,
28
- // Yup patterns
29
- /yup\.(object|string|number|array|boolean)\s*\(/i,
30
- /\.validate\s*\(/i,
31
- /\.validateSync\s*\(/i,
32
- // Joi patterns
33
- /Joi\.(object|string|number|array|boolean)\s*\(/i,
34
- /\.validateAsync\s*\(/i,
35
- // Valibot patterns
36
- /v\.(object|string|number|array|boolean)\s*\(/i,
37
- // AJV patterns
38
- /ajv\.compile/i,
39
- /validate\s*\(\s*schema/i,
40
- // TypeBox patterns
41
- /Type\.(Object|String|Number|Array|Boolean)\s*\(/i,
42
- // Generic validation patterns
43
- /validateSchema/i,
44
- /schemaValidator/i,
45
- /parseAndValidate/i,
46
- ];
47
- return schemaValidationPatterns.some(p => p.test(context));
48
- }
49
- /**
50
- * Check if this file appears to have form/input validation elsewhere
51
- * (manual checks on body fields, type guards, etc.)
52
- */
53
- function hasManualValidation(content) {
54
- const manualValidationPatterns = [
55
- // Type checking / type guards
56
- /typeof\s+\w+\s*[!=]==?\s*['"](?:string|number|boolean|object)['"]|Array\.isArray\s*\(/i,
57
- // Field existence checks followed by throws/returns
58
- /if\s*\(\s*!(?:body|data|input)\.\w+\s*\)\s*\{?\s*(throw|return)/i,
59
- // Property access with type assertion comments or inline validation
60
- /\b(body|data|input)\s*as\s+\w+/i, // Type assertion
61
- // Manual validation with error handling
62
- /if\s*\(\s*![\w.]+\s*\|\|\s*typeof\s+[\w.]+/i,
63
- // Using type predicates
64
- /is\w+\s*\([\w.]+\)/i, // isFoo(bar) pattern
65
- ];
66
- return manualValidationPatterns.some(p => p.test(content));
67
- }
68
- /**
69
- * Check if SQL query uses whitelist validation pattern
70
- * e.g., columns validated against allowedColumns array before use
71
- */
72
- function hasSQLWhitelistValidation(content, lineNumber) {
73
- const lines = content.split('\n');
74
- const contextStart = Math.max(0, lineNumber - 20);
75
- const contextEnd = Math.min(lines.length, lineNumber + 5);
76
- const context = lines.slice(contextStart, contextEnd).join('\n');
77
- // Whitelist/allowlist validation patterns
78
- const whitelistPatterns = [
79
- // Array-based whitelists
80
- /allowed\w*\s*=\s*\[/i, // allowedColumns = [...]
81
- /whitelist\w*\s*=\s*\[/i, // whitelistFields = [...]
82
- /valid\w*\s*=\s*\[/i, // validColumns = [...]
83
- /\.filter\s*\([^)]*\.includes\s*\(/i, // .filter(c => allowed.includes(c))
84
- /\.includes\s*\([^)]*\)/i, // allowedColumns.includes(col)
85
- /\.every\s*\([^)]*\.includes/i, // columns.every(c => allowed.includes(c))
86
- /if\s*\(\s*!.*\.includes/i, // if (!allowed.includes(...))
87
- // Object-based whitelists (Record<string, string>)
88
- /\w+\s+in\s+\w*(?:sortable|allowed|valid|whitelist)\w*/i, // sorter in sortableFields
89
- /\w+\s+in\s+\w+Fields/i, // key in someFields
90
- /:\s*Record<string,\s*string>/i, // Type annotation: Record<string, string>
91
- /const\s+\w+Fields\s*:\s*\{[^}]*\}\s*=/i, // const xyzFields: {...} = (inline type)
92
- /const\s+\w+Fields\s*=\s*\{[^}]*\}/i, // const xyzFields = { ... }
93
- /if\s*\([^)]*\s+in\s+\w+Fields\s*\)/i, // if (x in yFields)
94
- /&&\s*\w+\s+in\s+\w+/i, // && sorter in sortableFields
95
- // Enum-based validation (ASC/DESC, etc.)
96
- /===?\s*['"](?:ASC|DESC)['"]/i, // === 'ASC' or === 'DESC'
97
- /===?\s*\w+\.(?:Asc|Desc|ASC|DESC)/i, // === SortType.Asc
98
- /toLowerCase\s*\(\s*\)\s*===?\s*\w+\.(?:asc|desc)/i, // .toLowerCase() === SortType.asc
99
- ];
100
- return whitelistPatterns.some(p => p.test(context));
101
- }
102
- //# sourceMappingURL=schema-validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-validation.js","sourceRoot":"","sources":["../../../../../src/detect/structural/dangerous-functions/utils/schema-validation.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Layer 2: Data Exposure Detection
3
- * Identifies sensitive data in logs vs API responses with appropriate severity
4
- * Separates "logging concerns" from "response exposure" which have different risk profiles
5
- */
6
- import type { Vulnerability } from '../../shared/types';
7
- import type { ParsedFile } from '../../shared/parsed-file';
8
- /**
9
- * Detect sensitive data exposure in logs and API responses
10
- */
11
- export declare function detectDataExposure(content: string, filePath: string, options?: {
12
- parsed?: ParsedFile;
13
- }): Vulnerability[];
14
- /**
15
- * Check if error handling follows safe patterns
16
- * Returns true if the error handling appears safe
17
- */
18
- export declare function isSafeErrorHandling(lineContent: string, surroundingLines: string[]): boolean;
19
- //# sourceMappingURL=data-exposure.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-exposure.d.ts","sourceRoot":"","sources":["../../../src/detect/structural/data-exposure.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,oBAAoB,CAAA;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAyI1D;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,GAChC,aAAa,EAAE,CAqIjB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,OAAO,CAW5F"}
@@ -1,262 +0,0 @@
1
- "use strict";
2
- /**
3
- * Layer 2: Data Exposure Detection
4
- * Identifies sensitive data in logs vs API responses with appropriate severity
5
- * Separates "logging concerns" from "response exposure" which have different risk profiles
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.detectDataExposure = detectDataExposure;
9
- exports.isSafeErrorHandling = isSafeErrorHandling;
10
- const file_classifier_1 = require("../../parse/file-classifier");
11
- const BASE_CONFIDENCE = 0.40;
12
- const DATA_EXPOSURE_PATTERNS = [
13
- // ============================================================================
14
- // LOG SINKS - DISABLED
15
- // Server logs are never exposed to users. After analysis of real codebases,
16
- // 100% of console.error/warn findings were false positives.
17
- // Logging is a standard debugging practice, not a security vulnerability.
18
- // ============================================================================
19
- // NOTE: The following patterns have been REMOVED to eliminate false positives:
20
- // - 'Logging user ID' - user IDs in logs are standard practice
21
- // - 'Logging error objects' - console.error(err) is correct error handling
22
- // - 'Logging request body' - server logs are not exposed to clients
23
- // - 'JSON.stringify error to log' - serializing errors for logs is fine
24
- // ============================================================================
25
- // RESPONSE SINKS (higher severity - exposed to clients)
26
- // These are actual information disclosure risks
27
- // ============================================================================
28
- // Error stack traces in responses - CRITICAL
29
- {
30
- name: 'Stack trace in response',
31
- pattern: /res\.(json|send|status\(\d+\)\.json)\s*\([^)]*\.stack|NextResponse\.json\s*\([^)]*\.stack/gi,
32
- sink: 'response',
33
- severity: 'high',
34
- description: 'Stack trace exposed in API response. Reveals internal code paths and file structure to clients.',
35
- suggestedFix: 'Never return stack traces to clients. Log server-side, return generic error message.',
36
- },
37
- {
38
- name: 'Full error object in response',
39
- pattern: /res\.(json|send)\s*\(\s*(err|error|e)\s*\)|NextResponse\.json\s*\(\s*(err|error|e)\s*\)/gi,
40
- sink: 'response',
41
- severity: 'high',
42
- description: 'Entire error object returned to client. May expose stack traces, internal paths, and sensitive details.',
43
- suggestedFix: 'Return only { error: message } or a structured error response. Never return raw error objects.',
44
- },
45
- {
46
- name: 'Error object spread in response',
47
- pattern: /res\.(json|send)\s*\(\s*\{[^}]*\.\.\.\s*(err|error|e)[^}]*\}|NextResponse\.json\s*\(\s*\{[^}]*\.\.\.\s*(err|error|e)/gi,
48
- sink: 'response',
49
- severity: 'high',
50
- description: 'Error object spread into response. May expose stack traces and internal details.',
51
- suggestedFix: 'Pick only safe properties: { error: err.message, code: err.code }',
52
- },
53
- {
54
- name: 'Detailed error in response',
55
- pattern: /res\.(json|send|status\(\d+\)\.json)\s*\(\s*\{[^}]*(details|internal|debug|trace|stack)/gi,
56
- sink: 'response',
57
- severity: 'medium',
58
- description: 'Detailed/internal error information in response may leak implementation details.',
59
- suggestedFix: 'Remove detailed/internal/debug/trace information from client-facing error responses.',
60
- },
61
- // Error message in response - SAFE PATTERN (info only)
62
- {
63
- name: 'Error message in response (safe pattern)',
64
- pattern: /res\.(json|send)\s*\([^)]*error:\s*(error|err|e)\.message|NextResponse\.json\s*\([^)]*error:\s*(error|err|e)\.message/gi,
65
- sink: 'response',
66
- severity: 'info',
67
- description: 'Error message returned to client. Generally safe - this is the recommended error response pattern.',
68
- suggestedFix: 'Verify error messages don\'t contain sensitive data. Consider using generic messages for auth errors.',
69
- },
70
- {
71
- name: 'Error message with toString',
72
- pattern: /res\.(json|send)\s*\([^)]*error:\s*(error|err|e)\.toString|NextResponse\.json\s*\([^)]*error:\s*(error|err|e)\.toString/gi,
73
- sink: 'response',
74
- severity: 'low',
75
- description: 'Error.toString() returned to client. May include error name and message - verify no sensitive data.',
76
- suggestedFix: 'Prefer error.message over error.toString() for cleaner output.',
77
- },
78
- {
79
- name: 'String error message in response',
80
- pattern: /res\.(json|send|status\(\d+\)\.json)\s*\(\s*\{\s*(error|message):\s*['"`][^'"`]+['"`]\s*\}/gi,
81
- sink: 'response',
82
- severity: 'info',
83
- description: 'Static/string error message returned to client. This is the safest error response pattern.',
84
- suggestedFix: 'No action needed - static error messages are safe.',
85
- },
86
- // ============================================================================
87
- // BOTH SINKS (depends on context)
88
- // ============================================================================
89
- // Sensitive data exposure patterns
90
- {
91
- name: 'Exposing user object',
92
- pattern: /res\.(json|send)\s*\([^)]*user\s*\)|NextResponse\.json\s*\([^)]*user\s*\)/gi,
93
- sink: 'response',
94
- severity: 'low',
95
- description: 'User object returned in response. Ensure password hashes and sensitive fields are excluded.',
96
- suggestedFix: 'Select only necessary user fields. Never expose password hashes, tokens, or internal IDs.',
97
- },
98
- ];
99
- /**
100
- * Check if file path indicates low-risk logging context
101
- */
102
- function isLowRiskLoggingFile(filePath) {
103
- // Test files
104
- if ((0, file_classifier_1.isTestOrMockFile)(filePath)) {
105
- return true;
106
- }
107
- // Scripts, tools, CLI utilities
108
- if (/\/(scripts?|tools?|cli|bin)\//i.test(filePath)) {
109
- return true;
110
- }
111
- // Internal services/utilities (not API-facing)
112
- if (/\/(services?|lib|utils?|helpers?)\//i.test(filePath) &&
113
- !/\/(api|routes?)\//i.test(filePath)) {
114
- return true;
115
- }
116
- // Component files (client-side, not API)
117
- if (/\/(components?|pages?|views?)\//i.test(filePath) &&
118
- !/route\.(ts|js)$/i.test(filePath)) {
119
- return true;
120
- }
121
- return false;
122
- }
123
- /**
124
- * Detect sensitive data exposure in logs and API responses
125
- */
126
- function detectDataExposure(content, filePath, options) {
127
- const vulnerabilities = [];
128
- // Skip scanner/fixture files to avoid self-detection
129
- if ((0, file_classifier_1.isScannerOrFixtureFile)(filePath))
130
- return vulnerabilities;
131
- const lines = options?.parsed?.lines ?? content.split('\n');
132
- const isTestFile = (0, file_classifier_1.isTestOrMockFile)(filePath);
133
- const isLowRiskFile = isLowRiskLoggingFile(filePath);
134
- // Determine if this is likely an API route file
135
- const isApiFile = /\/(api|routes?|handlers?|controllers?)\//i.test(filePath) ||
136
- /route\.(ts|js)$/i.test(filePath);
137
- // Track log findings for aggregation
138
- const logFindings = [];
139
- lines.forEach((line, index) => {
140
- // Skip comments
141
- if ((0, file_classifier_1.isComment)(line))
142
- return;
143
- for (const pattern of DATA_EXPOSURE_PATTERNS) {
144
- const regex = new RegExp(pattern.pattern.source, pattern.pattern.flags);
145
- if (regex.test(line)) {
146
- let severity = pattern.severity;
147
- let description = pattern.description;
148
- // Adjust severity based on context
149
- if (isTestFile) {
150
- severity = 'info';
151
- description = `${description} (in test file)`;
152
- }
153
- // Log sinks get special handling for aggregation
154
- if (pattern.sink === 'log') {
155
- // In low-risk files, just aggregate without reporting individual findings
156
- if (isLowRiskFile && severity === 'info') {
157
- logFindings.push({ lineNumber: index + 1, lineContent: line.trim(), name: pattern.name });
158
- break;
159
- }
160
- // Log sinks in non-API files are lower priority
161
- if (!isApiFile) {
162
- if (severity === 'low')
163
- severity = 'info';
164
- }
165
- // Track for aggregation if info severity
166
- if (severity === 'info') {
167
- logFindings.push({ lineNumber: index + 1, lineContent: line.trim(), name: pattern.name });
168
- break;
169
- }
170
- }
171
- // Response sinks in API files are higher priority
172
- if (pattern.sink === 'response' && isApiFile) {
173
- // Keep original severity - these are more critical in API routes
174
- }
175
- vulnerabilities.push({
176
- id: `data-exposure-${filePath}-${index + 1}-${pattern.name}`,
177
- filePath,
178
- lineNumber: index + 1,
179
- lineContent: line.trim(),
180
- severity,
181
- category: 'data_exposure',
182
- title: pattern.name,
183
- description,
184
- suggestedFix: pattern.suggestedFix,
185
- confidence: isTestFile ? 'low' : 'medium',
186
- baseConfidence: BASE_CONFIDENCE,
187
- layer: 2,
188
- source: 'structural',
189
- });
190
- break; // Only one finding per line
191
- }
192
- }
193
- });
194
- // Aggregate info-level log findings if there are many
195
- if (logFindings.length >= 3) {
196
- const lineNumbers = logFindings.map(f => f.lineNumber).slice(0, 5);
197
- const moreText = logFindings.length > 5 ? `... (${logFindings.length} total)` : '';
198
- // Group by pattern name
199
- const patternCounts = new Map();
200
- for (const finding of logFindings) {
201
- patternCounts.set(finding.name, (patternCounts.get(finding.name) || 0) + 1);
202
- }
203
- const patternSummary = Array.from(patternCounts.entries())
204
- .map(([name, count]) => `${count}x ${name}`)
205
- .join(', ');
206
- vulnerabilities.push({
207
- id: `data-exposure-aggregated-${filePath}`,
208
- filePath,
209
- lineNumber: logFindings[0].lineNumber,
210
- lineContent: `${logFindings.length} instances across this file`,
211
- severity: 'info',
212
- category: 'data_exposure',
213
- title: `Logging patterns (${logFindings.length} instances)`,
214
- description: `${patternSummary}. Review for sensitive data exposure.\n\nFound ${logFindings.length} occurrences at lines: ${lineNumbers.join(', ')}${moreText}`,
215
- suggestedFix: 'Ensure logs have appropriate access controls and do not contain sensitive user data.',
216
- confidence: 'low',
217
- baseConfidence: BASE_CONFIDENCE,
218
- layer: 2,
219
- source: 'structural',
220
- });
221
- }
222
- else if (logFindings.length > 0) {
223
- // Report individually for small counts
224
- for (const finding of logFindings) {
225
- const pattern = DATA_EXPOSURE_PATTERNS.find(p => p.name === finding.name);
226
- if (pattern) {
227
- vulnerabilities.push({
228
- id: `data-exposure-${filePath}-${finding.lineNumber}-${finding.name}`,
229
- filePath,
230
- lineNumber: finding.lineNumber,
231
- lineContent: finding.lineContent,
232
- severity: 'info',
233
- category: 'data_exposure',
234
- title: pattern.name,
235
- description: pattern.description,
236
- suggestedFix: pattern.suggestedFix,
237
- confidence: 'low',
238
- baseConfidence: BASE_CONFIDENCE,
239
- layer: 2,
240
- source: 'structural',
241
- });
242
- }
243
- }
244
- }
245
- return vulnerabilities;
246
- }
247
- /**
248
- * Check if error handling follows safe patterns
249
- * Returns true if the error handling appears safe
250
- */
251
- function isSafeErrorHandling(lineContent, surroundingLines) {
252
- // Safe patterns: only returning error.message, using generic messages
253
- const safePatterns = [
254
- /error:\s*['"`].*['"`]/, // Generic string message
255
- /error:\s*error\.message/, // Only message property
256
- /error:\s*err\.message/,
257
- /message:\s*(error|err)\.message/,
258
- /status\(\d+\)\.json\(\s*\{\s*error:/, // Status code + error object (common pattern)
259
- ];
260
- return safePatterns.some(p => p.test(lineContent));
261
- }
262
- //# sourceMappingURL=data-exposure.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-exposure.js","sourceRoot":"","sources":["../../../src/detect/structural/data-exposure.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Layer 2: Framework-Specific Security Checks
3
- * Detects security issues specific to popular frameworks (Next.js, Express, React, etc.)
4
- */
5
- import type { Vulnerability } from '../../shared/types';
6
- import type { ParsedFile } from '../../shared/parsed-file';
7
- export declare function detectFrameworkIssues(content: string, filePath: string, options?: {
8
- parsed?: ParsedFile;
9
- }): Vulnerability[];
10
- //# sourceMappingURL=framework-checks.d.ts.map