Dusky Dark Mode – Dark Mode for Gutenberg and Elementor Security & Risk Analysis

wordpress.org/plugins/dusky-dark-mode

Enable Dark Mode on your website & get an awesome user experience with advanced features.

200 active installs v1.0.17 PHP 7.4+ WP 6.2+ Updated Dec 5, 2025
accessibilitydark-lightdark-modedark-themenight-mode
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Dusky Dark Mode – Dark Mode for Gutenberg and Elementor Safe to Use in 2026?

Generally Safe

Score 100/100

Dusky Dark Mode – Dark Mode for Gutenberg and Elementor has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 3mo ago
Risk Assessment

The dusky-dark-mode plugin v1.0.17 presents a mixed security posture. On the positive side, it demonstrates strong output escaping (94%) and a clean record with zero known vulnerabilities (CVEs) and no critical or high-severity taint analysis findings. The absence of dangerous functions, file operations, and external HTTP requests also contributes positively. However, a significant concern arises from its attack surface. With 10 entry points, 6 of which lack authentication checks, there's a substantial risk of unauthorized access or manipulation if these handlers are not properly secured within the plugin's intended logic.

Furthermore, the presence of two SQL queries that are not utilizing prepared statements is a potential risk for SQL injection vulnerabilities, especially if the data processed by these queries is user-controlled. While the plugin has 3 nonce checks and 8 capability checks, the distribution across the 9 AJAX handlers is uneven, with 6 lacking any authentication. This imbalance between the number of potential entry points and the implemented security checks is the most critical area of concern. The vulnerability history being clean is a good indicator, but it doesn't mitigate the risks identified in the static analysis. The overall security is moderate, with strong output handling but significant potential for unauthorized access due to unprotected AJAX endpoints and a risk of SQL injection.

Key Concerns

  • Unprotected AJAX handlers
  • Raw SQL queries without prepared statements
Vulnerabilities
None known

Dusky Dark Mode – Dark Mode for Gutenberg and Elementor Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 16, 2026

Dusky Dark Mode – Dark Mode for Gutenberg and Elementor Code Analysis

Dangerous Functions
0
Raw SQL Queries
2
0 prepared
Unescaped Output
6
94 escaped
Nonce Checks
3
Capability Checks
8
File Operations
0
External Requests
2
Bundled Libraries
2

Bundled Libraries

TinyMCEFreemius1.0

SQL Query Safety

0% prepared2 total queries

Output Escaping

94% escaped100 total outputs
Data Flows
All sanitized

Data Flow Analysis

2 flows
dusky_import_settings (inc\class-ajax.php:27)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
6 unprotected

Dusky Dark Mode – Dark Mode for Gutenberg and Elementor Attack Surface

Entry Points10
Unprotected6

AJAX Handlers 9

authwp_ajax_dusky_save_settingsinc\class-ajax.php:14
authwp_ajax_dusky_get_datainc\class-ajax.php:16
authwp_ajax_dusky_import_settingsinc\class-ajax.php:18
authwp_ajax_dusky_filter_dashboard_usageinc\class-analytics.php:15
noprivwp_ajax_dusky_filter_dashboard_usageinc\class-analytics.php:16
authwp_ajax_dusky_frontend_toggleinc\class-analytics.php:17
noprivwp_ajax_dusky_frontend_toggleinc\class-analytics.php:18
authwp_ajax_dusky_get_analyticsinc\class-analytics.php:19
noprivwp_ajax_dusky_get_analyticsinc\class-analytics.php:20

Shortcodes 1

[dusky_toggle] inc\class-shortcode.php:11
WordPress Hooks 25
actionadmin_menuinc\class-admin.php:35
actionadmin_bar_menuinc\class-admin.php:36
filterupload_mimesinc\class-ajax.php:12
actiondusky_add_submenu_pageinc\class-analytics.php:11
actiondusky_add_submenu_pageinc\class-analytics.php:13
actionwp_dashboard_setupinc\class-analytics.php:14
actionwpinc\class-analytics.php:21
filtercron_schedulesinc\class-cron.php:12
actiondusky_schedule_eventinc\class-cron.php:13
actionadmin_enqueue_scriptsinc\class-enqueue.php:26
actionwp_enqueue_scriptsinc\class-enqueue.php:31
actioninitinc\class-hooks.php:19
filterscript_loader_taginc\class-hooks.php:23
actionwp_footerinc\class-hooks.php:32
filterwp_nav_menu_itemsinc\class-hooks.php:33
actionwp_headinc\class-hooks.php:34
actionadmin_headinc\class-hooks.php:40
actionadmin_footerinc\class-hooks.php:41
filterwp_nav_menu_itemsinc\class-hooks.php:42
filtermce_cssinc\class-tinymce.php:18
filtermce_buttonsinc\class-tinymce.php:19
filtermce_external_pluginsinc\class-tinymce.php:20
actionadmin_initinc\dusky-base.php:30
actionplugins_loadedinc\dusky-base.php:87
filterquery_varsinc\dusky-base.php:88

Scheduled Events 1

dusky_schedule_event
Maintenance & Trust

Dusky Dark Mode – Dark Mode for Gutenberg and Elementor Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedDec 5, 2025
PHP min version7.4
Downloads7K

Community Trust

Rating100/100
Number of ratings9
Active installs200
Developer Profile

Dusky Dark Mode – Dark Mode for Gutenberg and Elementor Developer Profile

CodeConfig

6 plugins · 720 total installs

97
trust score
Avg Security Score
95/100
Avg Patch Time
7 days
View full developer profile
Detection Fingerprints

How We Detect Dusky Dark Mode – Dark Mode for Gutenberg and Elementor

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/dusky-dark-mode/assets/css/frontend-custom.css/wp-content/plugins/dusky-dark-mode/assets/js/dark-mode.js/wp-content/plugins/dusky-dark-mode/assets/js/frontend-custom.js/wp-content/plugins/dusky-dark-mode/assets/js/frontend/dusky-frontend.js/wp-content/plugins/dusky-dark-mode/assets/js/frontend/assets/main.css/wp-content/plugins/dusky-dark-mode/assets/css/getting-started.css
Script Paths
/wp-content/plugins/dusky-dark-mode/assets/js/dark-mode.js/wp-content/plugins/dusky-dark-mode/assets/js/frontend-custom.js/wp-content/plugins/dusky-dark-mode/assets/js/frontend/dusky-frontend.js
Version Parameters
dusky-dark-mode/assets/css/frontend-custom.css?ver=dusky-dark-mode/assets/js/dark-mode.js?ver=dusky-dark-mode/assets/js/frontend-custom.js?ver=dusky-dark-mode/assets/js/frontend/dusky-frontend.js?ver=dusky-dark-mode/assets/js/frontend/assets/main.css?ver=dusky-dark-mode/assets/css/getting-started.css?ver=

HTML / DOM Fingerprints

CSS Classes
dusky-dark-mode-container
Data Attributes
data-dusky-mode
JS Globals
dusky_settingsdusky_localize
REST Endpoints
/wp-json/dusky-api/v1/settings/wp-json/dusky-api/v1/mode
Shortcode Output
[dusky_dark_mode_toggle]
FAQ

Frequently Asked Questions about Dusky Dark Mode – Dark Mode for Gutenberg and Elementor