@grc-claw/integration-marketplace 0.8.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 (311) hide show
  1. package/dist/IntegrationMarketplace.d.ts +32 -0
  2. package/dist/IntegrationMarketplace.js +319 -0
  3. package/dist/connectors/ADPConnector.d.ts +12 -0
  4. package/dist/connectors/ADPConnector.js +97 -0
  5. package/dist/connectors/AWSCloudTrailConnector.d.ts +12 -0
  6. package/dist/connectors/AWSCloudTrailConnector.js +77 -0
  7. package/dist/connectors/AWSCloudWatchConnector.d.ts +12 -0
  8. package/dist/connectors/AWSCloudWatchConnector.js +70 -0
  9. package/dist/connectors/AWSGuardDutyConnector.d.ts +12 -0
  10. package/dist/connectors/AWSGuardDutyConnector.js +139 -0
  11. package/dist/connectors/AWSIAMConnector.d.ts +12 -0
  12. package/dist/connectors/AWSIAMConnector.js +90 -0
  13. package/dist/connectors/AWSKMSConnector.d.ts +12 -0
  14. package/dist/connectors/AWSKMSConnector.js +70 -0
  15. package/dist/connectors/AWSLambdaConnector.d.ts +12 -0
  16. package/dist/connectors/AWSLambdaConnector.js +84 -0
  17. package/dist/connectors/AWSRDSConnector.d.ts +12 -0
  18. package/dist/connectors/AWSRDSConnector.js +84 -0
  19. package/dist/connectors/AWSS3Connector.d.ts +12 -0
  20. package/dist/connectors/AWSS3Connector.js +112 -0
  21. package/dist/connectors/AkamaiConnector.d.ts +12 -0
  22. package/dist/connectors/AkamaiConnector.js +98 -0
  23. package/dist/connectors/ArgoCDConnector.d.ts +12 -0
  24. package/dist/connectors/ArgoCDConnector.js +93 -0
  25. package/dist/connectors/ArtifactoryConnector.d.ts +12 -0
  26. package/dist/connectors/ArtifactoryConnector.js +94 -0
  27. package/dist/connectors/AtlassianJiraConnector.d.ts +12 -0
  28. package/dist/connectors/AtlassianJiraConnector.js +134 -0
  29. package/dist/connectors/Auth0Connector.d.ts +12 -0
  30. package/dist/connectors/Auth0Connector.js +150 -0
  31. package/dist/connectors/AzureADConnector.d.ts +12 -0
  32. package/dist/connectors/AzureADConnector.js +115 -0
  33. package/dist/connectors/AzureDevOpsConnector.d.ts +12 -0
  34. package/dist/connectors/AzureDevOpsConnector.js +130 -0
  35. package/dist/connectors/AzureDevOpsPipelinesConnector.d.ts +12 -0
  36. package/dist/connectors/AzureDevOpsPipelinesConnector.js +72 -0
  37. package/dist/connectors/AzurePipelinesConnector.d.ts +12 -0
  38. package/dist/connectors/AzurePipelinesConnector.js +72 -0
  39. package/dist/connectors/AzurePolicyConnector.d.ts +12 -0
  40. package/dist/connectors/AzurePolicyConnector.js +141 -0
  41. package/dist/connectors/AzureReposConnector.d.ts +12 -0
  42. package/dist/connectors/AzureReposConnector.js +96 -0
  43. package/dist/connectors/AzureSentinelConnector.d.ts +12 -0
  44. package/dist/connectors/AzureSentinelConnector.js +88 -0
  45. package/dist/connectors/BambooCICDConnector.d.ts +12 -0
  46. package/dist/connectors/BambooCICDConnector.js +72 -0
  47. package/dist/connectors/BambooHRConnector.d.ts +12 -0
  48. package/dist/connectors/BambooHRConnector.js +84 -0
  49. package/dist/connectors/BeyondTrustConnector.d.ts +12 -0
  50. package/dist/connectors/BeyondTrustConnector.js +94 -0
  51. package/dist/connectors/BitbucketConnector.d.ts +12 -0
  52. package/dist/connectors/BitbucketConnector.js +100 -0
  53. package/dist/connectors/BitbucketPipelinesConnector.d.ts +12 -0
  54. package/dist/connectors/BitbucketPipelinesConnector.js +72 -0
  55. package/dist/connectors/BoxConnector.d.ts +12 -0
  56. package/dist/connectors/BoxConnector.js +122 -0
  57. package/dist/connectors/BuildkiteConnector.d.ts +12 -0
  58. package/dist/connectors/BuildkiteConnector.js +95 -0
  59. package/dist/connectors/CarbonBlackConnector.d.ts +12 -0
  60. package/dist/connectors/CarbonBlackConnector.js +89 -0
  61. package/dist/connectors/CassandraConnector.d.ts +12 -0
  62. package/dist/connectors/CassandraConnector.js +69 -0
  63. package/dist/connectors/CheckPointConnector.d.ts +12 -0
  64. package/dist/connectors/CheckPointConnector.js +98 -0
  65. package/dist/connectors/CircleCIConnector.d.ts +12 -0
  66. package/dist/connectors/CircleCIConnector.js +129 -0
  67. package/dist/connectors/CircleCIConnectorsConnector.d.ts +12 -0
  68. package/dist/connectors/CircleCIConnectorsConnector.js +69 -0
  69. package/dist/connectors/CiscoUmbrellaConnector.d.ts +12 -0
  70. package/dist/connectors/CiscoUmbrellaConnector.js +96 -0
  71. package/dist/connectors/CloudBeesJenkinsConnector.d.ts +12 -0
  72. package/dist/connectors/CloudBeesJenkinsConnector.js +70 -0
  73. package/dist/connectors/CloudflareDNSConnector.d.ts +12 -0
  74. package/dist/connectors/CloudflareDNSConnector.js +71 -0
  75. package/dist/connectors/CloudflareWAFConnector.d.ts +12 -0
  76. package/dist/connectors/CloudflareWAFConnector.js +98 -0
  77. package/dist/connectors/ConfluenceConnector.d.ts +12 -0
  78. package/dist/connectors/ConfluenceConnector.js +101 -0
  79. package/dist/connectors/ConstantContactConnector.d.ts +12 -0
  80. package/dist/connectors/ConstantContactConnector.js +70 -0
  81. package/dist/connectors/CouchDBConnector.d.ts +12 -0
  82. package/dist/connectors/CouchDBConnector.js +69 -0
  83. package/dist/connectors/CrowdStrikeConnector.d.ts +12 -0
  84. package/dist/connectors/CrowdStrikeConnector.js +86 -0
  85. package/dist/connectors/CrowdStrikeFalconConnector.d.ts +12 -0
  86. package/dist/connectors/CrowdStrikeFalconConnector.js +92 -0
  87. package/dist/connectors/CrowdStrikeSpotlightConnector.d.ts +12 -0
  88. package/dist/connectors/CrowdStrikeSpotlightConnector.js +139 -0
  89. package/dist/connectors/CyberArkConnector.d.ts +12 -0
  90. package/dist/connectors/CyberArkConnector.js +95 -0
  91. package/dist/connectors/DatabricksConnector.d.ts +12 -0
  92. package/dist/connectors/DatabricksConnector.js +95 -0
  93. package/dist/connectors/DatadogConnector.d.ts +12 -0
  94. package/dist/connectors/DatadogConnector.js +110 -0
  95. package/dist/connectors/DigitalOceanConnector.d.ts +12 -0
  96. package/dist/connectors/DigitalOceanConnector.js +85 -0
  97. package/dist/connectors/DiscordConnector.d.ts +12 -0
  98. package/dist/connectors/DiscordConnector.js +98 -0
  99. package/dist/connectors/DockerHubConnector.d.ts +12 -0
  100. package/dist/connectors/DockerHubConnector.js +80 -0
  101. package/dist/connectors/DocuSignConnector.d.ts +12 -0
  102. package/dist/connectors/DocuSignConnector.js +96 -0
  103. package/dist/connectors/DriftConnector.d.ts +12 -0
  104. package/dist/connectors/DriftConnector.js +69 -0
  105. package/dist/connectors/DropboxConnector.d.ts +12 -0
  106. package/dist/connectors/DropboxConnector.js +127 -0
  107. package/dist/connectors/ESETConnector.d.ts +12 -0
  108. package/dist/connectors/ESETConnector.js +70 -0
  109. package/dist/connectors/ElasticsearchCloudConnector.d.ts +12 -0
  110. package/dist/connectors/ElasticsearchCloudConnector.js +70 -0
  111. package/dist/connectors/FSecureConnector.d.ts +12 -0
  112. package/dist/connectors/FSecureConnector.js +70 -0
  113. package/dist/connectors/FeatureFlagConnector.d.ts +12 -0
  114. package/dist/connectors/FeatureFlagConnector.js +70 -0
  115. package/dist/connectors/FluxCDConnector.d.ts +12 -0
  116. package/dist/connectors/FluxCDConnector.js +94 -0
  117. package/dist/connectors/ForgeRockConnector.d.ts +12 -0
  118. package/dist/connectors/ForgeRockConnector.js +95 -0
  119. package/dist/connectors/FortinetConnector.d.ts +12 -0
  120. package/dist/connectors/FortinetConnector.js +98 -0
  121. package/dist/connectors/FreshdeskConnector.d.ts +12 -0
  122. package/dist/connectors/FreshdeskConnector.js +71 -0
  123. package/dist/connectors/GCPBigQueryConnector.d.ts +12 -0
  124. package/dist/connectors/GCPBigQueryConnector.js +71 -0
  125. package/dist/connectors/GCPComputeConnector.d.ts +12 -0
  126. package/dist/connectors/GCPComputeConnector.js +87 -0
  127. package/dist/connectors/GCPConfigConnector.d.ts +12 -0
  128. package/dist/connectors/GCPConfigConnector.js +149 -0
  129. package/dist/connectors/GCPFirestoreConnector.d.ts +12 -0
  130. package/dist/connectors/GCPFirestoreConnector.js +71 -0
  131. package/dist/connectors/GCPIAMConnector.d.ts +12 -0
  132. package/dist/connectors/GCPIAMConnector.js +98 -0
  133. package/dist/connectors/GCPSCCConnector.d.ts +12 -0
  134. package/dist/connectors/GCPSCCConnector.js +94 -0
  135. package/dist/connectors/GitHubActionsConnector.d.ts +12 -0
  136. package/dist/connectors/GitHubActionsConnector.js +104 -0
  137. package/dist/connectors/GitHubConnector.d.ts +12 -0
  138. package/dist/connectors/GitHubConnector.js +135 -0
  139. package/dist/connectors/GitHubCopilotConnector.d.ts +12 -0
  140. package/dist/connectors/GitHubCopilotConnector.js +72 -0
  141. package/dist/connectors/GitLabCIConnector.d.ts +12 -0
  142. package/dist/connectors/GitLabCIConnector.js +71 -0
  143. package/dist/connectors/GitLabConnector.d.ts +12 -0
  144. package/dist/connectors/GitLabConnector.js +101 -0
  145. package/dist/connectors/GitLabSASTConnector.d.ts +12 -0
  146. package/dist/connectors/GitLabSASTConnector.js +130 -0
  147. package/dist/connectors/GoogleWorkspaceConnector.d.ts +12 -0
  148. package/dist/connectors/GoogleWorkspaceConnector.js +136 -0
  149. package/dist/connectors/HelmConnector.d.ts +12 -0
  150. package/dist/connectors/HelmConnector.js +94 -0
  151. package/dist/connectors/HubSpotConnector.d.ts +12 -0
  152. package/dist/connectors/HubSpotConnector.js +77 -0
  153. package/dist/connectors/IFTTTConnector.d.ts +12 -0
  154. package/dist/connectors/IFTTTConnector.js +70 -0
  155. package/dist/connectors/ImpervaConnector.d.ts +12 -0
  156. package/dist/connectors/ImpervaConnector.js +94 -0
  157. package/dist/connectors/InfluxDBConnector.d.ts +12 -0
  158. package/dist/connectors/InfluxDBConnector.js +70 -0
  159. package/dist/connectors/IntercomConnector.d.ts +12 -0
  160. package/dist/connectors/IntercomConnector.js +69 -0
  161. package/dist/connectors/JenkinsConnector.d.ts +12 -0
  162. package/dist/connectors/JenkinsConnector.js +96 -0
  163. package/dist/connectors/JiraConnector.d.ts +12 -0
  164. package/dist/connectors/JiraConnector.js +103 -0
  165. package/dist/connectors/KafkaConnector.d.ts +12 -0
  166. package/dist/connectors/KafkaConnector.js +70 -0
  167. package/dist/connectors/KasperskyConnector.d.ts +12 -0
  168. package/dist/connectors/KasperskyConnector.js +70 -0
  169. package/dist/connectors/KubernetesConnector.d.ts +12 -0
  170. package/dist/connectors/KubernetesConnector.js +109 -0
  171. package/dist/connectors/LaceworkConnector.d.ts +13 -0
  172. package/dist/connectors/LaceworkConnector.js +143 -0
  173. package/dist/connectors/LaunchDarklyConnector.d.ts +12 -0
  174. package/dist/connectors/LaunchDarklyConnector.js +86 -0
  175. package/dist/connectors/LinodeConnector.d.ts +12 -0
  176. package/dist/connectors/LinodeConnector.js +70 -0
  177. package/dist/connectors/LookerConnector.d.ts +12 -0
  178. package/dist/connectors/LookerConnector.js +94 -0
  179. package/dist/connectors/MailchimpConnector.d.ts +12 -0
  180. package/dist/connectors/MailchimpConnector.js +71 -0
  181. package/dist/connectors/MalwarebytesConnector.d.ts +12 -0
  182. package/dist/connectors/MalwarebytesConnector.js +85 -0
  183. package/dist/connectors/McAfeeConnector.d.ts +12 -0
  184. package/dist/connectors/McAfeeConnector.js +85 -0
  185. package/dist/connectors/Microsoft365Connector.d.ts +12 -0
  186. package/dist/connectors/Microsoft365Connector.js +139 -0
  187. package/dist/connectors/MongoDBConnector.d.ts +12 -0
  188. package/dist/connectors/MongoDBConnector.js +86 -0
  189. package/dist/connectors/NamelyConnector.d.ts +12 -0
  190. package/dist/connectors/NamelyConnector.js +97 -0
  191. package/dist/connectors/Neo4jConnector.d.ts +12 -0
  192. package/dist/connectors/Neo4jConnector.js +70 -0
  193. package/dist/connectors/NetSuiteConnector.d.ts +12 -0
  194. package/dist/connectors/NetSuiteConnector.js +94 -0
  195. package/dist/connectors/NetskopeConnector.d.ts +12 -0
  196. package/dist/connectors/NetskopeConnector.js +98 -0
  197. package/dist/connectors/NexusConnector.d.ts +12 -0
  198. package/dist/connectors/NexusConnector.js +93 -0
  199. package/dist/connectors/NotionConnector.d.ts +12 -0
  200. package/dist/connectors/NotionConnector.js +109 -0
  201. package/dist/connectors/OktaConnector.d.ts +12 -0
  202. package/dist/connectors/OktaConnector.js +123 -0
  203. package/dist/connectors/OktaSystemLogConnector.d.ts +12 -0
  204. package/dist/connectors/OktaSystemLogConnector.js +129 -0
  205. package/dist/connectors/OpsgenieConnector.d.ts +12 -0
  206. package/dist/connectors/OpsgenieConnector.js +70 -0
  207. package/dist/connectors/PagerDutyConnector.d.ts +12 -0
  208. package/dist/connectors/PagerDutyConnector.js +106 -0
  209. package/dist/connectors/PalantirConnector.d.ts +12 -0
  210. package/dist/connectors/PalantirConnector.js +95 -0
  211. package/dist/connectors/PaloAltoPrismaCloudConnector.d.ts +12 -0
  212. package/dist/connectors/PaloAltoPrismaCloudConnector.js +110 -0
  213. package/dist/connectors/PingFederateConnector.d.ts +12 -0
  214. package/dist/connectors/PingFederateConnector.js +97 -0
  215. package/dist/connectors/PostgreSQLCloudConnector.d.ts +12 -0
  216. package/dist/connectors/PostgreSQLCloudConnector.js +70 -0
  217. package/dist/connectors/PowerBIConnector.d.ts +12 -0
  218. package/dist/connectors/PowerBIConnector.js +95 -0
  219. package/dist/connectors/PrismaCloudConnector.d.ts +12 -0
  220. package/dist/connectors/PrismaCloudConnector.js +147 -0
  221. package/dist/connectors/QualysConnector.d.ts +12 -0
  222. package/dist/connectors/QualysConnector.js +96 -0
  223. package/dist/connectors/QualysScannerConnector.d.ts +12 -0
  224. package/dist/connectors/QualysScannerConnector.js +131 -0
  225. package/dist/connectors/QuickBooksConnector.d.ts +12 -0
  226. package/dist/connectors/QuickBooksConnector.js +97 -0
  227. package/dist/connectors/RabbitMQConnector.d.ts +12 -0
  228. package/dist/connectors/RabbitMQConnector.js +69 -0
  229. package/dist/connectors/RadwareConnector.d.ts +12 -0
  230. package/dist/connectors/RadwareConnector.js +94 -0
  231. package/dist/connectors/RedisCloudConnector.d.ts +12 -0
  232. package/dist/connectors/RedisCloudConnector.js +70 -0
  233. package/dist/connectors/RingCentralConnector.d.ts +12 -0
  234. package/dist/connectors/RingCentralConnector.js +94 -0
  235. package/dist/connectors/SAPSuccessFactorsConnector.d.ts +12 -0
  236. package/dist/connectors/SAPSuccessFactorsConnector.js +103 -0
  237. package/dist/connectors/SailPointConnector.d.ts +12 -0
  238. package/dist/connectors/SailPointConnector.js +97 -0
  239. package/dist/connectors/SalesforceConnector.d.ts +12 -0
  240. package/dist/connectors/SalesforceConnector.js +91 -0
  241. package/dist/connectors/SendGridConnector.d.ts +12 -0
  242. package/dist/connectors/SendGridConnector.js +69 -0
  243. package/dist/connectors/SentinelOneConnector.d.ts +12 -0
  244. package/dist/connectors/SentinelOneConnector.js +89 -0
  245. package/dist/connectors/ServiceNowConnector.d.ts +12 -0
  246. package/dist/connectors/ServiceNowConnector.js +123 -0
  247. package/dist/connectors/SlackConnector.d.ts +12 -0
  248. package/dist/connectors/SlackConnector.js +109 -0
  249. package/dist/connectors/SnowflakeConnector.d.ts +12 -0
  250. package/dist/connectors/SnowflakeConnector.js +105 -0
  251. package/dist/connectors/SnykConnector.d.ts +12 -0
  252. package/dist/connectors/SnykConnector.js +84 -0
  253. package/dist/connectors/SnykMonitorConnector.d.ts +12 -0
  254. package/dist/connectors/SnykMonitorConnector.js +131 -0
  255. package/dist/connectors/SophosConnector.d.ts +12 -0
  256. package/dist/connectors/SophosConnector.js +87 -0
  257. package/dist/connectors/SpinnakerConnector.d.ts +12 -0
  258. package/dist/connectors/SpinnakerConnector.js +70 -0
  259. package/dist/connectors/SplunkConnector.d.ts +12 -0
  260. package/dist/connectors/SplunkConnector.js +126 -0
  261. package/dist/connectors/StripeConnector.d.ts +12 -0
  262. package/dist/connectors/StripeConnector.js +97 -0
  263. package/dist/connectors/TableauConnector.d.ts +12 -0
  264. package/dist/connectors/TableauConnector.js +101 -0
  265. package/dist/connectors/TaniumConnector.d.ts +12 -0
  266. package/dist/connectors/TaniumConnector.js +97 -0
  267. package/dist/connectors/TeamCityConnector.d.ts +12 -0
  268. package/dist/connectors/TeamCityConnector.js +71 -0
  269. package/dist/connectors/TeamsConnector.d.ts +12 -0
  270. package/dist/connectors/TeamsConnector.js +96 -0
  271. package/dist/connectors/TenableIOConnector.d.ts +12 -0
  272. package/dist/connectors/TenableIOConnector.js +130 -0
  273. package/dist/connectors/TerraformCloudConnector.d.ts +12 -0
  274. package/dist/connectors/TerraformCloudConnector.js +106 -0
  275. package/dist/connectors/TravisCIConnector.d.ts +12 -0
  276. package/dist/connectors/TravisCIConnector.js +95 -0
  277. package/dist/connectors/TrendMicroConnector.d.ts +12 -0
  278. package/dist/connectors/TrendMicroConnector.js +85 -0
  279. package/dist/connectors/TwilioConnector.d.ts +12 -0
  280. package/dist/connectors/TwilioConnector.js +70 -0
  281. package/dist/connectors/VercelConnector.d.ts +12 -0
  282. package/dist/connectors/VercelConnector.js +70 -0
  283. package/dist/connectors/VultrConnector.d.ts +12 -0
  284. package/dist/connectors/VultrConnector.js +70 -0
  285. package/dist/connectors/WebexConnector.d.ts +12 -0
  286. package/dist/connectors/WebexConnector.js +94 -0
  287. package/dist/connectors/WizConnector.d.ts +12 -0
  288. package/dist/connectors/WizConnector.js +172 -0
  289. package/dist/connectors/WorkdayConnector.d.ts +12 -0
  290. package/dist/connectors/WorkdayConnector.js +100 -0
  291. package/dist/connectors/XeroConnector.d.ts +12 -0
  292. package/dist/connectors/XeroConnector.js +96 -0
  293. package/dist/connectors/ZapierConnector.d.ts +12 -0
  294. package/dist/connectors/ZapierConnector.js +70 -0
  295. package/dist/connectors/ZendeskConnector.d.ts +12 -0
  296. package/dist/connectors/ZendeskConnector.js +71 -0
  297. package/dist/connectors/ZenefitsConnector.d.ts +12 -0
  298. package/dist/connectors/ZenefitsConnector.js +93 -0
  299. package/dist/connectors/ZoomConnector.d.ts +12 -0
  300. package/dist/connectors/ZoomConnector.js +97 -0
  301. package/dist/connectors/ZscalerConnector.d.ts +12 -0
  302. package/dist/connectors/ZscalerConnector.js +97 -0
  303. package/dist/connectors/index.d.ts +150 -0
  304. package/dist/connectors/index.js +157 -0
  305. package/dist/index.d.ts +5 -0
  306. package/dist/index.js +16 -0
  307. package/dist/index.test.d.ts +1 -0
  308. package/dist/index.test.js +139 -0
  309. package/dist/types.d.ts +57 -0
  310. package/dist/types.js +8 -0
  311. package/package.json +33 -0
@@ -0,0 +1,69 @@
1
+ import { hashEvidence, generateEvidenceId } from "../types.js";
2
+ const capabilities = [
3
+ {
4
+ id: "rabbitmq-queues",
5
+ name: "Queue Configurations",
6
+ description: "Fetch RabbitMQ queue definitions, bindings, and message rates",
7
+ evidenceCategories: ["data_protection", "monitoring"],
8
+ },
9
+ {
10
+ id: "rabbitmq-security",
11
+ name: "Access Controls",
12
+ description: "Fetch RabbitMQ user permissions, vhost policies, and TLS settings",
13
+ evidenceCategories: ["access_control", "encryption"],
14
+ },
15
+ {
16
+ id: "rabbitmq-health",
17
+ name: "Cluster Health",
18
+ description: "Fetch RabbitMQ cluster health, node status, and memory usage",
19
+ evidenceCategories: ["monitoring", "availability"],
20
+ },
21
+ ];
22
+ export class RabbitMQConnector {
23
+ id = "rabbitmq";
24
+ name = "RabbitMQ";
25
+ category = "data_warehouse";
26
+ authType = "api_key";
27
+ capabilities = capabilities;
28
+ frameworks = ["SOC2", "ISO27001", "NIST_CSF"];
29
+ async fetchApi(config, endpoint) {
30
+ const base = config.baseUrl || "https://api.rabbitmq.example.com/api";
31
+ const resp = await fetch(`${base}${endpoint}`, {
32
+ headers: {
33
+ Authorization: `Bearer ${config.apiToken}`,
34
+ "Content-Type": "application/json",
35
+ },
36
+ });
37
+ if (!resp.ok)
38
+ throw new Error(`RabbitMQ API ${resp.status}: ${resp.statusText}`);
39
+ return (await resp.json());
40
+ }
41
+ async testConnection(config) {
42
+ try {
43
+ await this.fetchApi(config, "/overview");
44
+ return true;
45
+ }
46
+ catch {
47
+ return false;
48
+ }
49
+ }
50
+ async collectEvidence(config) {
51
+ const artifacts = [];
52
+ const now = new Date().toISOString();
53
+ const overview = await this.fetchApi(config, "/overview").catch(() => ({}));
54
+ artifacts.push({
55
+ id: generateEvidenceId(),
56
+ connectorId: this.id,
57
+ capabilityId: "rabbitmq-health",
58
+ timestamp: now,
59
+ hash: hashEvidence(overview),
60
+ framework: "SOC2",
61
+ controlId: "CC6.6",
62
+ source: "rabbitmq/overview",
63
+ status: "unknown",
64
+ data: { connected: true },
65
+ metadata: {},
66
+ });
67
+ return artifacts;
68
+ }
69
+ }
@@ -0,0 +1,12 @@
1
+ import type { IntegrationConnector, ConnectorConfig, EvidenceArtifact, IntegrationCapability, ComplianceFramework } from "../types.js";
2
+ export declare class RadwareConnector implements IntegrationConnector {
3
+ readonly id = "radware";
4
+ readonly name = "Radware";
5
+ readonly category: "cloud_provider";
6
+ readonly authType: "api_key";
7
+ readonly capabilities: IntegrationCapability[];
8
+ readonly frameworks: ComplianceFramework[];
9
+ private fetchApi;
10
+ testConnection(config: ConnectorConfig): Promise<boolean>;
11
+ collectEvidence(config: ConnectorConfig): Promise<EvidenceArtifact[]>;
12
+ }
@@ -0,0 +1,94 @@
1
+ import { hashEvidence, generateEvidenceId } from "../types.js";
2
+ const capabilities = [
3
+ {
4
+ id: "radware-waf",
5
+ name: "Radware WAF",
6
+ description: "Fetch WAF profiles and policy configurations",
7
+ evidenceCategories: ["vulnerability_management", "configuration"],
8
+ },
9
+ {
10
+ id: "radware-ddos",
11
+ name: "DDoS Mitigation",
12
+ description: "Fetch DDoS protection profiles and attack logs",
13
+ evidenceCategories: ["vulnerability_management", "monitoring"],
14
+ },
15
+ {
16
+ id: "radware-bot",
17
+ name: "Bot Management",
18
+ description: "Fetch bot detection and mitigation policies",
19
+ evidenceCategories: ["access_control", "monitoring"],
20
+ },
21
+ {
22
+ id: "radware-api",
23
+ name: "API Protection",
24
+ description: "Fetch API security profiles and rate limiting",
25
+ evidenceCategories: ["access_control", "data_protection"],
26
+ },
27
+ ];
28
+ export class RadwareConnector {
29
+ id = "radware";
30
+ name = "Radware";
31
+ category = "cloud_provider";
32
+ authType = "api_key";
33
+ capabilities = capabilities;
34
+ frameworks = [
35
+ "SOC2",
36
+ "ISO27001",
37
+ "NIST_CSF",
38
+ "PCI_DSS",
39
+ ];
40
+ async fetchApi(config, endpoint) {
41
+ const base = config.baseUrl || "https://radware-cloud.example.com";
42
+ const resp = await fetch(`${base}/api${endpoint}`, {
43
+ headers: {
44
+ Authorization: `Bearer ${config.apiToken}`,
45
+ "Content-Type": "application/json",
46
+ },
47
+ });
48
+ if (!resp.ok)
49
+ throw new Error(`Radware API ${resp.status}: ${resp.statusText}`);
50
+ return (await resp.json());
51
+ }
52
+ async testConnection(config) {
53
+ try {
54
+ await this.fetchApi(config, "/wafProfiles");
55
+ return true;
56
+ }
57
+ catch {
58
+ return false;
59
+ }
60
+ }
61
+ async collectEvidence(config) {
62
+ const artifacts = [];
63
+ const now = new Date().toISOString();
64
+ const profiles = await this.fetchApi(config, "/wafProfiles").catch(() => ({ profiles: [] }));
65
+ artifacts.push({
66
+ id: generateEvidenceId(),
67
+ connectorId: this.id,
68
+ capabilityId: "radware-waf",
69
+ timestamp: now,
70
+ hash: hashEvidence(profiles),
71
+ framework: "SOC2",
72
+ controlId: "CC6.1",
73
+ source: "radware/waf-profiles",
74
+ status: profiles.profiles?.length > 0 ? "compliant" : "unknown",
75
+ data: { wafProfiles: profiles.profiles?.length || 0 },
76
+ metadata: {},
77
+ });
78
+ const ddos = await this.fetchApi(config, "/ddos/profiles").catch(() => ({ profiles: [] }));
79
+ artifacts.push({
80
+ id: generateEvidenceId(),
81
+ connectorId: this.id,
82
+ capabilityId: "radware-ddos",
83
+ timestamp: now,
84
+ hash: hashEvidence(ddos),
85
+ framework: "ISO27001",
86
+ controlId: "A.12.2.1",
87
+ source: "radware/ddos-profiles",
88
+ status: ddos.profiles?.length > 0 ? "compliant" : "non_compliant",
89
+ data: { ddosProfiles: ddos.profiles?.length || 0 },
90
+ metadata: {},
91
+ });
92
+ return artifacts;
93
+ }
94
+ }
@@ -0,0 +1,12 @@
1
+ import type { IntegrationConnector, ConnectorConfig, EvidenceArtifact, IntegrationCapability, ComplianceFramework } from "../types.js";
2
+ export declare class RedisCloudConnector implements IntegrationConnector {
3
+ readonly id = "redis-cloud";
4
+ readonly name = "Redis Cloud";
5
+ readonly category: "data_warehouse";
6
+ readonly authType: "api_key";
7
+ readonly capabilities: IntegrationCapability[];
8
+ readonly frameworks: ComplianceFramework[];
9
+ private fetchApi;
10
+ testConnection(config: ConnectorConfig): Promise<boolean>;
11
+ collectEvidence(config: ConnectorConfig): Promise<EvidenceArtifact[]>;
12
+ }
@@ -0,0 +1,70 @@
1
+ import { hashEvidence, generateEvidenceId } from "../types.js";
2
+ const capabilities = [
3
+ {
4
+ id: "rediscloud-databases",
5
+ name: "Redis Databases",
6
+ description: "Fetch Redis Cloud database configurations and memory usage",
7
+ evidenceCategories: ["data_protection", "cloud_configuration"],
8
+ },
9
+ {
10
+ id: "rediscloud-security",
11
+ name: "Security Configurations",
12
+ description: "Fetch TLS enforcement, ACL configurations, and network security rules",
13
+ evidenceCategories: ["access_control", "encryption"],
14
+ },
15
+ {
16
+ id: "rediscloud-metrics",
17
+ name: "Performance Metrics",
18
+ description: "Fetch Redis Cloud performance metrics and connection statistics",
19
+ evidenceCategories: ["monitoring", "performance"],
20
+ },
21
+ ];
22
+ export class RedisCloudConnector {
23
+ id = "redis-cloud";
24
+ name = "Redis Cloud";
25
+ category = "data_warehouse";
26
+ authType = "api_key";
27
+ capabilities = capabilities;
28
+ frameworks = ["SOC2", "ISO27001", "NIST_CSF"];
29
+ async fetchApi(config, endpoint) {
30
+ const base = config.baseUrl || "https://api.redislabs.com/v1";
31
+ const resp = await fetch(`${base}${endpoint}`, {
32
+ headers: {
33
+ Authorization: `Bearer ${config.apiToken}`,
34
+ "Content-Type": "application/json",
35
+ },
36
+ });
37
+ if (!resp.ok)
38
+ throw new Error(`Redis Cloud API ${resp.status}: ${resp.statusText}`);
39
+ return (await resp.json());
40
+ }
41
+ async testConnection(config) {
42
+ try {
43
+ await this.fetchApi(config, "/subscriptions");
44
+ return true;
45
+ }
46
+ catch {
47
+ return false;
48
+ }
49
+ }
50
+ async collectEvidence(config) {
51
+ const artifacts = [];
52
+ const now = new Date().toISOString();
53
+ const subscriptions = await this.fetchApi(config, "/subscriptions").catch(() => ({ subscriptions: [] }));
54
+ const subList = (subscriptions.subscriptions || []);
55
+ artifacts.push({
56
+ id: generateEvidenceId(),
57
+ connectorId: this.id,
58
+ capabilityId: "rediscloud-databases",
59
+ timestamp: now,
60
+ hash: hashEvidence({ subscriptionCount: subList.length }),
61
+ framework: "SOC2",
62
+ controlId: "CC6.1",
63
+ source: "redis-cloud/subscriptions",
64
+ status: subList.length > 0 ? "compliant" : "unknown",
65
+ data: { subscriptionCount: subList.length },
66
+ metadata: {},
67
+ });
68
+ return artifacts;
69
+ }
70
+ }
@@ -0,0 +1,12 @@
1
+ import type { IntegrationConnector, ConnectorConfig, EvidenceArtifact, IntegrationCapability, ComplianceFramework } from "../types.js";
2
+ export declare class RingCentralConnector implements IntegrationConnector {
3
+ readonly id = "ringcentral";
4
+ readonly name = "RingCentral";
5
+ readonly category: "communication";
6
+ readonly authType: "oauth2";
7
+ readonly capabilities: IntegrationCapability[];
8
+ readonly frameworks: ComplianceFramework[];
9
+ private fetchApi;
10
+ testConnection(config: ConnectorConfig): Promise<boolean>;
11
+ collectEvidence(config: ConnectorConfig): Promise<EvidenceArtifact[]>;
12
+ }
@@ -0,0 +1,94 @@
1
+ import { hashEvidence, generateEvidenceId } from "../types.js";
2
+ const capabilities = [
3
+ {
4
+ id: "ringcentral-users",
5
+ name: "User Management",
6
+ description: "Fetch user accounts, roles, and extension assignments",
7
+ evidenceCategories: ["access_control", "configuration"],
8
+ },
9
+ {
10
+ id: "ringcentral-policies",
11
+ name: "Phone System Policies",
12
+ description: "Fetch call handling, IVR, and routing policies",
13
+ evidenceCategories: ["configuration", "access_control"],
14
+ },
15
+ {
16
+ id: "ringcentral-recording",
17
+ name: "Call Recording",
18
+ description: "Fetch call recording settings and compliance configurations",
19
+ evidenceCategories: ["data_protection", "compliance"],
20
+ },
21
+ {
22
+ id: "ringcentral-audit",
23
+ name: "Audit Logs",
24
+ description: "Fetch admin and user activity audit logs",
25
+ evidenceCategories: ["monitoring", "access_control"],
26
+ },
27
+ ];
28
+ export class RingCentralConnector {
29
+ id = "ringcentral";
30
+ name = "RingCentral";
31
+ category = "communication";
32
+ authType = "oauth2";
33
+ capabilities = capabilities;
34
+ frameworks = [
35
+ "SOC2",
36
+ "ISO27001",
37
+ "NIST_CSF",
38
+ "HIPAA",
39
+ ];
40
+ async fetchApi(config, endpoint) {
41
+ const base = config.baseUrl || "https://platform.ringcentral.com";
42
+ const resp = await fetch(`${base}${endpoint}`, {
43
+ headers: {
44
+ Authorization: `Bearer ${config.apiToken}`,
45
+ "Content-Type": "application/json",
46
+ },
47
+ });
48
+ if (!resp.ok)
49
+ throw new Error(`RingCentral API ${resp.status}: ${resp.statusText}`);
50
+ return (await resp.json());
51
+ }
52
+ async testConnection(config) {
53
+ try {
54
+ await this.fetchApi(config, "/restapi/v1.0/account/~/extension");
55
+ return true;
56
+ }
57
+ catch {
58
+ return false;
59
+ }
60
+ }
61
+ async collectEvidence(config) {
62
+ const artifacts = [];
63
+ const now = new Date().toISOString();
64
+ const extensions = await this.fetchApi(config, "/restapi/v1.0/account/~/extension?type=Employee&status=Enabled&perPage=100").catch(() => ({ records: [] }));
65
+ artifacts.push({
66
+ id: generateEvidenceId(),
67
+ connectorId: this.id,
68
+ capabilityId: "ringcentral-users",
69
+ timestamp: now,
70
+ hash: hashEvidence(extensions),
71
+ framework: "SOC2",
72
+ controlId: "CC6.1",
73
+ source: "ringcentral/extensions",
74
+ status: extensions.records?.length > 0 ? "compliant" : "unknown",
75
+ data: { activeExtensions: extensions.records?.length || 0 },
76
+ metadata: {},
77
+ });
78
+ const recording = await this.fetchApi(config, "/restapi/v1.0/account/~/answering-rule").catch(() => ({ records: [] }));
79
+ artifacts.push({
80
+ id: generateEvidenceId(),
81
+ connectorId: this.id,
82
+ capabilityId: "ringcentral-recording",
83
+ timestamp: now,
84
+ hash: hashEvidence(recording),
85
+ framework: "HIPAA",
86
+ controlId: "164.312",
87
+ source: "ringcentral/answering-rules",
88
+ status: recording.records?.length > 0 ? "compliant" : "non_compliant",
89
+ data: { answeringRules: recording.records?.length || 0 },
90
+ metadata: {},
91
+ });
92
+ return artifacts;
93
+ }
94
+ }
@@ -0,0 +1,12 @@
1
+ import type { IntegrationConnector, ConnectorConfig, EvidenceArtifact, IntegrationCapability, ComplianceFramework } from "../types.js";
2
+ export declare class SAPSuccessFactorsConnector implements IntegrationConnector {
3
+ readonly id = "sap-successfactors";
4
+ readonly name = "SAP SuccessFactors";
5
+ readonly category: "hr";
6
+ readonly authType: "api_key";
7
+ readonly capabilities: IntegrationCapability[];
8
+ readonly frameworks: ComplianceFramework[];
9
+ private fetchApi;
10
+ testConnection(config: ConnectorConfig): Promise<boolean>;
11
+ collectEvidence(config: ConnectorConfig): Promise<EvidenceArtifact[]>;
12
+ }
@@ -0,0 +1,103 @@
1
+ import { hashEvidence, generateEvidenceId } from "../types.js";
2
+ const capabilities = [
3
+ {
4
+ id: "successfactors-employees",
5
+ name: "Employee Central",
6
+ description: "Fetch employee records and organizational data",
7
+ evidenceCategories: ["access_control", "data_protection"],
8
+ },
9
+ {
10
+ id: "successfactors-governance",
11
+ name: "Governance Risk",
12
+ description: "Fetch risk assessment and policy compliance status",
13
+ evidenceCategories: ["compliance", "monitoring"],
14
+ },
15
+ {
16
+ id: "successfactors-access",
17
+ name: "Role Management",
18
+ description: "Fetch role assignments and permission configurations",
19
+ evidenceCategories: ["access_control", "configuration"],
20
+ },
21
+ {
22
+ id: "successfactors-audit",
23
+ name: "Audit Trail",
24
+ description: "Fetch employee data change audit logs",
25
+ evidenceCategories: ["monitoring", "access_control"],
26
+ },
27
+ ];
28
+ export class SAPSuccessFactorsConnector {
29
+ id = "sap-successfactors";
30
+ name = "SAP SuccessFactors";
31
+ category = "hr";
32
+ authType = "api_key";
33
+ capabilities = capabilities;
34
+ frameworks = [
35
+ "SOC2",
36
+ "ISO27001",
37
+ "NIST_CSF",
38
+ "GDPR",
39
+ ];
40
+ async fetchApi(config, endpoint) {
41
+ const base = config.baseUrl || "https://api.successfactors.com";
42
+ const resp = await fetch(`${base}/odata/v2${endpoint}`, {
43
+ headers: {
44
+ Authorization: `Bearer ${config.apiToken}`,
45
+ "Content-Type": "application/json",
46
+ Accept: "application/json",
47
+ },
48
+ });
49
+ if (!resp.ok)
50
+ throw new Error(`SAP SuccessFactors API ${resp.status}: ${resp.statusText}`);
51
+ return (await resp.json());
52
+ }
53
+ async testConnection(config) {
54
+ try {
55
+ await this.fetchApi(config, "/User?$top=1");
56
+ return true;
57
+ }
58
+ catch {
59
+ return false;
60
+ }
61
+ }
62
+ async collectEvidence(config) {
63
+ const artifacts = [];
64
+ const now = new Date().toISOString();
65
+ const users = await this.fetchApi(config, "/User?$top=100&$select=userId,status").catch(() => ({ d: { results: [] } }));
66
+ const userData = users;
67
+ const userD = userData.d || {};
68
+ const userResults = userD.results || [];
69
+ artifacts.push({
70
+ id: generateEvidenceId(),
71
+ connectorId: this.id,
72
+ capabilityId: "successfactors-employees",
73
+ timestamp: now,
74
+ hash: hashEvidence(users),
75
+ framework: "SOC2",
76
+ controlId: "CC6.1",
77
+ source: "successfactors/users",
78
+ status: userResults.length > 0 ? "compliant" : "unknown",
79
+ data: { userCount: userResults.length },
80
+ metadata: {},
81
+ });
82
+ const roles = await this.fetchApi(config, "/RoleManagement/Roles").catch(() => ({
83
+ d: { results: [] },
84
+ }));
85
+ const roleData = roles;
86
+ const roleD = roleData.d || {};
87
+ const roleResults = roleD.results || [];
88
+ artifacts.push({
89
+ id: generateEvidenceId(),
90
+ connectorId: this.id,
91
+ capabilityId: "successfactors-access",
92
+ timestamp: now,
93
+ hash: hashEvidence(roles),
94
+ framework: "ISO27001",
95
+ controlId: "A.6.2.1",
96
+ source: "successfactors/roles",
97
+ status: roleResults.length > 0 ? "compliant" : "non_compliant",
98
+ data: { roleCount: roleResults.length },
99
+ metadata: {},
100
+ });
101
+ return artifacts;
102
+ }
103
+ }
@@ -0,0 +1,12 @@
1
+ import type { IntegrationConnector, ConnectorConfig, EvidenceArtifact, IntegrationCapability, ComplianceFramework } from "../types.js";
2
+ export declare class SailPointConnector implements IntegrationConnector {
3
+ readonly id = "sailpoint";
4
+ readonly name = "SailPoint";
5
+ readonly category: "identity";
6
+ readonly authType: "api_key";
7
+ readonly capabilities: IntegrationCapability[];
8
+ readonly frameworks: ComplianceFramework[];
9
+ private fetchApi;
10
+ testConnection(config: ConnectorConfig): Promise<boolean>;
11
+ collectEvidence(config: ConnectorConfig): Promise<EvidenceArtifact[]>;
12
+ }
@@ -0,0 +1,97 @@
1
+ import { hashEvidence, generateEvidenceId } from "../types.js";
2
+ const capabilities = [
3
+ {
4
+ id: "sailpoint-identity",
5
+ name: "Identity Governance",
6
+ description: "Fetch identity lifecycle and access certification campaigns",
7
+ evidenceCategories: ["access_control", "compliance"],
8
+ },
9
+ {
10
+ id: "sailpoint-provisioning",
11
+ name: "Provisioning",
12
+ description: "Fetch automated provisioning and deprovisioning policies",
13
+ evidenceCategories: ["access_control", "change_management"],
14
+ },
15
+ {
16
+ id: "sailpoint-access",
17
+ name: "Access Reviews",
18
+ description: "Fetch access review campaigns and certification results",
19
+ evidenceCategories: ["access_control", "monitoring"],
20
+ },
21
+ {
22
+ id: "sailpoint-compliance",
23
+ name: "Compliance Score",
24
+ description: "Fetch compliance scores and policy violations",
25
+ evidenceCategories: ["compliance", "monitoring"],
26
+ },
27
+ ];
28
+ export class SailPointConnector {
29
+ id = "sailpoint";
30
+ name = "SailPoint";
31
+ category = "identity";
32
+ authType = "api_key";
33
+ capabilities = capabilities;
34
+ frameworks = [
35
+ "SOC2",
36
+ "ISO27001",
37
+ "NIST_CSF",
38
+ "HIPAA",
39
+ "PCI_DSS",
40
+ ];
41
+ async fetchApi(config, endpoint) {
42
+ const base = config.baseUrl || "https://sailpoint.example.com";
43
+ const resp = await fetch(`${base}/v3${endpoint}`, {
44
+ headers: {
45
+ Authorization: `Bearer ${config.apiToken}`,
46
+ "Content-Type": "application/json",
47
+ },
48
+ });
49
+ if (!resp.ok)
50
+ throw new Error(`SailPoint API ${resp.status}: ${resp.statusText}`);
51
+ return (await resp.json());
52
+ }
53
+ async testConnection(config) {
54
+ try {
55
+ await this.fetchApi(config, "/accounts?limit=1");
56
+ return true;
57
+ }
58
+ catch {
59
+ return false;
60
+ }
61
+ }
62
+ async collectEvidence(config) {
63
+ const artifacts = [];
64
+ const now = new Date().toISOString();
65
+ const accounts = await this.fetchApi(config, "/accounts?limit=100").catch(() => ({ items: [] }));
66
+ artifacts.push({
67
+ id: generateEvidenceId(),
68
+ connectorId: this.id,
69
+ capabilityId: "sailpoint-identity",
70
+ timestamp: now,
71
+ hash: hashEvidence(accounts),
72
+ framework: "SOC2",
73
+ controlId: "CC6.1",
74
+ source: "sailpoint/accounts",
75
+ status: accounts.items?.length > 0 ? "compliant" : "unknown",
76
+ data: { identityCount: accounts.items?.length || 0 },
77
+ metadata: {},
78
+ });
79
+ const campaigns = await this.fetchApi(config, "/certifications?limit=10").catch(() => ({
80
+ items: [],
81
+ }));
82
+ artifacts.push({
83
+ id: generateEvidenceId(),
84
+ connectorId: this.id,
85
+ capabilityId: "sailpoint-access",
86
+ timestamp: now,
87
+ hash: hashEvidence(campaigns),
88
+ framework: "ISO27001",
89
+ controlId: "A.6.2.1",
90
+ source: "sailpoint/certifications",
91
+ status: campaigns.items?.length > 0 ? "compliant" : "non_compliant",
92
+ data: { activeCampaigns: campaigns.items?.length || 0 },
93
+ metadata: {},
94
+ });
95
+ return artifacts;
96
+ }
97
+ }
@@ -0,0 +1,12 @@
1
+ import type { IntegrationConnector, ConnectorConfig, EvidenceArtifact, IntegrationCapability, ComplianceFramework } from "../types.js";
2
+ export declare class SalesforceConnector implements IntegrationConnector {
3
+ readonly id = "salesforce";
4
+ readonly name = "Salesforce";
5
+ readonly category: "hr";
6
+ readonly authType: "oauth2";
7
+ readonly capabilities: IntegrationCapability[];
8
+ readonly frameworks: ComplianceFramework[];
9
+ private getAccessToken;
10
+ testConnection(config: ConnectorConfig): Promise<boolean>;
11
+ collectEvidence(config: ConnectorConfig): Promise<EvidenceArtifact[]>;
12
+ }