View Other Properties

Contents

View Other Properties

How to List VSCode Extensions Across All Mac, Windows, and Linux Devices

Using Kolide, you can easily view and query VSCode Extensions across your fleet.

Introduction

Visual Studio Code is a popular integrated development environment (IDE) software available on Windows, Mac and Linux, which is used by developers to write and edit code. In addition to its core feature-set, Visual Studio Code offers extensibility through its own marketplace or via manual installation of extension-like packages. These VS Code packages can be found at the Visual Studio Code > Marketplace webpage.

These packages can do among other things:

  • Extend the functionality of Visual Studio Code
  • Customize the appearance of Visual Studio Code through the installation of "Theme" packages, or widgets
  • Facilitate collaboration between remote users via things like teletype

What VSCode Extension Data Can Kolide Collect?

Kolide's endpoint agent bundles in osquery to efficiently collect VSCode Extensions from Mac, Windows, and Linux devices in your fleet. Once collected, Kolide will parse, clean up, and centrally store this data in Inventory for your team to view, query, or export via API.

Kolide meticulously documents every piece of data returned so you can understand the results.

VSCode Extensions Schema

Column Type Description
id Primary Key

Unique identifier for the object

device_id Foreign Key

Device associated with the entry

device_name Text

Display name of the device associated with the entry

category Text

The author supplied category of the VSCode extension

description Text

The author supplied description of the VSCode extension

display_name Text

The user-friendly name of the VSCode extension

marketplace_average_rating Float

The average number of stars (from 0 - 5 stars) users of this VSCode extension have rated it in the marketplace

marketplace_icon_url Text

The url of the icon for the VSCode extension

marketplace_installs_count Bigint

The number of global installations for this VSCode extension in the marketplace

marketplace_last_released_at Timestamp

The timestamp when the latest version of the extension was released in the VSCode extension marketplace

marketplace_latest_version Text

The latest version available for this extension in the VSCode extension marketplace

marketplace_published_at Timestamp

The timestamp when the extension was first published in the VSCode extension marketplace

marketplace_rating_count Bigint

The number of times users of this VSCode extension have rated it in the marketplace

marketplace_report Jsonb

The raw JSON describing the VSCode extension from the VSCode Marketplace

marketplace_updated_at Timestamp

The freshness of the marketplace data associated with this VSCode Extension

name Text

The repository name of the VSCode extension

path Text

The path where the VSCode extension is installed

url Text

The repository url of the VSCode extension

version Text

The text representation of the version

version_major Bigint

version's semver major version (ex: 4.2.1 would yield 4)

version_minor Bigint

version's semver minor version (ex: 4.2.1 would yield 2)

version_patch Bigint

version's semver patch version (ex: 4.2.1 would yield 1)

version_subpatch Bigint

version's numeric status fourth position number (ex: 4.2.1.6 would yield 6)

version_pre Text

version's semver pre-release version (ex: 1.2.3-prerelease+build would yield pre-release)

version_build Text

version's semver build version (ex: 1.2.3-prerelease+build would yield build)

collected_at Timestamp

Time the row of data was first collected in the database

updated_at Timestamp

Time the row of data was last changed in the database

What Can You Do With This Information?

Kolide enables you to write your own queries against the data the agent collects. This allows you to build your own reports and API endpoints. For example, you can:

Review all vscode extensions that are installed in your organization
Kolide SQL
SELECT 
  COUNT(*) AS install_count, 
  name, 
  version 
FROM device_vscode_extensions
GROUP BY name, version
ORDER BY install_count DESC
Example Results
name version install_count
ruby 0.28.1 14
vscode-ruby 0.28.0 14
slim 0.1.2 10
vscode-gemfile 0.4.2 10
rails 0.17.8 10
js-debug-companion 1.0.18 10
night-rider 1.0.0 9
Ensure development integration package is installed (eg. Ruby)
Kolide SQL
WITH
left_join_extensions AS (
-- Retrieve devices and look for ruby vscode package
  SELECT
    d.name AS device_name,
    vs.name AS package_name,
    vs.version
  FROM devices d 
  LEFT JOIN device_vscode_extensions vs ON d.id = vs.device_id AND vs.name = 'ruby'
  )
SELECT *,
CASE WHEN package_name ISNULL 
     THEN 'false' 
     ELSE 'true' 
  END AS ruby_ext_installed
FROM left_join_extensions
Example Results
device_name package_name version ruby_ext_installed
bupkis (NULL) (NULL) false
Jasons-MacBook-Pro ruby 0.28.1 true
franklin (NULL) (NULL) false
Kates-MacBook-Pro (NULL) (NULL) false
Daves-iMac-Pro ruby 0.28.1 true
lenovo-thinkpad ruby 0.27.0 true
ubuntu-dev-workstation ruby 0.28.1 true

Why Should I Collect VSCode Extensions?

VS Code Extension installations are cataloged and tracked to facilitate a number of potential purposes, for example:

  • Reviewing installed packages to verify the desired configuration of Visual Studio Code
  • Discovering potential malicious packages

End-User Privacy Consideration

Kolide practices Honest Security. We believe that data should be collected from end-user devices transparently and with privacy in mind.

VS Code extensions are unlikely to contain any identifiable or sensitive information, however it is possible they may indicate or suggest certain things about an end-user's behavior, such as the programming languages they are using.

When you use Kolide to list VSCode Extension data from end-user devices, Kolide gives the people using those devices insight into exactly what data is collected, the privacy implications, and who on the IT team can see the data. This all happens in our end-user privacy center which can be accessed directly by employees.

Share this story:

Related Device Properties:

New
Python Packages
developers, software, packages
New
Mac Safari Extensions
apple, software, web-browsers, extensions
New
NPM Packages
developers, software, packages
View full list of Kolide's Device Properties
Book A Demo
Book A Demo