@rad-security/mcp-server 0.0.6 → 0.0.7

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.
package/README.md CHANGED
@@ -12,13 +12,11 @@ npm install @rad-security/mcp-server
12
12
 
13
13
  ### Prerequisites
14
14
 
15
- - A RAD Security account
16
- - A RAD Security API key (access key id and secret key)
17
15
  - Node.js 20.x or higher
18
16
 
19
17
  ### Environment Variables
20
18
 
21
- The following environment variables are required:
19
+ The following environment are required required to use the MCP server with Rad Security:
22
20
 
23
21
  ```bash
24
22
  RAD_SECURITY_ACCESS_KEY_ID="your_access_key"
@@ -26,6 +24,13 @@ RAD_SECURITY_SECRET_KEY="your_secret_key"
26
24
  RAD_SECURITY_ACCOUNT_ID="your_account_id"
27
25
  ```
28
26
 
27
+ but you can also use few operations without authentication:
28
+
29
+ - List CVEs
30
+ - Get details of a specific CVE
31
+ - Get latest 30 CVEs
32
+ - List Kubernetes resource misconfiguration policies
33
+
29
34
  ### In cursor IDE
30
35
 
31
36
  It's quite problematic to set ENV variables in cursor IDE.
@@ -73,47 +78,55 @@ docker run \
73
78
  ## Features
74
79
 
75
80
  - Account Inventory
76
- - List clusters and their details
81
+ - List clusters and their details*
77
82
 
78
83
  - Containers Inventory
79
- - List containers and their details
84
+ - List containers and their details*
80
85
 
81
86
  - Security Findings
82
- - List and analyze security findings
87
+ - List and analyze security findings*
83
88
 
84
89
  - Runtime Security
85
- - Get process trees of running containers
86
- - Get runtime baselines of running containers
87
- - Analyze process behavior of running containers
90
+ - Get process trees of running containers*
91
+ - Get runtime baselines of running containers*
92
+ - Analyze process behavior of running containers*
88
93
 
89
94
  - Network Security
90
- - Monitor HTTP requests
91
- - Track network connections
92
- - Analyze network patterns
95
+ - Monitor HTTP requests*
96
+ - Track network connections*
97
+ - Analyze network patterns*
93
98
 
94
99
  - Identity and Access
95
- - List identities
96
- - Get identity details
100
+ - List identities*
101
+ - Get identity details*
97
102
 
98
103
  - Audit
99
- - List who shelled into a pod
104
+ - List who shelled into a pod*
100
105
 
101
106
  - Cloud Security
102
- - List and monitor cloud resources
103
- - Get resource details and compliance status
107
+ - List and monitor cloud resources*
108
+ - Get resource details and compliance status*
104
109
 
105
110
  - Images
106
- - Get SBOMs
107
- - List images and their vulnerabilities
108
- - Get top vulnerable images
111
+ - Get SBOMs*
112
+ - List images and their vulnerabilities*
113
+ - Get top vulnerable images*
109
114
 
110
115
  - Kubernetes Objects
111
- - Get details of a specific Kubernetes resource
112
- - List Kubernetes resources
116
+ - Get details of a specific Kubernetes resource*
117
+ - List Kubernetes resources*
118
+ - List Kubernetes resource misconfiguration policies*
113
119
 
114
120
  - Threat Vector
115
- - List threat vectors
116
- - Get details of a specific threat vector
121
+ - List threat vectors*
122
+ - Get details of a specific threat vector*
123
+
124
+ - CVEs
125
+ - List CVEs
126
+ - Get details of a specific CVE
127
+ - Get latest 30 CVEs
128
+
129
+ `*` - requires authentication and account in Rad Security.
117
130
 
118
131
  ## Development
119
132
 
package/dist/client.js CHANGED
@@ -12,13 +12,10 @@ export class RadSecurityClient {
12
12
  this.accountId = accountId;
13
13
  }
14
14
  static fromEnv() {
15
- const accessKeyId = process.env.RAD_SECURITY_ACCESS_KEY_ID;
16
- const secretKey = process.env.RAD_SECURITY_SECRET_KEY;
17
- const accountId = process.env.RAD_SECURITY_ACCOUNT_ID;
15
+ const accessKeyId = process.env.RAD_SECURITY_ACCESS_KEY_ID || "";
16
+ const secretKey = process.env.RAD_SECURITY_SECRET_KEY || "";
17
+ const accountId = process.env.RAD_SECURITY_ACCOUNT_ID || "";
18
18
  const baseUrl = process.env.RAD_SECURITY_API_URL || "https://api.rad.security";
19
- if (!accessKeyId || !secretKey || !accountId) {
20
- throw new Error("RAD_SECURITY_ACCESS_KEY_ID, RAD_SECURITY_SECRET_KEY, and RAD_SECURITY_ACCOUNT_ID must be set");
21
- }
22
19
  return new RadSecurityClient(accessKeyId, secretKey, baseUrl, accountId);
23
20
  }
24
21
  isTokenValid() {
@@ -34,6 +31,10 @@ export class RadSecurityClient {
34
31
  return this.accountId;
35
32
  }
36
33
  async getToken() {
34
+ if (!this.accessKeyId || !this.secretKey || !this.accountId) {
35
+ throw new Error("You can't access the Rad Security API without setting the RAD_SECURITY_ACCESS_KEY_ID, RAD_SECURITY_SECRET_KEY, " +
36
+ "and RAD_SECURITY_ACCOUNT_ID environment variables. Only few operations are available without authentication.");
37
+ }
37
38
  if (this.isTokenValid()) {
38
39
  return this.tokenCache.token;
39
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -20,6 +20,7 @@ import * as runtime from "./operations/runtime.js";
20
20
  import * as runtimeNetwork from "./operations/runtime_network.js";
21
21
  import * as threats from "./operations/threats.js";
22
22
  import * as findings from "./operations/findings.js";
23
+ import * as cves from "./operations/cves.js";
23
24
  import { VERSION } from "./version.js";
24
25
  async function newServer() {
25
26
  const client = RadSecurityClient.fromEnv();
@@ -140,6 +141,11 @@ async function newServer() {
140
141
  description: "Get detailed information about a specific Kubernetes resource misconfiguration",
141
142
  inputSchema: zodToJsonSchema(misconfigs.GetKubernetesResourceMisconfigurationDetailsSchema),
142
143
  },
144
+ {
145
+ name: "list_k8s_resource_misconfig_policies",
146
+ description: "List available misconfiguration policies used by RAD Security to detect Kubernetes resource misconfigurations",
147
+ inputSchema: zodToJsonSchema(misconfigs.ListKubernetesResourceMisconfigurationPoliciesSchema),
148
+ },
143
149
  // Runtime tools
144
150
  {
145
151
  name: "get_containers_process_trees",
@@ -189,6 +195,34 @@ async function newServer() {
189
195
  description: "Update the status of a security finding",
190
196
  inputSchema: zodToJsonSchema(findings.updateFindingStatusSchema),
191
197
  },
198
+ // CVE tools
199
+ {
200
+ name: "list_cve_vendors",
201
+ description: "Get a list of all vendors in the CVE database. Source: cve-search.org",
202
+ inputSchema: zodToJsonSchema(z.object({})),
203
+ },
204
+ {
205
+ name: "list_cve_products",
206
+ description: "Get a list of all products associated with a vendor in the CVE database. Source: cve-search.org",
207
+ inputSchema: zodToJsonSchema(z.object({
208
+ vendor: z.string().describe("Vendor name to list products for")
209
+ })),
210
+ },
211
+ {
212
+ name: "search_cves",
213
+ description: "Search CVEs by vendor and optionally product. Source: cve-search.org",
214
+ inputSchema: zodToJsonSchema(cves.searchCvesSchema),
215
+ },
216
+ {
217
+ name: "get_cve",
218
+ description: "Get details for a specific CVE ID. Source: cve-search.org",
219
+ inputSchema: zodToJsonSchema(cves.getCveSchema),
220
+ },
221
+ {
222
+ name: "get_latest_30_cves",
223
+ description: "Get the latest/newest 30 CVEs including CAPEC, CWE and CPE expansions. Source: cve-search.org",
224
+ inputSchema: zodToJsonSchema(z.object({})),
225
+ },
192
226
  ],
193
227
  };
194
228
  });
@@ -339,6 +373,12 @@ async function newServer() {
339
373
  content: [{ type: "text", text: JSON.stringify(response, null, 2) }],
340
374
  };
341
375
  }
376
+ case "list_k8s_resource_misconfig_policies": {
377
+ const response = await misconfigs.listKubernetesResourceMisconfigurationPolicies();
378
+ return {
379
+ content: [{ type: "text", text: JSON.stringify(response, null, 2) }],
380
+ };
381
+ }
342
382
  // Runtime tools
343
383
  case "get_containers_process_trees": {
344
384
  const args = runtime.GetContainersProcessTreesSchema.parse(request.params.arguments);
@@ -406,6 +446,42 @@ async function newServer() {
406
446
  content: [{ type: "text", text: JSON.stringify({ success: true, message: `Finding ${args.id} status updated to ${args.status}` }, null, 2) }],
407
447
  };
408
448
  }
449
+ // CVE tools
450
+ case "list_cve_vendors": {
451
+ const response = await cves.listCveVendors();
452
+ return {
453
+ content: [{ type: "text", text: JSON.stringify(response, null, 2) }],
454
+ };
455
+ }
456
+ case "list_cve_products": {
457
+ const args = z.object({
458
+ vendor: z.string()
459
+ }).parse(request.params.arguments);
460
+ const response = await cves.listCveProducts(args.vendor);
461
+ return {
462
+ content: [{ type: "text", text: JSON.stringify(response, null, 2) }],
463
+ };
464
+ }
465
+ case "search_cves": {
466
+ const args = cves.searchCvesSchema.parse(request.params.arguments);
467
+ const response = await cves.searchCves(args.vendor, args.product);
468
+ return {
469
+ content: [{ type: "text", text: JSON.stringify(response, null, 2) }],
470
+ };
471
+ }
472
+ case "get_cve": {
473
+ const args = cves.getCveSchema.parse(request.params.arguments);
474
+ const response = await cves.getCve(args.cveId);
475
+ return {
476
+ content: [{ type: "text", text: JSON.stringify(response, null, 2) }],
477
+ };
478
+ }
479
+ case "get_latest_30_cves": {
480
+ const response = await cves.getLatest30Cves();
481
+ return {
482
+ content: [{ type: "text", text: JSON.stringify(response, null, 2) }],
483
+ };
484
+ }
409
485
  default:
410
486
  throw new Error(`Unknown tool: ${toolName}`);
411
487
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { z } from "zod";
2
+ export declare const getCveSchema: z.ZodObject<{
3
+ cveId: z.ZodString;
4
+ }, "strip", z.ZodTypeAny, {
5
+ cveId: string;
6
+ }, {
7
+ cveId: string;
8
+ }>;
9
+ export declare const searchCvesSchema: z.ZodObject<{
10
+ vendor: z.ZodString;
11
+ product: z.ZodOptional<z.ZodString>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ vendor: string;
14
+ product?: string | undefined;
15
+ }, {
16
+ vendor: string;
17
+ product?: string | undefined;
18
+ }>;
19
+ export declare function listCveVendors(): Promise<any>;
20
+ export declare function listCveProducts(vendor: string): Promise<any>;
21
+ export declare function searchCves(vendor: string, product?: string): Promise<any>;
22
+ export declare function getCve(cveId: string): Promise<any>;
23
+ export declare function getLatest30Cves(): Promise<any>;
@@ -0,0 +1,51 @@
1
+ import { z } from "zod";
2
+ // Base URL for the CVE Search API
3
+ const BASE_URL = "https://cve.circl.lu/api";
4
+ // Input schemas
5
+ export const getCveSchema = z.object({
6
+ cveId: z.string().describe("CVE ID to retrieve information for"),
7
+ });
8
+ export const searchCvesSchema = z.object({
9
+ vendor: z.string().describe("Vendor name to search for"),
10
+ product: z.string().optional().describe("Product name to search for"),
11
+ });
12
+ // Main functions
13
+ export async function listCveVendors() {
14
+ const response = await fetch(`${BASE_URL}/browse`);
15
+ if (!response.ok) {
16
+ throw new Error(`Failed to list vendors: ${response.statusText}`);
17
+ }
18
+ return response.json();
19
+ }
20
+ export async function listCveProducts(vendor) {
21
+ const response = await fetch(`${BASE_URL}/browse/${encodeURIComponent(vendor)}`);
22
+ if (!response.ok) {
23
+ throw new Error(`Failed to list products for vendor ${vendor}: ${response.statusText}`);
24
+ }
25
+ return response.json();
26
+ }
27
+ export async function searchCves(vendor, product) {
28
+ const url = product
29
+ ? `${BASE_URL}/search/${encodeURIComponent(vendor)}/${encodeURIComponent(product)}`
30
+ : `${BASE_URL}/search/${encodeURIComponent(vendor)}`;
31
+ const response = await fetch(url);
32
+ if (!response.ok) {
33
+ throw new Error(`Failed to search CVEs: ${response.statusText}`);
34
+ }
35
+ return response.json();
36
+ }
37
+ export async function getCve(cveId) {
38
+ const response = await fetch(`${BASE_URL}/cve/${encodeURIComponent(cveId)}`);
39
+ if (!response.ok) {
40
+ throw new Error(`Failed to get CVE ${cveId}: ${response.statusText}`);
41
+ }
42
+ return response.json();
43
+ }
44
+ export async function getLatest30Cves() {
45
+ const response = await fetch(`${BASE_URL}/last`);
46
+ if (!response.ok) {
47
+ throw new Error(`Failed to get last CVEs: ${response.statusText}`);
48
+ }
49
+ return response.json();
50
+ }
51
+ //# sourceMappingURL=cves.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cves.js","sourceRoot":"","sources":["../../src/operations/cves.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kCAAkC;AAClC,MAAM,QAAQ,GAAG,0BAA0B,CAAC;AAE5C,gBAAgB;AAChB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CACjE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACxD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;CACtE,CAAC,CAAC;AAEH,iBAAiB;AACjB,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,SAAS,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAc;IAClD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,WAAW,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAc,EAAE,OAAgB;IAC/D,MAAM,GAAG,GAAG,OAAO;QACjB,CAAC,CAAC,GAAG,QAAQ,WAAW,kBAAkB,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE;QACnF,CAAC,CAAC,GAAG,QAAQ,WAAW,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;IAEvD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,KAAa;IACxC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,QAAQ,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC"}
@@ -17,5 +17,7 @@ export declare const GetKubernetesResourceMisconfigurationDetailsSchema: z.ZodOb
17
17
  cluster_id: string;
18
18
  misconfig_id: string;
19
19
  }>;
20
+ export declare const ListKubernetesResourceMisconfigurationPoliciesSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
20
21
  export declare function listKubernetesResourceMisconfigurations(client: RadSecurityClient, resourceUid: string): Promise<any>;
21
22
  export declare function getKubernetesResourceMisconfigurationDetails(client: RadSecurityClient, clusterId: string, misconfigId: string): Promise<any>;
23
+ export declare function listKubernetesResourceMisconfigurationPolicies(): Promise<any>;
@@ -6,6 +6,9 @@ export const GetKubernetesResourceMisconfigurationDetailsSchema = z.object({
6
6
  cluster_id: z.string().describe("ID of the cluster to get misconfiguration for"),
7
7
  misconfig_id: z.string().describe("ID of the misconfiguration to get details for"),
8
8
  });
9
+ export const ListKubernetesResourceMisconfigurationPoliciesSchema = z.object({
10
+ // Empty schema as the function doesn't take parameters
11
+ }).describe("Get a list of available misconfiguration policies");
9
12
  export async function listKubernetesResourceMisconfigurations(client, resourceUid) {
10
13
  const misconfigs = await client.makeRequest(`/accounts/${client.getAccountId()}/misconfig`, { kubeobject_uids: resourceUid, page_size: 50 });
11
14
  // deduplicate the list based on field "guard_policy.human_id"
@@ -33,4 +36,271 @@ export async function getKubernetesResourceMisconfigurationDetails(client, clust
33
36
  }
34
37
  return response;
35
38
  }
39
+ export async function listKubernetesResourceMisconfigurationPolicies() {
40
+ const policies = [
41
+ {
42
+ id: "RAD-K8S-KUBELET-HTTPS",
43
+ title: "Kubelet has unencrypted communications",
44
+ description: "Connections from the apiserver to the kubelet(s) could potentially carry sensitive data such as secrets and keys. It is thus important to use in-transit encryption for any communication between the apiserver and kubelet(s). Kubelet containers found with --kubelet-https set to false should be set to true for in-transit encryption for any communication between the apiserver and kubelet(s).",
45
+ },
46
+ {
47
+ id: "RAD-K8S-PRIVILEGED-CONTAINERS",
48
+ title: "Container(s) set to run in privileged context",
49
+ description: "Privileged containers have all of the root capabilities of a host machine, allowing access to resources that are not accessible in ordinary containers. Common uses of privileged containers include: running a Docker daemon inside a Docker container, running a container with direct hardware access, and automating CI/CD tasks. Containers discovered where securityContext.privileged is set to true should be set to false.",
50
+ },
51
+ {
52
+ id: "RAD-K8S-RUNNING-AS-ROOT",
53
+ title: "Container(s) set to run as root",
54
+ description: "A workload is running as the root user which typically has excessive permissions on the host operating system. Containers should reduce permissions to only what is necessary and nothing more. Containers discovered where securityContext.runAsNonRoot is not set to true or securityContext.runAsUser is not > 0 should have securityContext.runAsUser set to 10000 or higher.",
55
+ },
56
+ {
57
+ id: "RAD-K8S-READONLY-FILESYSTEM",
58
+ title: "A read-only root filesystem is not being used for the container(s)",
59
+ description: "A read-only root filesystem helps to enforce an immutable infrastructure strategy. The container should only write on mounted volumes that can persist, even if the container exits. Containers discovered where securityContext.readOnlyRootFilesystem was not set as true should be set as true.",
60
+ },
61
+ {
62
+ id: "RAD-K8S-RUN-AS-HIGH-UID",
63
+ title: "Container(s) not running with a high UID",
64
+ description: "To prevent privilege-escalation attacks from within a container, we recommend that you configure your container's applications to run as unprivileged users. Ensuring containers run with a UID over 10000 avoids host conflicts and can stop a malicious process from elevating privileges outside of a given namespace. Containers discovered where securityContext.runAsUser not set > 10000 should be set > 10000.",
65
+ },
66
+ {
67
+ id: "RAD-K8S-PRIV-ESC",
68
+ title: "Container(s) allow privilege escalation",
69
+ description: "The AllowPrivilegeEscalation Pod Security Policy controls whether or not a user is allowed to set the security context of a container to True. Setting it to False ensures that no child process of a container can gain more privileges than its parent. Containers discovered where securityContext.allowPrivilegeEscalation is set as true should be set as false.",
70
+ },
71
+ {
72
+ id: "RAD-K8S-IMAGE-LATEST",
73
+ title: "Container(s) image tag is set to latest",
74
+ description: "The :latest tag is used to indicate that the image is the latest version of the image. This tag is not recommended for use in production as it is more difficult to track the exact version of the image running. Containers discovered where image is set as latest should be set as a specific version and update them when new versions are available that have been evaluated for security and application compatibility.",
75
+ },
76
+ {
77
+ id: "RAD-K8S-CPU-REQUESTS",
78
+ title: "Minimum CPU resources are not set for container(s)",
79
+ description: "Without setting requests CPU for containers, containers may not have enough CPU resources to run. Containers discovered where resources.requests.cpu is not set should be set so that container is guaranteed to be allocated as much CPU as it requests.",
80
+ },
81
+ {
82
+ id: "RAD-K8S-MEM-LIMIT",
83
+ title: "Memory limits are not set for container(s)",
84
+ description: "Without setting memory limits for containers, containers may use more than the expected amount of memory. This may cause cluster-wide performance degradation issues or even complete failures. Containers discovered where resources.limits.memory is not set.",
85
+ },
86
+ {
87
+ id: "RAD-K8S-CPU-LIMIT",
88
+ title: "CPU limits are not set for container(s)",
89
+ description: "Without setting CPU limits for containers, containers may use more than the expected amount of CPU. This may cause cluster-wide performance degradation issues or even complete failures. Remediation: Containers were discovered where resources.limits.cpu is not set. Set container resources.limits.cpu limits for all containers.",
90
+ },
91
+ {
92
+ id: "RAD-K8S-CAP-SYSADMIN",
93
+ title: "CAP_SYS_ADMIN Linux capability is in use in container(s)",
94
+ description: "Certain Linux capabilities can grant root-level access to the host. CAP_SYS_ADMIN is extremely privileged and should be avoided when possible. Containers discovered where securityContext.capabilities.add include SYS_ADMIN should have it removed.",
95
+ },
96
+ {
97
+ id: "RAD-K8S-HOST-PID",
98
+ title: "Host PID flag set to true in container(s)",
99
+ description: "Do not generally permit containers to be run with the hostPID flag set to true. Containers were discovered where spec.template.spec.hostPID was set to true. Set them to false.",
100
+ },
101
+ {
102
+ id: "RAD-K8S-HOST-IPC",
103
+ title: "hostIPC flag set to true in container(s)",
104
+ description: "Do not generally permit containers to be run with the hostIPC flag set to true. Containers were discovered where spec.template.spec.hostIPC was set to true. Set them to false.",
105
+ },
106
+ {
107
+ id: "RAD-K8S-HOST-NETWORK",
108
+ title: "hostNetwork flag set to true",
109
+ description: "Do not generally permit containers to be run with the hostNetwork flag set to true. Containers were discovered where spec.template.spec.hostNetwork was set to true. Set them to false.",
110
+ },
111
+ {
112
+ id: "RAD-K8S-NET-RAW",
113
+ title: "NET_RAW capability detected in container(s)",
114
+ description: "Do not generally permit containers with the potentially dangerous NET_RAW capability. Containers were discovered where securityContext.capabilities.add included NET_RAW or ALL. Remove NET_RAW and ALL from all container securityContext.capabilities.add lists.",
115
+ },
116
+ {
117
+ id: "RAD-K8S-SECCOMP-PROFILE",
118
+ title: "seccompProfile not included in container(s)",
119
+ description: "Ensure that there is a seccomp profile in your pod and/or container definitions. Containers were discovered where securityContext.seccompProfile was not included or misconfigured. Include a securityContext.seccompProfile definition for all containers and preferrably use type Local with a local host profile.",
120
+ },
121
+ {
122
+ id: "RAD-K8S-KUBEAPI-AUDIT-LOG-PATH",
123
+ title: "audit-log-path not set in kube-apiserver container",
124
+ description: "Exporting logs and metrics to a dedicated, persistent datastore ensures availability of audit data following a cluster security event, and provides a central location for analysis of log and metric data collated from multiple sources. Remediation: Container kube-apiserver command kube-apiserver list does not include --audit-log-path path. Add a path to .log file path in command --audit-log-path in kube-apiserver container.",
125
+ },
126
+ {
127
+ id: "RAD-K8S-KUBEAPI-AUDIT-POLICY-FILE-PATH",
128
+ title: "audit-policy-file path not set in kube-apiserver container",
129
+ description: "Exporting logs and metrics to a dedicated, persistent datastore ensures availability of audit data following a cluster security event, and provides a central location for analysis of log and metric data collated from multiple sources.Container kube-apiserver command kube-apiserver list does not include --audit-policy-file path. Add a path to policy yaml file path in command --audit-policy-file in kube-apiserver container.",
130
+ },
131
+ {
132
+ id: "RAD-K8S-KUBEAPI-AUDIT-LOG-MAXAGE",
133
+ title: "audit-log-maxage not set in kube-apiserver container",
134
+ description: "Exporting logs and metrics to a dedicated, persistent datastore ensures availability of audit data following a cluster security event, and provides a central location for analysis of log and metric data collated from multiple sources.Container kube-apiserver command kube-apiserver list does not include --audit-log-maxage setting. Add a setting in command --audit-log-maxage in kube-apiserver container.",
135
+ },
136
+ {
137
+ id: "RAD-K8S-KUBEAPI-AUDIT-LOG-MAXBACKUP",
138
+ title: "audit-log-maxbackup not set in kube-apiserver container",
139
+ description: "Exporting logs and metrics to a dedicated, persistent datastore ensures availability of audit data following a cluster security event, and provides a central location for analysis of log and metric data collated from multiple sources.Container kube-apiserver command kube-apiserver list does not include --audit-log-maxbackup setting. Add a setting in command --audit-log-maxbackup in kube-apiserver container.",
140
+ },
141
+ {
142
+ id: "RAD-K8S-KUBEAPI-AUDIT-LOG-MAXSIZE",
143
+ title: "audit-log-maxsize not set in kube-apiserver container",
144
+ description: "Exporting logs and metrics to a dedicated, persistent datastore ensures availability of audit data following a cluster security event, and provides a central location for analysis of log and metric data collated from multiple sources.Container kube-apiserver command kube-apiserver list does not include --audit-log-maxsize setting. Add a setting in command --audit-log-maxsize in kube-apiserver container.",
145
+ },
146
+ {
147
+ id: "RAD-K8S-ROLE-CLUSTERADMIN",
148
+ title: "Ensure that the cluster-admin role is only used where required",
149
+ description: "The RBAC role cluster-admin provides wide-ranging powers over the environment and should be used only where and when needed. Unbind cluster-admin from all service accounts unless absolutely needed.",
150
+ },
151
+ {
152
+ id: "RAD-K8S-SECRETS-ACCESS",
153
+ title: "Minimize access to secrets",
154
+ description: "The Kubernetes API stores secrets, which may be service account tokens for the Kubernetes API or credentials used by workloads in the cluster. Access to these secrets should be restricted to the smallest possible group of users to reduce the risk of privilege escalation. Remove the verbs 'get', 'list', and 'watch' for all Role and ClusterRole 'secrets' resources.",
155
+ },
156
+ {
157
+ id: "RAD-K8S-WILDCARD-APIGROUPS",
158
+ title: "Minimize wildcard use in Roles and ClusterRoles:ApiGroups",
159
+ description: "Kubernetes Roles and ClusterRoles provide access to resources based on sets of objects and actions that can be taken on those objects. It is possible to set either of these to be the wildcard \"*\" which matches all items. Use of wildcards is not optimal from a security perspective as it may allow for inadvertent access to be granted when new resources are added to the Kubernetes API either as CRDs or in later versions of the product.Remediation: Remove wildcards in Role and ClusterRole apiGroups.",
160
+ },
161
+ {
162
+ id: "RAD-K8S-WILDCARD-RESOURCES",
163
+ title: "Minimize wildcard use in Roles and ClusterRoles:Resources",
164
+ description: "Kubernetes Roles and ClusterRoles provide access to resources based on sets of objects and actions that can be taken on those objects. It is possible to set either of these to be the wildcard \"*\" which matches all items. Use of wildcards is not optimal from a security perspective as it may allow for inadvertent access to be granted when new resources are added to the Kubernetes API either as CRDs or in later versions of the product. Remove wildcards in Role and ClusterRole resources.",
165
+ },
166
+ {
167
+ id: "RAD-K8S-WILDCARD-VERBS",
168
+ title: "Minimize wildcard use in Roles and ClusterRoles:Verbs",
169
+ description: "Kubernetes Roles and ClusterRoles provide access to resources based on sets of objects and actions that can be taken on those objects. It is possible to set either of these to be the wildcard \"*\" which matches all items. Use of wildcards is not optimal from a security perspective as it may allow for inadvertent access to be granted when new resources are added to the Kubernetes API either as CRDs or in later versions of the product. Remediation: Remove wildcards in Role and ClusterRole verbs.",
170
+ },
171
+ {
172
+ id: "RAD-K8S-CREATE-PODS",
173
+ title: "Minimize access to create pods",
174
+ description: "The ability to create pods in a namespace can provide a number of opportunities for privilege escalation, such as assigning privileged service accounts to these pods or mounting hostPaths with access to sensitive data (unless Pod Security Policies are implemented to restrict this access). As such, access to create new pods should be restricted to the smallest possible group of users. Remediation: Remove verb 'create' for resources 'pods' in Role and ClusterRole definitions unless absolutely necessary.",
175
+ },
176
+ {
177
+ id: "RAD-K8S-DEFAULT-SERVICEACCOUNT",
178
+ title: "Ensure that default service accounts are not actively used.",
179
+ description: "The default service account should not be used to ensure that rights granted to applications can be more easily audited and reviewed. Remediation: Remove kind 'ServiceAccount' with name 'default' from RoleBinding subjects except when absolutely needed.",
180
+ },
181
+ {
182
+ id: "RAD-K8S-SERVICEACCOUNTTOKEN-MOUNTED",
183
+ title: "Ensure that service account tokens are only mounted where necessary",
184
+ description: "Service accounts tokens should not be mounted in pods except where the workload running in the pod explicitly needs to communicate with the API server. Remediation: Remove kind 'ServiceAccount' with name 'default' from RoleBinding subjects except when absolutely needed.",
185
+ },
186
+ {
187
+ id: "RAD-K8S-SERVICEACCOUNTTOKEN-MOUNTED-POD",
188
+ title: "Ensure that Service Account Tokens are only mounted where necessary in Pods",
189
+ description: "Service accounts tokens should not be mounted in pods except where the workload running in the pod explicitly needs to communicate with the API server. Remediation: ServiceAccount automountServiceAccountToken found not set to false. Service accounts tokens should not be mounted in pods except where the workload running in the pod explicitly needs to communicate with the API server.",
190
+ },
191
+ {
192
+ id: "RAD-K8S-CAPABILITIES-ADDED",
193
+ title: "Container(s) running with added capabilities",
194
+ description: "Do not generally permit containers with capabilities assigned beyond the default set. Remediation: Containers were discovered with added capabilities in 'securityContext.capabilities.add'. Remove 'securityContext.capabilities.add' from all containers unless explicitly needed. In such cases, limit the added capabilities.",
195
+ },
196
+ {
197
+ id: "RAD-K8S-CAPABILITIES-DROPALL",
198
+ title: "Container(s) running without capabilities.drop set to all",
199
+ description: "Containers run with a default set of capabilities as assigned by the Container Runtime. Capabilities are parts of the rights generally granted on a Linux system to the root user. In many cases applications running in containers do not require any capabilities to operate, so from the perspective of the principle of least privilege use of capabilities should be minimized. Remediation: Containers were discovered without 'securityContext.capabilities.drop' explicitly set with 'ALL'. Add 'securityContext.capabilities.drop' with value 'ALL' to all containers whenever possible.",
200
+ },
201
+ {
202
+ id: "RAD-K8S-SECRETS_ENV-VAR",
203
+ title: "Prefer using secrets as files over secrets as environment variables",
204
+ description: "It is reasonably common for application code to log out its environment (particularly in the event of an error). This will include any secret values passed in as environment variables, so secrets can easily be exposed to any user or entity who has access to the logs. Remediation: Containers were discovered that include secret keys as environment in container.env.valueFrom.secretKeyRef.name and container.env.valueFrom.secretKeyRef.key values. They should be removed from all containers and replaceed with secrets used as files.",
205
+ },
206
+ {
207
+ id: "RAD-K8S-SECURITYCONTEXT",
208
+ title: "Container(s) running without defined securityContext",
209
+ description: "A security context defines the operating system security settings (uid, gid, capabilities, SELinux role, etc..) applied to a container. When designing your containers and pods, make sure that you configure the security context for your pods, containers, and volumes. A security context is a property defined in the deployment yaml. It controls the security parameters that will be assigned to the pod/container/volume. There are two levels of security context: pod level security context, and container level security context. Remediation: Containers were discovered that did not include container.securityContext settings. Add container.securityContext settings to all containers.",
210
+ },
211
+ {
212
+ id: "RAD-K8S-SECURITYCONTEXT-POD",
213
+ title: "Pod running without defined securityContext",
214
+ description: "A security context defines the operating system security settings (uid, gid, capabilities, SELinux role, etc..) applied to a container. When designing your containers and pods, make sure that you configure the security context for your pods, containers, and volumes. A security context is a property defined in the deployment yaml. It controls the security parameters that will be assigned to the pod/container/volume. There are two levels of security context: pod level security context, and container level security context. Remediation: Pods were discovered that did not include spec.securityContext settings. Add spec.securityContext settings to all pods.",
215
+ },
216
+ {
217
+ id: "RAD-K8S-NAMESPACE-DEFAULT",
218
+ title: "Workload running in default namespace",
219
+ description: "Kubernetes provides a default namespace, where objects are placed if no namespace is specified for them. Placing objects in this namespace makes application of RBAC and other controls more difficult. Remediation: Workloads and/or Pods were discovered missing metadata.namespace setting or with metadata.namespace set as 'default'. Workloads and Pods should have metadata.namespace explicitly set to a namespace other than 'default'.",
220
+ },
221
+ {
222
+ id: "RAD-K8S-PERMISSIONS-ESCALATION",
223
+ title: "Limit use of the Bind, Impersonate and Escalate permissions in the Kubernetes cluster",
224
+ description: "Cluster roles and roles with the impersonate, bind or escalate permissions should not be granted unless strictly required. Each of these permissions allow a particular subject to escalate their privileges beyond those explicitly granted by cluster administrators. Remediation: Role or ClusterRole rule.verbs include one or more of the verbs 'impersonate', 'bind', 'escalate', or '*'. Remove these verbs from Role and ClusterRole rule.verbs unless explicitely needed.",
225
+ },
226
+ {
227
+ id: "RAD-K8S-HOSTPATH-VOLUME",
228
+ title: "Minimize the admission of hostPath volumes",
229
+ description: "Do not generally admit containers which make use of hostPath volumes. Remediation: Containers found with container.volume mount with volume.hostPath set. Avoid the use of containers with hostpath volumes.",
230
+ },
231
+ {
232
+ id: "RAD-K8S-HOSTPORT",
233
+ title: "Minimize the admission of containers which use hostPort",
234
+ description: "Do not generally permit containers which require the use of HostPorts. Remediation: Containers found with container.hostPort set. Avoid the use of containers with hostPort set.",
235
+ },
236
+ {
237
+ id: "RAD-K8S-KUBEAPISERVER-INSECURE-PORT",
238
+ title: "Kubernetes API server running with insecure-port set to non-zero value",
239
+ description: "By default, the API server will listen on two ports. One port is the secure port and the other port is called the \"localhost port\". This port is also called the \"insecure port\", port 8080. Any requests to this port bypass authentication and authorization checks. If this port is left open, anyone who gains access to the host on which the master is running can bypass all authorization and authentication mechanisms put in place, and have full control over the entire cluster. Close the insecure port by setting the API server's --insecure-port flag to \"0\", ensuring that the --insecure-bind-address is not set. Remediation: kube-apiserver container found with --insecure-port set. It should be set with --insecure-port=0 to avoid authorization and authentication bypassing.",
240
+ },
241
+ {
242
+ id: "RAD-K8S-KUBEAPISERVER-INSECURE-BINDADDRESS",
243
+ title: "Kubernetes API server running with insecure-bind-address set",
244
+ description: "By default, the API server will listen on two ports and addresses. One address is the secure address and the other address is called the \"insecure bind\" address and is set by default to localhost. Any requests to this address bypass authentication and authorization checks. If this insecure bind address is set to localhost, anyone who gains access to the host on which the master is running can bypass all authorization and authentication mechanisms put in place and have full control over the entire cluster. Close or set the insecure bind address by setting the API server's --insecure-bind-address flag to an IP or leave it unset and ensure that the --insecure-port is not set. Remediation: kube-apiserver container found with --insecure-bind-address set. It should be unset avoid authorization and authentication bypassing.",
245
+ },
246
+ {
247
+ id: "RAD-K8S-KUBELET-ANONYMOUSAUTH",
248
+ title: "Kubernetes API server running with anonymous-auth enabled",
249
+ description: "The Kubernetes API Server controls Kubernetes via an API interface. A user who has access to the API essentially has root access to the entire Kubernetes cluster. To control access, users must be authenticated and authorized. By allowing anonymous connections, the controls put in place to secure the API can be bypassed. Setting anonymous authentication to 'false' also disables unauthenticated requests from kubelets. While there are instances where anonymous connections may be needed (e.g., health checks) and Role-Based Access Controls (RBAC) are in place to limit the anonymous access, this access should be disabled, and only enabled when necessary. Remediation: kublet container found with --anonymous-auth set to true. It should be set to false to disable unauthenticated request from kubelets.",
250
+ },
251
+ {
252
+ id: "RAD-K8S-DASHBOARD",
253
+ title: "Kubernetes dashboard is enabled",
254
+ description: "The Kubernetes Web UI (Dashboard) has been a historical source of vulnerability and should only be deployed when necessary. Remediation: kubernetes-dashboard container found. It should not be deployed unless necessary.",
255
+ },
256
+ {
257
+ id: "RAD-K8S-AUDITPOLICY-OMITSTAGES-GLOBAL",
258
+ title: "Kubernetes API Server must generate verbose audit records:OmitStagesGlobal",
259
+ description: "Within Kubernetes, audit data for all components is generated by the API server. This audit data is important when there are issues, to include security incidents that must be investigated. To make the audit data worthwhile for the investigation of events, it is necessary to have the appropriate and required data logged. To fully understand the event, it is important to identify any users associated with the event. There should be a single audit policy rule set with level RequestResponse. Remediation: Audit policy found with global omitStages set. There should be a single audit policy rule set with level RequestResponse for all resources without omitStages.",
260
+ },
261
+ {
262
+ id: "RAD-K8S-AUDITPOLICY-OMITSTAGES",
263
+ title: "Kubernetes API Server must generate verbose audit records:OmitStages",
264
+ description: "Within Kubernetes, audit data for all components is generated by the API server. This audit data is important when there are issues, to include security incidents that must be investigated. To make the audit data worthwhile for the investigation of events, it is necessary to have the appropriate and required data logged. To fully understand the event, it is important to identify any users associated with the event. There should be a single audit policy rule set with level RequestResponse. Remediation: Audit policy found with omitStages set. There should be a single audit policy rule set with level RequestResponse for all resources without omitStages.",
265
+ },
266
+ {
267
+ id: "RAD-K8S-AUDITPOLICY-SPECIFIED-RESOURCES",
268
+ title: "Kubernetes API Server must generate verbose audit records:SpecifiedResources",
269
+ description: "Within Kubernetes, audit data for all components is generated by the API server. This audit data is important when there are issues, to include security incidents that must be investigated. To make the audit data worthwhile for the investigation of events, it is necessary to have the appropriate and required data logged. To fully understand the event, it is important to identify any users associated with the event. There should be a single audit policy rule set with level RequestResponse. Remediation: Audit policy found with resources set. There should be a single audit policy rule set with level RequestResponse for all resources without omitStages.",
270
+ },
271
+ {
272
+ id: "RAD-K8S-AUDITPOLICY-REQUESTRESPONSE",
273
+ title: "Kubernetes API Server must generate verbose audit records:UnsetRequestResponse",
274
+ description: "Within Kubernetes, audit data for all components is generated by the API server. This audit data is important when there are issues, to include security incidents that must be investigated. To make the audit data worthwhile for the investigation of events, it is necessary to have the appropriate and required data logged. To fully understand the event, it is important to identify any users associated with the event. There should be a single audit policy rule set with level RequestResponse. Remediation: Audit policy found without level RequestResponse set. There should be a single audit policy rule set with level RequestResponse for all resources without omitStages.",
275
+ },
276
+ {
277
+ id: "RAD-K8S-KUBEAPISERVER-REDIRECT-CVE-2022-3172",
278
+ title: "Kubernetes API server susceptible to CVE-2022-3172",
279
+ description: "CVE-2022-3172: A security issue was discovered in kube-apiserver that allows an aggregated API server to redirect client traffic to any URL. This could lead to the client performing unexpected actions as well as forwarding the client's API server credentials to third parties. Remediation: Upgrade to the latest version of kube-apiserver.",
280
+ },
281
+ {
282
+ id: "RAD-K8S-MEM-REQUESTS",
283
+ title: "Minimum memory resources are not set for container(s)",
284
+ description: "Without setting requests memory for containers, containers may not have enough memory resources to run. Remediation: Containers were discovered where resources.requests.memory is not set. Set container resources.requests.memory for all containers.",
285
+ },
286
+ {
287
+ id: "RAD-K8S-IMAGE-PULLPOLICY",
288
+ title: "Container(s) image imagePullPolicy",
289
+ description: "The Image Pull Policy should be set to Always to ensure the correct image and imagePullSecrets. Remediation: Containers were discovered where imagePullPolicy is not set to Always. Set container imagePullPolicy=\"Always\".",
290
+ },
291
+ {
292
+ id: "RAD-K8S-SYSTEM-MASTERS",
293
+ title: "Limit access to group system:masters",
294
+ description: "The special group system:masters should not be used to grant permissions to any user or service account, except where strictly necessary (e.g. bootstrapping access prior to RBAC being fully available)",
295
+ },
296
+ ];
297
+ return {
298
+ entries: policies,
299
+ size: policies.length,
300
+ has_more: false,
301
+ metadata: {
302
+ total_count: policies.length,
303
+ },
304
+ };
305
+ }
36
306
  //# sourceMappingURL=misconfigs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"misconfigs.js","sourceRoot":"","sources":["../../src/operations/misconfigs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,6CAA6C,GAAG,CAAC,CAAC,MAAM,CAAC;IACpE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;CAC1F,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kDAAkD,GAAG,CAAC,CAAC,MAAM,CAAC;IACzE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IAChF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CACnF,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,uCAAuC,CAC3D,MAAyB,EACzB,WAAmB;IAEnB,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,WAAW,CACzC,aAAa,MAAM,CAAC,YAAY,EAAE,YAAY,EAC9C,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,CAChD,CAAC;IAEF,8DAA8D;IAC9D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,KAAK;gBACnC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,QAAQ;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,UAAU,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC9B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4CAA4C,CAChE,MAAyB,EACzB,SAAiB,EACjB,WAAmB;IAEnB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CACvC,aAAa,MAAM,CAAC,YAAY,EAAE,aAAa,SAAS,cAAc,WAAW,EAAE,CACpF,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,WAAW,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"misconfigs.js","sourceRoot":"","sources":["../../src/operations/misconfigs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,6CAA6C,GAAG,CAAC,CAAC,MAAM,CAAC;IACpE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;CAC1F,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kDAAkD,GAAG,CAAC,CAAC,MAAM,CAAC;IACzE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IAChF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CACnF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oDAAoD,GAAG,CAAC,CAAC,MAAM,CAAC;AAC3E,uDAAuD;CACxD,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC;AAEjE,MAAM,CAAC,KAAK,UAAU,uCAAuC,CAC3D,MAAyB,EACzB,WAAmB;IAEnB,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,WAAW,CACzC,aAAa,MAAM,CAAC,YAAY,EAAE,YAAY,EAC9C,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,CAChD,CAAC;IAEF,8DAA8D;IAC9D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,KAAK;gBACnC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,QAAQ;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,UAAU,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC9B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4CAA4C,CAChE,MAAyB,EACzB,SAAiB,EACjB,WAAmB;IAEnB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CACvC,aAAa,MAAM,CAAC,YAAY,EAAE,aAAa,SAAS,cAAc,WAAW,EAAE,CACpF,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,WAAW,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8CAA8C;IAClE,MAAM,QAAQ,GAAG;QACf;YACE,EAAE,EAAE,uBAAuB;YAC3B,KAAK,EAAE,wCAAwC;YAC/C,WAAW,EACT,wYAAwY;SAC3Y;QACD;YACE,EAAE,EAAE,+BAA+B;YACnC,KAAK,EAAE,+CAA+C;YACtD,WAAW,EACT,qaAAqa;SACxa;QACD;YACE,EAAE,EAAE,yBAAyB;YAC7B,KAAK,EAAE,iCAAiC;YACxC,WAAW,EACT,mXAAmX;SACtX;QACD;YACE,EAAE,EAAE,6BAA6B;YACjC,KAAK,EAAE,oEAAoE;YAC3E,WAAW,EACT,oSAAoS;SACvS;QACD;YACE,EAAE,EAAE,yBAAyB;YAC7B,KAAK,EAAE,0CAA0C;YACjD,WAAW,EACT,wZAAwZ;SAC3Z;QACD;YACE,EAAE,EAAE,kBAAkB;YACtB,KAAK,EAAE,yCAAyC;YAChD,WAAW,EACT,uWAAuW;SAC1W;QACD;YACE,EAAE,EAAE,sBAAsB;YAC1B,KAAK,EAAE,yCAAyC;YAChD,WAAW,EACT,+ZAA+Z;SACla;QACD;YACE,EAAE,EAAE,sBAAsB;YAC1B,KAAK,EAAE,oDAAoD;YAC3D,WAAW,EACT,2PAA2P;SAC9P;QACD;YACE,EAAE,EAAE,mBAAmB;YACvB,KAAK,EAAE,4CAA4C;YACnD,WAAW,EACT,iQAAiQ;SACpQ;QACD;YACE,EAAE,EAAE,mBAAmB;YACvB,KAAK,EAAE,yCAAyC;YAChD,WAAW,EACT,wUAAwU;SAC3U;QACD;YACE,EAAE,EAAE,sBAAsB;YAC1B,KAAK,EAAE,0DAA0D;YACjE,WAAW,EACT,uPAAuP;SAC1P;QACD;YACE,EAAE,EAAE,kBAAkB;YACtB,KAAK,EAAE,2CAA2C;YAClD,WAAW,EACT,iLAAiL;SACpL;QACD;YACE,EAAE,EAAE,kBAAkB;YACtB,KAAK,EAAE,0CAA0C;YACjD,WAAW,EACT,iLAAiL;SACpL;QACD;YACE,EAAE,EAAE,sBAAsB;YAC1B,KAAK,EAAE,8BAA8B;YACrC,WAAW,EACT,yLAAyL;SAC5L;QACD;YACE,EAAE,EAAE,iBAAiB;YACrB,KAAK,EAAE,6CAA6C;YACpD,WAAW,EACT,oQAAoQ;SACvQ;QACD;YACE,EAAE,EAAE,yBAAyB;YAC7B,KAAK,EAAE,6CAA6C;YACpD,WAAW,EACT,sTAAsT;SACzT;QACD;YACE,EAAE,EAAE,gCAAgC;YACpC,KAAK,EAAE,oDAAoD;YAC3D,WAAW,EACT,4aAA4a;SAC/a;QACD;YACE,EAAE,EAAE,wCAAwC;YAC5C,KAAK,EAAE,4DAA4D;YACnE,WAAW,EACT,2aAA2a;SAC9a;QACD;YACE,EAAE,EAAE,kCAAkC;YACtC,KAAK,EAAE,sDAAsD;YAC7D,WAAW,EACT,sZAAsZ;SACzZ;QACD;YACE,EAAE,EAAE,qCAAqC;YACzC,KAAK,EAAE,yDAAyD;YAChE,WAAW,EACT,4ZAA4Z;SAC/Z;QACD;YACE,EAAE,EAAE,mCAAmC;YACvC,KAAK,EAAE,uDAAuD;YAC9D,WAAW,EACT,wZAAwZ;SAC3Z;QACD;YACE,EAAE,EAAE,2BAA2B;YAC/B,KAAK,EAAE,gEAAgE;YACvE,WAAW,EACT,uMAAuM;SAC1M;QACD;YACE,EAAE,EAAE,wBAAwB;YAC5B,KAAK,EAAE,4BAA4B;YACnC,WAAW,EACT,+WAA+W;SAClX;QACD;YACE,EAAE,EAAE,4BAA4B;YAChC,KAAK,EAAE,2DAA2D;YAClE,WAAW,EACT,wfAAwf;SAC3f;QACD;YACE,EAAE,EAAE,4BAA4B;YAChC,KAAK,EAAE,2DAA2D;YAClE,WAAW,EACT,4eAA4e;SAC/e;QACD;YACE,EAAE,EAAE,wBAAwB;YAC5B,KAAK,EAAE,uDAAuD;YAC9D,WAAW,EACT,qfAAqf;SACxf;QACD;YACE,EAAE,EAAE,qBAAqB;YACzB,KAAK,EAAE,gCAAgC;YACvC,WAAW,EACT,4fAA4f;SAC/f;QACD;YACE,EAAE,EAAE,gCAAgC;YACpC,KAAK,EAAE,6DAA6D;YACpE,WAAW,EACT,8PAA8P;SACjQ;QACD;YACE,EAAE,EAAE,qCAAqC;YACzC,KAAK,EAAE,qEAAqE;YAC5E,WAAW,EACT,gRAAgR;SACnR;QACD;YACE,EAAE,EAAE,yCAAyC;YAC7C,KAAK,EAAE,6EAA6E;YACpF,WAAW,EACT,kYAAkY;SACrY;QACD;YACE,EAAE,EAAE,4BAA4B;YAChC,KAAK,EAAE,8CAA8C;YACrD,WAAW,EACT,mUAAmU;SACtU;QACD;YACE,EAAE,EAAE,8BAA8B;YAClC,KAAK,EAAE,2DAA2D;YAClE,WAAW,EACT,mkBAAmkB;SACtkB;QACD;YACE,EAAE,EAAE,yBAAyB;YAC7B,KAAK,EAAE,qEAAqE;YAC5E,WAAW,EACT,ohBAAohB;SACvhB;QACD;YACE,EAAE,EAAE,yBAAyB;YAC7B,KAAK,EAAE,sDAAsD;YAC7D,WAAW,EACT,2qBAA2qB;SAC9qB;QACD;YACE,EAAE,EAAE,6BAA6B;YACjC,KAAK,EAAE,6CAA6C;YACpD,WAAW,EACT,qpBAAqpB;SACxpB;QACD;YACE,EAAE,EAAE,2BAA2B;YAC/B,KAAK,EAAE,uCAAuC;YAC9C,WAAW,EACT,kbAAkb;SACrb;QACD;YACE,EAAE,EAAE,gCAAgC;YACpC,KAAK,EAAE,uFAAuF;YAC9F,WAAW,EACT,odAAod;SACvd;QACD;YACE,EAAE,EAAE,yBAAyB;YAC7B,KAAK,EAAE,4CAA4C;YACnD,WAAW,EACT,8MAA8M;SACjN;QACD;YACE,EAAE,EAAE,kBAAkB;YACtB,KAAK,EAAE,yDAAyD;YAChE,WAAW,EACT,kLAAkL;SACrL;QACD;YACE,EAAE,EAAE,qCAAqC;YACzC,KAAK,EAAE,wEAAwE;YAC/E,WAAW,EACT,8wBAA8wB;SACjxB;QACD;YACE,EAAE,EAAE,4CAA4C;YAChD,KAAK,EAAE,8DAA8D;YACrE,WAAW,EACT,g0BAAg0B;SACn0B;QACD;YACE,EAAE,EAAE,+BAA+B;YACnC,KAAK,EAAE,2DAA2D;YAClE,WAAW,EACT,qyBAAqyB;SACxyB;QACD;YACE,EAAE,EAAE,mBAAmB;YACvB,KAAK,EAAE,iCAAiC;YACxC,WAAW,EACT,4NAA4N;SAC/N;QACD;YACE,EAAE,EAAE,uCAAuC;YAC3C,KAAK,EAAE,4EAA4E;YACnF,WAAW,EACT,2pBAA2pB;SAC9pB;QACD;YACE,EAAE,EAAE,gCAAgC;YACpC,KAAK,EAAE,sEAAsE;YAC7E,WAAW,EACT,opBAAopB;SACvpB;QACD;YACE,EAAE,EAAE,yCAAyC;YAC7C,KAAK,EAAE,8EAA8E;YACrF,WAAW,EACT,mpBAAmpB;SACtpB;QACD;YACE,EAAE,EAAE,qCAAqC;YACzC,KAAK,EAAE,gFAAgF;YACvF,WAAW,EACT,kqBAAkqB;SACrqB;QACD;YACE,EAAE,EAAE,8CAA8C;YAClD,KAAK,EAAE,oDAAoD;YAC3D,WAAW,EACT,oVAAoV;SACvV;QACD;YACE,EAAE,EAAE,sBAAsB;YAC1B,KAAK,EAAE,uDAAuD;YAC9D,WAAW,EACT,yPAAyP;SAC5P;QACD;YACE,EAAE,EAAE,0BAA0B;YAC9B,KAAK,EAAE,oCAAoC;YAC3C,WAAW,EACT,+NAA+N;SAClO;QACD;YACE,EAAE,EAAE,wBAAwB;YAC5B,KAAK,EAAE,sCAAsC;YAC7C,WAAW,EACT,0MAA0M;SAC7M;KACF,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ,CAAC,MAAM;QACrB,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE;YACR,WAAW,EAAE,QAAQ,CAAC,MAAM;SAC7B;KACF,CAAC;AACJ,CAAC"}
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "0.0.6";
1
+ export declare const VERSION = "0.0.7";
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = "0.0.6";
1
+ export const VERSION = "0.0.7";
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rad-security/mcp-server",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "RAD Security MCP Server for AI-powered security insights",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",