TwitchPress Security & Risk Analysis

wordpress.org/plugins/twitchpress

Unofficial Twitch.tv power-up for your WordPress!

10 active installs v3.18.0 PHP 5.6+ WP 5.4+ Updated Aug 26, 2024
twitchtwitch-channeltwitch-embedtwitch-streamtwitch-tv
92
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is TwitchPress Safe to Use in 2026?

Generally Safe

Score 92/100

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

No known CVEs Updated 1yr ago
Risk Assessment

The TwitchPress plugin v3.18.0 exhibits a generally good security posture, with no known historical vulnerabilities or critical findings from taint analysis. The presence of numerous capability checks and nonce checks suggests a conscious effort to secure its entry points, which are well-defined. However, the static analysis reveals a significant concern with the `unserialize` function, which is a known attack vector if used with untrusted input. While no specific exploit is identified in this version, its presence warrants caution, especially if the plugin handles data that could be manipulated externally. Furthermore, a notable percentage of SQL queries (72%) are not using prepared statements, increasing the risk of SQL injection vulnerabilities. The high number of unsanitized paths in taint analysis, though not resulting in critical or high-severity issues, indicates potential weaknesses in input validation that could be exploited in conjunction with other factors. The bundled Select2 library is also outdated, posing a risk of known vulnerabilities that may not have been patched in the plugin.

Key Concerns

  • Use of unserialize function
  • High percentage of SQL queries not prepared
  • Bundled outdated library: Select2 v3.5.4
  • High number of flows with unsanitized paths
Vulnerabilities
None known

TwitchPress Security Vulnerabilities

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

TwitchPress Code Analysis

Dangerous Functions
1
Raw SQL Queries
26
10 prepared
Unescaped Output
227
413 escaped
Nonce Checks
24
Capability Checks
46
File Operations
10
External Requests
0
Bundled Libraries
1

Dangerous Functions Found

unserializereturn unserialize(file_get_contents($this->name));systems\webhooks\class.twitchpress-webhooks-cache.php:88

Bundled Libraries

Select23.5.4

SQL Query Safety

28% prepared36 total queries

Output Escaping

65% escaped640 total outputs
Data Flows
16 unsanitized

Data Flow Analysis

20 flows16 with unsanitized paths
admin_redirects (includes\admin\class.twitchpress-admin.php:193)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

TwitchPress Attack Surface

Entry Points17
Unprotected0

Shortcodes 17

[twitchpress_followers_only] includes\shortcodes\shortcode-follower-only-content.php:18
[twitchpress_sync_buttons_public] includes\shortcodes\shortcode-sync-buttons-public.php:15
[twitchpress_update_um_role_button] includes\shortcodes\shortcode-ultimate-member-updater.php:19
[twitchpress_shortcodes] includes\shortcodes\shortcodes-main.php:133
[twitchpress_embed_everything] includes\shortcodes\shortcodes-main.php:235
[twitchpress_videos] includes\shortcodes\shortcodes-main.php:312
[twitchpress_get_top_games_list] includes\shortcodes\shortcodes-main.php:345
[twitchpress_channel_status_line] includes\shortcodes\shortcodes-main.php:420
[twitchpress_channel_status] includes\shortcodes\shortcodes-main.php:491
[twitchpress_shortcode_channel_status_box] includes\shortcodes\shortcodes-main.php:559
[twitchpress_channels_status_list] includes\shortcodes\shortcodes-main.php:569
[twitchpress_visitor_api_services_buttons] includes\shortcodes\shortcodes-main.php:690
[twitchpress_shortcode_streams_totalviewers] includes\shortcodes\shortcodes-main.php:748
[twitchpress_shortcode_stream_data] includes\shortcodes\shortcodes-main.php:817
[twitchpress_shortcode_get_bits_leaderboard] includes\shortcodes\shortcodes-main.php:881
[twitchpress_raffle_entry_button] systems\giveaways\functions.twitchpress-raffles-shortcodes.php:15
[twitchpress_subman_update_um_role] systems\subscribers\shortcodes\functions.twitchpress-subman-shortcode-umrole-update.php:19
WordPress Hooks 178
filterget_avatarfunctions.php:108
filterget_avatar_urlfunctions.php:155
filterbp_core_fetch_avatarfunctions.php:177
filterbp_core_fetch_avatar_urlfunctions.php:192
actionadmin_headfunctions.php:2140
actionadmin_headfunctions.php:2162
actionadmin_headfunctions.php:2184
actionadmin_inithooks.php:46
actionadmin_inithooks.php:78
actionadmin_enqueue_scriptsincludes\admin\class.twitchpress-admin-assets.php:76
actionadmin_enqueue_scriptsincludes\admin\class.twitchpress-admin-assets.php:77
actionwp_dashboard_setupincludes\admin\class.twitchpress-admin-dashboard.php:34
actioncurrent_screenincludes\admin\class.twitchpress-admin-help.php:536
actionadmin_menuincludes\admin\class.twitchpress-admin-menus.php:146
actionadmin_menuincludes\admin\class.twitchpress-admin-menus.php:147
actiontwitchpress_installedincludes\admin\class.twitchpress-admin-notices.php:49
actionwp_loadedincludes\admin\class.twitchpress-admin-notices.php:50
actionshutdownincludes\admin\class.twitchpress-admin-notices.php:51
actionadmin_print_stylesincludes\admin\class.twitchpress-admin-notices.php:54
actionadmin_noticesincludes\admin\class.twitchpress-admin-notices.php:57
actionadmin_noticesincludes\admin\class.twitchpress-admin-notices.php:260
actionadmin_enqueue_scriptsincludes\admin\class.twitchpress-admin-pointers.php:28
actioninitincludes\admin\class.twitchpress-admin-quicktools.php:1208
actionadmin_menuincludes\admin\class.twitchpress-admin-setup-wizard-youtube.php:41
actionadmin_initincludes\admin\class.twitchpress-admin-setup-wizard-youtube.php:42
actionadmin_menuincludes\admin\class.twitchpress-admin-setup-wizard.php:45
actionadmin_initincludes\admin\class.twitchpress-admin-setup-wizard.php:46
filterpre_user_queryincludes\admin\class.twitchpress-admin-users.php:24
filterpre_user_queryincludes\admin\class.twitchpress-admin-users.php:25
filterviews_usersincludes\admin\class.twitchpress-admin-users.php:26
actionum_admin_user_action_hookincludes\admin\class.twitchpress-admin-users.php:27
actioninitincludes\admin\class.twitchpress-admin.php:31
actioninitincludes\admin\class.twitchpress-admin.php:32
actioncurrent_screenincludes\admin\class.twitchpress-admin.php:33
actionadmin_initincludes\admin\class.twitchpress-admin.php:34
actionadmin_initincludes\admin\class.twitchpress-admin.php:35
actionadmin_footerincludes\admin\class.twitchpress-admin.php:36
filteradmin_footer_textincludes\admin\class.twitchpress-admin.php:37
filtertwitchpress_settings_save_button_textincludes\admin\settings\class.twitchpress-settings-bugnet.php:30
filtertwitchpress_settings_tabs_arrayincludes\admin\settings\class.twitchpress-settings-bugnet.php:31
filtertwitchpress_settings_tabs_arrayincludes\admin\settings\class.twitchpress-settings-general.php:30
filtertwitchpress_settings_save_button_textincludes\admin\settings\class.twitchpress-settings-giveaways.php:27
filtertwitchpress_settings_tabs_arrayincludes\admin\settings\class.twitchpress-settings-giveaways.php:28
filtertwitchpress_settings_tabs_arrayincludes\admin\settings\class.twitchpress-settings-otherapi.php:42
filtertwitchpress_settings_tabs_arrayincludes\admin\settings\class.twitchpress-settings-page.php:40
filtertwitchpress_settings_tabs_arrayincludes\admin\settings\class.twitchpress-settings-readonly.php:34
filtertwitchpress_settings_save_button_textincludes\admin\settings\class.twitchpress-settings-twitch.php:35
filtertwitchpress_settings_tabs_arrayincludes\admin\settings\class.twitchpress-settings-twitch.php:40
filtertwitchpress_settings_tabs_arrayincludes\admin\settings\class.twitchpress-settings-users.php:30
actionadmin_menuincludes\admin\views\dataviews\class.twitchpress-view-trace.php:28
actionadmin_initincludes\admin\views\dataviews\class.twitchpress-view-trace.php:29
filterblock_categoriesincludes\blocks\class.twitchpress-blocks.php:25
actioninitincludes\blocks\class.twitchpress-blocks.php:28
actionadmin_post_twitchpress_bot_authincludes\classes\class.twitchpress-admin-bot-auth.php:263
actioninitincludes\classes\class.twitchpress-ajax.php:20
actiontemplate_redirectincludes\classes\class.twitchpress-ajax.php:21
actioninitincludes\classes\class.twitchpress-current-user.php:16
filterlogin_messageincludes\classes\class.twitchpress-custom-login-notices.php:19
actiontwitchpress_plugin_background_installerincludes\classes\class.twitchpress-extension-installer.php:24
actionwp_enqueue_scriptsincludes\classes\class.twitchpress-frontend-scripts.php:46
actionwp_print_scriptsincludes\classes\class.twitchpress-frontend-scripts.php:47
actionwp_print_footer_scriptsincludes\classes\class.twitchpress-frontend-scripts.php:48
actioninitincludes\classes\class.twitchpress-listener-main-account-oauth.php:279
actionwp_loadedincludes\classes\class.twitchpress-listener.php:19
actiontwitchpress_initincludes\classes\class.twitchpress-login-by-shortcode.php:39
actionplugins_loadedincludes\classes\class.twitchpress-login-by-shortcode.php:48
actioninitincludes\classes\class.twitchpress-login-by-shortcode.php:49
actioninitincludes\classes\class.twitchpress-login-by-shortcode.php:50
actiontwitchpress_initincludes\classes\class.twitchpress-login.php:36
actionplugins_loadedincludes\classes\class.twitchpress-login.php:43
actioninitincludes\classes\class.twitchpress-login.php:45
actioninitincludes\classes\class.twitchpress-login.php:46
actionlogin_headincludes\classes\class.twitchpress-login.php:49
actionlogin_formincludes\classes\class.twitchpress-login.php:50
actionlogin_formincludes\classes\class.twitchpress-login.php:51
filterlogin_errorsincludes\classes\class.twitchpress-login.php:54
filterlogin_redirectincludes\classes\class.twitchpress-login.php:56
filterthe_contentincludes\classes\class.twitchpress-posts-gate.php:21
actionadd_meta_boxes_postincludes\classes\class.twitchpress-posts-gate.php:22
actionadd_meta_boxes_pageincludes\classes\class.twitchpress-posts-gate.php:23
actionsave_postincludes\classes\class.twitchpress-posts-gate.php:24
actioninitincludes\classes\class.twitchpress-set-app.php:266
actioninitincludes\classes\class.twitchpress-set-app.php:271
actioninitincludes\classes\class.twitchpress-set-app.php:278
actioninitincludes\classes\class.twitchpress-set-main-channel-auth.php:97
actioninitincludes\classes\class.twitchpress-set-user-auth.php:77
actionwp_loginincludes\classes\class.twitchpress-subscriptions.php:38
actionprofile_personal_optionsincludes\classes\class.twitchpress-subscriptions.php:39
actionshutdownincludes\classes\class.twitchpress-subscriptions.php:42
actionshow_user_profileincludes\classes\class.twitchpress-subscriptions.php:45
actionedit_user_profileincludes\classes\class.twitchpress-subscriptions.php:46
actionpersonal_options_updateincludes\classes\class.twitchpress-subscriptions.php:47
actionedit_user_profile_updateincludes\classes\class.twitchpress-subscriptions.php:48
actioninitincludes\classes\class.twitchpress-tables-installation.php:27
actionswitch_blogincludes\classes\class.twitchpress-tables-installation.php:28
actionwp_headincludes\functions\functions.twitchpress-frontend-notices.php:15
filterthe_contentincludes\functions\functions.twitchpress-frontend-notices.php:17
filterwp_get_nav_menu_itemsincludes\functions\functions.twitchpress-frontend.php:69
filterwp_get_nav_menu_itemsincludes\functions\functions.twitchpress-frontend.php:70
actionwidgets_initincludes\functions\functions.twitchpress-widgets.php:24
actionbefore_twitchpress_initincludes\integration\class.twitchpress-ultimate-member.php:18
actiontwitchpress_initincludes\integration\class.twitchpress-ultimate-member.php:29
filtertwitchpress_get_sections_usersincludes\integration\class.twitchpress-ultimate-member.php:57
filtertwitchpress_get_settings_usersincludes\integration\class.twitchpress-ultimate-member.php:60
filtertwitchpress_update_system_scopes_statusincludes\integration\class.twitchpress-ultimate-member.php:63
filtertwitchpress_filter_public_notices_arrayincludes\integration\class.twitchpress-ultimate-member.php:64
actiontwitchpress_user_sub_sync_finishedincludes\integration\class.twitchpress-ultimate-member.php:67
actiontwitchpress_sync_new_twitch_subscriberincludes\integration\class.twitchpress-ultimate-member.php:70
actiontwitchpress_sync_continuing_twitch_subscriberincludes\integration\class.twitchpress-ultimate-member.php:71
actiontwitchpress_sync_discontinued_twitch_subscriberincludes\integration\class.twitchpress-ultimate-member.php:72
actiontwitchpress_manualsubsyncincludes\integration\class.twitchpress-ultimate-member.php:73
actionadmin_initincludes\integration\class.twitchpress-ultimate-member.php:76
actionedit_user_profileincludes\integration\class.twitchpress-ultimate-member.php:80
filtertheme_page_templatesincludes\posts\class.twitchpress-page-template-splitscreen.php:37
filterwp_insert_post_dataincludes\posts\class.twitchpress-page-template-splitscreen.php:40
filtertemplate_includeincludes\posts\class.twitchpress-page-template-splitscreen.php:44
actionwp_enqueue_scriptsincludes\posts\class.twitchpress-page-template-splitscreen.php:46
actioninitincludes\posts\class.twitchpress-post-type-channels.php:23
actioninitincludes\posts\class.twitchpress-post-type-channels.php:24
actioninitincludes\posts\class.twitchpress-post-type-channels.php:25
filterrest_api_allowed_post_typesincludes\posts\class.twitchpress-post-type-channels.php:26
actionadd_meta_boxesincludes\posts\class.twitchpress-post-type-channels.php:27
actionsave_postincludes\posts\class.twitchpress-post-type-channels.php:28
actionpost_submitbox_misc_actionsincludes\posts\class.twitchpress-post-type-channels.php:29
actioninitincludes\posts\class.twitchpress-post-type-giveaways.php:22
actioninitincludes\posts\class.twitchpress-post-type-giveaways.php:23
filterrest_api_allowed_post_typesincludes\posts\class.twitchpress-post-type-giveaways.php:25
actionadd_meta_boxesincludes\posts\class.twitchpress-post-type-giveaways.php:27
actioninitincludes\posts\class.twitchpress-post-type-perks.php:24
actioninitincludes\posts\class.twitchpress-post-type-perks.php:25
actioninitincludes\posts\class.twitchpress-post-type-perks.php:26
actioninitincludes\posts\class.twitchpress-post-type-webhooks.php:19
actioninitincludes\posts\class.twitchpress-post-type-webhooks.php:20
actioninitincludes\posts\class.twitchpress-post-type-webhooks.php:21
actionadd_meta_boxes_webhooksincludes\posts\class.twitchpress-post-type-webhooks.php:24
actionsave_post_webhooksincludes\posts\class.twitchpress-post-type-webhooks.php:27
actionsave_post_webhookincludes\posts\class.twitchpress-post-type-webhooks.php:28
actionupdate_post_webhookincludes\posts\class.twitchpress-post-type-webhooks.php:31
actionupdate_post_webhookincludes\posts\class.twitchpress-post-type-webhooks.php:32
actionadmin_post_twitchpress_api_version_switchincludes\requests\developer-toolbar-requests.php:15
actionadmin_post_twitchpress_beta_testing_switchincludes\requests\developer-toolbar-requests.php:57
actionwp_enqueue_scriptsincludes\shortcodes\channellist\twitchpress-shortcode-channellist.php:22
actionwp_enqueue_scriptsincludes\shortcodes\clipsgallery\twitchpress-shortcode-clipsgallery.php:18
actionadmin_post_twitchpress_manual_public_sync_twitchincludes\shortcodes\shortcode-sync-buttons-public.php:18
actionadmin_post_twitchpress_manual_public_sync_streamlabsincludes\shortcodes\shortcode-sync-buttons-public.php:19
actionadmin_post_nopriv_twitchpress_manual_public_sync_twitchincludes\shortcodes\shortcode-sync-buttons-public.php:22
actionadmin_post_nopriv_twitchpress_manual_public_sync_streamlabsincludes\shortcodes\shortcode-sync-buttons-public.php:23
actionadmin_post_twitchpress_subman_um_role_syncincludes\shortcodes\shortcode-ultimate-member-updater.php:22
actionadmin_post_nopriv_twitchpress_subman_um_role_syncincludes\shortcodes\shortcode-ultimate-member-updater.php:25
actionwp_enqueue_scriptsincludes\shortcodes\teamroster\class.twitchpress-shortcode-team-roster.php:21
actionwp_before_admin_bar_renderincludes\toolbars\class.twitchpress-toolbars.php:23
filterplugin_row_metaintegration.php:14
actioninitloader.php:297
actionadmin_initloader.php:298
actionadmin_initloader.php:299
actioninitloader.php:300
actioninitloader.php:301
actioninitloader.php:302
actioninitloader.php:303
filterviews_edit-pluginsloader.php:304
actionwp_enqueue_scriptsloader.php:305
actionlogin_enqueue_scriptsloader.php:306
actionplugins_loadedloader.php:307
filterplugin_row_metaloader.php:381
actioninitloader.php:429
actionswitch_blogloader.php:432
actionadmin_post_noprivloader.php:435
actioninitloader.php:438
actionshutdownloader.php:456
actionshutdownloader.php:457
actionshutdownloader.php:463
actionshutdownloader.php:469
actioninitsystems\giveaways\class.twitchpress-giveaways-install-database.php:28
actionswitch_blogsystems\giveaways\class.twitchpress-giveaways-install-database.php:29
actionadmin_post_twitchpress_raffle_entrysystems\giveaways\functions.twitchpress-raffles-shortcodes.php:18
actionadmin_post_nopriv_twitchpress_raffle_entry_buttonsystems\giveaways\functions.twitchpress-raffles-shortcodes.php:21
actionadmin_post_twitchpress_subman_um_role_syncsystems\subscribers\shortcodes\functions.twitchpress-subman-shortcode-umrole-update.php:22
actionadmin_post_nopriv_twitchpress_subman_um_role_syncsystems\subscribers\shortcodes\functions.twitchpress-subman-shortcode-umrole-update.php:25

Scheduled Events 3

twitchpress_sync_feed_to_wp
twitchpress_plugin_background_installer
twitchpress_plugin_background_installer
Maintenance & Trust

TwitchPress Maintenance & Trust

Maintenance Signals

WordPress version tested6.6.5
Last updatedAug 26, 2024
PHP min version5.6
Downloads6K

Community Trust

Rating20/100
Number of ratings1
Active installs10
Developer Profile

TwitchPress Developer Profile

Ryan Bayne

3 plugins · 30 total installs

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

How We Detect TwitchPress

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/twitchpress/assets/css/admin.css
Version Parameters
twitchpress/assets/css/admin.css?ver=

HTML / DOM Fingerprints

CSS Classes
twitchpress_status_box_containerwelcome-panelwelcome-panel-content
HTML Comments
<!-- TWITCHPRESS_NOTICE_INSTALLED --><!-- TWITCHPRESS_NOTICE_UPDATE -->
Data Attributes
data-notice_id
JS Globals
twitchpress_admin_params
Shortcode Output
[twitchpress_videos][twitchpress_streams][twitchpress_feed][twitchpress_chat]
FAQ

Frequently Asked Questions about TwitchPress