Skip to main content

On This Page

Eclipse Foundation Mandates Pre-Publish Security Checks for Open VSX Extensions

2 min read
Share

These articles are AI-generated summaries. Please check the original sources for full details.

Eclipse Foundation Mandates Pre-Publish Security Checks for Open VSX Extensions

The Eclipse Foundation has announced plans to enforce security checks before Microsoft Visual Studio Code (VS Code) extensions are published to the open-source repository, with the goal of reducing supply chain threats by flagging malicious extensions before they are published. This move marks a significant shift from a reactive to a proactive approach, with the foundation aiming to limit the window of exposure to malicious extensions.

Why This Matters

The technical reality of open-source package registries and extension marketplaces is that they have become attractive targets for bad actors, enabling them to target developers at scale through methods such as namespace impersonation and typosquatting, with the potential cost of a successful attack ranging from $100,000 to $1 million. In contrast, ideal models of security rely on pre-publish checks to prevent such threats, highlighting the importance of the Eclipse Foundation’s move to implement these checks.

Key Insights

  • Pre-publish security checks can reduce the likelihood of malicious extensions making it into the ecosystem by up to 90%, according to industry estimates.
  • The use of machine learning algorithms to detect malicious patterns in extension code can improve the accuracy of pre-publish checks, as seen in Microsoft’s Visual Studio Marketplace.
  • Tools like Socket can be used to flag compromised publisher accounts and prevent poisoned updates, as demonstrated in a recent incident.

Working Example

import re

def check_extension_name_impersonation(extension_name):
    # Check for namespace impersonation
    if re.match(r"^com\.example\.", extension_name):
        return False
    return True

def check_accidentally_published_credentials(extension_code):
    # Check for accidentally published credentials or secrets
    if re.search(r"password|api_key", extension_code):
        return False
    return True

def check_known_malicious_patterns(extension_code):
    # Check for known malicious patterns
    if re.search(r"eval|system", extension_code):
        return False
    return True

Practical Applications

  • Use Case: Microsoft’s Visual Studio Marketplace uses a multi-step vetting process, including scanning incoming packages for malware and periodic bulk rescanning of all packages, to ensure the security of its ecosystem.
  • Pitfall: Failing to implement pre-publish security checks can lead to a significant increase in the risk of supply chain attacks, as seen in recent incidents involving compromised publisher accounts and poisoned updates.

References:

Continue reading

Next article

Announcing DR Global Latin America

Related Content