OpenParable
Skip to content
← Back to skills

T1176.002_ide-extensions

DevOps & Security

Adversaries may abuse an integrated development environment (IDE) extension to establish persistent access to victim systems.

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/CyberStrikeus/CyberStrike/blob/HEAD/.cyberstrike/skill/mitre_attack/TA0003_persistence/T1176.002_ide-extensions/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/t1176-002-ide-extensions, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

T1176.002 IDE Extensions

Sub-technique of: T1176

High-Level Description

Adversaries may abuse an integrated development environment (IDE) extension to establish persistent access to victim systems. IDEs such as Visual Studio Code, IntelliJ IDEA, and Eclipse support extensions - software components that add features like code linting, auto-completion, task automation, or integration with tools like Git and Docker. A malicious extension can be installed through an extension marketplace (i.e., Compromise Software Dependencies and Development Tools) or side-loaded directly into the IDE.

In addition to installing malicious extensions, adversaries may also leverage benign ones. For example, adversaries may establish persistent SSH tunnels via the use of the VSCode Remote SSH extension (i.e., IDE Tunneling).

Trust is typically established through the installation process; once installed, the malicious extension is run every time that the IDE is launched. The extension can then be used to execute arbitrary code, establish a backdoor, mine cryptocurrency, or exfiltrate data.

Kill Chain Phase

  • Persistence (TA0003)

Platforms: Linux, macOS, Windows

What to Check

  • Identify if IDE Extensions technique is applicable to target environment
  • Check Linux systems for indicators of IDE Extensions
  • Check macOS systems for indicators of IDE Extensions
  • Check Windows systems for indicators of IDE Extensions
  • Verify mitigations are bypassed or absent (5 known mitigations)
  • Assess detection coverage (1 detection strategies)

How to Test

Manual Testing

  1. Identify Attack Surface: Determine if the target environment is susceptible to IDE Extensions by examining the target platforms (Linux, macOS, Windows).

  2. Assess Existing Defenses: Review whether mitigations for T1176.002 are in place. If defenses are absent or misconfigured, this technique may be exploitable.

  3. Execute Test: Use tools and methods described in the MITRE ATT&CK page and external references below.

Note: No Atomic Red Team tests available for this technique. See Atomic Red Team GitHub for updates.

Remediation Guide

M1038 Execution Prevention

Set an IDE extension allow or deny list as appropriate for your security policy.

M1051 Update Software

Ensure operating systems and IDEs are using the most current version.

M1047 Audit

Ensure extensions that are installed are the intended ones, as many malicious extensions may masquerade as legitimate ones.

M1033 Limit Software Installation

Only install IDE extensions from trusted sources that can be verified.

M1017 User Training

Train users to minimize IDE extension use, and to only install trusted extensions.

Detection

Detect malicious IDE extension install/usage and IDE tunneling

Risk Assessment

FindingSeverityImpact
IDE Extensions technique applicableHighPersistence

CWE Categories

CWE IDTitle
CWE-276Incorrect Default Permissions

References