Shortcode Directives Security & Risk Analysis

wordpress.org/plugins/shortcode-directives

Allows you to perform certain actions on posts and comments with shortcode directives.

0 active installs v1.0.0 PHP 5.2.4+ WP 4.5+ Updated Jan 9, 2020
commandcommandscommentspostsshortcode
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Shortcode Directives Safe to Use in 2026?

Generally Safe

Score 85/100

Shortcode Directives has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 6yr ago
Risk Assessment

The "shortcode-directives" plugin v1.0.0 exhibits a mixed security posture. While it has a clean vulnerability history with no recorded CVEs, the static analysis reveals several areas for concern. A significant portion of SQL queries are not using prepared statements, which could lead to SQL injection vulnerabilities if user input is not properly handled. Furthermore, the taint analysis indicates a high number of flows with unsanitized paths, including two flagged as high severity. This suggests potential risks of insecure data handling and execution, even though no critical severity issues were identified in the taint analysis.

Despite the absence of publicly known vulnerabilities, the presence of unsanitized data flows and the reliance on raw SQL queries are significant weaknesses. The plugin also has a relatively low percentage of properly escaped output, increasing the risk of cross-site scripting (XSS) vulnerabilities. While the plugin does not appear to have a large direct attack surface through common entry points like AJAX, REST API, or shortcodes, the identified code signals warrant careful consideration. The plugin's strengths lie in its lack of known historical vulnerabilities and its implementation of some capability checks. However, the internal code analysis suggests inherent risks that are not yet reflected in its vulnerability history.

Key Concerns

  • High severity taint flows with unsanitized paths
  • SQL queries not using prepared statements
  • Low percentage of properly escaped output
  • Unsanitized paths in taint flows
Vulnerabilities
None known

Shortcode Directives Security Vulnerabilities

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

Shortcode Directives Code Analysis

Dangerous Functions
0
Raw SQL Queries
4
2 prepared
Unescaped Output
50
47 escaped
Nonce Checks
2
Capability Checks
8
File Operations
13
External Requests
4
Bundled Libraries
1

Bundled Libraries

Select2

SQL Query Safety

33% prepared6 total queries

Output Escaping

48% escaped97 total outputs
Data Flows
7 unsanitized

Data Flow Analysis

8 flows7 with unsanitized paths
_replyToPrintColumnCell (include\library\apf\factory\taxonomy_field\AdminPageFramework_TaxonomyField.php:124)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Shortcode Directives Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 92
actionwp_loadedinclude\library\apf\factory\admin_page\AdminPageFramework.php:15
actionadmin_headinclude\library\apf\factory\admin_page\_controller\AdminPageFramework_HelpPane_admin_page.php:14
filterplugin_row_metainclude\library\apf\factory\admin_page\_controller\AdminPageFramework_Link_admin_page.php:21
filterwp_mail_content_typeinclude\library\apf\factory\admin_page\_model\AdminPageFramework_FormEmail.php:23
filterwp_mail_frominclude\library\apf\factory\admin_page\_model\AdminPageFramework_FormEmail.php:26
filterwp_mail_from_nameinclude\library\apf\factory\admin_page\_model\AdminPageFramework_FormEmail.php:29
actioncurrent_screeninclude\library\apf\factory\admin_page\_model\delegate\AdminPageFramework_Model_Menu__RegisterMenu.php:106
actionpseudo_current_screeninclude\library\apf\factory\admin_page\_model\delegate\AdminPageFramework_Model_Menu__RegisterMenu.php:107
filterupdate_footerinclude\library\apf\factory\admin_page\_view\AdminPageFramework_PageLoadInfo_admin_page.php:20
actionadmin_headinclude\library\apf\factory\admin_page\_view\AdminPageFramework_View__PageMetaboxEnabler.php:11
filterwp_insert_attachment_datainclude\library\apf\factory\meta_box\AdminPageFramework_MetaBox.php:50
filterwp_insert_post_datainclude\library\apf\factory\meta_box\AdminPageFramework_MetaBox.php:52
filterredirect_post_locationinclude\library\apf\factory\meta_box\AdminPageFramework_MetaBox.php:89
actionin_admin_footerinclude\library\apf\factory\network_admin_page\_view\AdminPageFramework_PageLoadInfo_network_admin_page.php:12
filterupdate_footerinclude\library\apf\factory\network_admin_page\_view\AdminPageFramework_PageLoadInfo_network_admin_page.php:29
actionadmin_enqueue_scriptsinclude\library\apf\factory\post_type\AdminPageFramework_PostType.php:67
actionadmin_menuinclude\library\apf\factory\post_type\AdminPageFramework_PostType.php:122
actionthe_contentinclude\library\apf\factory\post_type\AdminPageFramework_PostType.php:124
actionrestrict_manage_postsinclude\library\apf\factory\post_type\AdminPageFramework_PostType.php:127
actionrestrict_manage_postsinclude\library\apf\factory\post_type\AdminPageFramework_PostType.php:128
filterparse_queryinclude\library\apf\factory\post_type\AdminPageFramework_PostType.php:129
filterpost_row_actionsinclude\library\apf\factory\post_type\AdminPageFramework_PostType.php:130
actionadmin_headinclude\library\apf\factory\post_type\AdminPageFramework_PostType.php:131
actioninitinclude\library\apf\factory\post_type\AdminPageFramework_PostType.php:290
actionget_edit_post_linkinclude\library\apf\factory\post_type\_controller\AdminPageFramework_Link_post_type.php:11
actionregistered_post_typeinclude\library\apf\factory\post_type\_model\AdminPageFramework_PostType_Model__FlushRewriteRules.php:15
actionshutdowninclude\library\apf\factory\post_type\_model\AdminPageFramework_PostType_Model__FlushRewriteRules.php:34
actionadmin_menuinclude\library\apf\factory\post_type\_model\AdminPageFramework_PostType_Model__SubMenuOrder.php:14
actionadmin_menuinclude\library\apf\factory\post_type\_model\AdminPageFramework_PostType_Model__SubMenuOrder.php:15
filterupdate_footerinclude\library\apf\factory\post_type\_view\AdminPageFramework_PageLoadInfo_post_type.php:21
actionshow_user_profileinclude\library\apf\factory\user_meta\AdminPageFramework_UserMeta.php:26
actionedit_user_profileinclude\library\apf\factory\user_meta\AdminPageFramework_UserMeta.php:27
actionuser_new_forminclude\library\apf\factory\user_meta\AdminPageFramework_UserMeta.php:28
actionpersonal_options_updateinclude\library\apf\factory\user_meta\AdminPageFramework_UserMeta.php:29
actionedit_user_profile_updateinclude\library\apf\factory\user_meta\AdminPageFramework_UserMeta.php:30
actionuser_registerinclude\library\apf\factory\user_meta\AdminPageFramework_UserMeta.php:31
actionshutdowninclude\library\apf\factory\_common\form\error\AdminPageFramework_Form___FieldError.php:27
actionshutdowninclude\library\apf\factory\_common\form\error\AdminPageFramework_Form___FieldError.php:46
filtermedia_upload_tabsinclude\library\apf\factory\_common\form\field_type\AdminPageFramework_FieldType_color.php:84
filtergettextinclude\library\apf\factory\_common\form\field_type\AdminPageFramework_FieldType_color.php:94
actionshutdowninclude\library\apf\factory\_common\form\notice\AdminPageFramework_Form___SubmitNotice.php:30
actionshutdowninclude\library\apf\factory\_common\form\_model\AdminPageFramework_Form_Model___LastInput.php:24
actionshutdowninclude\library\apf\factory\_common\form\_model\AdminPageFramework_Form_Model___LastInput.php:49
actionwp_enqueue_scriptsinclude\library\apf\factory\_common\form\_view\resource\AdminPageFramework_Form_View__Resource.php:24
actionwp_enqueue_scriptsinclude\library\apf\factory\_common\form\_view\resource\AdminPageFramework_Form_View__Resource.php:25
actionwp_footerinclude\library\apf\factory\_common\form\_view\resource\AdminPageFramework_Form_View__Resource.php:27
actionwp_footerinclude\library\apf\factory\_common\form\_view\resource\AdminPageFramework_Form_View__Resource.php:28
actionwp_print_footer_scriptsinclude\library\apf\factory\_common\form\_view\resource\AdminPageFramework_Form_View__Resource.php:29
actionwp_print_footer_scriptsinclude\library\apf\factory\_common\form\_view\resource\AdminPageFramework_Form_View__Resource.php:30
actionadmin_enqueue_scriptsinclude\library\apf\factory\_common\form\_view\resource\AdminPageFramework_Form_View__Resource.php:34
actionadmin_enqueue_scriptsinclude\library\apf\factory\_common\form\_view\resource\AdminPageFramework_Form_View__Resource.php:35
actioncustomize_controls_print_footer_scriptsinclude\library\apf\factory\_common\form\_view\resource\AdminPageFramework_Form_View__Resource.php:37
actioncustomize_controls_print_footer_scriptsinclude\library\apf\factory\_common\form\_view\resource\AdminPageFramework_Form_View__Resource.php:38
actionadmin_footerinclude\library\apf\factory\_common\form\_view\resource\AdminPageFramework_Form_View__Resource.php:39
actionadmin_footerinclude\library\apf\factory\_common\form\_view\resource\AdminPageFramework_Form_View__Resource.php:40
actionadmin_print_footer_scriptsinclude\library\apf\factory\_common\form\_view\resource\AdminPageFramework_Form_View__Resource.php:41
actionadmin_print_footer_scriptsinclude\library\apf\factory\_common\form\_view\resource\AdminPageFramework_Form_View__Resource.php:42
actionadmin_headinclude\library\apf\factory\_common\_abstract\_controller\AdminPageFramework_HelpPane_Base.php:12
actionin_admin_footerinclude\library\apf\factory\_common\_abstract\_controller\AdminPageFramework_Link_Base.php:16
filteradmin_footer_textinclude\library\apf\factory\_common\_abstract\_controller\AdminPageFramework_Link_Base.php:65
filterupdate_footerinclude\library\apf\factory\_common\_abstract\_controller\AdminPageFramework_Link_Base.php:66
actionadmin_enqueue_scriptsinclude\library\apf\factory\_common\_abstract\_controller\AdminPageFramework_Resource_Base.php:20
actionadmin_enqueue_scriptsinclude\library\apf\factory\_common\_abstract\_controller\AdminPageFramework_Resource_Base.php:21
actioncustomize_controls_print_footer_scriptsinclude\library\apf\factory\_common\_abstract\_controller\AdminPageFramework_Resource_Base.php:24
actioncustomize_controls_print_footer_scriptsinclude\library\apf\factory\_common\_abstract\_controller\AdminPageFramework_Resource_Base.php:25
actionadmin_footerinclude\library\apf\factory\_common\_abstract\_controller\AdminPageFramework_Resource_Base.php:26
actionadmin_footerinclude\library\apf\factory\_common\_abstract\_controller\AdminPageFramework_Resource_Base.php:27
actionadmin_print_footer_scriptsinclude\library\apf\factory\_common\_abstract\_controller\AdminPageFramework_Resource_Base.php:28
actionadmin_print_footer_scriptsinclude\library\apf\factory\_common\_abstract\_controller\AdminPageFramework_Resource_Base.php:29
filterscript_loader_srcinclude\library\apf\factory\_common\_abstract\_controller\AdminPageFramework_Resource_Base.php:30
filterstyle_loader_srcinclude\library\apf\factory\_common\_abstract\_controller\AdminPageFramework_Resource_Base.php:31
filterclean_urlinclude\library\apf\factory\_common\_abstract\_controller\AdminPageFramework_Resource_Base.php:43
actionwp_enqueue_scriptsinclude\library\apf\factory\_common\_abstract\_view\AdminPageFramework_Factory___Script_Base.php:18
actionin_admin_footerinclude\library\apf\factory\_common\_abstract\_view\AdminPageFramework_PageLoadInfo_Base.php:18
actioninitinclude\library\apf\utility\plugin_bootstrap\AdminPageFramework_PluginBootstrap.php:34
actionadmin_enqueue_scriptsinclude\library\apf\utility\pointer_tool_tip\AdminPageFramework_PointerToolTip.php:32
actionadmin_print_footer_scriptsinclude\library\apf\utility\pointer_tool_tip\AdminPageFramework_PointerToolTip.php:99
actionadmin_noticesinclude\library\apf\utility\requirement\AdminPageFramework_Requirement.php:74
actionadmin_noticesinclude\library\apf\utility\requirement\AdminPageFramework_Requirement.php:92
filterpreprocess_commentinclude\shortcode_directives\area\ShortcodeDirectives_Area_Comments.php:11
filterpre_comment_contentinclude\shortcode_directives\area\ShortcodeDirectives_Area_Comments.php:39
filterduplicate_comment_idinclude\shortcode_directives\area\ShortcodeDirectives_Area_Comments.php:49
filterpre_comment_approvedinclude\shortcode_directives\area\ShortcodeDirectives_Area_Comments.php:50
actionshortcode_directives_action_register_hooks_of_area_postsinclude\shortcode_directives\area\ShortcodeDirectives_Area_Posts.php:12
actionshortcode_directives_action_unregister_hooks_of_area_postsinclude\shortcode_directives\area\ShortcodeDirectives_Area_Posts.php:13
filterwp_insert_post_datainclude\shortcode_directives\area\ShortcodeDirectives_Area_Posts.php:19
filterthe_contentinclude\shortcode_directives\debug\ShortcodeDirectives_Directive_Debug_PostMeta.php:18
filtershortcode_directives_filter_insert_post_datainclude\shortcode_directives\directive\_abstract\ShortcodeDirectives_Directive_Base.php:89
filterdo_shortcode_taginclude\shortcode_directives\directive\_abstract\ShortcodeDirectives_Directive_Base.php:196
actionshortcode_directives_action_did_directiveinclude\shortcode_directives\log\ShortcodeDirectives_Log.php:14
actionshortcode_directives_action_saved_postinclude\shortcode_directives\log\ShortcodeDirectives_Log.php:15
actionadmin_noticesshortcode-directives.php:294
Maintenance & Trust

Shortcode Directives Maintenance & Trust

Maintenance Signals

WordPress version tested5.3.21
Last updatedJan 9, 2020
PHP min version5.2.4
Downloads1K

Community Trust

Rating0/100
Number of ratings0
Active installs0
Developer Profile

Shortcode Directives Developer Profile

miunosoft

15 plugins · 2K total installs

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

How We Detect Shortcode Directives

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/shortcode-directives/css/widget.css/wp-content/plugins/shortcode-directives/css/admin.css/wp-content/plugins/shortcode-directives/js/admin.js/wp-content/plugins/shortcode-directives/js/widget.js/wp-content/plugins/shortcode-directives/css/style.css/wp-content/plugins/shortcode-directives/js/script.js
Script Paths
/wp-content/plugins/shortcode-directives/js/admin.js/wp-content/plugins/shortcode-directives/js/widget.js/wp-content/plugins/shortcode-directives/js/script.js
Version Parameters
shortcode-directives/css/widget.css?ver=shortcode-directives/css/admin.css?ver=shortcode-directives/js/admin.js?ver=shortcode-directives/js/widget.js?ver=shortcode-directives/css/style.css?ver=shortcode-directives/js/script.js?ver=

HTML / DOM Fingerprints

CSS Classes
shortcode-directives-outputshortcode-directives-debug
HTML Comments
Shortcode Directives output starts here.Shortcode Directives output ends here.
Data Attributes
data-scd-iddata-scd-type
JS Globals
shortcodeDirectives
Shortcode Output
<div class="shortcode-directives-output"></div><div class="shortcode-directives-debug">
FAQ

Frequently Asked Questions about Shortcode Directives