Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
212 commits
Select commit Hold shift + click to select a range
abcc9bc
First commit for sceleton for custom problem window
cx-aniket-shinde Sep 26, 2025
b9d469d
Scanner logic and skeleton
cx-anjali-deore Oct 7, 2025
c5ea134
Squashed commit of the following:
cx-atish-jadhav Oct 7, 2025
92eda0b
Updated latest code for problem window
cx-aniket-shinde Oct 7, 2025
cfc81fc
Accepted all changes from remote branch feature/agentic_ai
cx-aniket-shinde Oct 7, 2025
1c45635
added problems tab UI code
cx-aniket-shinde Oct 7, 2025
fb6b058
added inspection result conversion classes
cx-aniket-shinde Oct 7, 2025
f4ebeaf
removed unused imports
cx-aniket-shinde Oct 7, 2025
d4893e2
Updated code for Custom problem window
cx-aniket-shinde Oct 9, 2025
47ae668
Updated code for Problems tab
cx-aniket-shinde Oct 9, 2025
ab6253b
Scanner logic and skeleton
cx-anjali-deore Oct 10, 2025
e3a129f
Added modified code for Manifest files logic
cx-anjali-deore Oct 10, 2025
d4d38d4
My current work
cx-aniket-shinde Oct 13, 2025
db4a52e
A
cx-aniket-shinde Oct 13, 2025
7b4a845
Updated code
cx-aniket-shinde Oct 13, 2025
951c8c0
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-aniket-shinde Oct 13, 2025
1a27ac8
Updated code for custom tool window
cx-aniket-shinde Oct 13, 2025
40e9b23
Added code for saving manifest files
cx-anjali-deore Oct 14, 2025
bf0c397
Merge branch 'feature/OssScanner-AgenticAI' of https://github.com/Che…
cx-anjali-deore Oct 14, 2025
ccd7789
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-anjali-deore Oct 14, 2025
eb87472
Register events and listner for realtime scanner
cx-atish-jadhav Oct 14, 2025
99afc4c
Added code for deleting temp folder
cx-anjali-deore Oct 14, 2025
f7831c1
Updated code for custom tool window
cx-aniket-shinde Oct 14, 2025
536363e
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-aniket-shinde Oct 14, 2025
6795072
Merge branch 'feature/OssScanner-AgenticAI' of https://github.com/Che…
cx-anjali-deore Oct 14, 2025
15c4c7b
added code in scanner serive to show on the window
cx-aniket-shinde Oct 14, 2025
e591dee
Adding scanResults and other changes
cx-anjali-deore Oct 15, 2025
ce5b9ef
pull from origin
cx-anjali-deore Oct 15, 2025
e2fc620
fixed IOexception
cx-anjali-deore Oct 15, 2025
3473826
Removed print statement
cx-aniket-shinde Oct 15, 2025
a5481d8
Updated code for custom problem window
cx-aniket-shinde Oct 15, 2025
e3f52ae
Code changes in scanner conversion
cx-aniket-shinde Oct 15, 2025
34de8f9
Added engine type asca constant
cx-aniket-shinde Oct 15, 2025
fa72d47
Fixed registration logic
cx-anjali-deore Oct 15, 2025
f628541
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-anjali-deore Oct 15, 2025
92cff64
added asca constant
cx-aniket-shinde Oct 16, 2025
1055238
Update Constants.java
cx-aniket-shinde Oct 16, 2025
4565332
Fixed the Scanner event listeners
cx-anjali-deore Oct 16, 2025
fa7c629
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-anjali-deore Oct 16, 2025
f8458ef
Merge remote-tracking branch 'origin/feature/agentic_ai' into feature…
cx-aniket-shinde Oct 16, 2025
40c3f3b
added logger and line number change
cx-aniket-shinde Oct 16, 2025
21550ac
minor fixes in welcomedialog and refactored oss code
cx-atish-jadhav Oct 16, 2025
bf675ad
Refactored MCP code
cx-atish-jadhav Oct 27, 2025
0e8cf7b
removed static handling of projects registered
cx-anjali-deore Oct 27, 2025
24773b8
Scanner Activation changes
cx-anjali-deore Oct 27, 2025
f1ec379
pull from origin
cx-anjali-deore Oct 27, 2025
3df270c
Open CxOne Assist settings inline from Global Settings Panel
cx-atish-jadhav Oct 27, 2025
07efcff
localInspection
cx-anjali-deore Oct 31, 2025
07158f3
Problems window toolbar and constant added
cx-aniket-shinde Nov 4, 2025
2df8b59
Scanner command code matched
cx-aniket-shinde Nov 4, 2025
10571e4
build gradle file updated
cx-aniket-shinde Nov 4, 2025
c78a104
Commit merge
cx-aniket-shinde Nov 4, 2025
26f7b16
changes around the problemwindow
cx-aniket-shinde Nov 4, 2025
4914e9a
pull from origin
cx-anjali-deore Nov 4, 2025
483abca
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-anjali-deore Nov 4, 2025
b8d3d4e
Inspection changes for Scan
cx-anjali-deore Nov 5, 2025
b53aaeb
Inspection changes for Scan
cx-anjali-deore Nov 5, 2025
9295d84
Improved checkfile scan logic. Fixed issue related to scannerService
cx-anjali-deore Nov 5, 2025
c52abaa
minor changes
cx-anjali-deore Nov 5, 2025
52356af
Refactor WelcomeDialog for readability and maintainability; add corre…
cx-atish-jadhav Nov 5, 2025
d039361
refactor WelcomeDialog for clarity and move right-side image to top
cx-atish-jadhav Nov 5, 2025
89ef663
Changed the delete temp folder logic. remove vfs invocation for delet…
cx-anjali-deore Nov 5, 2025
37cf690
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-anjali-deore Nov 5, 2025
d157f16
Made ScannerRegistry As service
cx-anjali-deore Nov 6, 2025
d690fda
Modified WelcomeDialog.java to always show the checkbox but set its e…
cx-atish-jadhav Nov 6, 2025
25939f9
Icons theme based
cx-aniket-shinde Nov 6, 2025
3bdbc8b
accepted changes
cx-aniket-shinde Nov 6, 2025
a87eb4f
added code changes to save oss results in problem window
cx-aniket-shinde Nov 6, 2025
6028fc0
Added code changes for project scan
cx-aniket-shinde Nov 6, 2025
675adc7
code chnages for entire code scan
cx-aniket-shinde Nov 6, 2025
c562662
made projectScanner map based on projectID
cx-anjali-deore Nov 6, 2025
3f7468b
made projectScanner map based on projectID
cx-anjali-deore Nov 6, 2025
059aafc
changes related to ScanResults Adaptor
cx-anjali-deore Nov 10, 2025
67bbe63
Icons changes
cx-aniket-shinde Nov 10, 2025
03ee929
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-aniket-shinde Nov 10, 2025
8b8d8e1
Icons added
cx-aniket-shinde Nov 10, 2025
f21f5ab
Icons added
cx-aniket-shinde Nov 10, 2025
c052cc1
Sevierity signature changed
cx-aniket-shinde Nov 10, 2025
bb71704
handled logout state for scan in checkfile
cx-anjali-deore Nov 10, 2025
70fbb30
Merge branch 'localInspection' of https://github.com/Checkmarx/ast-je…
cx-anjali-deore Nov 10, 2025
aa6ba76
Icons added
cx-aniket-shinde Nov 10, 2025
1267ac4
Refactor CxOne Assist settings UI, MCP install logic, and global sett…
cx-atish-jadhav Nov 10, 2025
65f7321
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-anjali-deore Nov 10, 2025
2ea1fe6
add comprehensive unit tests for WelcomeDialog functionality
cx-atish-jadhav Nov 10, 2025
c4e12cb
Refactor and renamed package from realtimeScanner to devasssit
cx-anand-nandeshwar Nov 10, 2025
0921d2e
Added cod for popup hover and gutter icon using inspection for devassist
cx-anand-nandeshwar Nov 10, 2025
6458c0e
Devassist popup hover ast 107857 (#355)
cx-anand-nandeshwar Nov 10, 2025
6d69b5c
On file open allowing real time scan
cx-anand-nandeshwar Nov 10, 2025
d93d111
Merge remote-tracking branch 'origin/feature/agentic_ai' into devassi…
cx-anand-nandeshwar Nov 10, 2025
2a34c4e
Revert "On file open allowing real time scan"
cx-anand-nandeshwar Nov 10, 2025
7c396c5
Update RealtimeInspection.java
cx-anand-nandeshwar Nov 10, 2025
a0a35ad
Added Dev Assist Fix options with problem
cx-anand-nandeshwar Nov 11, 2025
98a7f2f
Merge remote-tracking branch 'origin/feature/agentic_ai' into feature…
cx-anand-nandeshwar Nov 11, 2025
1b33cbf
Hide non-OSS scanners and container tools in settings; upgrade wrappe…
cx-atish-jadhav Nov 11, 2025
e486572
Merge remote-tracking branch 'origin/feature/agentic_ai' into feature…
cx-anand-nandeshwar Nov 11, 2025
c5c6454
Merging code around problem window
cx-aniket-shinde Nov 11, 2025
7b6e93e
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-aniket-shinde Nov 11, 2025
bb8405d
Imports based on new package names
cx-aniket-shinde Nov 11, 2025
5aa51d8
Merge remote-tracking branch 'origin/feature/agentic_ai' into devassi…
cx-anand-nandeshwar Nov 11, 2025
cb3ff8c
Refactor code and added common utilities methods
cx-anand-nandeshwar Nov 11, 2025
1a1f63e
Refactor code for OSS scan result
cx-anand-nandeshwar Nov 11, 2025
2e22661
Cleaned unncessary code
cx-anjali-deore Nov 12, 2025
9bcf277
merge local branch
cx-anjali-deore Nov 12, 2025
c7c9e66
fixed merged conflict changes
cx-anjali-deore Nov 12, 2025
e237447
Disable scanner will remove the vulnerabilities reported.
cx-aniket-shinde Nov 12, 2025
b090a13
Refactor code for OSS problem descriptor
cx-anand-nandeshwar Nov 12, 2025
2e2671d
Refactor code for OSS problem descriptor
cx-anand-nandeshwar Nov 12, 2025
0d00964
pull from devassist branch
cx-anjali-deore Nov 13, 2025
eabccb3
Devassist popup hover ast 107857 (#356)
cx-anand-nandeshwar Nov 13, 2025
8d9d238
Merging code from remote after the code refactoring Merge branch 'fea…
cx-aniket-shinde Nov 13, 2025
ef68f1b
Changes around the icons in the problem window, severity count and so…
cx-aniket-shinde Nov 13, 2025
395660a
Added code to show custom icon with each remediation action and refac…
cx-anand-nandeshwar Nov 13, 2025
02cbe1d
Merge remote-tracking branch 'origin/feature/agentic_ai' into feature…
cx-anand-nandeshwar Nov 13, 2025
26a2001
Updated gutter icon
cx-anand-nandeshwar Nov 13, 2025
f8defce
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-anjali-deore Nov 14, 2025
d86b479
Updated icons for tooltip and fix restore gutter icons for problem
cx-anand-nandeshwar Nov 14, 2025
7133828
Updated icons for tooltip and fix restore gutter icons for problem
cx-anand-nandeshwar Nov 14, 2025
35ffb81
Split line removed
cx-aniket-shinde Nov 14, 2025
db4d9e0
Merged latest changes Merge branch 'feature/agentic_ai' of https://gi…
cx-aniket-shinde Nov 14, 2025
4d17f4b
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-anjali-deore Nov 14, 2025
77f5217
Added logger and improved reading text from PSI file action
cx-anjali-deore Nov 14, 2025
1508b0e
Called registerScanner in runProcess of progressManager , avoiding pl…
cx-anjali-deore Nov 14, 2025
5cfbe0f
1. Updated new icons for vulnerability count
cx-anand-nandeshwar Nov 14, 2025
e1338ab
Merge remote-tracking branch 'origin/feature/agentic_ai' into feature…
cx-anand-nandeshwar Nov 14, 2025
e69ae5e
fix for bug AST-120924
cx-atish-jadhav Nov 17, 2025
c12f1a8
Resolved expand collapse action issue, removed separator, added malic…
cx-aniket-shinde Nov 17, 2025
88bee2f
Merge remote-tracking branch 'origin/feature/agentic_ai' into feature…
cx-aniket-shinde Nov 17, 2025
0cd3b22
1. Updated new icons for unknown vulnerability
cx-anand-nandeshwar Nov 17, 2025
fc81206
Merge remote-tracking branch 'origin/feature/agentic_ai' into feature…
cx-anand-nandeshwar Nov 17, 2025
f0832a9
- Added vs code malicious icon for now
cx-anand-nandeshwar Nov 17, 2025
a39a0c3
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-atish-jadhav Nov 17, 2025
50fd441
This commit resolves tooltip UI bug in the Welcome Dialog.
cx-atish-jadhav Nov 17, 2025
1c34786
colour of count numbers
cx-aniket-shinde Nov 17, 2025
0d7486d
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-aniket-shinde Nov 17, 2025
44fdfb7
- Added gray color for severity
cx-anand-nandeshwar Nov 17, 2025
f602556
Merge remote-tracking branch 'origin/feature/agentic_ai' into feature…
cx-anand-nandeshwar Nov 17, 2025
6db5a68
Handled the condition when user is offline during initilization
cx-anjali-deore Nov 17, 2025
eda3c43
replaced isValid method in scannerActive method with isAuthenticated
cx-anjali-deore Nov 18, 2025
be386e9
refactored the call of settingState in ProjectListener
cx-anjali-deore Nov 18, 2025
aab5bc3
Hide filter panel when not authenticated
cx-aniket-shinde Nov 18, 2025
a436ac0
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-aniket-shinde Nov 18, 2025
a364c88
Right click option sequence and star icon
cx-aniket-shinde Nov 18, 2025
a947030
Right click option, removed fix and explain optn
cx-aniket-shinde Nov 18, 2025
8b9b52f
- Fixed the gutter icon issue on user logout and revert ASCA changes
cx-anand-nandeshwar Nov 18, 2025
d3bbb05
- Added documentation for ProblemHolderService.java
cx-anand-nandeshwar Nov 18, 2025
2cb5ec5
Merge remote-tracking branch 'origin/feature/agentic_ai' into feature…
cx-anand-nandeshwar Nov 18, 2025
f004a52
Handled no scan triggered when user is offline
cx-anjali-deore Nov 18, 2025
73426b5
Merge from orgin/feature/agentic_ai
cx-anjali-deore Nov 18, 2025
dbe712f
Handle user offline case in devassist inspection
cx-anjali-deore Nov 18, 2025
26f2fe9
Merge remote-tracking branch 'origin/feature/agentic_ai' into feature…
cx-anjali-deore Nov 18, 2025
a0f7147
Merge branch 'localInspection' of https://github.com/Checkmarx/ast-je…
cx-anjali-deore Nov 18, 2025
9b8ba12
fixed build issue in VulnerabilityToolWindow
cx-anjali-deore Nov 18, 2025
dcacfb0
- Added logs for scan
cx-anand-nandeshwar Nov 19, 2025
fa8fb69
- Added background progress indicator for scan
cx-anand-nandeshwar Nov 19, 2025
d4799ce
Merge remote-tracking branch 'origin/feature/agentic_ai' into feature…
cx-anand-nandeshwar Nov 19, 2025
4447ede
fix(WelcomeDialog): move MCP-disabled tooltip to the real-time checkb…
cx-atish-jadhav Nov 19, 2025
715125d
Increased the timeout of 4 second
cx-anjali-deore Nov 19, 2025
2fd6cff
Merge branch 'localInspection' of https://github.com/Checkmarx/ast-je…
cx-anjali-deore Nov 19, 2025
231bc92
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-anjali-deore Nov 19, 2025
b4bc83b
Missed changes
cx-aniket-shinde Nov 19, 2025
8162074
- Added progress bar and removed gutter on scan fails problems
cx-anand-nandeshwar Nov 19, 2025
919b552
Merge remote-tracking branch 'origin/feature/agentic_ai' into feature…
cx-anand-nandeshwar Nov 19, 2025
2715336
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-aniket-shinde Nov 19, 2025
0c1d3fa
- Added inspection description
cx-anand-nandeshwar Nov 19, 2025
eb8f750
Changed info logs to debug
cx-aniket-shinde Nov 21, 2025
3338cc1
- Added code for the "Fix with CxOne Assist" for the remediation
cx-anand-nandeshwar Nov 24, 2025
05b0c87
Merge remote-tracking branch 'origin/feature/agentic_ai' into feature…
cx-anand-nandeshwar Nov 24, 2025
a2035b1
Added settings button on both action toolbar and entire window
cx-aniket-shinde Nov 24, 2025
96ac8b8
Code cleanup
cx-aniket-shinde Nov 24, 2025
9074582
Refactored CxOne Assist panel MCP handling
cx-atish-jadhav Nov 25, 2025
89818d0
removed internet check
cx-anjali-deore Nov 25, 2025
8985195
Updated the logic for CXOneAssist panel
cx-atish-jadhav Nov 25, 2025
5865f1f
fixed race condition in generating hash
cx-anjali-deore Nov 25, 2025
12e4eee
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-atish-jadhav Nov 25, 2025
0bb0612
- Added code for sticky notification
cx-anand-nandeshwar Nov 25, 2025
43a4a51
Removed redundant apply methods and optimized the code
cx-atish-jadhav Nov 25, 2025
f8e22cc
Updated GlobalScannerController.isScannerGloballyEnabled() to check M…
cx-atish-jadhav Nov 25, 2025
30b2fa7
- Added remediation from the custom cx findings window actions
cx-anand-nandeshwar Nov 25, 2025
d753370
Merge remote-tracking branch 'origin/feature/agentic_ai' into feature…
cx-anand-nandeshwar Nov 25, 2025
17bbadc
- Fixed existing problems gutter icons issue
cx-anand-nandeshwar Nov 25, 2025
022e4f8
- Removed gray colour from the text as per demo comments
cx-anand-nandeshwar Nov 26, 2025
a44a884
Colour of count changed to normal white
cx-aniket-shinde Nov 26, 2025
bd489cc
merged changes Merge branch 'feature/agentic_ai' of https://github.co…
cx-aniket-shinde Nov 26, 2025
235e1ee
Added unit test cases for dev assist
cx-sumit-morchhale Nov 21, 2025
f4bb67d
fix for bug AST-123694
cx-atish-jadhav Nov 26, 2025
b86a74f
Merge branch 'feature/agentic_ai' into other/test_cases_dev_assist
cx-atish-jadhav Nov 26, 2025
026b474
- Fixed PSI element issue
cx-anand-nandeshwar Nov 26, 2025
49c1a6c
Merge branch 'feature/agentic_ai' into other/test_cases_dev_assist
cx-sumit-morchhale Nov 26, 2025
8372d16
Added new icons to he vertical bar
cx-aniket-shinde Nov 27, 2025
b974626
Merging Merge branch 'feature/agentic_ai' of https://github.com/Check…
cx-aniket-shinde Nov 27, 2025
2f145d1
fixed unit test cases
cx-sumit-morchhale Nov 27, 2025
991fde3
Merge branch 'feature/agentic_ai' into other/test_cases_dev_assist
cx-sumit-morchhale Nov 27, 2025
cf3dfbc
- Removed italic font for headings
cx-anand-nandeshwar Nov 27, 2025
67d346b
- Fixed remediation issue - AST-123986
cx-anand-nandeshwar Nov 28, 2025
efa0ae3
removed bulb icon on hover
cx-aniket-shinde Dec 1, 2025
7370796
Merge branch 'feature/agentic_ai' of https://github.com/Checkmarx/ast…
cx-aniket-shinde Dec 1, 2025
549eb9a
Added raltime checkbox state persistence option
cx-atish-jadhav Dec 1, 2025
efe8087
Merge branch 'feature/agentic_ai' into other/test_cases_dev_assist
cx-sumit-morchhale Dec 1, 2025
b60ee0d
fix unit test cases
cx-sumit-morchhale Dec 1, 2025
acf5ea6
Added mcp unit tests
cx-atish-jadhav Dec 1, 2025
70c6947
Corrected the path for mcp.json in mac and linux
cx-atish-jadhav Dec 3, 2025
81db18f
disable install mcp button in cxoneassist panel
cx-atish-jadhav Dec 3, 2025
6b23b3c
Merge branch 'other/test_cases_dev_assist' into feature/agentic_ai
cx-atish-jadhav Dec 3, 2025
f84e221
- Fixed remediation issue - AST-123986
cx-anand-nandeshwar Dec 3, 2025
73ebe25
fix: correct import path and annotations in IgnoreAllThisTypeFixTest
cx-atish-jadhav Dec 3, 2025
d35e787
Removed the print statement
cx-aniket-shinde Dec 4, 2025
a24e943
fix: resolve MCP settings not displaying in welcome dialog
cx-atish-jadhav Dec 8, 2025
41b09d7
Tooltip changes for oss
cx-atish-jadhav Dec 11, 2025
4528d6c
- Update change note and read me file
cx-anand-nandeshwar Dec 15, 2025
b0458f8
- commented Ignore all of this type and Ignore this type actions as c…
cx-anand-nandeshwar Dec 16, 2025
71bbd2a
Merge branch 'main' into feature/agentic_ai
cx-anurag-dalke Dec 16, 2025
3f79ef5
fixing the testcase
cx-atish-jadhav Dec 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,15 @@ This plugin provides easy integration with JetBrains and is compatible with all

- AI Secure Coding Assistant (ASCA) - A lightweight scan engine that runs in the background while you work, enabling developers to identify and remediate secure coding best practice violations **as they code**.

## Checkmarx One Developer Assist – AI guided remediation
- An advanced security agent that delivers real-time context-aware prevention, remediation, and guidance to developers from the IDE.
- OSS Realtime scanner identifies risks in open source packages used in your project.
- MCP-based agentic AI remediation.
- AI powered explanation of risk details

**COMING SOON** - additional realtime scanners for identifying risks in container images, as well as exposed secrets and IaC risks.


## Prerequisites

- You are running IntelliJ version 2022.2+ or another JetBrains IDE that is based on a supported version of IntelliJ.
Expand All @@ -93,20 +102,25 @@ This plugin provides easy integration with JetBrains and is compatible with all
> - CxOne role `view-policy-management`
> - IAM role `default-roles`

To use **Dev Assist**, you need the following additional prerequisites:
- A Checkmarx One account with a Checkmarx One Assist license
- The Checkmarx MCP must be activated for your tenant account in the Checkmarx One UI under Settings → Plugins. This must be done by an account admin.
- You must have GitHub Copilot Chat (AI Agent) installed

## Initial Setup

- Verify that all prerequisites are in place.

- Install the **Checkmarx One** plugin and configure the settings as
described [here](https://docs.checkmarx.com/en/34965-68734-installing-and-setting-up-the-checkmarx-one-jetbrains-pluging-68734.html#UUID-8d3bdd51-782c-2816-65e2-38d7529651c8_section-idm449017032697283334758018635).

**Note:** To use Dev Assist, you need to Start the Checkmarx MCP server.

## Usage

To see how you can use our tool, please refer to the [Documentation](https://docs.checkmarx.com/en/34965-68734-installing-and-setting-up-the-checkmarx-one-jetbrains-pluging.html)



## Feedback
We’d love to hear your feedback! If you come across a bug or have a feature request, please let us know by submitting an issue in [GitHub Issues](https://github.com/Checkmarx/ast-jetbrains-plugin/issues).

Expand Down
93 changes: 88 additions & 5 deletions src/main/java/com/checkmarx/intellij/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,23 @@

import org.jetbrains.annotations.NonNls;

import java.util.List;

/**
* Non-translatable constants.
*/
@NonNls
public final class Constants {


private Constants() {
// forbid instantiation of the class
}

public static final String BUNDLE_PATH = "messages.CxBundle";

public static final String LOGGER_CAT_PREFIX = "CX#";
public static final String CXONE_ASSIST = "CxOne Assist";

public static final String GLOBAL_SETTINGS_ID = "settings.ast";
public static final String TOOL_WINDOW_ID = "Checkmarx";
Expand Down Expand Up @@ -78,10 +82,14 @@ private Constants() {
public static final String SCAN_STATUS_RUNNING = "running";
public static final String SCAN_STATUS_COMPLETED = "completed";
public static final String JET_BRAINS_AGENT_NAME = "Jetbrains";
public static final String ASCA_CRITICAL_SEVERITY = "Critical";
public static final String ASCA_HIGH_SEVERITY = "High";
public static final String ASCA_MEDIUM_SEVERITY = "Medium";
public static final String ASCA_LOW_SEVERITY = "Low";

public static final String MALICIOUS_SEVERITY = "Malicious";
public static final String CRITICAL_SEVERITY = "Critical";
public static final String HIGH_SEVERITY = "High";
public static final String MEDIUM_SEVERITY = "Medium";
public static final String LOW_SEVERITY = "Low";
public static final String OK = "OK";
public static final String UNKNOWN = "Unknown";

public static final String IGNORE_LABEL = "IGNORED";
public static final String NOT_IGNORE_LABEL = "NOT_IGNORED";
Expand All @@ -97,7 +105,11 @@ private Constants() {
/**
* Inner static final class, to maintain the constants used in authentication.
*/
public static final class AuthConstants{
public static final class AuthConstants {

private AuthConstants() {
throw new UnsupportedOperationException("Cannot instantiate AuthConstants class");
}

public static final String OAUTH_IDE_CLIENT_ID = "ide-integration";
public static final String ALGO_SHA256 = "SHA-256";
Expand All @@ -114,5 +126,76 @@ public static final class AuthConstants{
public static final int TIME_OUT_SECONDS = 120;
}

/**
* The RealTimeConstants class defines a collection of constant values
* related to real-time scanning functionalities, including support for
* different scanning engines and associated configurations.
*/
public static final class RealTimeConstants {

private RealTimeConstants() {
throw new UnsupportedOperationException("Cannot instantiate RealTimeConstants class");
}

// Tab Name Constants
public static final String DEVASSIST_TAB = "CxOne Assist Findings";

// OSS Scanner Constants
public static final String ACTIVATE_OSS_REALTIME_SCANNER = "Activate OSS-Realtime";
public static final String OSS_REALTIME_SCANNER = "Checkmarx Open Source Realtime Scanner (OSS-Realtime)";
public static final String OSS_REALTIME_SCANNER_START = "Realtime OSS Scanner Engine started";
public static final String OSS_REALTIME_SCANNER_DISABLED = "Realtime OSS Scanner Engine disabled";
public static final String OSS_REALTIME_SCANNER_DIRECTORY = "Cx-oss-realtime-scanner";
public static final String ERROR_OSS_REALTIME_SCANNER = "Failed to handle OSS Realtime scan";

//Dev Assist Fixes Constants
public static final String FIX_WITH_CXONE_ASSIST = "Copy fix prompt";
public static final String VIEW_DETAILS_FIX_NAME = "View details";
public static final String IGNORE_THIS_VULNERABILITY_FIX_NAME = "Ignore this vulnerability";
public static final String IGNORE_ALL_OF_THIS_TYPE_FIX_NAME = "Ignore all of this type";

public static final List<String> MANIFEST_FILE_PATTERNS = List.of(
"**/Directory.Packages.props",
"**/packages.config",
"**/pom.xml",
"**/package.json",
"**/requirements.txt",
"**/go.mod",
"**/*.csproj"
);
//Tooltip description constants
public static final String RISK_PACKAGE = "risk package";
public static final String SEVERITY_PACKAGE = "Severity Package";
public static final String PACKAGE_DETECTED = "package detected";
public static final String THEME = "THEME";
// Dev Assist Remediation
public static final String CX_AGENT_NAME = "Checkmarx One Assist";
// Files generated by the agent (Copilot)
public static final List<String> AGENT_DUMMY_FILES = List.of("/Dummy.txt", "/");
}

/**
* Constant class to hold image paths.
*/
public static final class ImagePaths {

private ImagePaths() {
throw new UnsupportedOperationException("Cannot instantiate ImagePaths class");
}

public static final String DEV_ASSIST_PNG = "/icons/devassist/tooltip/cxone_assist";
public static final String CRITICAL_PNG = "/icons/devassist/tooltip/critical";
public static final String HIGH_PNG = "/icons/devassist/tooltip/high";
public static final String MEDIUM_PNG = "/icons/devassist/tooltip/medium";
public static final String LOW_PNG = "/icons/devassist/tooltip/low";
public static final String MALICIOUS_PNG = "/icons/devassist/tooltip/malicious";
public static final String PACKAGE_PNG = "/icons/devassist/tooltip/package";

// Vulnerability Severity Count Icons
public static final String CRITICAL_16_PNG = "/icons/devassist/tooltip/severity_count/critical";
public static final String HIGH_16_PNG = "/icons/devassist/tooltip/severity_count/high";
public static final String MEDIUM_16_PNG = "/icons/devassist/tooltip/severity_count/medium";
public static final String LOW_16_PNG = "/icons/devassist/tooltip/severity_count/low";
}

}
73 changes: 67 additions & 6 deletions src/main/java/com/checkmarx/intellij/CxIcons.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,76 @@ public final class CxIcons {
private CxIcons() {
}

public static final Icon CHECKMARX_13 = IconLoader.getIcon("/icons/checkmarx-mono-13.png", CxIcons.class);
public static final Icon CHECKMARX_13 = IconLoader.getIcon("/icons/checkmarx-plugin-13.png", CxIcons.class);
public static final Icon CHECKMARX_13_COLOR = IconLoader.getIcon("/icons/checkmarx-13.png", CxIcons.class);
public static final Icon CHECKMARX_80 = IconLoader.getIcon("/icons/checkmarx-80.png", CxIcons.class);
public static final Icon CRITICAL = IconLoader.getIcon("/icons/critical.svg", CxIcons.class);
public static final Icon HIGH = IconLoader.getIcon("/icons/high.svg", CxIcons.class);
public static final Icon MEDIUM = IconLoader.getIcon("/icons/medium.svg", CxIcons.class);
public static final Icon LOW = IconLoader.getIcon("/icons/low.svg", CxIcons.class);
public static final Icon INFO = IconLoader.getIcon("/icons/info.svg", CxIcons.class);
public static final Icon COMMENT = IconLoader.getIcon("/icons/comment.svg", CxIcons.class);
public static final Icon STATE = IconLoader.getIcon("/icons/Flags.svg", CxIcons.class);
public static final Icon ABOUT = IconLoader.getIcon("/icons/about.svg", CxIcons.class);
public static final Icon INFO = IconLoader.getIcon("/icons/info.svg", CxIcons.class);

public static Icon getWelcomeScannerIcon() {
return IconLoader.getIcon("/icons/welcomePageScanner.svg", CxIcons.class);
}

public static Icon getWelcomeMcpDisableIcon() {
return IconLoader.getIcon("/icons/cxAIError.svg", CxIcons.class);
}

public static final Icon STAR_ACTION = IconLoader.getIcon("/icons/devassist/star-action.svg", CxIcons.class);

/**
* Inner static final class, to maintain the constants used in icons for the value 24*24.
*/
public static final class Regular {

private Regular() {
}

public static final Icon MALICIOUS = IconLoader.getIcon("/icons/devassist/severity_24/malicious.svg", CxIcons.class);
public static final Icon CRITICAL = IconLoader.getIcon("/icons/devassist/severity_24/critical.svg", CxIcons.class);
public static final Icon HIGH = IconLoader.getIcon("/icons/devassist/severity_24/high.svg", CxIcons.class);
public static final Icon MEDIUM = IconLoader.getIcon("/icons/devassist/severity_24/medium.svg", CxIcons.class);
public static final Icon LOW = IconLoader.getIcon("/icons/devassist/severity_24/low.svg", CxIcons.class);
public static final Icon IGNORED = IconLoader.getIcon("/icons/devassist/severity_24/ignored.svg", CxIcons.class);
public static final Icon OK = IconLoader.getIcon("/icons/devassist/severity_24/ok.svg", CxIcons.class);

}

/**
* Inner static final class, to maintain the constants used in icons for the value 20*20.
*/
public static final class Medium {

private Medium() {
}

public static final Icon MALICIOUS = IconLoader.getIcon("/icons/devassist/severity_20/malicious.svg", CxIcons.class);
public static final Icon CRITICAL = IconLoader.getIcon("/icons/devassist/severity_20/critical.svg", CxIcons.class);
public static final Icon HIGH = IconLoader.getIcon("/icons/devassist/severity_20/high.svg", CxIcons.class);
public static final Icon MEDIUM = IconLoader.getIcon("/icons/devassist/severity_20/medium.svg", CxIcons.class);
public static final Icon LOW = IconLoader.getIcon("/icons/devassist/severity_20/low.svg", CxIcons.class);
public static final Icon IGNORED = IconLoader.getIcon("/icons/devassist/severity_20/ignored.svg", CxIcons.class);
public static final Icon OK = IconLoader.getIcon("/icons/devassist/severity_20/ok.svg", CxIcons.class);

}

/**
* Inner static final class, to maintain the constants used in icons for the value 16*16.
*/
public static final class Small {

private Small() {
}

public static final Icon MALICIOUS = IconLoader.getIcon("/icons/devassist/severity_16/malicious.svg", CxIcons.class);
public static final Icon CRITICAL = IconLoader.getIcon("/icons/devassist/severity_16/critical.svg", CxIcons.class);
public static final Icon HIGH = IconLoader.getIcon("/icons/devassist/severity_16/high.svg", CxIcons.class);
public static final Icon MEDIUM = IconLoader.getIcon("/icons/devassist/severity_16/medium.svg", CxIcons.class);
public static final Icon LOW = IconLoader.getIcon("/icons/devassist/severity_16/low.svg", CxIcons.class);
public static final Icon IGNORED = IconLoader.getIcon("/icons/devassist/severity_16/ignored.svg", CxIcons.class);
public static final Icon OK = IconLoader.getIcon("/icons/devassist/severity_16/ok.svg", CxIcons.class);
public static final Icon UNKNOWN = IconLoader.getIcon("/icons/devassist/severity_16/unknown.svg", CxIcons.class);

}
}
43 changes: 42 additions & 1 deletion src/main/java/com/checkmarx/intellij/Resource.java
Original file line number Diff line number Diff line change
Expand Up @@ -112,5 +112,46 @@ public enum Resource {
ERROR_SESSION_EXPIRED,
SECRET_DETECTION,
IAC_SECURITY,
NO_CHANGES
NO_CHANGES,
CXONE_ASSIST_TITLE,
OSS_REALTIME_TITLE,
OSS_REALTIME_CHECKBOX,
CXONE_ASSIST_LOGIN_MESSAGE,
CXONE_ASSIST_MCP_DISABLED_MESSAGE,
SECRETS_REALTIME_TITLE,
SECRETS_REALTIME_CHECKBOX,
CONTAINERS_REALTIME_TITLE,
CONTAINERS_REALTIME_CHECKBOX,
IAC_REALTIME_TITLE,
IAC_REALTIME_CHECKBOX,
CONTAINERS_TOOL_TITLE,
IAC_REALTIME_SCANNER_PREFIX,
GO_TO_CXONE_ASSIST_LINK,
WELCOME_TITLE,
WELCOME_SUBTITLE,
WELCOME_ASSIST_TITLE,
WELCOME_ASSIST_FEATURE_1,
WELCOME_ASSIST_FEATURE_2,
WELCOME_ASSIST_FEATURE_3,
WELCOME_MAIN_FEATURE_1,
WELCOME_MAIN_FEATURE_2,
WELCOME_MAIN_FEATURE_3,
WELCOME_MAIN_FEATURE_4,
WELCOME_CLOSE_BUTTON,
CONTAINERS_TOOL_DESCRIPTION,
MCP_SECTION_TITLE,
MCP_DESCRIPTION,
MCP_INSTALL_LINK,
MCP_EDIT_JSON_LINK,
WELCOME_MCP_INSTALLED_INFO,
MCP_NOTIFICATION_TITLE,
MCP_CONFIG_SAVED,
MCP_AUTH_REQUIRED,
MCP_CONFIG_UP_TO_DATE,
MCP_NOT_FOUND,
CHECKING_MCP_STATUS,
STARTING_CHECKMARX_OSS_SCAN,
FAILED_OSS_SCAN_INITIALIZATION,
DEV_ASSIST_COPY_FIX_PROMPT,
DEV_ASSIST_COPY_VIEW_DETAILS_PROMPT
}
38 changes: 36 additions & 2 deletions src/main/java/com/checkmarx/intellij/Utils.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,13 @@

import com.checkmarx.ast.wrapper.CxException;
import com.checkmarx.intellij.settings.SettingsListener;
import com.checkmarx.intellij.settings.global.GlobalSettingsState;
import com.intellij.dvcs.repo.Repository;
import com.intellij.dvcs.repo.VcsRepositoryManager;
import com.intellij.notification.*;
import com.intellij.notification.Notification;
import com.intellij.notification.NotificationAction;
import com.intellij.notification.NotificationGroupManager;
import com.intellij.notification.NotificationType;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.project.Project;
Expand Down Expand Up @@ -352,7 +356,7 @@ public static boolean isBlank(CharSequence cs) {
if (strLen == 0) {
return true;
} else {
for(int i = 0; i < strLen; ++i) {
for (int i = 0; i < strLen; ++i) {
if (!Character.isWhitespace(cs.charAt(i))) {
return false;
}
Expand All @@ -361,4 +365,34 @@ public static boolean isBlank(CharSequence cs) {
}
}

/**
* Escape HTML special characters
*
* @param text String to escape
* @return Escaped string
*/
public static String escapeHtml(String text) {
if (Objects.isNull(text) || text.isBlank()) {
return "";
}
return text.replace("&", "&amp;")
.replace("<", "&lt;")
.replace(">", "&gt;")
.replace("\"", "&quot;")
.replace("'", "&#39;");
}

/**
* Check if the user is authenticated or not
*
* @return true if a user is authenticated otherwise false
*/
public static boolean isUserAuthenticated() {
try {
return GlobalSettingsState.getInstance().isAuthenticated();
} catch (Exception e) {
LOGGER.error("Exception occurred while checking user authentication.", e.getMessage());
return false;
}
}
}
Loading
Loading