Developer Assist for AI Coding Assistants
Overview
As AI coding agents are given greater autonomy to generate code, modify projects, install dependencies, and interact with local files, they introduce a new class of security risk. Agents can produce and change code far faster than developers can realistically review, making manual validation an increasingly ineffective safeguard. In addition, some agent actions can cause harm before any review is possible. Installing a malicious package, for example, may execute install-time scripts, expose secrets, or compromise the developer's machine immediately. Traditional SAST and SCA tools analyze code only after it has been written or committed, leaving a gap where risky actions can already have occurred. Developer Assist for AI Coding Agents closes this gap by enforcing security checks before AI agent actions are executed. It intercepts file writes, reads, and package installations, and returns findings directly to the agent, enabling it to automatically remediate issues and retry the operation before the action is allowed to proceed.
This new series of plugins is based on the core capabilities of Developer Assist - Realtime Scanning and Agentic-AI Remediation. But, in this format the remediation occurs automatically upon risk detection, with no need for user action to initiate the remediation.
Supported Scanners
Currently supported: ASCA (code) and OSS-Realtime (SCA, including malicious package detection)
Notice
Additional scanners will be added soon.
Remediation Capabilities
Developer Assist identifies risks in code that is generated by the AI assistant and remediates them before the code is introduced into your project. Only newly introduced problems block an action. When the assistant edits an existing file, the plugin also scans the original code, but it doesn't block usage based on any pre-existing risks.
Remediate Vulnerable Package Versions
This plugin automatically identifies risky and malicious packages before they are introduced into your project. Developer Assist identifies risky packages in two ways: when an AI agent modifies a dependency manifest or lockfile (such as package.json, go.mod, or requirements.txt), and when an agent runs a package install command (such as npm install, pip install, or go get). In both cases, the plugin intercepts the action before it takes effect and runs an OSS-Realtime scan on the target package. If a vulnerability is detected, the action is blocked and the agent receives the CVE ID, severity, affected package, and a recommended safe version — allowing it to retry with a secure alternative automatically.
Notice
If a batch install command contains one vulnerable package, the entire command is blocked and the offending package is identified.
The user has the option to accept a risky package and authorize its use. In this case the package version is added to an allowlist so that in the future the version will be allowed for use.
Malicious packages — including supply-chain malware, typosquatting packages, and intentionally harmful packages — are permanently blocked with no acceptance or bypass path for either the developer or the agent. The agent is informed of the classification and provided with alternative packages that can be used in its place.
Known Limitations
Only directly specified packages are scanned; this plugin doesn't identify vulnerable transitive dependencies.
Remediate Vulnerable Code
The ASCA scanner is triggered by every file write performed by an AI coding agent and scans the generated content before it is saved. If a high-severity finding is detected, the write is blocked and a machine-readable remediation report is returned to the agent, allowing it to automatically remediate and retry. This process repeats up to a configurable maximum number of attempts (default: three). If the issue cannot be resolved within the allowed retries, the write remains blocked and the developer is notified. The user has the option to accept the vulnerable code and authorize its use. In this case the specific vulnerable instance is added to an allowlist so that in this code won't be flagged in the future.
Claude Code Plugin
Developer Assist for Claude Code intercepts file writes and package installations performed by Claude Code, runs security scans on the targeted content, and returns findings directly to the agent — enabling it to automatically remediate issues and retry the operation before the action is allowed to proceed. Remediation occurs automatically upon risk detection, with no need for user action to initiate it. The plugin is installed directly from the marketplace. The Checkmarx CLI is installed automatically as part of the process — the only requirement is authenticating with Checkmarx One. Once in place, the plugin runs automatically on all code generation performed by Claude Code.
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 page. This must be done by an account admin.
Checkmarx One users will need to provide:
an API Key (see Generating an API Key), OR
login credentials (Base URL, Tenant name, Username and Password)
The plugin is based on the Checkmarx CLI which it installs automatically. However, it relies on host-provided dependencies that must be installed beforehand. The following table explains these requirements.
Requirement | Why it's needed | Windows | macOS | Linux |
|---|---|---|---|---|
POSIX shell ( | Runs the check script. On Windows this is Git Bash. | Git for Windows - mandatory WarningIf this prerequisite is missing, the installation proceeds without error. But the Checkmarx tools aren't activated. TipThe following path must be set as an environment variable for the installation | Built in | Built in |
Python 3 or above | Runs the readiness logic. | Install from python.org — not the Microsoft Store stub. |
|
|
| Downloads the Cx CLI during install. | Bundled with Git for Windows | Built-in | Usually present; minimal images may need it |
Connectivity Requirements
The following network connections must be available:
GitHub -
https://github.com/Checkmarx/ast-cliThis is needed specifically during download and version updates.Checkmarx tenant URL - required for authentication, scanning, remediation etc.
Identity/sign-in host (IdP/auth URL) - for sign in, when using OAuth
Notice
If your environment requires an HTTP proxy for outbound network access, configure it using the http_proxy or CX_HTTP_PROXY environment variable.
Installation and Initial Setup
Start running the Claude Code CLI.
Add the Developer Assist plugin in marketplace, using the following command:
/plugin marketplace add Checkmarx/cx-agentic-ai
Install the plugin using the following command:
/plugin install cx-devassist@cx-devassist-marketplace
Notice
During the installation, the plugin verifies that the minimum required version of the Checkmarx One CLI is installed. If it isn't already installed then it installs automatically.
You are prompted to specify the installation scope. Options are, user scope (the individual user), project scope (all collaborators) or local scope (only a specific repo).
Reload the plugin by running:
/reload-plugins
It is recommended to confirm the installation by running:
/plugin list
It is recommended to explicitly run the
cx-cli-setupskill to initiate authentication. Otherwise, once you enter a prompt to generate code, the plugin runs automatically and prompts you to authenticate with Checkmarx. The prompt asks you to choose anAuth method. Options areAPI KeyorBrowser sign-in (OAuth).For API Key (recommended), enter a Checkmarx One API Key. To generate an API Key, see Creating an API Key for Checkmarx One Integrations.
For OAuth, you will be redirected to browser-based login. You will need to specify your CxOne base url, tenant name, username and password.
Notice
If an MDM admin has configured a properties file for your tenant, then you won't be required to enter the base url and tenant name.
Verify that the Checkmarx MCP is connected by running
/mcpand checking the status of the Checkmarx MCP.Notice
The MCP should start automatically by running a local proxy process (cx mcp bridge) that reads the customer's credential from the cx config, figures out the correct tenant-specific URL, and forwards remediation requests to Checkmarx over HTTPS with the credential sent only in the Authorization header. If the URL can't be derived automatically (some dev/on-prem hosts), set it explicitly with CX_MCP_URL or the --mcp-url argument.
Troubleshooting
# | Error | Likely cause | Fix |
|---|---|---|---|
1 | Message says cx CLI is not installed or cannot be found. | cx is missing, or the plugin cannot resolve its path. | Run |
2 | Message says cx is older than the required version. | The installed cx is older than the minimum supported version for this plugin. | Run |
3 | Message says required scanner commands are missing. | The installed cx build has the right version number but is missing the agent-security features. Re-running setup re-downloads the same build. | If you have access to an internal capable build, set |
4 | Signed in but the very next action is immediately blocked (auth_pending_fresh_login). | Token propagation delay. | Wait ~30–60s and retry the SAME action. Do NOT sign in again — each sign-in cancels the previous token and restarts the wait, creating a loop. |
5 | Message says authentication to Checkmarx One failed. | Credential is missing, expired, or the tenant is unreachable. | Check the error text: invalid / unauthorized / 401 = credential; no such host / connection refused / timeout = network. Credential: re-authenticate via Network: check firewall, proxy, and tenant URL. |
6 |
| Remediation service started before cx was authenticated, or cannot reach the tenant URL. | Confirm cx sign-in is valid ( |
7 | First file scan is slow or times out. | Scanner engine cold start — the first scan takes longer; subsequent scans are warm. | Retry the write. If it fails consistently, check tenant connectivity and proxy settings. |
8 | cx install fails — download error. | No route to GitHub, or proxy not applied to the install. | Set the proxy with |
9 | Every action is blocked with "Python 3 not found". | No usable Python 3. For Windows, may have Microsoft Store stub. | Install a real Python 3. Windows: python.org (not the Store stub). macOS: Linux: |
10 | In Windows, actions are running without any security check. | Git for Windows is not installed. The hook cannot start, and Claude Code treats it as non-blocking — actions proceed unscanned with no warning. | Install Git for Windows. Verify by confirming Claude Code's Bash tool works. The plugin isn't effective until this is in place. |
11 | Block message mentions an invalid | The path is relative, does not exist, or is not executable. | Set |
12 |
| The gate uses the PATH from when Claude Code launched, not the current terminal PATH. | Read the deny message — the reason is almost always authentication, version, or capability. Do not move binaries or edit PATH. |
13 | Blocked after credentials expire. | API keys expire after 30–365 days (tenant policy). OAuth tokens can also expire. | Run |
14 | Actions blocked with a "pass-through" message after browser sign-in. | The scanner requires an API key credential, not a browser OAuth token. | Switch to an API key. Generate one in Checkmarx One under Settings → Identity and Access Management → API Keys (see Creating an API Key for Checkmarx One Integrations), then run |
15 | Install stops with a checksum mismatch error. | The downloaded cx binary is corrupted or tampered with. | Always fatal — cannot be overridden. Re-run |
16 | Remediation returns "unauthorized" right after re-signing in. | Re-signing in rotates the token; the remediation service may briefly hold the old credential. | This self-heals — the service re-reads the credential on its next call. Wait a moment and retry. No re-registration needed. |