OpenVSX Registry Verified

Adblock/AdGuard/uBlock filters grammar

3d3bd4b9-50f9-56ef-a1e8-6bdeb48bd9d4 | v2.1.4
46/ 100
MEDIUM risk
Analyst verdict
Review before use

The AI review rates the findings as likely false positive, but the risk score (46/100) still counts them.

Analysis record

Analysed
9 months ago
Version
v2.1.4
Source
Findings (non-IoC)

Evidence ledger

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

157 detail rows
Showing 25 of 42 · highest severity first

YARA Rule Matches

14 rules
SeverityRuleHitsFilesMetadata
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.

1
server/out/vendors/vscode-languageserver.js
FP 20%
HIGHpostinstall crypto operations

Cryptographic operations detected

9
server/out/server.jssyntaxes/out/adblock.plistclient/out/extension.js +6 more
Risky Plugins Authors FP 30%
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.

3
server/out/vendors/esprima.jsserver/out/server.jsserver/out/vendors/resolve.js
FP 10%
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.

3
client/out/vendors/vscode-languageclient.jsserver/out/vendors/vscode-languageserver.jsclient/out/extension.js
FP 5%
HIGHpostinstall system command

System command execution detected

18
server/out/vendors/agtree-compatibility-tables-data.jsserver/out/vendors/vscode-languageserver-types.jsserver/out/vendors/fast-glob.js +15 more
Risky Plugins Authors FP 10%
HIGHpostinstall network communication

Network communication detected

16
server/out/vendors/vscode-jsonrpc.jssyntaxes/out/adblock.plistclient/out/vendors/vscode-languageserver-protocol.js +13 more
Risky Plugins Authors FP 30%
HIGHpostinstall file manipulation

File system manipulation detected

24
server/out/vendors/vscode-languageserver-types.jsserver/out/vendors/picomatch.jssyntaxes/out/adblock.plist +21 more
Risky Plugins Authors FP 20%
HIGHpostinstall environment access

Environment variable access detected

2
server/out/vendors/graceful-fs.jsserver/out/vendors/resolve.js
Risky Plugins Authors FP 40%
HIGHpostinstall persistence mechanism

Persistence mechanism detected

1
server/out/vendors/esprima.js
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.

1
server/out/server.js
FP 10%
HIGHcredential env files

Environment configuration file path detected

10
server/out/vendors/semver.jsclient/out/vendors/vscode-jsonrpc.jsserver/out/vendors/vscode-jsonrpc.js +7 more
Risky Plugins Authors FP 10%
HIGHpostinstall obfuscation

Code obfuscation techniques detected

18
server/out/vendors/esprima.jsclient/out/vendors/vscode-languageclient.jsserver/out/vendors/agtree.js +15 more
Risky Plugins Authors FP 20%
HIGHpostinstall file download

File download activity detected

8
server/out/vendors/esprima.jsserver/out/vendors/agtree-compatibility-tables-data.jsserver/out/vendors/tldts.js +5 more
Risky Plugins Authors FP 30%
HIGHpostinstall registry modification

Windows registry modification detected

1
readme.md
Risky Plugins Authors FP 30%

Publisher Evidence

Low

adguard

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

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

13 evidence rows available.

Finding Categories

115
Malware Signatures

YARA Rules Matched

14 rules(115 hits)
UsingCommandLineArguments postinstall crypto operations DebuggerStatementsShouldNotBeUsed NoUseWeakRandom postinstall system command postinstall network communication postinstall file manipulation postinstall environment access postinstall persistence mechanism UsingShellInterpreterWhenExecutingOSCommands credential env files postinstall obfuscation postinstall file download postinstall registry modification

AI Security Report

AI Security Review

Evidence context: threat category none; evidence quality strong.

This extension provides syntax highlighting and grammar support for ad blocking filter rules (AdGuard, uBlock, Adblock formats) within VS Code. The 157 total findings are almost entirely noise from bundled dependencies and code-smell YARA rules.

The filesystem access this extension requires is justified by its stated purpose. A syntax highlighting extension must read workspace files to apply grammar rules and provide IntelliSense features. The metadata findings show standard bundled npm packages in extension/server/out/vendors/ and extension/client/out/vendors/ including js-yaml.js, vscode-languageserver-protocol.js, zod.js, vscode-languageclient.js, tldts.js, semver.js, and vscode-jsonrpc.js. These are legitimate language server infrastructure libraries that enable the extension's core functionality. The adblock.plist file in extension/syntaxes/out/ confirms this is a grammar/syntax definition extension.

Zero credential-access findings were detected. The secret:0 count in the findings summary confirms no code patterns matching .env files, SSH keys, cloud credentials, or VS Code secret storage access. This is expected for a syntax highlighting extension that has no legitimate need to access developer secrets. There are no findings indicating the extension reads .env, .git/config, SSH keys, or credential providers.

The strongest counterargument is the 115 high-severity code-smell findings. However, these are YARA rules designed to detect code-quality patterns like basic Node.js API usage (fetch, exec, fs, crypto, process.env), not actual vulnerabilities. As documented in CVEQ's false-positive patterns, code-smell findings are noise that should never drive a verdict. The severity classification is misleading—these match standard JavaScript patterns in any non-trivial extension. The code-smell:115 count represents legitimate build output and bundled library code, not intentional obfuscation or malicious behavior.

Additional false positive drivers include the 42 metadata findings (file hashes from bundled dependencies), zero actual IoC or malware signatures (ioc:0, malware-signature:0, malware:0), and zero network findings indicating no data exfiltration (network:0). The extension's purpose, developer name (adguard), and finding profile all align with a legitimate language support tool. The 3 dependency findings represent standard npm package analysis, not supply chain compromise.

This extension exhibits no indicators of postinstall payload execution, credential theft, source code exfiltration, or supply chain poisoning. All findings are explainable as expected IDE extension behavior combined with known YARA false-positive patterns.

Key Reasons

  • Zero malware, IoC, network, obfuscation, or secret findings detected
  • All 115 high-severity findings are code-smell YARA noise from bundled dependencies
  • Extension purpose (syntax highlighting) justifies file reading capability
  • Developer name 'adguard' aligns with extension functionality
  • No evidence of credential access or data exfiltration

False Positive Considerations

  • Code-smell YARA rules matching standard JavaScript patterns
  • Bundled npm dependencies in vendors/ folder
  • Metadata findings from file hashes
  • Severity inflation from code-smell classification

Reviewed 2026-05-23; recommended action: suppress false positive; model confidence 88%.

About This Extension

VS code extension that adds support for ad blocking rules syntax.

Frequently Asked Questions