[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fq3X6FnN22Icnks4_Pf42N88A-0DJ3sglzu5k9EzVnzY":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":16,"tags":17,"homepage":19,"download_link":20,"security_score":21,"vuln_count":13,"unpatched_count":13,"last_vuln_date":22,"fetched_at":23,"vulnerabilities":24,"developer":25,"crawl_stats":22,"alternatives":32,"analysis":33,"fingerprints":306},"wpopal-medical","Wpopal Medical","1.0.4","wpopal","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpopal\u002F","\u003Cp>Opal Medical is a flexible WordPress plugin that lets you display your company’s medicals in a variety of ways: as single pages, and even as embedded content blocks on the homepage of your website with the help of custom shortcodes.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cp>Detailed guide to install and customize: \u003Ca href=\"http:\u002F\u002Fwpopal.com\u002F\" title=\"Visit the Plugin docs\" rel=\"nofollow ugc\">documentation\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Benefits For Users With Powerful Functions Of Potential Websites\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Completely integrated with Elementor page builder!\u003C\u002Fli>\n\u003Cli>100% responsive and mobile ready\u003C\u002Fli>\n\u003Cli>Easily Integrated to any WordPress websites.\u003C\u002Fli>\n\u003Cli>Quickly Set up, Publish & Update\u003C\u002Fli>\n\u003Cli>Friendly-user and Easy Customization\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Configuration\u003C\u002Fh4>\n\u003Cp>The plugin is highly customizable, so you can apply it to any WordPress theme. In the settings section of the plugin you can do the following: \u003Cstrong>Setting >> Display Setting\u003C\u002Fstrong>\u003Cbr \u002F>\n– Can change the ‘Slug’ of Medical and Medical category;\u003Cbr \u002F>\n– Select page view layour for Medical pages;\u003Cbr \u002F>\n– Select image sizes for Medical pages;\u003Cbr \u002F>\n– Set a columns for to Medical pages;\u003Cbr \u002F>\n– Set the number of medicals displayed on Medical pages;\u003Cbr \u002F>\n– Choose display Thumnail, Category, Description, View Detail, Number for to Medical pages;\u003C\u002Fp>\n","Opal Medical is a flexible WordPress plugin that lets you display your company’s medicals in a variety of ways: as single pages, and even as embedded  &hellip;",20,1623,0,"2022-04-04T04:25:00.000Z","5.9.13","",[18],"medicals","http:\u002F\u002Fwww.wpopal.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwpopal-medical.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":26,"total_installs":27,"avg_security_score":28,"avg_patch_time_days":29,"trust_score":30,"computed_at":31},19,2980,90,50,81,"2026-04-04T05:42:21.161Z",[],{"attackSurface":34,"codeSignals":164,"taintFlows":291,"riskAssessment":292,"analyzedAt":305},{"hooks":35,"ajaxHandlers":160,"restRoutes":161,"shortcodes":162,"cronEvents":163,"entryPointCount":13,"unprotectedCount":13},[36,42,46,50,54,58,62,66,71,74,79,83,89,93,97,100,105,109,113,117,121,124,127,131,133,135,139,143,146,150,155,158],{"type":37,"name":38,"callback":38,"priority":39,"file":40,"line":41},"action","admin_menu",10,"inc\\admin\\register-settings.php",52,{"type":37,"name":43,"callback":44,"file":40,"line":45},"admin_init","init",54,{"type":37,"name":47,"callback":48,"priority":39,"file":40,"line":49},"cmb2_render_opalmedical_title","opalmedical_title_callback",57,{"type":37,"name":51,"callback":52,"priority":39,"file":40,"line":53},"cmb2_render_api","opalmedical_api_callback",59,{"type":37,"name":55,"callback":56,"priority":39,"file":40,"line":57},"cmb2_render_license_key","opalmedical_license_key_callback",60,{"type":37,"name":59,"callback":60,"priority":39,"file":40,"line":61},"cmb2_save_options-page_fields","settings_notices",61,{"type":37,"name":63,"callback":64,"file":40,"line":65},"admin_print_styles-opalmedical_medical_page_opalmedical-settings","enqueue_cmb_css",64,{"type":67,"name":68,"callback":69,"priority":39,"file":40,"line":70},"filter","cmb2_get_metabox_form_format","opalmedical_modify_cmb2_form_output",648,{"type":37,"name":72,"callback":52,"file":40,"line":73},"opalmedical_settings_tab_api_keys",746,{"type":37,"name":75,"callback":76,"file":77,"line":78},"customize_register","opalmedical_post_layout_customize_register","inc\\class-opalmedical-customizer.php",129,{"type":37,"name":80,"callback":81,"file":77,"line":82},"after_setup_theme","opalmedical_setup_theme_default_settings",134,{"type":37,"name":84,"callback":85,"priority":86,"file":87,"line":88},"wp_head","initAjaxUrl",15,"inc\\class-opalmedical-scripts.php",24,{"type":37,"name":90,"callback":91,"file":87,"line":92},"wp_enqueue_scripts","loadScripts",26,{"type":37,"name":94,"callback":95,"file":87,"line":96},"admin_enqueue_scripts","loadAdminStyles",27,{"type":37,"name":44,"callback":98,"file":87,"line":99},"regeister_scripts_frontend",28,{"type":37,"name":101,"callback":102,"file":103,"line":104},"widgets_init","opalmedical_widgets_init","inc\\class-opalmedical-widgets.php",3,{"type":67,"name":106,"callback":107,"file":108,"line":96},"template_include","templates","inc\\class-template-loader.php",{"type":67,"name":110,"callback":110,"file":111,"line":112},"opalmedical_areasize_unit_format","inc\\mixes-functions.php",111,{"type":37,"name":114,"callback":115,"file":111,"line":116},"after_switch_theme","medical_add_cpt_support",252,{"type":37,"name":44,"callback":118,"file":119,"line":120},"definition","inc\\post-types\\class-posttype-doctor.php",25,{"type":67,"name":122,"callback":123,"priority":39,"file":119,"line":96},"manage_opal_medical_posts_columns","init_medical_columns",{"type":37,"name":125,"callback":126,"priority":39,"file":119,"line":99},"manage_opal_medical_posts_custom_column","show_medical_columns",{"type":67,"name":128,"callback":129,"file":119,"line":130},"cmb2_meta_boxes","metaboxes",30,{"type":37,"name":44,"callback":118,"file":132,"line":120},"inc\\taxonomies\\class-posttype-departments.php",{"type":37,"name":44,"callback":118,"file":134,"line":88},"inc\\taxonomies\\class-taxonomy-category-doctor.php",{"type":37,"name":44,"callback":136,"file":137,"line":138},"opalmedical_template_init","inc\\template-functions.php",29,{"type":37,"name":140,"callback":141,"priority":39,"file":137,"line":142},"opalmedical_single_medical_content","opal_medical_content",66,{"type":67,"name":144,"callback":144,"file":137,"line":145},"opalmedical_sidebar_archive_position",80,{"type":37,"name":43,"callback":147,"file":148,"line":149},"opalmedical_install_roles_on_network","install.php",73,{"type":37,"name":151,"callback":152,"file":153,"line":154},"plugins_loaded","load_textdomain","opalmedical.php",72,{"type":37,"name":156,"callback":157,"file":153,"line":149},"elementor\u002Fwidgets\u002Fwidgets_registered","osv_load_elementor_widgets",{"type":37,"name":101,"callback":101,"file":153,"line":159},202,[],[],[],[],{"dangerousFunctions":165,"sqlUsage":166,"outputEscaping":168,"fileOperations":13,"externalRequests":13,"nonceChecks":13,"capabilityChecks":289,"bundledLibraries":290},[],{"prepared":13,"raw":13,"locations":167},[],{"escaped":169,"rawEcho":53,"locations":170},160,[171,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,209,212,215,217,219,221,223,226,227,230,232,234,237,238,241,242,243,244,246,248,250,252,255,258,259,261,262,263,264,265,268,269,272,274,275,277,278,281,283,285,286],{"file":40,"line":172,"context":173},118,"raw output",{"file":40,"line":175,"context":173},130,{"file":40,"line":177,"context":173},530,{"file":40,"line":179,"context":173},531,{"file":40,"line":181,"context":173},536,{"file":40,"line":183,"context":173},561,{"file":40,"line":185,"context":173},565,{"file":40,"line":187,"context":173},573,{"file":40,"line":189,"context":173},579,{"file":40,"line":191,"context":173},703,{"file":87,"line":193,"context":173},79,{"file":111,"line":195,"context":173},220,{"file":111,"line":197,"context":173},222,{"file":119,"line":199,"context":173},96,{"file":137,"line":201,"context":173},49,{"file":137,"line":203,"context":173},55,{"file":137,"line":205,"context":173},62,{"file":207,"line":208,"context":173},"inc\\vendors\\elementor\\medical.php",574,{"file":210,"line":211,"context":173},"inc\\vendors\\elementor\\medicalcarousel.php",689,{"file":213,"line":214,"context":173},"templates\\archive-opal_doctor.php",22,{"file":213,"line":216,"context":173},35,{"file":213,"line":218,"context":173},39,{"file":213,"line":220,"context":173},47,{"file":213,"line":222,"context":173},51,{"file":224,"line":225,"context":173},"templates\\content-medical-carousel.php",43,{"file":224,"line":201,"context":173},{"file":228,"line":229,"context":173},"templates\\content-medical-grid.php",77,{"file":228,"line":231,"context":173},84,{"file":228,"line":233,"context":173},93,{"file":235,"line":236,"context":173},"templates\\content-single-medical.php",12,{"file":235,"line":92,"context":173},{"file":239,"line":240,"context":173},"templates\\department-opal_doctor.php",23,{"file":239,"line":216,"context":173},{"file":239,"line":225,"context":173},{"file":239,"line":220,"context":173},{"file":245,"line":220,"context":173},"templates\\shortcodes\\carousel-medical.php",{"file":245,"line":247,"context":173},58,{"file":249,"line":26,"context":173},"templates\\shortcodes\\categories-medical.php",{"file":249,"line":251,"context":173},36,{"file":253,"line":254,"context":173},"templates\\shortcodes\\list-medical.php",40,{"file":256,"line":257,"context":173},"templates\\shortcodes\\tabs-medical.php",11,{"file":256,"line":218,"context":173},{"file":256,"line":260,"context":173},41,{"file":256,"line":260,"context":173},{"file":256,"line":225,"context":173},{"file":256,"line":247,"context":173},{"file":256,"line":53,"context":173},{"file":266,"line":267,"context":173},"templates\\sidebar\\left-sidebar-check.php",46,{"file":266,"line":49,"context":173},{"file":270,"line":271,"context":173},"templates\\single-medical\\content.php",21,{"file":270,"line":273,"context":173},63,{"file":270,"line":154,"context":173},{"file":276,"line":39,"context":173},"templates\\single-opal_doctor.php",{"file":276,"line":130,"context":173},{"file":279,"line":280,"context":173},"templates\\widgets\\category_medical\\default.php",14,{"file":279,"line":282,"context":173},18,{"file":284,"line":280,"context":173},"templates\\widgets\\category_service\\default.php",{"file":284,"line":282,"context":173},{"file":287,"line":288,"context":173},"templates\\widgets\\sidebar_service\\default.php",32,1,[],[],{"summary":293,"deductions":294},"Based on the provided static analysis and vulnerability history, the wopald-medical plugin version 1.0.4 exhibits a strong security posture. The absence of any identified dangerous functions, SQL queries without prepared statements, or external HTTP requests is commendable.  Furthermore, the lack of known CVEs and a clean vulnerability history suggests diligent security practices by the developers or a lack of significant prior security issues.  The code signals indicate that input sanitization and output escaping, while not perfect with 73% proper escaping, are generally handled well, and capability checks are present, which is a good sign for access control.\n\nHowever, there are areas that warrant attention. The most significant concern is the complete absence of nonce checks and the presence of only one capability check across all code. This, combined with zero AJAX handlers or REST API routes being analyzed for authorization, presents a potential blind spot. If any such endpoints exist and were not included in the static analysis, they could be vulnerable to CSRF or unauthorized access.  While the current analysis shows no critical or high-severity taint flows, the limited scope of the analysis (0 taint flows analyzed) means this cannot be definitively ruled out for the entire codebase.\n\nIn conclusion, the plugin demonstrates good foundational security practices, particularly in data handling and preventing direct code execution vulnerabilities. The clean vulnerability history is a positive indicator. However, the lack of comprehensive checks on potential entry points like AJAX and REST APIs, and the minimal noncing, represent a weakness that could be exploited if these components are present and improperly secured. Further investigation into the plugin's actual entry points and their authorization mechanisms is recommended.",[295,298,300,303],{"reason":296,"points":297},"Missing nonce checks on potential entry points",7,{"reason":299,"points":104},"Limited scope of taint analysis",{"reason":301,"points":302},"Only one capability check present",5,{"reason":304,"points":104},"Output escaping not fully comprehensive (73%)","2026-03-16T22:54:21.768Z",{"wat":307,"direct":316},{"assetPaths":308,"generatorPatterns":313,"scriptPaths":314,"versionParams":315},[309,310,311,312],"\u002Fwp-content\u002Fplugins\u002Fwpopal-medical\u002Finc\u002Fvendors\u002Felementor\u002Fopal-medical-doctors-widget.php","\u002Fwp-content\u002Fplugins\u002Fwpopal-medical\u002Finc\u002Fvendors\u002Felementor\u002Fopal-medical-departments-widget.php","\u002Fwp-content\u002Fplugins\u002Fwpopal-medical\u002Finc\u002Fvendors\u002Felementor\u002Fopal-medical-services-widget.php","\u002Fwp-content\u002Fplugins\u002Fwpopal-medical\u002Finc\u002Fvendors\u002Felementor\u002Fopal-medical-appointments-widget.php",[],[],[],{"cssClasses":317,"htmlComments":318,"htmlAttributes":328,"restEndpoints":330,"jsGlobals":331,"shortcodeOutput":336},[],[319,320,321,322,321,323,321,324,325,326,327],"\u003C!-- Include admin setting -->","\u003C!-- include teamplate loader -->","\u003C!-- -->","\u003C!-- include all file *.php in directories , call function in inc\u002Fmixes-functions.php -->","\u003C!-- *** -->","\u003C!-- Customizer -->","\u003C!-- Widgets -->","\u003C!-- uninstall -->","\u003C!--",[329],"data-elementor-open-widget-edit-mode",[],[332,333,334,335],"opalmedical_ajax_object","osv_medical_widget_data","opalmedical_script_data","opalmedical_woo_data",[337,338,339,340],"[opalmedical_doctors]","[opalmedical_departments]","[opalmedical_services]","[opalmedical_appointments]"]