Skip to content

Commit c4693a1

Browse files
Merge branch 'main' into feature/AST-133880
2 parents 0762dd8 + cd46ffa commit c4693a1

File tree

10 files changed

+131
-54
lines changed

10 files changed

+131
-54
lines changed

packages/checkmarx/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# CHANGELOG
22

3+
## [Checkmarx-v2.47.1-asca-location-dev.0](https://github.com/Checkmarx/ast-vscode-extension/releases/tag/Checkmarx-v2.47.1-asca-location-dev.0) - 2026-02-12 08:33:32
4+
5+
*No description*
6+
37
## [DevAssist-v1.1.1-mcp_fallnack_changes.0](https://github.com/Checkmarx/ast-vscode-extension/releases/tag/DevAssist-v1.1.1-mcp_fallnack_changes.0) - 2026-02-09 16:06:36
48

59
<!-- Release notes generated using configuration in .github/release.yml at main -->

packages/checkmarx/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,8 +211,8 @@ This tool enables VS Code users to initiate SCA scans directly from their VS Cod
211211

212212
We appreciate feedback and contribution to the VsCode extension! Before you get started, please see the following:
213213

214-
- [Checkmarx contribution guidelines](https://github.com/Checkmarx/ast-vscode-extension/blob/packages/checkmarx/contributing.md)
215-
- [Checkmarx Code of Conduct](https://github.com/Checkmarx/ast-vscode-extension/blob/packages/checkmarx/code_of_conduct.md)
214+
- [Checkmarx contribution guidelines](https://github.com/Checkmarx/ast-vscode-extension/blob/HEAD/packages/checkmarx/contributing.md)
215+
- [Checkmarx Code of Conduct](https://github.com/Checkmarx/ast-vscode-extension/blob/HEAD/packages/checkmarx/code_of_conduct.md)
216216

217217
<!-- LICENSE -->
218218
## License

packages/checkmarx/package-lock.json

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/checkmarx/package.json

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"type": "git",
99
"url": "https://github.com/Checkmarx/ast-vscode-extension.git"
1010
},
11-
"homepage": "https://github.com/Checkmarx/ast-vscode-extension#readme",
11+
"homepage": "https://github.com/Checkmarx/ast-vscode-extension/blob/main/packages/checkmarx/README.md",
1212
"bugs": {
1313
"url": "https://github.com/Checkmarx/ast-vscode-extension/issues"
1414
},
@@ -22,6 +22,19 @@
2222
"categories": [
2323
"Other"
2424
],
25+
"keywords": [
26+
"AppSec",
27+
"SAST",
28+
"OSS",
29+
"IaC",
30+
"Secrets",
31+
"Containers",
32+
"Secure Coding",
33+
"Developer Assist",
34+
"Real-time Scanning",
35+
"Kics",
36+
"SCA"
37+
],
2538
"activationEvents": [
2639
"*"
2740
],
@@ -1097,5 +1110,8 @@
10971110
"mocha": "^10.8.2",
10981111
"typescript": "^5.3.3",
10991112
"vscode-extension-tester": "8.17.0"
1113+
},
1114+
"overrides": {
1115+
"@isaacs/brace-expansion": "5.0.1"
11001116
}
1101-
}
1117+
}

packages/core/package-lock.json

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"@checkmarx/ast-cli-javascript-wrapper": "0.0.151",
1616
"@popperjs/core": "^2.11.8",
1717
"@vscode/codicons": "^0.0.36",
18-
"axios": "1.12.2",
18+
"axios": "1.13.5",
1919
"dotenv": "^16.4.7",
2020
"https-proxy-agent": "^7.0.6",
2121
"jsonstream-ts": "^1.3.6",

packages/core/src/services/mcpSettingsInjector.ts

Lines changed: 76 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -79,16 +79,33 @@ function decodeJwt(apiKey: string): DecodedJwt | null {
7979
}
8080

8181
function getMcpConfigPath(): string {
82+
const homeDir = os.homedir();
83+
8284
if (isIDE(constants.cursorAgent)) {
83-
const homeDir = os.homedir();
8485
return path.join(homeDir, ".cursor", "mcp.json");
8586
}
8687
if (isIDE(constants.windsurfAgent)) {
87-
return path.join(os.homedir(), ".codeium", "windsurf", "mcp_config.json");
88+
return path.join(homeDir, ".codeium", "windsurf", "mcp_config.json");
8889
}
8990
if (isIDE(constants.kiroAgent)) {
90-
return path.join(os.homedir(), ".kiro", "settings", "mcp.json");
91+
return path.join(homeDir, ".kiro", "settings", "mcp.json");
9192
}
93+
// VSCode - platform specific paths
94+
if (isIDE(constants.vsCodeAgentOrginalName)) {
95+
const platform = process.platform;
96+
if (platform === 'win32') {
97+
// Windows: %APPDATA%\Code\User\mcp.json
98+
const appData = process.env.APPDATA || path.join(homeDir, 'AppData', 'Roaming');
99+
return path.join(appData, 'Code', 'User', 'mcp.json');
100+
} else if (platform === 'darwin') {
101+
// macOS: ~/Library/Application Support/Code/User/mcp.json
102+
return path.join(homeDir, 'Library', 'Application Support', 'Code', 'User', 'mcp.json');
103+
} else {
104+
// Linux: ~/.config/Code/User/mcp.json
105+
return path.join(homeDir, '.config', 'Code', 'User', 'mcp.json');
106+
}
107+
}
108+
return path.join(homeDir, '.vscode', 'mcp.json');
92109
}
93110

94111
async function updateMcpJsonFile(mcpServer: McpServer | KiroMcpServer): Promise<void> {
@@ -105,11 +122,18 @@ async function updateMcpJsonFile(mcpServer: McpServer | KiroMcpServer): Promise<
105122
}
106123
}
107124

108-
if (!mcpConfig.mcpServers) {
109-
mcpConfig.mcpServers = {};
125+
if (isIDE(constants.vsCodeAgentOrginalName)) {
126+
if (!mcpConfig.servers) {
127+
mcpConfig.servers = {};
128+
}
129+
mcpConfig.servers[getCheckmarxMcpServerName()] = mcpServer as McpServer;
130+
}
131+
else {
132+
if (!mcpConfig.mcpServers) {
133+
mcpConfig.mcpServers = {};
134+
}
135+
mcpConfig.mcpServers[getCheckmarxMcpServerName()] = mcpServer;
110136
}
111-
112-
mcpConfig.mcpServers[getCheckmarxMcpServerName()] = mcpServer;
113137

114138
try {
115139
const dir = path.dirname(mcpConfigPath);
@@ -123,25 +147,33 @@ async function updateMcpJsonFile(mcpServer: McpServer | KiroMcpServer): Promise<
123147
}
124148
}
125149

126-
export async function uninstallMcp() {
127-
try {
128-
129-
if (!isIDE(constants.vsCodeAgentOrginalName)) {
130-
// Handle Cursor, Windsurf and Kiro: Remove from mcp json file
131-
const mcpConfigPath = getMcpConfigPath();
150+
async function removeMcpFromJsonFile(): Promise<void> {
151+
const mcpConfigPath = getMcpConfigPath();
132152

133-
if (!fs.existsSync(mcpConfigPath)) {
134-
return;
135-
}
153+
if (!fs.existsSync(mcpConfigPath)) {
154+
return;
155+
}
136156

137-
const fileContent = fs.readFileSync(mcpConfigPath, "utf-8");
138-
const mcpConfig: McpConfig = JSON.parse(fileContent);
157+
const fileContent = fs.readFileSync(mcpConfigPath, "utf-8");
158+
const mcpConfig: McpConfig = JSON.parse(fileContent);
139159

140-
if (mcpConfig.mcpServers && mcpConfig.mcpServers[getCheckmarxMcpServerName()]) {
141-
delete mcpConfig.mcpServers[getCheckmarxMcpServerName()];
160+
// Remove from mcpServers (for Cursor, Windsurf, Kiro)
161+
if (mcpConfig.mcpServers && mcpConfig.mcpServers[getCheckmarxMcpServerName()]) {
162+
delete mcpConfig.mcpServers[getCheckmarxMcpServerName()];
163+
fs.writeFileSync(mcpConfigPath, JSON.stringify(mcpConfig, null, 2), "utf-8");
164+
}
165+
// Remove from servers (for VSCode fallback)
166+
else if (mcpConfig.servers && mcpConfig.servers[getCheckmarxMcpServerName()]) {
167+
delete mcpConfig.servers[getCheckmarxMcpServerName()];
168+
fs.writeFileSync(mcpConfigPath, JSON.stringify(mcpConfig, null, 2), "utf-8");
169+
}
170+
}
142171

143-
fs.writeFileSync(mcpConfigPath, JSON.stringify(mcpConfig, null, 2), "utf-8");
144-
}
172+
export async function uninstallMcp() {
173+
try {
174+
if (!isIDE(constants.vsCodeAgentOrginalName)) {
175+
// Handle Cursor, Windsurf and Kiro: Remove from mcp json file
176+
await removeMcpFromJsonFile();
145177
} else {
146178
// Handle VSCode: Remove from settings
147179
const config = vscode.workspace.getConfiguration();
@@ -151,11 +183,17 @@ export async function uninstallMcp() {
151183
// Create a new object without the Checkmarx server to avoid proxy issues
152184
const updatedServers = { ...existingServers };
153185
delete updatedServers[getCheckmarxMcpServerName()];
154-
await config.update(
155-
"mcp",
156-
{ servers: updatedServers },
157-
vscode.ConfigurationTarget.Global
158-
);
186+
try {
187+
await config.update(
188+
"mcp",
189+
{ servers: updatedServers },
190+
vscode.ConfigurationTarget.Global
191+
);
192+
} catch (error) {
193+
const errorMessage = error instanceof Error ? error.message : String(error);
194+
console.warn(`Failed to update MCP server details. Using fallback mechanism to configure mcp server details. Error: ${errorMessage}`);
195+
await removeMcpFromJsonFile();
196+
}
159197
}
160198
}
161199
} catch (error) {
@@ -229,11 +267,17 @@ export async function initializeMcpConfiguration(apiKey: string) {
229267
const updatedServers = { ...existingServers };
230268
updatedServers[getCheckmarxMcpServerName()] = mcpServer;
231269

232-
await config.update(
233-
"mcp",
234-
{ servers: updatedServers },
235-
vscode.ConfigurationTarget.Global
236-
);
270+
try {
271+
await config.update(
272+
"mcp",
273+
{ servers: updatedServers },
274+
vscode.ConfigurationTarget.Global
275+
);
276+
} catch (error) {
277+
const errorMessage = error instanceof Error ? error.message : String(error);
278+
console.warn(`Failed to update MCP server details. Using fallback mechanism to configure mcp server details. Error: ${errorMessage}`);
279+
await updateMcpJsonFile(mcpServer);
280+
}
237281
}
238282

239283
vscode.window.showInformationMessage("MCP configuration saved successfully.");

packages/project-ignite/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
</ol>
3838
</details>
3939

40-
> This document relates to the standalone ​**Checkmarx Developer Assist**​ extension. Checkmarx One customers with a Developer Assist license should use the ​[**Checkmarx**](https://marketplace.visualstudio.com/items?itemName=checkmarx.cx-dev-assist) extension, which has Developer Assist bundeled together with the Checkmarx One platform tool. <br>The two extensions are **mutually exclusive**, so that if you want to use this extension, you must **first ​uninstall**​​ the Checkmarx extension.
40+
> This document relates to the standalone ​**Checkmarx Developer Assist**​ extension. Checkmarx One customers with a Developer Assist license should use the ​[**Checkmarx**](https://marketplace.visualstudio.com/items?itemName=checkmarx.ast-results) extension, which has Developer Assist bundeled together with the Checkmarx One platform tool. <br>The two extensions are **mutually exclusive**, so that if you want to use this extension, you must **first ​uninstall**​​ the Checkmarx extension.
4141
## Overview
4242
Checkmarx Developer Assist delivers context-aware security guidance directly within your IDE, helping prevent vulnerabilities before they reach the pipeline. As developers write or refine AI-generated and existing code, it provides real-time detection, remediation, and actionable insights—ensuring security is built in from the start.
4343
<br>

packages/project-ignite/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/project-ignite/package.json

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,33 @@
88
"type": "git",
99
"url": "https://github.com/Checkmarx/ast-vscode-extension.git"
1010
},
11-
"homepage": "https://github.com/Checkmarx/ast-vscode-extension#readme",
11+
"homepage": "https://github.com/Checkmarx/ast-vscode-extension/blob/main/packages/project-ignite/README.md",
1212
"bugs": {
1313
"url": "https://github.com/Checkmarx/ast-vscode-extension/issues"
1414
},
1515
"icon": "media/icon.png",
1616
"engines": {
17-
"vscode": "^1.63.0"
17+
"vscode": "^1.100.0"
1818
},
1919
"extensionKind": [
2020
"workspace"
2121
],
2222
"categories": [
2323
"Other"
2424
],
25+
"keywords": [
26+
"AppSec",
27+
"SAST",
28+
"OSS",
29+
"IaC",
30+
"Secrets",
31+
"Containers",
32+
"Secure Coding",
33+
"Developer Assist",
34+
"Real-time Scanning",
35+
"Kics",
36+
"SCA"
37+
],
2538
"activationEvents": [
2639
"onView:cx-dev-assist.cxDevAssist",
2740
"onStartupFinished"
@@ -190,4 +203,4 @@
190203
"copyfiles": "2.4.1",
191204
"typescript": "^5.3.3"
192205
}
193-
}
206+
}

0 commit comments

Comments
 (0)