TOP Table Of Contents Security & Risk Analysis

wordpress.org/plugins/top-table-of-contents

Easily creates SEO-friendly table of contents for your blog posts and pages. Offers both Auto and Manual Insert with highly customization options.

4K active installs v1.4.0 PHP 7.0+ WP 5.0+ Updated Jan 22, 2026
indexesnavigationseotable-of-contentstoc
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is TOP Table Of Contents Safe to Use in 2026?

Generally Safe

Score 100/100

TOP Table Of Contents has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 2mo ago
Risk Assessment

The "top-table-of-contents" plugin v1.4.0 presents a mixed security posture. On the positive side, it demonstrates good practices by exclusively using prepared statements for SQL queries and having a high percentage of properly escaped outputs. The absence of known vulnerabilities in its history is also a strong indicator of a well-maintained and secure plugin. Furthermore, the limited attack surface with only three entry points, and the presence of nonce and capability checks on two of them, suggests a conscious effort towards securing the plugin's functionalities.

However, a significant concern arises from the static analysis which reveals one unprotected AJAX handler. This handler, despite the low overall attack surface, could potentially be exploited by an unauthenticated attacker to perform malicious actions, especially if it interacts with sensitive data or functionalities. The presence of the `unserialize` function also warrants caution, as it can lead to code execution vulnerabilities if used with untrusted input. While no specific taint flows or vulnerabilities were identified in this version, the combination of an unprotected entry point and the `unserialize` function creates a potential risk that should not be overlooked.

In conclusion, while the plugin has a solid foundation with strong SQL and output sanitization, and a clean vulnerability history, the single unprotected AJAX endpoint is a critical weakness. The use of `unserialize` also adds a layer of potential risk. Addressing the unprotected AJAX handler and carefully reviewing its usage of `unserialize` would significantly improve the plugin's security posture.

Key Concerns

  • Unprotected AJAX handler
  • Dangerous function 'unserialize' used
Vulnerabilities
None known

TOP Table Of Contents Security Vulnerabilities

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

TOP Table Of Contents Code Analysis

Dangerous Functions
6
Raw SQL Queries
0
0 prepared
Unescaped Output
23
176 escaped
Nonce Checks
2
Capability Checks
2
File Operations
0
External Requests
1
Bundled Libraries
0

Dangerous Functions Found

unserialize'default_layout' => unserialize('a:148:{s:16:"select_post_type";a:1:{i:0;s:0:"";}s:19:"selectincludes\class-boomdevs-toc-ajax.php:25
unserialize'premade_layout_one' => unserialize('a:147:{s:16:"select_post_type";s:0:"";s:12:"initial_view";s:includes\class-boomdevs-toc-ajax.php:26
unserialize'premade_layout_two' => unserialize('a:148:{s:16:"select_post_type";s:0:"";s:12:"initial_view";s:includes\class-boomdevs-toc-ajax.php:27
unserialize'premade_layout_three' => unserialize('a:148:{s:16:"select_post_type";s:0:"";s:12:"initial_view";s:includes\class-boomdevs-toc-ajax.php:28
unserialize$disable_auto_insert = unserialize($disable_auto_insert);includes\class-boomdevs-toc-shortcode.php:96
unserialize$disable_auto_insert = unserialize($disable_auto_insert);includes\class-boomdevs-toc-shortcode.php:207

Output Escaping

88% escaped199 total outputs
Attack Surface
1 unprotected

TOP Table Of Contents Attack Surface

Entry Points3
Unprotected1

AJAX Handlers 2

authwp_ajax_Boomdevs_Toc_custom_plugin_installadmin\class-boomdevs-toc-admin.php:54
authwp_ajax_get_premade_layoutincludes\class-boomdevs-toc.php:257

Shortcodes 1

[boomdevs_toc] includes\class-boomdevs-toc-shortcode.php:43
WordPress Hooks 16
actionelementor/widgets/registeraddons\boomdevs-toc-elementor-widgets.php:9
filterrank_math/researches/toc_pluginsboomdevs-toc.php:72
actionplugins_loadedboomdevs-toc.php:132
actioninitincludes\block-editor\block.php:18
actionadmin_noticesincludes\class-boomdevs-notification-widget-top-table.php:16
actionadmin_enqueue_scriptsincludes\class-boomdevs-notification-widget-top-table.php:17
actionsave_postincludes\class-boomdevs-notification-widget-top-table.php:18
filterboomdevs_toc_register_options_panelincludes\class-boomdevs-toc-settings.php:19
actionplugins_loadedincludes\class-boomdevs-toc.php:200
filterthe_contentincludes\class-boomdevs-toc.php:224
actionwidgets_initincludes\class-boomdevs-toc.php:235
filterthe_contentincludes\class-boomdevs-toc.php:246
actionadmin_enqueue_scriptsincludes\class-boomdevs-toc.php:271
actionadmin_enqueue_scriptsincludes\class-boomdevs-toc.php:272
actionwp_enqueue_scriptsincludes\class-boomdevs-toc.php:288
actionwp_enqueue_scriptsincludes\class-boomdevs-toc.php:289
Maintenance & Trust

TOP Table Of Contents Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedJan 22, 2026
PHP min version7.0
Downloads100K

Community Trust

Rating84/100
Number of ratings12
Active installs4K
Developer Profile

TOP Table Of Contents Developer Profile

WP Messiah

12 plugins · 26K total installs

71
trust score
Avg Security Score
89/100
Avg Patch Time
132 days
View full developer profile
Detection Fingerprints

How We Detect TOP Table Of Contents

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/top-table-of-contents/includes/block-editor/block.css/wp-content/plugins/top-table-of-contents/assets/css/toc.css/wp-content/plugins/top-table-of-contents/admin/css/boomdevs-toc-admin.css/wp-content/plugins/top-table-of-contents/assets/js/toc.js/wp-content/plugins/top-table-of-contents/admin/js/boomdevs-toc-admin.js/wp-content/plugins/top-table-of-contents/assets/js/isotope.min.js/wp-content/plugins/top-table-of-contents/assets/js/wow.min.js
Version Parameters
top-table-of-contents/assets/css/toc.css?ver=top-table-of-contents/admin/css/boomdevs-toc-admin.css?ver=top-table-of-contents/assets/js/toc.js?ver=top-table-of-contents/admin/js/boomdevs-toc-admin.js?ver=

HTML / DOM Fingerprints

CSS Classes
boomdevs-tocboomdevs-toc-wrapper
Data Attributes
data-boomdevs-toc-filter
JS Globals
boomdevs_toc_messagesbd_toc_content
Shortcode Output
[boomdevs_toc]
FAQ

Frequently Asked Questions about TOP Table Of Contents