VS Code Marketplace Verified

GitHub Copilot

by GitHub · 74.6M users · 4.1 rating
626d5efa-3c85-55d9-916d-6af28560af94 | v1.388.0
42/ 100
MEDIUM risk
Risk verdict
Review before use

Score-based assessment (medium risk, 42/100). No analyst review available.

Analysis record

Analysed
8 months ago
Version
v1.388.0
Artifact
SHA256 ED1…E19
Source
Findings (non-IoC)

Evidence ledger

Ranked by severity · findings with a source location link to the code viewer

250 detail rows
Showing 25 of 46 · highest severity first

YARA Rule Matches

19 rules
SeverityRuleHitsFilesMetadata
HIGHcredential env files

Environment configuration file path detected

5
dist/extensionUninstalled.jsdist/main.jsdist/indexWorker.js +2 more
Risky Plugins Authors FP 10%
HIGHpostinstall obfuscation

Code obfuscation techniques detected

19
dist/web.js.mapdist/compiled/linux/x64/kerberos.nodedist/comparisonPanelWebview.js +16 more
Risky Plugins Authors FP 20%
HIGHpostinstall registry modification

Windows registry modification detected

12
dist/comparisonPanelWebview.js.mapdist/extension.jsdist/extensionUninstalled.js +9 more
Risky Plugins Authors FP 30%
HIGHNoUseEval

The eval function is extremely dangerous. Because if any user input is not handled correctly and passed to it, it will be possible to execute code remotely in the context of your application (RCE - Remote Code Executuion). For more information checkout the CWE-94 (https://cwe.mitre.org/data/definitions/94.html) advisory.

5
dist/extension.jsdist/web.jsdist/indexWorker.js +2 more
FP 10%
HIGHRedirectToUnknownPath

Sanitizing untrusted URLs is an important technique for preventing attacks such as request forgeries and malicious redirections. Often, this is done by checking that the host of a URL is in a set of allowed hosts. For more information checkout the CWE-20 (https://cwe.mitre.org/data/definitions/20.html) advisory.

3
dist/extensionUninstalled.jsdist/main.jsdist/extension.js
FP 30%
HIGHpostinstall file download

File download activity detected

13
dist/extension.jsdist/extensionUninstalled.jsdist/indexWorker.js.map +10 more
Risky Plugins Authors FP 30%
HIGHcredential git credentials

Git credentials/configuration path detected

4
dist/web.jsdist/extensionUninstalled.jsdist/main.js +1 more
Risky Plugins Authors FP 20%
HIGHNoUseWeakRandom

When software generates predictable values in a context requiring unpredictability, it may be possible for an attacker to guess the next value that will be generated, and use this guess to impersonate another user or access sensitive information. As the Math.random() function relies on a weak pseudorandom number generator, this function should not be used for security-critical applications or for protecting sensitive data. In such context, a cryptographically strong pseudorandom number generator (CSPRNG) should be used instead. For more information checkout the CWE-338 (https://cwe.mitre.org/data/definitions/338.html) advisory.

6
dist/web.jsdist/main.jsdist/extensionUninstalled.js +3 more
FP 5%
HIGHpostinstall persistence mechanism

Persistence mechanism detected

9
package.jsondist/extensionUninstalled.js.mapdist/extension.js.map +6 more
Risky Plugins Authors FP 20%
HIGHpostinstall system command

System command execution detected

25
dist/tree-sitter-cpp.wasmdist/web.js.mapdist/compiled/linux/arm64/kerberos.node +22 more
Risky Plugins Authors FP 10%
HIGHpostinstall network communication

Network communication detected

19
dist/extensionUninstalled.js.mapdist/comparisonPanelWebview.jspackage.json +16 more
Risky Plugins Authors FP 30%
HIGHpostinstall file manipulation

File system manipulation detected

29
dist/extensionUninstalled.js.mapdist/indexWorker.js.mapdist/tree-sitter.wasm +26 more
Risky Plugins Authors FP 20%
HIGHUsingShellInterpreterWhenExecutingOSCommands

Arbitrary OS command injection vulnerabilities are more likely when a shell is spawned rather than a new process, indeed shell meta-chars can be used (when parameters are user-controlled for instance) to inject OS commands. For more information checkout the CWE-78 (https://cwe.mitre.org/data/definitions/78.html) advisory.

3
dist/extension.jsdist/main.jsdist/extensionUninstalled.js
FP 10%
HIGHcredential macos keychain

macOS Keychain path detected

3
dist/extension.jsdist/main.jsdist/extensionUninstalled.js
Risky Plugins Authors FP 20%
HIGHDebuggerStatementsShouldNotBeUsed

The debugger statement can be placed anywhere in procedures to suspend execution. Using the debugger statement is similar to setting a breakpoint in the code. By definition such statement must absolutely be removed from the source code to prevent any unexpected behavior or added vulnerability to attacks in production. For more information checkout the CWE-489 (https://cwe.mitre.org/data/definitions/489.html) advisory.

14
dist/extension.js.mappackage.jsondist/tree-sitter-tsx.wasm +11 more
FP 10%
HIGHpostinstall crypto operations

Cryptographic operations detected

23
dist/tree-sitter-ruby.wasmdist/compiled/linux/x64/kerberos.nodedist/extensionUninstalled.js +20 more
Risky Plugins Authors FP 30%
HIGHUsingCommandLineArguments

Command line arguments can be dangerous just like any other user input. They should never be used without being first validated and sanitized. Remember also that any user can retrieve the list of processes running on a system, which makes the arguments provided to them visible. Thus passing sensitive information via command line arguments should be considered as insecure. This rule raises an issue when on every program entry points (main methods) when command line arguments are used. The goal is to guide security code reviews. Sanitize all command line arguments before using them. For more information checkout the CWE-88 (https://cwe.mitre.org/data/definitions/88.html) advisory.

5
dist/web.jsdist/main.js.mapdist/main.js +2 more
FP 20%
HIGHNoUseSocketManually

Sockets are vulnerable in multiple ways: They enable a software to interact with the outside world. As this world is full of attackers it is necessary to check that they cannot receive sensitive information or inject dangerous input.The number of sockets is limited and can be exhausted. Which makes the application unresponsive to users who need additional sockets. In many cases there is no need to open a socket yourself. Use instead libraries and existing protocols For more information checkout the CWE-20 (https://cwe.mitre.org/data/definitions/20.html) advisory.

3
dist/extension.jsdist/main.jsdist/extensionUninstalled.js
FP 20%
HIGHOriginsNotVerified

Browsers allow message exchanges between Window objects of different origins. Because any window can send / receive messages from other window it is important to verify the sender's / receiver's identity: When sending message with postMessage method, the identity's receiver should be defined (the wildcard keyword (*) should not be used).\nWhen receiving message with message event, the sender's identity should be verified using the origin and possibly source properties. For more information checkout the OWASP A2:2017 (https://owasp.org/www-project-top-ten/2017/A2_2017-Broken_Authentication) and (https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage) advisory.

4
dist/web.jsdist/extension.jsdist/main.js +1 more
FP 15%

Publisher Evidence

Low

GitHub

Publisher identity, store signals, distribution reach, and warning signals used for context. Treat this as supporting evidence, not a clean bill of health.

85
Noisy-finding weight
x1.00
Publisher domain
No domain
Missing
Store verification signal
Verified publisher
Verified
Extension portfolio
15
Portfolio

12 evidence rows available.

Finding Categories

204
Malware Signatures

YARA Rules Matched

19 rules(204 hits)
credential env files postinstall obfuscation postinstall registry modification NoUseEval RedirectToUnknownPath postinstall file download credential git credentials NoUseWeakRandom postinstall persistence mechanism postinstall system command postinstall network communication postinstall file manipulation UsingShellInterpreterWhenExecutingOSCommands credential macos keychain DebuggerStatementsShouldNotBeUsed postinstall crypto operations +3 more

AI Security Report

AI Security Review

Evidence context: threat category none; evidence quality strong.

The GitHub Copilot extension has been analyzed, and the findings suggest it is a legitimate development tool with broad access. The extension's stated purpose is to provide AI-powered code completion, and the filesystem and process access are justified by this purpose. The findings include dependencies such as events@^3.3.0, web-tree-sitter@^0.23.0, and @vscode/chat-lib@^0.0.4, which are expected for a development tool. There are no malware signatures or suspicious network calls. The strongest counterargument to this verdict is that the extension has a large number of dependencies, which could potentially introduce security risks. However, upon closer inspection, these dependencies are all related to the extension's functionality and are not suspicious. The extension is from a verified publisher, GitHub, which adds to its legitimacy. In conclusion, the findings are consistent with expected IDE behavior, and there is no evidence to suggest malicious intent.

Key Reasons

  • legitimate development tool
  • justified filesystem and process access
  • no malware signatures or suspicious network calls

False Positive Considerations

  • bundled dependencies
  • expected IDE behavior

Reviewed 2026-05-23; recommended action: no action; model confidence 90%.

About This Extension

Your AI pair programmer

Frequently Asked Questions