Article Difficulty Level Security & Risk Analysis

wordpress.org/plugins/article-difficulty-level

Through this plugin, user can able to select the post difficulty level in admin dash board post area for each post.

20 active installs v3.1 PHP + WP 2.9+ Updated Nov 12, 2015
article-leveldifficulty-level-articlepostratingrating-plugin
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Article Difficulty Level Safe to Use in 2026?

Generally Safe

Score 85/100

Article Difficulty Level has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 10yr ago
Risk Assessment

The "article-difficulty-level" v3.1 plugin exhibits a generally strong security posture based on the provided static analysis. The absence of known vulnerabilities, CVEs, and critical taint flows is a positive indicator. Furthermore, the plugin demonstrates good security practices by utilizing prepared statements for all SQL queries, performing a significant number of capability checks, and implementing nonce checks. The lack of a large attack surface through AJAX, REST API, shortcodes, or cron events also contributes to its favorable security profile.

However, a notable concern arises from the output escaping. With 132 total outputs and only 10% properly escaped, there is a significant risk of Cross-Site Scripting (XSS) vulnerabilities. While the static analysis did not explicitly identify taint flows related to this, the low rate of proper escaping creates a substantial opening for attackers to inject malicious scripts into the site's frontend, potentially impacting users who interact with the plugin's output.

The plugin's vulnerability history is currently clear, which is a strength. However, this does not completely negate the risks identified in the code analysis. The primary weakness lies in the insufficient output escaping, which requires immediate attention to mitigate potential XSS attacks. The plugin's strengths in other areas are commendable, but the output escaping issue represents a critical oversight that needs to be addressed to ensure a robust security posture.

Key Concerns

  • Low rate of output escaping
Vulnerabilities
None known

Article Difficulty Level Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Version History

Article Difficulty Level Release Timeline

v3.1Current
v3.0
v2.2.2
v2.2.1
v2.2
v2.1.1.1
v2.1.1
v2.1
v2.0
v1.1.6
v1.1.5
v1.1.4
v1.1.3
v1.1.2
v1.1
Code Analysis
Analyzed Mar 16, 2026

Article Difficulty Level Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
119
13 escaped
Nonce Checks
13
Capability Checks
26
File Operations
0
External Requests
0
Bundled Libraries
0

Output Escaping

10% escaped132 total outputs
Attack Surface

Article Difficulty Level Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 94
actionadd_meta_boxesarticle-difficulty-level.php:40
actionsave_postarticle-difficulty-level.php:115
filterthe_contentarticle-difficulty-level.php:264
filtermanage_posts_columnsarticle-difficulty-level.php:269
actionmanage_posts_custom_columnarticle-difficulty-level.php:270
actionadmin_menubc-article-difficulty.php:7
actionwp_enqueue_scriptsbc-article-difficulty.php:19
actionadmin_initbc-article-difficulty.php:20
actionadmin_initbc-article-difficulty.php:31
actionadd_meta_boxestags\1.1\article-difficulty-level.php:42
actionsave_posttags\1.1\article-difficulty-level.php:116
filterthe_contenttags\1.1\article-difficulty-level.php:170
actionadmin_menutags\1.1\bc-article-difficulty.php:2
actionadmin_inittags\1.1\bc-article-difficulty.php:12
actionadd_meta_boxestags\1.1.2\article-difficulty-level.php:42
actionsave_posttags\1.1.2\article-difficulty-level.php:116
filterthe_contenttags\1.1.2\article-difficulty-level.php:176
actionadmin_menutags\1.1.2\bc-article-difficulty.php:2
actionadmin_inittags\1.1.2\bc-article-difficulty.php:12
actionadd_meta_boxestags\1.1.3\article-difficulty-level.php:42
actionsave_posttags\1.1.3\article-difficulty-level.php:116
filterthe_contenttags\1.1.3\article-difficulty-level.php:180
actionadmin_menutags\1.1.3\bc-article-difficulty.php:7
actionadmin_inittags\1.1.3\bc-article-difficulty.php:17
actionadd_meta_boxestags\1.1.4\article-difficulty-level.php:42
actionsave_posttags\1.1.4\article-difficulty-level.php:116
filterthe_contenttags\1.1.4\article-difficulty-level.php:218
actionadmin_menutags\1.1.4\bc-article-difficulty.php:7
actionadmin_inittags\1.1.4\bc-article-difficulty.php:17
actionadd_meta_boxestags\1.1.5\article-difficulty-level.php:42
actionsave_posttags\1.1.5\article-difficulty-level.php:116
filterthe_contenttags\1.1.5\article-difficulty-level.php:218
filtermanage_posts_columnstags\1.1.5\article-difficulty-level.php:222
actionmanage_posts_custom_columntags\1.1.5\article-difficulty-level.php:223
actionadmin_menutags\1.1.5\bc-article-difficulty.php:7
actionadmin_inittags\1.1.5\bc-article-difficulty.php:17
actionadd_meta_boxestags\1.1.6\article-difficulty-level.php:42
actionsave_posttags\1.1.6\article-difficulty-level.php:116
filterthe_contenttags\1.1.6\article-difficulty-level.php:218
filtermanage_posts_columnstags\1.1.6\article-difficulty-level.php:222
actionmanage_posts_custom_columntags\1.1.6\article-difficulty-level.php:223
actionadmin_menutags\1.1.6\bc-article-difficulty.php:7
actionadmin_inittags\1.1.6\bc-article-difficulty.php:17
actionadd_meta_boxestags\2.1\article-difficulty-level.php:42
actionsave_posttags\2.1\article-difficulty-level.php:116
filterthe_contenttags\2.1\article-difficulty-level.php:228
filtermanage_posts_columnstags\2.1\article-difficulty-level.php:232
actionmanage_posts_custom_columntags\2.1\article-difficulty-level.php:233
actionadmin_inittags\2.1\bc-article-difficulty.php:6
actionadmin_menutags\2.1\bc-article-difficulty.php:7
actionadmin_inittags\2.1\bc-article-difficulty.php:23
actionadd_meta_boxestags\2.1.1.1\article-difficulty-level.php:42
actionsave_posttags\2.1.1.1\article-difficulty-level.php:116
filterthe_contenttags\2.1.1.1\article-difficulty-level.php:228
filtermanage_posts_columnstags\2.1.1.1\article-difficulty-level.php:232
actionmanage_posts_custom_columntags\2.1.1.1\article-difficulty-level.php:233
actionadmin_inittags\2.1.1.1\bc-article-difficulty.php:6
actionadmin_menutags\2.1.1.1\bc-article-difficulty.php:7
actionadmin_inittags\2.1.1.1\bc-article-difficulty.php:23
actionadd_meta_boxestags\2.2\article-difficulty-level.php:42
actionsave_posttags\2.2\article-difficulty-level.php:117
filterthe_contenttags\2.2\article-difficulty-level.php:239
filtermanage_posts_columnstags\2.2\article-difficulty-level.php:243
actionmanage_posts_custom_columntags\2.2\article-difficulty-level.php:244
actionadmin_inittags\2.2\bc-article-difficulty.php:6
actionadmin_menutags\2.2\bc-article-difficulty.php:7
actionadmin_inittags\2.2\bc-article-difficulty.php:23
actionadd_meta_boxestags\2.2.1\article-difficulty-level.php:42
actionsave_posttags\2.2.1\article-difficulty-level.php:117
filterthe_contenttags\2.2.1\article-difficulty-level.php:242
filtermanage_posts_columnstags\2.2.1\article-difficulty-level.php:247
actionmanage_posts_custom_columntags\2.2.1\article-difficulty-level.php:248
actionadmin_inittags\2.2.1\bc-article-difficulty.php:6
actionadmin_menutags\2.2.1\bc-article-difficulty.php:7
actionwp_enqueue_scriptstags\2.2.1\bc-article-difficulty.php:16
actionadmin_inittags\2.2.1\bc-article-difficulty.php:29
actionadd_meta_boxestags\2.2.2\article-difficulty-level.php:42
actionsave_posttags\2.2.2\article-difficulty-level.php:117
filterthe_contenttags\2.2.2\article-difficulty-level.php:242
filtermanage_posts_columnstags\2.2.2\article-difficulty-level.php:247
actionmanage_posts_custom_columntags\2.2.2\article-difficulty-level.php:248
actionadmin_inittags\2.2.2\bc-article-difficulty.php:6
actionadmin_menutags\2.2.2\bc-article-difficulty.php:7
actionwp_enqueue_scriptstags\2.2.2\bc-article-difficulty.php:16
actionadmin_inittags\2.2.2\bc-article-difficulty.php:29
actionadd_meta_boxestags\3.0\article-difficulty-level.php:40
actionsave_posttags\3.0\article-difficulty-level.php:115
filterthe_contenttags\3.0\article-difficulty-level.php:264
filtermanage_posts_columnstags\3.0\article-difficulty-level.php:269
actionmanage_posts_custom_columntags\3.0\article-difficulty-level.php:270
actionadmin_menutags\3.0\bc-article-difficulty.php:7
actionwp_enqueue_scriptstags\3.0\bc-article-difficulty.php:19
actionadmin_inittags\3.0\bc-article-difficulty.php:20
actionadmin_inittags\3.0\bc-article-difficulty.php:31
Maintenance & Trust

Article Difficulty Level Maintenance & Trust

Maintenance Signals

WordPress version tested4.3.34
Last updatedNov 12, 2015
PHP min version
Downloads4K

Community Trust

Rating96/100
Number of ratings5
Active installs20
Developer Profile

Article Difficulty Level Developer Profile

M A Vinoth Kumar

21 plugins · 4K total installs

68
trust score
Avg Security Score
84/100
Avg Patch Time
462 days
View full developer profile
Detection Fingerprints

How We Detect Article Difficulty Level

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

Asset Fingerprints

HTML / DOM Fingerprints

Shortcode Output
<b>Select the Difficulty of this Post </b>&nbsp;&nbsp;&nbsp;<font color=#000><div class="H2" ><b>Select the Difficulty of this Post </b>&nbsp;&nbsp;&nbsp;<font color=#000><div class="H2" ><b>Select the Difficulty of this Post </b>&nbsp;&nbsp;&nbsp;<font color=#000><div class="H2" ><b>Select the Difficulty of this Post </b>&nbsp;&nbsp;&nbsp;<font color=#000><div class="H2" >
FAQ

Frequently Asked Questions about Article Difficulty Level