vaspera 2.7.0 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +111 -7
  3. package/dist/__tests__/agents/adversary/tactics/api.test.d.ts +5 -0
  4. package/dist/__tests__/agents/adversary/tactics/api.test.d.ts.map +1 -0
  5. package/dist/__tests__/agents/adversary/tactics/api.test.js +369 -0
  6. package/dist/__tests__/agents/adversary/tactics/api.test.js.map +1 -0
  7. package/dist/__tests__/agents/adversary/tactics/llm.test.d.ts +5 -0
  8. package/dist/__tests__/agents/adversary/tactics/llm.test.d.ts.map +1 -0
  9. package/dist/__tests__/agents/adversary/tactics/llm.test.js +409 -0
  10. package/dist/__tests__/agents/adversary/tactics/llm.test.js.map +1 -0
  11. package/dist/__tests__/agents/adversary/tactics/registry.test.d.ts +7 -0
  12. package/dist/__tests__/agents/adversary/tactics/registry.test.d.ts.map +1 -0
  13. package/dist/__tests__/agents/adversary/tactics/registry.test.js +74 -0
  14. package/dist/__tests__/agents/adversary/tactics/registry.test.js.map +1 -0
  15. package/dist/__tests__/agents/adversary/tactics/web-app.test.d.ts +7 -0
  16. package/dist/__tests__/agents/adversary/tactics/web-app.test.d.ts.map +1 -0
  17. package/dist/__tests__/agents/adversary/tactics/web-app.test.js +374 -0
  18. package/dist/__tests__/agents/adversary/tactics/web-app.test.js.map +1 -0
  19. package/dist/__tests__/compliance-bundle.test.d.ts +9 -0
  20. package/dist/__tests__/compliance-bundle.test.d.ts.map +1 -0
  21. package/dist/__tests__/compliance-bundle.test.js +344 -0
  22. package/dist/__tests__/compliance-bundle.test.js.map +1 -0
  23. package/dist/__tests__/healthcare-compliance.test.d.ts +9 -0
  24. package/dist/__tests__/healthcare-compliance.test.d.ts.map +1 -0
  25. package/dist/__tests__/healthcare-compliance.test.js +233 -0
  26. package/dist/__tests__/healthcare-compliance.test.js.map +1 -0
  27. package/dist/action/diff-mode.d.ts +124 -8
  28. package/dist/action/diff-mode.d.ts.map +1 -1
  29. package/dist/action/diff-mode.js +384 -65
  30. package/dist/action/diff-mode.js.map +1 -1
  31. package/dist/action/diff-mode.test.js +3 -3
  32. package/dist/action/diff-mode.test.js.map +1 -1
  33. package/dist/action/pr-comment.test.js +1 -0
  34. package/dist/action/pr-comment.test.js.map +1 -1
  35. package/dist/action/sarif-upload.test.js +1 -0
  36. package/dist/action/sarif-upload.test.js.map +1 -1
  37. package/dist/agents/adversary/config.d.ts +113 -0
  38. package/dist/agents/adversary/config.d.ts.map +1 -0
  39. package/dist/agents/adversary/config.js +391 -0
  40. package/dist/agents/adversary/config.js.map +1 -0
  41. package/dist/agents/adversary/index.d.ts +41 -0
  42. package/dist/agents/adversary/index.d.ts.map +1 -0
  43. package/dist/agents/adversary/index.js +838 -0
  44. package/dist/agents/adversary/index.js.map +1 -0
  45. package/dist/agents/adversary/reporting/compliance-mapper.d.ts +108 -0
  46. package/dist/agents/adversary/reporting/compliance-mapper.d.ts.map +1 -0
  47. package/dist/agents/adversary/reporting/compliance-mapper.js +391 -0
  48. package/dist/agents/adversary/reporting/compliance-mapper.js.map +1 -0
  49. package/dist/agents/adversary/reporting/index.d.ts +10 -0
  50. package/dist/agents/adversary/reporting/index.d.ts.map +1 -0
  51. package/dist/agents/adversary/reporting/index.js +10 -0
  52. package/dist/agents/adversary/reporting/index.js.map +1 -0
  53. package/dist/agents/adversary/reporting/poc-generator.d.ts +44 -0
  54. package/dist/agents/adversary/reporting/poc-generator.d.ts.map +1 -0
  55. package/dist/agents/adversary/reporting/poc-generator.js +308 -0
  56. package/dist/agents/adversary/reporting/poc-generator.js.map +1 -0
  57. package/dist/agents/adversary/tactics/api.d.ts +13 -0
  58. package/dist/agents/adversary/tactics/api.d.ts.map +1 -0
  59. package/dist/agents/adversary/tactics/api.js +815 -0
  60. package/dist/agents/adversary/tactics/api.js.map +1 -0
  61. package/dist/agents/adversary/tactics/auth.d.ts +13 -0
  62. package/dist/agents/adversary/tactics/auth.d.ts.map +1 -0
  63. package/dist/agents/adversary/tactics/auth.js +676 -0
  64. package/dist/agents/adversary/tactics/auth.js.map +1 -0
  65. package/dist/agents/adversary/tactics/index.d.ts +129 -0
  66. package/dist/agents/adversary/tactics/index.d.ts.map +1 -0
  67. package/dist/agents/adversary/tactics/index.js +199 -0
  68. package/dist/agents/adversary/tactics/index.js.map +1 -0
  69. package/dist/agents/adversary/tactics/infra.d.ts +13 -0
  70. package/dist/agents/adversary/tactics/infra.d.ts.map +1 -0
  71. package/dist/agents/adversary/tactics/infra.js +827 -0
  72. package/dist/agents/adversary/tactics/infra.js.map +1 -0
  73. package/dist/agents/adversary/tactics/injection.d.ts +12 -0
  74. package/dist/agents/adversary/tactics/injection.d.ts.map +1 -0
  75. package/dist/agents/adversary/tactics/injection.js +549 -0
  76. package/dist/agents/adversary/tactics/injection.js.map +1 -0
  77. package/dist/agents/adversary/tactics/llm.d.ts +13 -0
  78. package/dist/agents/adversary/tactics/llm.d.ts.map +1 -0
  79. package/dist/agents/adversary/tactics/llm.js +767 -0
  80. package/dist/agents/adversary/tactics/llm.js.map +1 -0
  81. package/dist/agents/adversary/tactics/web-app.d.ts +13 -0
  82. package/dist/agents/adversary/tactics/web-app.d.ts.map +1 -0
  83. package/dist/agents/adversary/tactics/web-app.js +717 -0
  84. package/dist/agents/adversary/tactics/web-app.js.map +1 -0
  85. package/dist/agents/adversary/types.d.ts +407 -0
  86. package/dist/agents/adversary/types.d.ts.map +1 -0
  87. package/dist/agents/adversary/types.js +12 -0
  88. package/dist/agents/adversary/types.js.map +1 -0
  89. package/dist/agents/index.d.ts +1 -0
  90. package/dist/agents/index.d.ts.map +1 -1
  91. package/dist/agents/index.js +2 -0
  92. package/dist/agents/index.js.map +1 -1
  93. package/dist/agents/zero-day-hunter.d.ts +1 -1
  94. package/dist/agents/zero-day-hunter.d.ts.map +1 -1
  95. package/dist/analysis/data-flow.d.ts +154 -0
  96. package/dist/analysis/data-flow.d.ts.map +1 -0
  97. package/dist/analysis/data-flow.js +393 -0
  98. package/dist/analysis/data-flow.js.map +1 -0
  99. package/dist/analysis/index.d.ts +9 -0
  100. package/dist/analysis/index.d.ts.map +1 -0
  101. package/dist/analysis/index.js +9 -0
  102. package/dist/analysis/index.js.map +1 -0
  103. package/dist/badge-service/index.d.ts +144 -0
  104. package/dist/badge-service/index.d.ts.map +1 -0
  105. package/dist/badge-service/index.js +206 -0
  106. package/dist/badge-service/index.js.map +1 -0
  107. package/dist/certification/consensus.test.js +2 -0
  108. package/dist/certification/consensus.test.js.map +1 -1
  109. package/dist/certification/store.d.ts.map +1 -1
  110. package/dist/certification/store.js +4 -0
  111. package/dist/certification/store.js.map +1 -1
  112. package/dist/certification/types.d.ts +3 -3
  113. package/dist/certification/types.d.ts.map +1 -1
  114. package/dist/certification/types.js +2 -0
  115. package/dist/certification/types.js.map +1 -1
  116. package/dist/commands/certification/certify.d.ts.map +1 -1
  117. package/dist/commands/certification/certify.js +18 -4
  118. package/dist/commands/certification/certify.js.map +1 -1
  119. package/dist/compliance/attestation.d.ts +39 -0
  120. package/dist/compliance/attestation.d.ts.map +1 -0
  121. package/dist/compliance/attestation.js +364 -0
  122. package/dist/compliance/attestation.js.map +1 -0
  123. package/dist/compliance/cfr42-part2.d.ts +42 -0
  124. package/dist/compliance/cfr42-part2.d.ts.map +1 -0
  125. package/dist/compliance/cfr42-part2.js +408 -0
  126. package/dist/compliance/cfr42-part2.js.map +1 -0
  127. package/dist/compliance/compliance-bundle.d.ts +100 -0
  128. package/dist/compliance/compliance-bundle.d.ts.map +1 -0
  129. package/dist/compliance/compliance-bundle.js +210 -0
  130. package/dist/compliance/compliance-bundle.js.map +1 -0
  131. package/dist/compliance/healthcare-bundle.d.ts +68 -0
  132. package/dist/compliance/healthcare-bundle.d.ts.map +1 -0
  133. package/dist/compliance/healthcare-bundle.js +104 -0
  134. package/dist/compliance/healthcare-bundle.js.map +1 -0
  135. package/dist/compliance/hipaa.d.ts.map +1 -1
  136. package/dist/compliance/hipaa.js +14 -11
  137. package/dist/compliance/hipaa.js.map +1 -1
  138. package/dist/compliance/index.d.ts +10 -2
  139. package/dist/compliance/index.d.ts.map +1 -1
  140. package/dist/compliance/index.js +9 -3
  141. package/dist/compliance/index.js.map +1 -1
  142. package/dist/compliance/mapper.d.ts.map +1 -1
  143. package/dist/compliance/mapper.js +3 -17
  144. package/dist/compliance/mapper.js.map +1 -1
  145. package/dist/compliance/nist-800-53.d.ts +22 -6
  146. package/dist/compliance/nist-800-53.d.ts.map +1 -1
  147. package/dist/compliance/nist-800-53.js +264 -272
  148. package/dist/compliance/nist-800-53.js.map +1 -1
  149. package/dist/compliance/report.d.ts +31 -2
  150. package/dist/compliance/report.d.ts.map +1 -1
  151. package/dist/compliance/report.js +255 -4
  152. package/dist/compliance/report.js.map +1 -1
  153. package/dist/compliance/types.d.ts +1 -1
  154. package/dist/compliance/types.d.ts.map +1 -1
  155. package/dist/config/flags.d.ts +12 -12
  156. package/dist/cost/index.d.ts +1 -1
  157. package/dist/cost/index.d.ts.map +1 -1
  158. package/dist/cost/index.js +1 -1
  159. package/dist/cost/index.js.map +1 -1
  160. package/dist/cost/tracker.d.ts +64 -0
  161. package/dist/cost/tracker.d.ts.map +1 -1
  162. package/dist/cost/tracker.js +165 -0
  163. package/dist/cost/tracker.js.map +1 -1
  164. package/dist/eval/fixtures/healthcare/audit-gaps.d.ts +28 -0
  165. package/dist/eval/fixtures/healthcare/audit-gaps.d.ts.map +1 -0
  166. package/dist/eval/fixtures/healthcare/audit-gaps.js +90 -0
  167. package/dist/eval/fixtures/healthcare/audit-gaps.js.map +1 -0
  168. package/dist/eval/fixtures/healthcare/consent-bypass.d.ts +31 -0
  169. package/dist/eval/fixtures/healthcare/consent-bypass.d.ts.map +1 -0
  170. package/dist/eval/fixtures/healthcare/consent-bypass.js +61 -0
  171. package/dist/eval/fixtures/healthcare/consent-bypass.js.map +1 -0
  172. package/dist/eval/fixtures/healthcare/phi-in-logs.d.ts +24 -0
  173. package/dist/eval/fixtures/healthcare/phi-in-logs.d.ts.map +1 -0
  174. package/dist/eval/fixtures/healthcare/phi-in-logs.js +41 -0
  175. package/dist/eval/fixtures/healthcare/phi-in-logs.js.map +1 -0
  176. package/dist/evidence/collector.d.ts +21 -0
  177. package/dist/evidence/collector.d.ts.map +1 -0
  178. package/dist/evidence/collector.js +340 -0
  179. package/dist/evidence/collector.js.map +1 -0
  180. package/dist/evidence/index.d.ts +11 -0
  181. package/dist/evidence/index.d.ts.map +1 -0
  182. package/dist/evidence/index.js +12 -0
  183. package/dist/evidence/index.js.map +1 -0
  184. package/dist/evidence/store.d.ts +39 -0
  185. package/dist/evidence/store.d.ts.map +1 -0
  186. package/dist/evidence/store.js +173 -0
  187. package/dist/evidence/store.js.map +1 -0
  188. package/dist/evidence/types.d.ts +175 -0
  189. package/dist/evidence/types.d.ts.map +1 -0
  190. package/dist/evidence/types.js +9 -0
  191. package/dist/evidence/types.js.map +1 -0
  192. package/dist/exporters/checkmarx.d.ts +18 -0
  193. package/dist/exporters/checkmarx.d.ts.map +1 -0
  194. package/dist/exporters/checkmarx.js +203 -0
  195. package/dist/exporters/checkmarx.js.map +1 -0
  196. package/dist/exporters/index.d.ts +22 -0
  197. package/dist/exporters/index.d.ts.map +1 -0
  198. package/dist/exporters/index.js +41 -0
  199. package/dist/exporters/index.js.map +1 -0
  200. package/dist/exporters/snyk.d.ts +18 -0
  201. package/dist/exporters/snyk.d.ts.map +1 -0
  202. package/dist/exporters/snyk.js +119 -0
  203. package/dist/exporters/snyk.js.map +1 -0
  204. package/dist/exporters/sonarqube.d.ts +18 -0
  205. package/dist/exporters/sonarqube.d.ts.map +1 -0
  206. package/dist/exporters/sonarqube.js +125 -0
  207. package/dist/exporters/sonarqube.js.map +1 -0
  208. package/dist/exporters/types.d.ts +190 -0
  209. package/dist/exporters/types.d.ts.map +1 -0
  210. package/dist/exporters/types.js +9 -0
  211. package/dist/exporters/types.js.map +1 -0
  212. package/dist/frontier/index.d.ts +12 -0
  213. package/dist/frontier/index.d.ts.map +1 -0
  214. package/dist/frontier/index.js +12 -0
  215. package/dist/frontier/index.js.map +1 -0
  216. package/dist/frontier/orchestrator.d.ts +73 -0
  217. package/dist/frontier/orchestrator.d.ts.map +1 -0
  218. package/dist/frontier/orchestrator.js +312 -0
  219. package/dist/frontier/orchestrator.js.map +1 -0
  220. package/dist/frontier/providers/stub.d.ts +32 -0
  221. package/dist/frontier/providers/stub.d.ts.map +1 -0
  222. package/dist/frontier/providers/stub.js +66 -0
  223. package/dist/frontier/providers/stub.js.map +1 -0
  224. package/dist/frontier/types.d.ts +318 -0
  225. package/dist/frontier/types.d.ts.map +1 -0
  226. package/dist/frontier/types.js +27 -0
  227. package/dist/frontier/types.js.map +1 -0
  228. package/dist/history/index.d.ts +13 -0
  229. package/dist/history/index.d.ts.map +1 -0
  230. package/dist/history/index.js +15 -0
  231. package/dist/history/index.js.map +1 -0
  232. package/dist/history/store.d.ts +74 -0
  233. package/dist/history/store.d.ts.map +1 -0
  234. package/dist/history/store.js +399 -0
  235. package/dist/history/store.js.map +1 -0
  236. package/dist/history/types.d.ts +282 -0
  237. package/dist/history/types.d.ts.map +1 -0
  238. package/dist/history/types.js +41 -0
  239. package/dist/history/types.js.map +1 -0
  240. package/dist/history/verify.d.ts +44 -0
  241. package/dist/history/verify.d.ts.map +1 -0
  242. package/dist/history/verify.js +230 -0
  243. package/dist/history/verify.js.map +1 -0
  244. package/dist/index.d.ts.map +1 -1
  245. package/dist/index.js +431 -18
  246. package/dist/index.js.map +1 -1
  247. package/dist/multimodel/index.d.ts +1 -0
  248. package/dist/multimodel/index.d.ts.map +1 -1
  249. package/dist/multimodel/index.js +2 -0
  250. package/dist/multimodel/index.js.map +1 -1
  251. package/dist/multimodel/leaderboard.d.ts +116 -0
  252. package/dist/multimodel/leaderboard.d.ts.map +1 -0
  253. package/dist/multimodel/leaderboard.js +262 -0
  254. package/dist/multimodel/leaderboard.js.map +1 -0
  255. package/dist/observability/otel.d.ts.map +1 -1
  256. package/dist/observability/otel.js +1 -3
  257. package/dist/observability/otel.js.map +1 -1
  258. package/dist/plugins/loader.js +1 -1
  259. package/dist/plugins/loader.js.map +1 -1
  260. package/dist/sbom/provenance.test.js +2 -2
  261. package/dist/sbom/provenance.test.js.map +1 -1
  262. package/dist/scanners/agent/agent-chain-analysis.d.ts +152 -0
  263. package/dist/scanners/agent/agent-chain-analysis.d.ts.map +1 -0
  264. package/dist/scanners/agent/agent-chain-analysis.js +438 -0
  265. package/dist/scanners/agent/agent-chain-analysis.js.map +1 -0
  266. package/dist/scanners/agent/manifest-audit.d.ts.map +1 -1
  267. package/dist/scanners/agent/manifest-audit.js +30 -18
  268. package/dist/scanners/agent/manifest-audit.js.map +1 -1
  269. package/dist/scanners/agent/payloads/index.d.ts +2 -1
  270. package/dist/scanners/agent/payloads/index.d.ts.map +1 -1
  271. package/dist/scanners/agent/payloads/index.js +25 -6
  272. package/dist/scanners/agent/payloads/index.js.map +1 -1
  273. package/dist/scanners/agent/prompt-injection-fuzzer.d.ts.map +1 -1
  274. package/dist/scanners/agent/prompt-injection-fuzzer.js +14 -0
  275. package/dist/scanners/agent/prompt-injection-fuzzer.js.map +1 -1
  276. package/dist/scanners/agent/types.d.ts +5 -5
  277. package/dist/scanners/agent/types.d.ts.map +1 -1
  278. package/dist/scanners/agent/types.js.map +1 -1
  279. package/dist/scanners/cache.d.ts +156 -0
  280. package/dist/scanners/cache.d.ts.map +1 -0
  281. package/dist/scanners/cache.js +462 -0
  282. package/dist/scanners/cache.js.map +1 -0
  283. package/dist/scanners/dependencies.d.ts.map +1 -1
  284. package/dist/scanners/dependencies.js +5 -6
  285. package/dist/scanners/dependencies.js.map +1 -1
  286. package/dist/scanners/gosec.d.ts.map +1 -1
  287. package/dist/scanners/gosec.js +47 -9
  288. package/dist/scanners/gosec.js.map +1 -1
  289. package/dist/scanners/healthcare.d.ts +29 -0
  290. package/dist/scanners/healthcare.d.ts.map +1 -0
  291. package/dist/scanners/healthcare.js +526 -0
  292. package/dist/scanners/healthcare.js.map +1 -0
  293. package/dist/scanners/index.d.ts +1 -0
  294. package/dist/scanners/index.d.ts.map +1 -1
  295. package/dist/scanners/index.js +33 -0
  296. package/dist/scanners/index.js.map +1 -1
  297. package/dist/scanners/index.test.js +6 -6
  298. package/dist/scanners/index.test.js.map +1 -1
  299. package/dist/scanners/secrets.js +4 -4
  300. package/dist/scanners/secrets.js.map +1 -1
  301. package/dist/scanners/semgrep.js +5 -5
  302. package/dist/scanners/semgrep.js.map +1 -1
  303. package/dist/scanners/types.d.ts +1 -1
  304. package/dist/scanners/types.d.ts.map +1 -1
  305. package/dist/scanners/types.js +1 -0
  306. package/dist/scanners/types.js.map +1 -1
  307. package/dist/scanners/typescript.test.js +1 -1
  308. package/dist/scanners/typescript.test.js.map +1 -1
  309. package/dist/telemetry/index.d.ts +10 -0
  310. package/dist/telemetry/index.d.ts.map +1 -0
  311. package/dist/telemetry/index.js +10 -0
  312. package/dist/telemetry/index.js.map +1 -0
  313. package/dist/telemetry/registry.d.ts +178 -0
  314. package/dist/telemetry/registry.d.ts.map +1 -0
  315. package/dist/telemetry/registry.js +297 -0
  316. package/dist/telemetry/registry.js.map +1 -0
  317. package/dist/telemetry/usage.d.ts +197 -0
  318. package/dist/telemetry/usage.d.ts.map +1 -0
  319. package/dist/telemetry/usage.js +244 -0
  320. package/dist/telemetry/usage.js.map +1 -0
  321. package/package.json +11 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-app.js","sourceRoot":"","sources":["../../../../src/agents/adversary/tactics/web-app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,407 @@
1
+ /**
2
+ * Adversary Agent - Type Definitions
3
+ *
4
+ * The Adversary agent is a mythos-class ethical hacker that uses real
5
+ * LLM reasoning (Claude API) to find vulnerabilities that pattern-based
6
+ * scanners miss. It thinks like an attacker, generates PoCs, and chains
7
+ * vulnerabilities into attack paths.
8
+ *
9
+ * @module agents/adversary/types
10
+ */
11
+ import type { Severity, FindingCategory } from "../../certification/types.js";
12
+ /**
13
+ * Claude model for adversary analysis
14
+ *
15
+ * Accepts any valid Claude model ID. Configure via environment variables:
16
+ * ADVERSARY_SONNET_MODEL - Pro tier model
17
+ * ADVERSARY_OPUS_MODEL - Enterprise tier model
18
+ *
19
+ * Common models:
20
+ * claude-sonnet-4-20250514 (default Pro)
21
+ * claude-opus-4-20250514 (default Enterprise)
22
+ */
23
+ export type AdversaryModel = string;
24
+ /**
25
+ * Aggressiveness level determines depth and risk of analysis
26
+ */
27
+ export type AggressivenessLevel = "passive" | "active" | "aggressive";
28
+ /**
29
+ * Focus areas for adversarial analysis
30
+ */
31
+ export type AttackFocusArea = "web-app" | "api" | "auth" | "injection" | "llm" | "infra" | "crypto" | "data-flow" | "supply-chain";
32
+ /**
33
+ * Configuration for the adversary agent
34
+ */
35
+ export interface AdversaryConfig {
36
+ /** Claude model to use (Pro gets Sonnet 4, Enterprise gets Opus 4) */
37
+ model: AdversaryModel;
38
+ /** Analysis aggressiveness level */
39
+ aggressiveness: AggressivenessLevel;
40
+ /** Attack focus areas to analyze */
41
+ focusAreas: AttackFocusArea[];
42
+ /** Maximum time for analysis in milliseconds */
43
+ maxAnalysisTime: number;
44
+ /** Whether to generate proof-of-concept exploits */
45
+ generatePoC: boolean;
46
+ /** Maximum files to analyze */
47
+ maxFiles?: number;
48
+ /** Include patterns for file selection */
49
+ includePatterns?: string[];
50
+ /** Exclude patterns for file selection */
51
+ excludePatterns?: string[];
52
+ /** Enable chain analysis to find multi-step attacks */
53
+ enableChaining?: boolean;
54
+ /** Existing findings to consider for chaining */
55
+ existingFindings?: AdversaryFinding[];
56
+ }
57
+ /**
58
+ * Exploitability assessment
59
+ */
60
+ export type Exploitability = "trivial" | "easy" | "moderate" | "hard" | "expert";
61
+ /**
62
+ * Attack step in a proof of concept
63
+ */
64
+ export interface AttackStep {
65
+ /** Step order number */
66
+ order: number;
67
+ /** Action identifier */
68
+ action: string;
69
+ /** Step description */
70
+ description: string;
71
+ /** Command to execute if applicable */
72
+ command?: string;
73
+ /** Expected outcome */
74
+ expectedResult?: string;
75
+ /** Payload or data if applicable */
76
+ payload?: string;
77
+ /** Additional notes */
78
+ note?: string;
79
+ /** Target URL/endpoint if applicable */
80
+ target?: string;
81
+ /** HTTP method if applicable */
82
+ method?: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
83
+ /** Headers if applicable */
84
+ headers?: Record<string, string>;
85
+ }
86
+ /**
87
+ * Proof of concept for a vulnerability
88
+ */
89
+ export interface ProofOfConcept {
90
+ /** Unique PoC ID */
91
+ id: string;
92
+ /** Reference to the finding */
93
+ findingId: string;
94
+ /** Prerequisites before executing PoC */
95
+ prerequisites: string[];
96
+ /** Steps to reproduce */
97
+ steps: AttackStep[];
98
+ /** Exploit payload if applicable */
99
+ payload?: string;
100
+ /** Expected result demonstrating vulnerability */
101
+ expectedResult: string;
102
+ /** Instructions for safe testing */
103
+ safeTestInstructions: string;
104
+ /** Whether this PoC was validated */
105
+ validated?: boolean;
106
+ }
107
+ /**
108
+ * Adversary finding with attack narrative and PoC
109
+ */
110
+ export interface AdversaryFinding {
111
+ /** Unique finding ID */
112
+ id: string;
113
+ /** Finding title */
114
+ title: string;
115
+ /** Detailed description */
116
+ description: string;
117
+ /** Severity level */
118
+ severity: Severity;
119
+ /** Confidence score 0-100 */
120
+ confidence: number;
121
+ /** Finding category */
122
+ category: FindingCategory;
123
+ /** Attack focus area */
124
+ focusArea: AttackFocusArea;
125
+ /** Affected file */
126
+ file: string;
127
+ /** Line number */
128
+ line: number;
129
+ /** End line if multi-line */
130
+ endLine?: number;
131
+ /** Code snippet */
132
+ codeSnippet: string;
133
+ /** Step-by-step attack narrative */
134
+ attackScenario: string;
135
+ /** How difficult to exploit */
136
+ exploitability: Exploitability;
137
+ /** Proof of concept if generated */
138
+ proofOfConcept?: ProofOfConcept;
139
+ /** Finding IDs that can be chained with this one */
140
+ chainPotential: string[];
141
+ /** MITRE ATT&CK technique IDs */
142
+ mitreAttackTechniques: string[];
143
+ /** CWE identifiers */
144
+ cweIds: string[];
145
+ /** OWASP category if applicable */
146
+ owaspCategory?: string;
147
+ /** Remediation recommendation */
148
+ recommendation: string;
149
+ /** AI reasoning that led to this finding */
150
+ aiReasoning: string;
151
+ /** Claude model that found this (or "deterministic" for pattern-based) */
152
+ modelUsed: AdversaryModel | "deterministic";
153
+ /** Compliance framework mappings */
154
+ complianceMapping?: {
155
+ owaspLlm?: {
156
+ id: string;
157
+ name: string;
158
+ description: string;
159
+ severity: string;
160
+ };
161
+ mitreAtlas?: {
162
+ technique: string;
163
+ tactic: string;
164
+ description: string;
165
+ };
166
+ mitreAttack?: {
167
+ technique: string;
168
+ tactic: string;
169
+ description: string;
170
+ };
171
+ cwe?: {
172
+ id: string;
173
+ name: string;
174
+ description: string;
175
+ };
176
+ soc2?: {
177
+ criteria: string;
178
+ control: string;
179
+ description: string;
180
+ };
181
+ iso27001?: {
182
+ control: string;
183
+ annex: string;
184
+ description: string;
185
+ };
186
+ pciDss?: {
187
+ requirement: string;
188
+ description: string;
189
+ };
190
+ gdpr?: {
191
+ article: string;
192
+ description: string;
193
+ };
194
+ };
195
+ }
196
+ /**
197
+ * Technology detection result
198
+ */
199
+ export interface TechnologyStack {
200
+ framework?: string;
201
+ language: string;
202
+ runtime?: string;
203
+ database?: string[];
204
+ auth?: string[];
205
+ cloud?: string;
206
+ apis?: ("rest" | "graphql" | "grpc" | "websocket")[];
207
+ }
208
+ /**
209
+ * Entry point for attack surface
210
+ */
211
+ export interface EntryPoint {
212
+ /** Type of entry point */
213
+ type: "route" | "handler" | "endpoint" | "webhook" | "socket" | "cli";
214
+ /** Path or identifier */
215
+ path: string;
216
+ /** HTTP methods if applicable */
217
+ methods?: string[];
218
+ /** File location */
219
+ file: string;
220
+ /** Line number */
221
+ line: number;
222
+ /** Authentication required */
223
+ authRequired: boolean;
224
+ /** Input parameters */
225
+ inputs: {
226
+ name: string;
227
+ source: "query" | "body" | "header" | "path" | "cookie";
228
+ validated: boolean;
229
+ }[];
230
+ /** Risk score 0-100 */
231
+ riskScore: number;
232
+ }
233
+ /**
234
+ * Trust boundary in the application
235
+ */
236
+ export interface TrustBoundary {
237
+ /** Boundary name */
238
+ name: string;
239
+ /** Description */
240
+ description: string;
241
+ /** Entry points at this boundary */
242
+ entryPoints: string[];
243
+ /** Data flowing across this boundary */
244
+ dataFlow: string[];
245
+ /** Security controls at this boundary */
246
+ controls: string[];
247
+ }
248
+ /**
249
+ * Reconnaissance phase result
250
+ */
251
+ export interface ReconResult {
252
+ /** Detected technology stack */
253
+ techStack: TechnologyStack;
254
+ /** Source files analyzed */
255
+ filesAnalyzed: string[];
256
+ /** Entry points discovered */
257
+ entryPoints: EntryPoint[];
258
+ /** Trust boundaries identified */
259
+ trustBoundaries: TrustBoundary[];
260
+ /** Third-party integrations */
261
+ thirdParty: {
262
+ name: string;
263
+ type: "api" | "sdk" | "service";
264
+ riskLevel: "low" | "medium" | "high";
265
+ }[];
266
+ /** Duration of recon phase */
267
+ duration: number;
268
+ }
269
+ /**
270
+ * Attack surface analysis result
271
+ */
272
+ export interface AttackSurfaceResult {
273
+ /** All entry points categorized */
274
+ entryPoints: EntryPoint[];
275
+ /** High-risk areas requiring deep analysis */
276
+ highRiskAreas: {
277
+ area: string;
278
+ reason: string;
279
+ files: string[];
280
+ }[];
281
+ /** Data flow paths (input to output) */
282
+ dataFlows: {
283
+ input: string;
284
+ output: string;
285
+ transformations: string[];
286
+ validated: boolean;
287
+ }[];
288
+ /** Permission boundaries */
289
+ permissionBoundaries: {
290
+ role: string;
291
+ allowedActions: string[];
292
+ files: string[];
293
+ }[];
294
+ /** Duration */
295
+ duration: number;
296
+ }
297
+ /**
298
+ * Exploitation phase result
299
+ */
300
+ export interface ExploitationResult {
301
+ /** Vulnerabilities discovered */
302
+ findings: AdversaryFinding[];
303
+ /** Files analyzed in depth */
304
+ filesAnalyzed: number;
305
+ /** Token usage for this phase */
306
+ tokensUsed: number;
307
+ /** Duration */
308
+ duration: number;
309
+ }
310
+ /**
311
+ * Exploit chain analysis
312
+ */
313
+ export interface ExploitChain {
314
+ /** Chain ID */
315
+ id: string;
316
+ /** Chain name */
317
+ name: string;
318
+ /** Chain description */
319
+ description: string;
320
+ /** Finding IDs in chain order */
321
+ findingIds: string[];
322
+ /** Combined severity (often escalates) */
323
+ combinedSeverity: Severity;
324
+ /** Impact if chain is exploited */
325
+ impact: string;
326
+ /** MITRE ATT&CK techniques for full chain */
327
+ mitreChain: string[];
328
+ /** Likelihood of successful chaining */
329
+ likelihood: "high" | "medium" | "low";
330
+ }
331
+ /**
332
+ * Chaining phase result
333
+ */
334
+ export interface ChainingResult {
335
+ /** Discovered exploit chains */
336
+ chains: ExploitChain[];
337
+ /** Single findings that couldn't be chained */
338
+ isolatedFindings: string[];
339
+ /** Duration */
340
+ duration: number;
341
+ }
342
+ /**
343
+ * Complete adversary analysis result
344
+ */
345
+ export interface AdversaryResult {
346
+ /** Whether analysis succeeded */
347
+ success: boolean;
348
+ /** Unique analysis ID */
349
+ analysisId: string;
350
+ /** Project path analyzed */
351
+ projectPath: string;
352
+ /** Configuration used */
353
+ config: AdversaryConfig;
354
+ /** Reconnaissance results */
355
+ recon?: ReconResult;
356
+ /** Attack surface results */
357
+ attackSurface?: AttackSurfaceResult;
358
+ /** Exploitation results */
359
+ exploitation?: ExploitationResult;
360
+ /** Chaining results */
361
+ chaining?: ChainingResult;
362
+ /** All findings (deduplicated) */
363
+ findings: AdversaryFinding[];
364
+ /** All discovered chains */
365
+ chains: ExploitChain[];
366
+ /** Total token usage */
367
+ totalTokensUsed: number;
368
+ /** Total duration in milliseconds */
369
+ totalDuration: number;
370
+ /** Error if analysis failed */
371
+ error?: string;
372
+ /** Summary recommendations */
373
+ recommendations: string[];
374
+ }
375
+ /**
376
+ * Message for Claude API
377
+ */
378
+ export interface ClaudeMessage {
379
+ role: "user" | "assistant";
380
+ content: string;
381
+ }
382
+ /**
383
+ * Response from Claude API
384
+ */
385
+ export interface ClaudeResponse {
386
+ content: string;
387
+ tokensUsed: {
388
+ input: number;
389
+ output: number;
390
+ };
391
+ model: string;
392
+ stopReason: "end_turn" | "max_tokens" | "stop_sequence";
393
+ }
394
+ /**
395
+ * Analysis prompt for Claude
396
+ */
397
+ export interface AnalysisPrompt {
398
+ /** System prompt establishing adversarial thinking */
399
+ systemPrompt: string;
400
+ /** Code context to analyze */
401
+ codeContext: string;
402
+ /** Specific analysis instructions */
403
+ instructions: string;
404
+ /** Expected output format */
405
+ outputFormat: string;
406
+ }
407
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agents/adversary/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Adversary Agent - Type Definitions
3
+ *
4
+ * The Adversary agent is a mythos-class ethical hacker that uses real
5
+ * LLM reasoning (Claude API) to find vulnerabilities that pattern-based
6
+ * scanners miss. It thinks like an attacker, generates PoCs, and chains
7
+ * vulnerabilities into attack paths.
8
+ *
9
+ * @module agents/adversary/types
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/agents/adversary/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -11,4 +11,5 @@ export { analyzeConsensus, hashFinding, verifyFindingChain, detectCrossContamina
11
11
  export { runZeroDayHunter, zeroDayToFindings, type ZeroDayHunterConfig, type ZeroDayHunterResult, type ZeroDayFinding, type ZeroDayFocusArea, } from "./zero-day-hunter.js";
12
12
  export { runLogicFlawDetector, logicFlawToFindings, type LogicFlawDetectorConfig, type LogicFlawDetectorResult, type LogicFlawFinding, type LogicFlawCategory, } from "./logic-flaw-detector.js";
13
13
  export { analyzeExploitChains, exploitChainsToFindings, getChainSummary, type ExploitChain, type ExploitChainResult, type ChainStep, } from "./exploit-chain.js";
14
+ export { runAdversaryAnalysis, adversaryToFindings, estimateAdversaryCost, createDefaultConfig, createFocusedConfig, getModelForTier, type AdversaryConfig, type AdversaryResult, type AdversaryFinding, type AdversaryModel, type AggressivenessLevel, type AttackFocusArea, type ProofOfConcept, type ExploitChain as AdversaryExploitChain, } from "./adversary/index.js";
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,SAAS,GACf,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,SAAS,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,IAAI,qBAAqB,GAC3C,MAAM,sBAAsB,CAAC"}
@@ -16,4 +16,6 @@ export { runZeroDayHunter, zeroDayToFindings, } from "./zero-day-hunter.js";
16
16
  export { runLogicFlawDetector, logicFlawToFindings, } from "./logic-flaw-detector.js";
17
17
  // Exploit Chain Analyzer - Vulnerability chaining detection
18
18
  export { analyzeExploitChains, exploitChainsToFindings, getChainSummary, } from "./exploit-chain.js";
19
+ // Adversary Agent - Mythos-class ethical hacker with Claude API reasoning
20
+ export { runAdversaryAnalysis, adversaryToFindings, estimateAdversaryCost, createDefaultConfig, createFocusedConfig, getModelForTier, } from "./adversary/index.js";
19
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,qDAAqD;AACrD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAKlB,MAAM,oBAAoB,CAAC;AAE5B,kEAAkE;AAClE,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,GAMpB,MAAM,sBAAsB,CAAC;AAE9B,uDAAuD;AACvD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,GAKlB,MAAM,sBAAsB,CAAC;AAE9B,+DAA+D;AAC/D,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GAKpB,MAAM,0BAA0B,CAAC;AAElC,4DAA4D;AAC5D,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,GAIhB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,qDAAqD;AACrD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAKlB,MAAM,oBAAoB,CAAC;AAE5B,kEAAkE;AAClE,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,GAMpB,MAAM,sBAAsB,CAAC;AAE9B,uDAAuD;AACvD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,GAKlB,MAAM,sBAAsB,CAAC;AAE9B,+DAA+D;AAC/D,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GAKpB,MAAM,0BAA0B,CAAC;AAElC,4DAA4D;AAC5D,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,GAIhB,MAAM,oBAAoB,CAAC;AAE5B,0EAA0E;AAC1E,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAShB,MAAM,sBAAsB,CAAC"}
@@ -18,7 +18,7 @@ import type { Severity, Finding } from "../certification/types.js";
18
18
  * Configuration for zero-day hunter
19
19
  */
20
20
  export interface ZeroDayHunterConfig {
21
- model?: "claude-sonnet-4" | "claude-opus-4" | "claude-haiku";
21
+ model?: "claude-sonnet-4-20250514" | "claude-opus-4-20250514" | "claude-3-5-haiku-20241022";
22
22
  analysisDepth: "quick" | "standard" | "thorough";
23
23
  focusAreas: ZeroDayFocusArea[];
24
24
  maxFilesToAnalyze?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"zero-day-hunter.d.ts","sourceRoot":"","sources":["../../src/agents/zero-day-hunter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAmB,MAAM,2BAA2B,CAAC;AAMpF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,iBAAiB,GAAG,eAAe,GAAG,cAAc,CAAC;IAC7D,aAAa,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;IACjD,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,QAAQ,GACR,WAAW,GACX,OAAO,GACP,OAAO,GACP,gBAAgB,GAChB,iBAAiB,GACjB,SAAS,GACT,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;IACjE,WAAW,EAAE,MAAM,CAAC;CACrB;AAeD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AA8iBD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CA6D9B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,EAAE,CAkBxE"}
1
+ {"version":3,"file":"zero-day-hunter.d.ts","sourceRoot":"","sources":["../../src/agents/zero-day-hunter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAmB,MAAM,2BAA2B,CAAC;AAMpF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,0BAA0B,GAAG,wBAAwB,GAAG,2BAA2B,CAAC;IAC5F,aAAa,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;IACjD,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,QAAQ,GACR,WAAW,GACX,OAAO,GACP,OAAO,GACP,gBAAgB,GAChB,iBAAiB,GACjB,SAAS,GACT,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;IACjE,WAAW,EAAE,MAAM,CAAC;CACrB;AAeD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AA8iBD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CA6D9B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,EAAE,CAkBxE"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * Data Flow Analysis Module
3
+ *
4
+ * Tracks data flow from sources (user input, API responses) to sinks
5
+ * (database writes, command execution) to identify potential vulnerabilities.
6
+ *
7
+ * This module provides the foundation for semantic vulnerability detection
8
+ * by identifying risky data flows that bypass sanitization.
9
+ *
10
+ * @module analysis/data-flow
11
+ */
12
+ import type { Severity } from "../certification/types.js";
13
+ /**
14
+ * Trust level of a data source
15
+ */
16
+ export type TrustLevel = "untrusted" | "semi-trusted" | "trusted";
17
+ /**
18
+ * Types of data sources
19
+ */
20
+ export type DataSourceType = "user-input" | "api-response" | "file-read" | "env-var" | "database" | "url-param" | "form-data" | "header" | "cookie";
21
+ /**
22
+ * Types of data sinks (dangerous operations)
23
+ */
24
+ export type DataSinkType = "sql-query" | "command-exec" | "file-write" | "network-request" | "eval" | "template-render" | "html-render" | "redirect" | "log-output" | "response-body";
25
+ /**
26
+ * Risk level of a sink
27
+ */
28
+ export type SinkRiskLevel = "critical" | "high" | "medium" | "low";
29
+ /**
30
+ * File location reference
31
+ */
32
+ export interface FileLocation {
33
+ /** File path */
34
+ file: string;
35
+ /** Line number */
36
+ line: number;
37
+ /** Column number (optional) */
38
+ column?: number;
39
+ /** Code snippet */
40
+ snippet?: string;
41
+ }
42
+ /**
43
+ * A data source (entry point for potentially tainted data)
44
+ */
45
+ export interface DataSource {
46
+ /** Unique identifier */
47
+ id: string;
48
+ /** Type of source */
49
+ type: DataSourceType;
50
+ /** Location in code */
51
+ location: FileLocation;
52
+ /** Variable or expression that holds the data */
53
+ variable: string;
54
+ /** Trust level */
55
+ trustLevel: TrustLevel;
56
+ /** Description */
57
+ description: string;
58
+ /** Framework-specific pattern that matched */
59
+ pattern?: string;
60
+ }
61
+ /**
62
+ * A data sink (potentially dangerous operation)
63
+ */
64
+ export interface DataSink {
65
+ /** Unique identifier */
66
+ id: string;
67
+ /** Type of sink */
68
+ type: DataSinkType;
69
+ /** Location in code */
70
+ location: FileLocation;
71
+ /** Function or method call */
72
+ function: string;
73
+ /** Risk level */
74
+ riskLevel: SinkRiskLevel;
75
+ /** Description */
76
+ description: string;
77
+ /** Parameters that are dangerous */
78
+ dangerousParams?: string[];
79
+ /** Framework-specific pattern that matched */
80
+ pattern?: string;
81
+ }
82
+ /**
83
+ * A sanitizer that can make data safe
84
+ */
85
+ export interface Sanitizer {
86
+ /** Unique identifier */
87
+ id: string;
88
+ /** Function or method name */
89
+ function: string;
90
+ /** Location in code */
91
+ location: FileLocation;
92
+ /** What sink types this sanitizes for */
93
+ sanitizesFor: DataSinkType[];
94
+ /** Description */
95
+ description: string;
96
+ }
97
+ /**
98
+ * A path from a source to a sink
99
+ */
100
+ export interface DataFlowPath {
101
+ /** Source of the data */
102
+ source: DataSource;
103
+ /** Sink where the data ends up */
104
+ sink: DataSink;
105
+ /** Intermediate locations in the path */
106
+ path: FileLocation[];
107
+ /** Whether the flow passes through a sanitizer */
108
+ passesThroughSanitizer: boolean;
109
+ /** Sanitizer locations if any */
110
+ sanitizerLocations?: FileLocation[];
111
+ /** Overall risk assessment */
112
+ riskLevel: Severity;
113
+ /** Description of the vulnerability */
114
+ description: string;
115
+ }
116
+ /**
117
+ * Complete data flow context for a project
118
+ */
119
+ export interface DataFlowContext {
120
+ /** All identified sources */
121
+ sources: DataSource[];
122
+ /** All identified sinks */
123
+ sinks: DataSink[];
124
+ /** All identified sanitizers */
125
+ sanitizers: Sanitizer[];
126
+ /** All data flow paths */
127
+ flows: DataFlowPath[];
128
+ /** Statistics */
129
+ stats: {
130
+ totalSources: number;
131
+ totalSinks: number;
132
+ totalSanitizers: number;
133
+ totalFlows: number;
134
+ riskyFlows: number;
135
+ sanitizedFlows: number;
136
+ };
137
+ }
138
+ /**
139
+ * Build data flow context for a project
140
+ */
141
+ export declare function buildDataFlowContext(projectPath: string, files?: string[]): Promise<DataFlowContext>;
142
+ /**
143
+ * Get only risky (unsanitized) flows
144
+ */
145
+ export declare function getRiskyFlows(context: DataFlowContext): DataFlowPath[];
146
+ /**
147
+ * Get flows by severity
148
+ */
149
+ export declare function getFlowsBySeverity(context: DataFlowContext, severity: Severity): DataFlowPath[];
150
+ /**
151
+ * Format context for LLM analysis
152
+ */
153
+ export declare function formatContextForLLM(riskyFlows: DataFlowPath[], maxFlows?: number): string;
154
+ //# sourceMappingURL=data-flow.d.ts.map