preventions
- ID: SPV018
- Created: 26th August 2026
- Updated: 26th August 2026
- Contributors: Nimer Kees, The ITM Team, Yonatan Machluf,
Static Code Analysis in CI/CD Pipelines
Organizations should enforce static code analysis within Continuous Integration and Continuous Delivery (CI/CD) pipelines before synthetic-authored or synthetic-modified material can reach a build or mainline branch.
The analysis should cover agent and Model Context Protocol (MCP) configuration files, agent and browser-extension source code, build inputs, and generated diffs. It should detect embedded credentials, committed secrets, destructive instructions, injected prompts intended for later execution, and other unsafe changes.
CI/CD should serve as the enforcement point, automatically blocking any change that fails analysis rather than accepting synthetic subject output on trust.
Sections
| ID | Name | Description |
|---|---|---|
| DR002.002 | Developer Coding Assistant | A developer coding assistant is an artificial intelligence system embedded in, or connected to, the software development environment. This may include an integrated development environment (IDE) extension, repository-aware coding assistant, code completion tool, terminal-capable agent, or automated refactoring assistant.
This deployment pattern creates an elevated exposure condition because the assistant operates close to the software supply chain. Its output may become source code, configuration, tests, build logic, documentation, or command execution inside a project. Vulnerable logic, unsafe dependency changes, insecure configuration, or hidden backdoor functionality may then be reviewed as ordinary developer work.
The primary risk is that the synthetic subject can introduce insecure or malicious code that is later attributed to the human developer who accepted, edited, or committed it. This risk is heightened where suggestions are accepted under time pressure, generated code is difficult to review, or automated tests confirm functionality without detecting security impact.
A related risk is context poisoning. Developer coding assistants commonly use project files, comments, dependency manifests, configuration files, issue text, documentation, or local rule files as generation context. If a low-trust contributor, compromised dependency, external issue, or malicious insider places instructions into that context, the assistant may treat them as project guidance.
Investigators should review the assistant’s directive, development environment configuration, repository context sources, local instruction files, generated diffs, accepted completions, command history, dependency changes, and commit timeline. Particular attention should be given to suspicious generated code, embedded instructions in repository context, and logs that preserve both the human developer action and the synthetic subject’s contribution.
Investigative RelevanceDeveloper coding assistants are relevant to SITM because they can influence software that later runs in production, security tooling, customer environments, or internal infrastructure. The synthetic subject may not deploy the code directly, but it can shape the implementation a human developer reviews and commits. |
| DR004.004 | Privileged Engineering Agent | A privileged engineering agent is an autonomous AI agent granted write access to engineering or operational systems. This may include source code repositories, infrastructure, databases, continuous integration and continuous delivery (CI/CD) pipelines, deployment systems, secrets stores, cloud environments, or production services.
This deployment pattern creates an elevated exposure condition because the agent can directly change systems that affect software integrity, service availability, data retention, or production behavior. Its actions may ship code, alter infrastructure, modify database records, change configuration, rotate secrets, trigger deployments, or run administrative commands.
The primary risk is high-impact standing access. A single wrong, excessive, or hijacked action may delete production data, weaken controls, introduce vulnerable code, backdoor software, disrupt services, or alter customer-facing systems at scale. If backups, replicas, or recovery tooling are reachable with the same authority, the agent may damage recovery paths as well as the primary system.
Investigators should review the agent’s directive, credentials, repository permissions, pipeline access, database privileges, infrastructure roles, command history, deployment logs, change records, backup access, and approval gates. Particular attention should be given to destructive commands, production writes, unauthorized deployments, suspicious code changes, and any access to backup or recovery systems.
Investigative RelevancePrivileged engineering agents are relevant because they place a synthetic subject inside high-impact engineering and operations workflows. The agent may be intended to accelerate development or remediation, but its access can affect production systems directly. |
| CF001.004 | Hard-Coded Agent Secret | Hard-coded agent secret occurs when a synthetic subject’s credential is stored directly in source code, configuration files, scripts, notebooks, environment templates, agent manifests, or Model Context Protocol (MCP) server settings.
This configuration creates an elevated exposure condition because credentials may be copied, committed, indexed, logged, shared, or exposed outside the intended runtime environment. Once embedded in code or configuration, the secret may persist across branches, build artifacts, backups, developer machines, and public repositories.
The primary risk is credential exposure leading to unauthorized synthetic subject access. An exposed secret may allow an unauthorized party to impersonate the agent, call connected tools, retrieve data, send messages, or act through the synthetic subject’s permissions.
Investigators should review repositories, configuration stores, build logs, deployment manifests, container images, MCP server files, and secret-scanning telemetry. Particular attention should be given to newly committed keys, secrets in public repositories, credentials in plaintext configuration, and hard-coded values reused across environments.
Investigative RelevanceHard-coded agent secrets are relevant because they create a direct path from configuration exposure to synthetic subject impersonation. This sub-section is especially relevant where agents rely on static keys, local configuration files, marketplace tools, or developer-managed integration settings. |
| CF003.005 | Developer Account Tool Access | Developer account tool access occurs when a synthetic subject can use an employee’s development accounts, tools, repositories, terminals, package registries, cloud consoles, or continuous integration and continuous delivery systems.
This configuration creates an elevated exposure condition because the synthetic subject may inherit engineering access that can affect source code, build pipelines, dependencies, infrastructure, secrets, or production services. Coding assistants, terminal agents, and repository-aware tools may act through credentials and sessions intended for the developer.
The primary risk is AI-mediated engineering change under a human account. A synthetic subject may commit code, alter dependencies, run commands, call cloud APIs, publish packages, modify configuration, or trigger builds in a way that appears attributable to the developer.
Investigators should review source control logs, commit metadata, integrated development environment telemetry, terminal history, cloud audit logs, package registry activity, continuous integration logs, and tool-call records. Particular attention should be given to generated diffs, dependency changes, package publishing, command execution, and production-affecting actions under a developer identity.
Investigative RelevanceDeveloper account tool access is relevant because human development credentials often carry high-impact engineering authority. This sub-section is especially relevant where synthetic subjects operate in integrated development environments, terminals, source repositories, cloud consoles, build systems, or package registries. |