Skip to main content

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.