Portal Cloud 9 Security & Risk Analysis

wordpress.org/plugins/portal-cloud-9

Transform your WooCommerce store into a multi-vendor marketplace with a mobile-friendly dashboard, visitor analytics, messaging, and light/dark mode.

0 active installs v8.6.1 PHP 7.4+ WP 5.8+ Updated Unknown
dashboardmarketplacemulti-vendorvendorwoocommerce
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Portal Cloud 9 Safe to Use in 2026?

Generally Safe

Score 100/100

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

No known CVEs
Risk Assessment

The 'portal-cloud-9' plugin v8.6.1 exhibits a generally good security posture, with strong adherence to best practices in output escaping and SQL query sanitization. The plugin boasts a high percentage of properly escaped outputs and a significant portion of SQL queries utilizing prepared statements, which are crucial for preventing common web vulnerabilities. The absence of known CVEs and any history of past vulnerabilities further suggests a commitment to security from the developers.

Key Concerns

  • Unprotected AJAX handlers
  • Taint flows with unsanitized paths
  • High severity taint flows
Vulnerabilities
None known

Portal Cloud 9 Security Vulnerabilities

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

Portal Cloud 9 Code Analysis

Dangerous Functions
0
Raw SQL Queries
19
83 prepared
Unescaped Output
8
1123 escaped
Nonce Checks
53
Capability Checks
38
File Operations
3
External Requests
0
Bundled Libraries
0

SQL Query Safety

81% prepared102 total queries

Output Escaping

99% escaped1131 total outputs
Data Flows
7 unsanitized

Data Flow Analysis

12 flows7 with unsanitized paths
ajax_get_contact_conversation (includes\class-phone-contacts.php:438)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
28 unprotected

Portal Cloud 9 Attack Surface

Entry Points84
Unprotected28

AJAX Handlers 76

authwp_ajax_portcld9_clear_cacheadmin\class-settings.php:19
authwp_ajax_portcld9_toggle_optionadmin\class-settings.php:20
authwp_ajax_portcld9_purge_dataadmin\class-settings.php:21
authwp_ajax_portalcloud9_update_accountincludes\class-account-ajax.php:21
authwp_ajax_portalcloud9_upload_avatarincludes\class-account-ajax.php:22
authwp_ajax_portalcloud9_export_user_dataincludes\class-account-ajax.php:23
authwp_ajax_portalcloud9_delete_user_accountincludes\class-account-ajax.php:24
authwp_ajax_portcld9_update_cart_quantityincludes\class-cart-ajax.php:17
noprivwp_ajax_portcld9_update_cart_quantityincludes\class-cart-ajax.php:18
authwp_ajax_portcld9_remove_cart_itemincludes\class-cart-ajax.php:21
noprivwp_ajax_portcld9_remove_cart_itemincludes\class-cart-ajax.php:22
authwp_ajax_portcld9_apply_couponincludes\class-cart-ajax.php:25
noprivwp_ajax_portcld9_apply_couponincludes\class-cart-ajax.php:26
authwp_ajax_portcld9_remove_couponincludes\class-cart-ajax.php:29
noprivwp_ajax_portcld9_remove_couponincludes\class-cart-ajax.php:30
authwp_ajax_portcld9_get_cart_dataincludes\class-cart-ajax.php:33
noprivwp_ajax_portcld9_get_cart_dataincludes\class-cart-ajax.php:34
authwp_ajax_portalcloud9_dashboard_actionincludes\class-dashboard.php:37
authwp_ajax_portcld9_export_productsincludes\class-import-export-ajax.php:17
authwp_ajax_portcld9_import_productsincludes\class-import-export-ajax.php:20
authwp_ajax_portalcloud9_send_product_inquiryincludes\class-messaging-integration.php:52
noprivwp_ajax_portalcloud9_send_product_inquiryincludes\class-messaging-integration.php:53
authwp_ajax_portcld9_get_ordersincludes\class-orders-ajax.php:17
noprivwp_ajax_portcld9_get_ordersincludes\class-orders-ajax.php:18
authwp_ajax_portcld9_get_order_detailsincludes\class-orders-ajax.php:21
authwp_ajax_portcld9_get_orderincludes\class-orders-ajax.php:22
authwp_ajax_portcld9_get_my_order_detailsincludes\class-orders-ajax.php:25
authwp_ajax_portcld9_reorder_itemsincludes\class-orders-ajax.php:28
authwp_ajax_portcld9_update_orderincludes\class-orders-ajax.php:31
authwp_ajax_portcld9_delete_orderincludes\class-orders-ajax.php:34
authwp_ajax_portcld9_order_actionincludes\class-orders-ajax.php:37
authwp_ajax_portcld9_add_order_noteincludes\class-orders-ajax.php:40
authwp_ajax_portcld9_delete_order_noteincludes\class-orders-ajax.php:43
authwp_ajax_portcld9_track_phone_clickincludes\class-phone-contacts.php:31
authwp_ajax_portcld9_get_phone_contactsincludes\class-phone-contacts.php:32
authwp_ajax_portcld9_get_contact_statsincludes\class-phone-contacts.php:33
authwp_ajax_portcld9_send_contact_messageincludes\class-phone-contacts.php:34
authwp_ajax_portcld9_get_contact_conversationincludes\class-phone-contacts.php:35
authwp_ajax_portcld9_upload_imageincludes\class-products-ajax.php:12
authwp_ajax_portcld9_save_productincludes\class-products-ajax.php:18
authwp_ajax_portcld9_add_productincludes\class-products-ajax.php:206
authwp_ajax_portcld9_update_productincludes\class-products-ajax.php:346
authwp_ajax_portcld9_add_categoryincludes\class-products-ajax.php:493
authwp_ajax_portcld9_create_tagsincludes\class-products-ajax.php:546
authwp_ajax_portcld9_load_productsincludes\class-products-ajax.php:619
authwp_ajax_portcld9_get_productsincludes\class-products-ajax.php:621
authwp_ajax_portcld9_bulk_update_statusincludes\class-products-ajax.php:737
authwp_ajax_portcld9_bulk_delete_productsincludes\class-products-ajax.php:781
authwp_ajax_portcld9_bulk_productsincludes\class-products-ajax.php:783
authwp_ajax_portcld9_delete_productincludes\class-products-ajax.php:831
authwp_ajax_portcld9_save_productincludes\class-products.php:21
authwp_ajax_portcld9_update_productincludes\class-products.php:22
authwp_ajax_portcld9_delete_productincludes\class-products.php:23
authwp_ajax_portcld9_upload_imageincludes\class-products.php:24
noprivwp_ajax_portcld9_upload_imageincludes\class-products.php:25
authwp_ajax_portcld9_add_categoryincludes\class-products.php:26
authwp_ajax_portcld9_create_tagsincludes\class-products.php:27
noprivwp_ajax_portcld9_heartbeatincludes\class-visitor-analytics.php:58
authwp_ajax_portcld9_heartbeatincludes\class-visitor-analytics.php:59
noprivwp_ajax_portcld9_leaveincludes\class-visitor-analytics.php:62
authwp_ajax_portcld9_leaveincludes\class-visitor-analytics.php:63
authwp_ajax_portcld9_visitor_statsincludes\class-visitor-analytics.php:66
authwp_ajax_portcld9_visitor_chartincludes\class-visitor-analytics.php:67
authwp_ajax_portcld9_visitor_rangeincludes\class-visitor-analytics.php:68
authwp_ajax_portcld9_visitor_onlineincludes\class-visitor-analytics.php:69
authwp_ajax_portcld9_visitor_peaksincludes\class-visitor-analytics.php:70
authwp_ajax_portcld9_visitor_dailyincludes\class-visitor-analytics.php:71
authwp_ajax_portcld9_visitor_weekly_chartincludes\class-visitor-analytics.php:72
authwp_ajax_portcld9_visitor_peaks_rangeincludes\class-visitor-analytics.php:73
authwp_ajax_portcld9_send_contact_messageincludes\functions.php:221
noprivwp_ajax_portalcloud9_toggle_favouriteportal-cloud-9.php:487
authwp_ajax_portalcloud9_toggle_favouriteportal-cloud-9.php:500
authwp_ajax_portalcloud9_remove_favouriteportal-cloud-9.php:535
authwp_ajax_portalcloud9_clear_all_favouritesportal-cloud-9.php:541
authwp_ajax_portalcloud9_get_favourite_statusportal-cloud-9.php:547
authwp_ajax_portalcloud9_bulk_remove_favouritesportal-cloud-9.php:553

Shortcodes 8

[portalcloud9_favourite_button] includes\class-favourites.php:20
[portalcloud9_favourites_count] includes\class-favourites.php:21
[portalcloud9_portal] includes\class-shortcodes.php:11
[portalcloud9_product_inquiry] includes\class-shortcodes.php:12
[portalcloud9_seller_phone] includes\class-shortcodes.php:13
[portalcloud9_favourite_button] includes\class-shortcodes.php:14
[portalcloud9_favourites_count] includes\class-shortcodes.php:15
[portalcloud9_notification_bubble] includes\class-shortcodes.php:16
WordPress Hooks 61
actionadmin_menuadmin\class-settings.php:16
actionadmin_menuadmin\class-settings.php:17
actionadmin_initadmin\class-settings.php:18
actionadmin_enqueue_scriptsadmin\class-settings.php:55
actionadmin_enqueue_scriptsadmin\class-settings.php:85
actionwp_enqueue_scriptsincludes\class-cart-ajax.php:37
actioninitincludes\class-config.php:10
actioninitincludes\class-dashboard.php:20
actionwp_enqueue_scriptsincludes\class-dashboard.php:21
actionwp_enqueue_scriptsincludes\class-favourites.php:22
actionwp_enqueue_scriptsincludes\class-favourites.php:23
filterbody_classincludes\class-favourites.php:39
actiontemplate_redirectincludes\class-favourites.php:53
actiontemplate_redirectincludes\class-favourites.php:54
actioninitincludes\class-messaging-integration.php:34
filterwp_nav_menu_itemsincludes\class-messaging-integration.php:81
actionwp_footerincludes\class-messaging-integration.php:82
actionwp_enqueue_scriptsincludes\class-orders-ajax.php:47
actioninitincludes\class-phone-contacts.php:28
actionwoocommerce_single_product_summaryincludes\class-phone-contacts.php:38
actionwp_enqueue_scriptsincludes\class-products.php:28
actionwp_enqueue_scriptsincludes\class-shortcodes.php:17
actioninitincludes\class-visitor-analytics.php:52
actionwpincludes\class-visitor-analytics.php:55
actionwp_enqueue_scriptsincludes\class-visitor-analytics.php:76
actioninitincludes\class-visitor-analytics.php:79
actionportcld9_visitor_cleanupincludes\class-visitor-analytics.php:80
actionplugins_loadedincludes\class-visitor-analytics.php:683
filterpre_get_avatar_dataincludes\functions.php:37
actionwp_headincludes\functions.php:72
filterlogin_redirectincludes\functions.php:318
actionadmin_initincludes\functions.php:333
actionafter_setup_themeincludes\functions.php:362
actionwp_before_admin_bar_renderincludes\functions.php:377
actionadmin_noticesportal-cloud-9.php:39
actionadmin_noticesportal-cloud-9.php:98
actionadmin_initportal-cloud-9.php:111
actionadmin_noticesportal-cloud-9.php:113
actionbefore_woocommerce_initportal-cloud-9.php:136
filterquery_varsportal-cloud-9.php:146
actiontemplate_redirectportal-cloud-9.php:175
filtershow_admin_barportal-cloud-9.php:210
filterbody_classportal-cloud-9.php:213
actionplugins_loadedportal-cloud-9.php:256
actionwpportal-cloud-9.php:311
actionplugins_loadedportal-cloud-9.php:351
actionplugins_loadedportal-cloud-9.php:414
filterlogin_redirectportal-cloud-9.php:445
actionadmin_initportal-cloud-9.php:463
actionwpportal-cloud-9.php:562
actionwoocommerce_single_product_summaryportal-cloud-9.php:568
actionwp_enqueue_scriptsportal-cloud-9.php:584
actionwpportal-cloud-9.php:610
actionwoocommerce_after_single_productportal-cloud-9.php:615
actioninitportal-cloud-9.php:664
actiontemplate_includeportal-cloud-9.php:665
actiontemplate_redirectportal-cloud-9.php:666
actionwp_enqueue_scriptsportal-cloud-9.php:669
actionadmin_enqueue_scriptsportal-cloud-9.php:672
filtershow_admin_bartemplates\dashboard.php:29
filterbody_classtemplates\dashboard.php:30

Scheduled Events 1

portcld9_visitor_cleanup
Maintenance & Trust

Portal Cloud 9 Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedUnknown
PHP min version7.4
Downloads123

Community Trust

Rating0/100
Number of ratings0
Active installs0
Developer Profile

Portal Cloud 9 Developer Profile

Brian Agoi

1 plugin · 0 total installs

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

How We Detect Portal Cloud 9

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/portal-cloud-9/assets/css/components.css/wp-content/plugins/portal-cloud-9/assets/css/dashboard.css/wp-content/plugins/portal-cloud-9/assets/css/frontend.css/wp-content/plugins/portal-cloud-9/assets/css/vendors/animate.css/wp-content/plugins/portal-cloud-9/assets/css/vendors/aos.css/wp-content/plugins/portal-cloud-9/assets/css/vendors/swiper.css/wp-content/plugins/portal-cloud-9/assets/js/app.js/wp-content/plugins/portal-cloud-9/assets/js/components.js+4 more
Script Paths
/wp-content/plugins/portal-cloud-9/assets/js/vendors/vue.js/wp-content/plugins/portal-cloud-9/assets/js/vendors/aos.js/wp-content/plugins/portal-cloud-9/assets/js/vendors/swiper.js/wp-content/plugins/portal-cloud-9/assets/js/components.js/wp-content/plugins/portal-cloud-9/assets/js/dashboard.js/wp-content/plugins/portal-cloud-9/assets/js/app.js
Version Parameters
portal-cloud-9/assets/css/vendors/aos.css?ver=portal-cloud-9/assets/css/vendors/swiper.css?ver=portal-cloud-9/assets/css/vendors/animate.css?ver=portal-cloud-9/assets/css/components.css?ver=portal-cloud-9/assets/css/dashboard.css?ver=portal-cloud-9/assets/css/frontend.css?ver=portal-cloud-9/assets/js/vendors/vue.js?ver=portal-cloud-9/assets/js/vendors/aos.js?ver=portal-cloud-9/assets/js/vendors/swiper.js?ver=portal-cloud-9/assets/js/components.js?ver=portal-cloud-9/assets/js/dashboard.js?ver=portal-cloud-9/assets/js/app.js?ver=

HTML / DOM Fingerprints

CSS Classes
portalcloud9-dashboardportcld9-modal
HTML Comments
<!-- Portal Cloud 9 Pro is active and in control. The free Portal Cloud 9 plugin is serving as its foundation. -->
Data Attributes
data-portalcloud9-dialogdata-portalcloud9-modal-close
JS Globals
portalcloud9_appportalcloud9_dataportalcloud9_propsportcld9_vue_app
FAQ

Frequently Asked Questions about Portal Cloud 9