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,391 @@
1
+ /**
2
+ * Adversary Agent - Configuration
3
+ *
4
+ * Default configurations and model settings for the adversary agent.
5
+ *
6
+ * @module agents/adversary/config
7
+ */
8
+ // ============================================================================
9
+ // Default Configurations
10
+ // ============================================================================
11
+ /**
12
+ * Default configuration for passive analysis
13
+ */
14
+ export const PASSIVE_CONFIG = {
15
+ aggressiveness: "passive",
16
+ generatePoC: false,
17
+ maxAnalysisTime: 60000, // 1 minute
18
+ maxFiles: 50,
19
+ enableChaining: true,
20
+ };
21
+ /**
22
+ * Default configuration for active analysis
23
+ */
24
+ export const ACTIVE_CONFIG = {
25
+ aggressiveness: "active",
26
+ generatePoC: true,
27
+ maxAnalysisTime: 300000, // 5 minutes
28
+ maxFiles: 100,
29
+ enableChaining: true,
30
+ };
31
+ /**
32
+ * Default configuration for aggressive analysis
33
+ */
34
+ export const AGGRESSIVE_CONFIG = {
35
+ aggressiveness: "aggressive",
36
+ generatePoC: true,
37
+ maxAnalysisTime: 600000, // 10 minutes
38
+ maxFiles: 200,
39
+ enableChaining: true,
40
+ };
41
+ /**
42
+ * All attack focus areas
43
+ */
44
+ export const ALL_FOCUS_AREAS = [
45
+ "web-app",
46
+ "api",
47
+ "auth",
48
+ "injection",
49
+ "llm",
50
+ "infra",
51
+ "crypto",
52
+ "data-flow",
53
+ "supply-chain",
54
+ ];
55
+ /**
56
+ * Web-focused attack areas
57
+ */
58
+ export const WEB_FOCUS_AREAS = [
59
+ "web-app",
60
+ "api",
61
+ "auth",
62
+ "injection",
63
+ ];
64
+ /**
65
+ * LLM/AI-focused attack areas
66
+ */
67
+ export const LLM_FOCUS_AREAS = [
68
+ "llm",
69
+ "data-flow",
70
+ "supply-chain",
71
+ ];
72
+ /**
73
+ * Infrastructure-focused attack areas
74
+ */
75
+ export const INFRA_FOCUS_AREAS = [
76
+ "infra",
77
+ "crypto",
78
+ "supply-chain",
79
+ ];
80
+ // ============================================================================
81
+ // Model Configuration
82
+ // ============================================================================
83
+ /**
84
+ * Default model versions - can be overridden via environment variables:
85
+ * ADVERSARY_SONNET_MODEL - Pro tier model (default: claude-sonnet-4-20250514)
86
+ * ADVERSARY_OPUS_MODEL - Enterprise tier model (default: claude-opus-4-20250514)
87
+ *
88
+ * When Anthropic releases new versions, update these or set env vars.
89
+ */
90
+ export const DEFAULT_SONNET_MODEL = process.env.ADVERSARY_SONNET_MODEL || "claude-sonnet-4-20250514";
91
+ export const DEFAULT_OPUS_MODEL = process.env.ADVERSARY_OPUS_MODEL || "claude-opus-4-20250514";
92
+ /**
93
+ * Model pricing per million tokens (as of 2026)
94
+ */
95
+ export const MODEL_PRICING = {
96
+ // Sonnet 4 variants
97
+ "claude-sonnet-4-20250514": { input: 3.0, output: 15.0 },
98
+ // Opus 4 variants
99
+ "claude-opus-4-20250514": { input: 15.0, output: 75.0 },
100
+ // Default pricing for unknown models (use Sonnet pricing)
101
+ default: { input: 3.0, output: 15.0 },
102
+ };
103
+ /**
104
+ * Model capabilities (applies to model families, not specific versions)
105
+ */
106
+ export const MODEL_CAPABILITIES = {
107
+ sonnet: {
108
+ contextWindow: 200000,
109
+ maxOutputTokens: 64000,
110
+ bestFor: ["Fast analysis", "Pattern detection", "Code review"],
111
+ },
112
+ opus: {
113
+ contextWindow: 200000,
114
+ maxOutputTokens: 64000,
115
+ bestFor: ["Deep reasoning", "Novel vulnerability discovery", "Complex chains"],
116
+ },
117
+ };
118
+ /**
119
+ * Get model family from model ID
120
+ */
121
+ export function getModelFamily(model) {
122
+ if (model.includes("sonnet"))
123
+ return "sonnet";
124
+ if (model.includes("opus"))
125
+ return "opus";
126
+ return "unknown";
127
+ }
128
+ /**
129
+ * Get model for plan tier
130
+ * Uses environment variables if set, otherwise defaults
131
+ */
132
+ export function getModelForTier(tier) {
133
+ switch (tier) {
134
+ case "free":
135
+ return null; // Adversary not available on free
136
+ case "pro":
137
+ return DEFAULT_SONNET_MODEL;
138
+ case "enterprise":
139
+ return DEFAULT_OPUS_MODEL;
140
+ }
141
+ }
142
+ /**
143
+ * Get pricing for a model (falls back to default if unknown)
144
+ */
145
+ export function getModelPricing(model) {
146
+ return MODEL_PRICING[model] || MODEL_PRICING.default;
147
+ }
148
+ // ============================================================================
149
+ // File Patterns
150
+ // ============================================================================
151
+ /**
152
+ * Default include patterns for analysis
153
+ */
154
+ export const DEFAULT_INCLUDE_PATTERNS = [
155
+ "**/*.ts",
156
+ "**/*.tsx",
157
+ "**/*.js",
158
+ "**/*.jsx",
159
+ "**/*.py",
160
+ "**/*.go",
161
+ "**/*.rs",
162
+ "**/*.java",
163
+ "**/*.rb",
164
+ "**/*.php",
165
+ "**/*.cs",
166
+ ];
167
+ /**
168
+ * Default exclude patterns
169
+ */
170
+ export const DEFAULT_EXCLUDE_PATTERNS = [
171
+ "**/node_modules/**",
172
+ "**/dist/**",
173
+ "**/build/**",
174
+ "**/.git/**",
175
+ "**/vendor/**",
176
+ "**/venv/**",
177
+ "**/__pycache__/**",
178
+ "**/coverage/**",
179
+ "**/*.test.*",
180
+ "**/*.spec.*",
181
+ "**/test/**",
182
+ "**/tests/**",
183
+ "**/__tests__/**",
184
+ "**/fixtures/**",
185
+ ];
186
+ /**
187
+ * Security-relevant file patterns (prioritized)
188
+ */
189
+ export const SECURITY_RELEVANT_PATTERNS = [
190
+ "**/auth/**",
191
+ "**/authentication/**",
192
+ "**/authorization/**",
193
+ "**/login/**",
194
+ "**/session/**",
195
+ "**/jwt/**",
196
+ "**/oauth/**",
197
+ "**/api/**",
198
+ "**/routes/**",
199
+ "**/handlers/**",
200
+ "**/controllers/**",
201
+ "**/middleware/**",
202
+ "**/crypto/**",
203
+ "**/encryption/**",
204
+ "**/db/**",
205
+ "**/database/**",
206
+ "**/sql/**",
207
+ "**/graphql/**",
208
+ "**/upload/**",
209
+ "**/download/**",
210
+ "**/file/**",
211
+ "**/admin/**",
212
+ "**/config/**",
213
+ "**/secrets/**",
214
+ "**/*password*",
215
+ "**/*credential*",
216
+ "**/*token*",
217
+ "**/*key*",
218
+ ];
219
+ // ============================================================================
220
+ // MITRE ATT&CK Mappings
221
+ // ============================================================================
222
+ /**
223
+ * MITRE ATT&CK technique mappings for focus areas
224
+ */
225
+ export const FOCUS_AREA_MITRE_MAPPING = {
226
+ "web-app": [
227
+ "T1189", // Drive-by Compromise
228
+ "T1190", // Exploit Public-Facing Application
229
+ "T1059", // Command and Scripting Interpreter
230
+ ],
231
+ "api": [
232
+ "T1190", // Exploit Public-Facing Application
233
+ "T1106", // Native API
234
+ "T1071", // Application Layer Protocol
235
+ ],
236
+ "auth": [
237
+ "T1078", // Valid Accounts
238
+ "T1110", // Brute Force
239
+ "T1539", // Steal Web Session Cookie
240
+ "T1556", // Modify Authentication Process
241
+ ],
242
+ "injection": [
243
+ "T1059", // Command and Scripting Interpreter
244
+ "T1203", // Exploitation for Client Execution
245
+ "T1505", // Server Software Component
246
+ ],
247
+ "llm": [
248
+ "AML.T0043", // Craft Adversarial Data (ATLAS)
249
+ "AML.T0048", // LLM Prompt Injection (ATLAS)
250
+ "AML.T0051", // LLM Jailbreak (ATLAS)
251
+ ],
252
+ "infra": [
253
+ "T1610", // Deploy Container
254
+ "T1525", // Implant Internal Image
255
+ "T1611", // Escape to Host
256
+ ],
257
+ "crypto": [
258
+ "T1552", // Unsecured Credentials
259
+ "T1557", // Adversary-in-the-Middle
260
+ "T1600", // Weaken Encryption
261
+ ],
262
+ "data-flow": [
263
+ "T1020", // Automated Exfiltration
264
+ "T1041", // Exfiltration Over C2 Channel
265
+ "T1567", // Exfiltration Over Web Service
266
+ ],
267
+ "supply-chain": [
268
+ "T1195", // Supply Chain Compromise
269
+ "T1199", // Trusted Relationship
270
+ "T1505", // Server Software Component
271
+ ],
272
+ };
273
+ // ============================================================================
274
+ // CWE Mappings
275
+ // ============================================================================
276
+ /**
277
+ * Common CWE mappings for focus areas
278
+ */
279
+ export const FOCUS_AREA_CWE_MAPPING = {
280
+ "web-app": [
281
+ "CWE-79", // XSS
282
+ "CWE-352", // CSRF
283
+ "CWE-1021", // Clickjacking
284
+ "CWE-942", // CORS Misconfiguration
285
+ ],
286
+ "api": [
287
+ "CWE-284", // Improper Access Control
288
+ "CWE-770", // Resource Allocation Without Limits
289
+ "CWE-200", // Exposure of Sensitive Information
290
+ "CWE-639", // IDOR
291
+ ],
292
+ "auth": [
293
+ "CWE-287", // Improper Authentication
294
+ "CWE-384", // Session Fixation
295
+ "CWE-798", // Hard-coded Credentials
296
+ "CWE-307", // Brute Force
297
+ ],
298
+ "injection": [
299
+ "CWE-89", // SQL Injection
300
+ "CWE-78", // OS Command Injection
301
+ "CWE-611", // XXE
302
+ "CWE-94", // Code Injection
303
+ "CWE-1336", // SSTI
304
+ ],
305
+ "llm": [
306
+ "CWE-1421", // Prompt Injection (proposed)
307
+ "CWE-200", // Sensitive Information Exposure
308
+ "CWE-284", // Improper Access Control
309
+ ],
310
+ "infra": [
311
+ "CWE-250", // Execution with Unnecessary Privileges
312
+ "CWE-269", // Improper Privilege Management
313
+ "CWE-668", // Exposure of Resource to Wrong Sphere
314
+ ],
315
+ "crypto": [
316
+ "CWE-327", // Use of Broken Crypto Algorithm
317
+ "CWE-326", // Inadequate Encryption Strength
318
+ "CWE-320", // Key Management Errors
319
+ "CWE-338", // Use of Weak PRNG
320
+ ],
321
+ "data-flow": [
322
+ "CWE-200", // Exposure of Sensitive Information
323
+ "CWE-532", // Log Injection
324
+ "CWE-209", // Generation of Error Message Containing Sensitive Info
325
+ ],
326
+ "supply-chain": [
327
+ "CWE-1104", // Use of Unmaintained Third-Party Components
328
+ "CWE-494", // Download of Code Without Integrity Check
329
+ "CWE-829", // Inclusion of Functionality from Untrusted Control Sphere
330
+ ],
331
+ };
332
+ // ============================================================================
333
+ // Factory Functions
334
+ // ============================================================================
335
+ /**
336
+ * Create default adversary configuration
337
+ */
338
+ export function createDefaultConfig(model, aggressiveness = "active") {
339
+ const baseConfig = aggressiveness === "passive"
340
+ ? PASSIVE_CONFIG
341
+ : aggressiveness === "active"
342
+ ? ACTIVE_CONFIG
343
+ : AGGRESSIVE_CONFIG;
344
+ return {
345
+ model,
346
+ aggressiveness,
347
+ focusAreas: ALL_FOCUS_AREAS,
348
+ maxAnalysisTime: baseConfig.maxAnalysisTime,
349
+ generatePoC: baseConfig.generatePoC,
350
+ maxFiles: baseConfig.maxFiles,
351
+ enableChaining: baseConfig.enableChaining,
352
+ includePatterns: DEFAULT_INCLUDE_PATTERNS,
353
+ excludePatterns: DEFAULT_EXCLUDE_PATTERNS,
354
+ };
355
+ }
356
+ /**
357
+ * Create focused adversary configuration
358
+ */
359
+ export function createFocusedConfig(model, focusAreas, aggressiveness = "active") {
360
+ const config = createDefaultConfig(model, aggressiveness);
361
+ config.focusAreas = focusAreas;
362
+ return config;
363
+ }
364
+ /**
365
+ * Estimate token usage for analysis
366
+ */
367
+ export function estimateTokenUsage(filesCount, avgFileSize, config) {
368
+ // Rough estimates based on typical analysis
369
+ const tokensPerKB = 250;
370
+ const avgFileSizeKB = avgFileSize / 1024;
371
+ // Input: code context + prompts
372
+ const codeTokens = filesCount * avgFileSizeKB * tokensPerKB;
373
+ const promptOverhead = filesCount * 500; // ~500 tokens per file for prompts
374
+ const estimatedInputTokens = Math.round(codeTokens + promptOverhead);
375
+ // Output: findings, reasoning, PoCs
376
+ const findingsPerFile = config.aggressiveness === "aggressive" ? 3 :
377
+ config.aggressiveness === "active" ? 2 : 1;
378
+ const tokensPerFinding = config.generatePoC ? 1000 : 500;
379
+ const estimatedOutputTokens = Math.round(filesCount * findingsPerFile * tokensPerFinding);
380
+ // Calculate cost
381
+ const pricing = getModelPricing(config.model);
382
+ const inputCost = (estimatedInputTokens / 1_000_000) * pricing.input;
383
+ const outputCost = (estimatedOutputTokens / 1_000_000) * pricing.output;
384
+ const estimatedCost = inputCost + outputCost;
385
+ return {
386
+ estimatedInputTokens,
387
+ estimatedOutputTokens,
388
+ estimatedCost: Math.round(estimatedCost * 100) / 100,
389
+ };
390
+ }
391
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/agents/adversary/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Adversary Agent - Main Orchestrator
3
+ *
4
+ * The Adversary agent is a mythos-class ethical hacker that uses real
5
+ * Claude API reasoning to find vulnerabilities that pattern-based scanners
6
+ * miss. It coordinates four analysis phases:
7
+ *
8
+ * 1. Reconnaissance - Technology stack detection, framework identification
9
+ * 2. Attack Surface - Entry points, trust boundaries, data flows
10
+ * 3. Exploitation - LLM-powered vulnerability discovery with PoCs
11
+ * 4. Chaining - Multi-vulnerability attack path discovery
12
+ *
13
+ * @module agents/adversary
14
+ */
15
+ import type { Finding } from "../../certification/types.js";
16
+ import type { AdversaryConfig, AdversaryResult } from "./types.js";
17
+ import "./tactics/injection.js";
18
+ import "./tactics/auth.js";
19
+ import "./tactics/llm.js";
20
+ import "./tactics/api.js";
21
+ import "./tactics/web-app.js";
22
+ import "./tactics/infra.js";
23
+ export * from "./types.js";
24
+ export * from "./config.js";
25
+ export * from "./reporting/index.js";
26
+ /**
27
+ * Run full adversary analysis
28
+ */
29
+ export declare function runAdversaryAnalysis(projectPath: string, config: AdversaryConfig): Promise<AdversaryResult>;
30
+ /**
31
+ * Convert adversary findings to certification findings
32
+ */
33
+ export declare function adversaryToFindings(result: AdversaryResult): Finding[];
34
+ /**
35
+ * Estimate cost for adversary analysis
36
+ */
37
+ export declare function estimateAdversaryCost(filesCount: number, config: AdversaryConfig): {
38
+ estimatedCost: number;
39
+ estimatedTokens: number;
40
+ };
41
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/adversary/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EAWhB,MAAM,YAAY,CAAC;AAqBpB,OAAO,wBAAwB,CAAC;AAChC,OAAO,mBAAmB,CAAC;AAC3B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,oBAAoB,CAAC;AAO5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAG5B,cAAc,sBAAsB,CAAC;AA8vBrC;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,eAAe,CAAC,CA+F1B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,EAAE,CAsBtE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,eAAe,GACtB;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAmBpD"}