[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fpbS5S8T6q-oGSHpax5S1XbNNbOdjfIcDdu3mzytY4B0":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":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":15,"tags":18,"homepage":23,"download_link":24,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":35,"analysis":145,"fingerprints":301},"bp-show-activity-liked-avatars","BP Favorite Plus","2.2","mahdiar","https:\u002F\u002Fprofiles.wordpress.org\u002Fmahdiar\u002F","\u003Cul>\n\u003Cli>Tested up to BuddyPress 6.0\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin allows you to show user avatars below every activity who likeds that activity before. you have just need to install it and nothing more to do!\u003C\u002Fp>\n\u003Ch4>Main Features :\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>It uses Buddypress favorite system.\u003C\u002Fli>\n\u003Cli>Change the settings in dashboard.\u003C\u002Fli>\n\u003Cli>You can customize the avatar size.\u003C\u002Fli>\n\u003Cli>You can set how many avatars to show.\u003C\u002Fli>\n\u003Cli>You can use your custom CSS style.\u003C\u002Fli>\n\u003Cli>You can change the title for the avatars.\u003C\u002Fli>\n\u003Cli>A button for showing all avatars.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Languages :\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>English\u003C\u002Fli>\n\u003Cli>Persian\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Roadmap :\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Adding widget for showing top users(Users have higher likes !)\u003C\u002Fli>\n\u003Cli>And your nice opinions ! please contact us .\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Further Information\u003C\u002Fh3>\n\u003Cp>More information, the latest updates can be found at\u003C\u002Fp>\n\u003Cp>http:\u002F\u002Fpaaz.ir\u002F\u003C\u002Fp>\n\u003Cp>or contact me if you have any question\u003C\u002Fp>\n\u003Cp>http:\u002F\u002Fpaaz.ir\u002Fcontactus\u003C\u002Fp>\n","This plugin allows you to show user avatars below activity who liked that activity before",10,4537,84,6,"","5.4.19","3.0",[4,19,20,21,22],"buddypress","favorite","like","paaz","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbp-show-activity-liked-avatars\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbp-show-activity-liked-avatars.zip",100,0,null,"2026-03-15T10:48:56.248Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},1,30,94,"2026-04-04T14:47:41.241Z",[36,59,82,105,127],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":25,"num_ratings":46,"last_updated":47,"tested_up_to":48,"requires_at_least":49,"requires_php":15,"tags":50,"homepage":55,"download_link":56,"security_score":57,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":58},"bp-favorite-notification","BuddyPress Favorite Notification","1.2.3","Varun Dubey","https:\u002F\u002Fprofiles.wordpress.org\u002Fvapvarun\u002F","\u003Cp>BuddyPress Favorite Notification  adds a notification for BuddyPress activity.\u003C\u002Fp>\n\u003Ch4>How it works:-\u003C\u002Fh4>\n\u003Cp>Live notifications of BuddyPress activities notify the user of likes and favorites.\u003C\u002Fp>\n","BuddyPress Favorite Notification  adds a notification for BuddyPress activity.",200,24248,5,"2024-12-31T05:43:00.000Z","6.7.5","3.5",[19,51,52,53,54],"buddypress-favorite-notification","buddypress-like","buddypress-notification","notification","http:\u002F\u002Fwww.wbcomdesigns.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbp-favorite-notification.1.2.3.zip",92,"2026-03-15T15:16:48.613Z",{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":57,"num_ratings":69,"last_updated":70,"tested_up_to":71,"requires_at_least":72,"requires_php":73,"tags":74,"homepage":77,"download_link":78,"security_score":79,"vuln_count":80,"unpatched_count":31,"last_vuln_date":81,"fetched_at":58},"favorites","Favorites","2.3.6","Kyle Phillips","https:\u002F\u002Fprofiles.wordpress.org\u002Fkylephillips\u002F","\u003Cp>\u003Cstrong>Why Favorites?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Favorites is designed for end users and theme developers. It provides an easy-to-use API for adding favorite button functionality to any post type.\u003C\u002Fp>\n\u003Cp>The plugin can provide a way to save favorites, likes, bookmarks, or any other similar types of data with its customizable button text.\u003C\u002Fp>\n\u003Cp>Visit \u003Ca href=\"http:\u002F\u002Ffavoriteposts.com\" rel=\"nofollow ugc\">favoriteposts.com\u003C\u002Fa> for a full list of available template functions and shortcodes.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Use with Any Post Type\u003C\u002Fstrong> – Enable or disable favorite functionality per post type while automatically adding a favorite button before and\u002For after the content. Or, use the included functions to display the button anywhere in your template.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Available for All Users\u003C\u002Fstrong> – Don’t want to hide functionality behind a login? Favorites includes an option to save anonymous users’ favorites by either Session or Cookie. Logged-In users’ favorites are also saved as user meta\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Designed for Developers\u003C\u002Fstrong> – Favorites works great out-of-the-box for beginners, but a full set of template functions unlocks just about any sort of custom functionality developers may need. Favorites outputs the minimum amount of markup needed, putting the style and control in your hands.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>GDPR\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>As of version 2.2, a setting is provided to help comply with GDPR standards. To enable this setting, visit Settings > Favorites > Users, and check the field under “User Cookie Consent.” When this setting is enabled, the content saved under the setting displays in a modal window, and the user must agree to the terms you provide before favorite cookies can be saved. Note: There is no language provided by default. This should be supplied by a qualified attorney or legal entity. Once the user has approved or denied cookies, that is saved in the “simplefavorites” cookie along with the timestamp of approval or denial. If the site is part of a multi-site installation, the setting will carry through to all sites.\u003C\u002Fp>\n\u003Cp>If your site already has a cookie compliance solution in place, there are two document-level jQuery events that may be triggered in order to approve or deny cookies in the background.\u003C\u002Fp>\n\u003Cp>To approve the use of cookies, trigger the event “favorites-user-consent-approved”. To deny the use of cookies, trigger the event “favorites-user-consent-denied”.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Multisite Compatible\u003C\u002Fstrong> – As of version 1.1.0, Favorites is multisite compatible. User favorites are saved on a site\u002Fblog basis, and may be retrieved and displayed across sites.\u003C\u002Fp>\n\u003Cp>For more information visit \u003Ca href=\"http:\u002F\u002Ffavoriteposts.com\" rel=\"nofollow ugc\">favoriteposts.com\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Important: Favorites requires WordPress version 3.8 or higher, and PHP version 5.4 or higher.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Favorite Button\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The favorite button can be added automatically to the content by enabling specific post types in the plugin settings. It may also be added to template files or through the content editor using the included functions or shortcodes. The post id may be left blank in all cases if inside the loop. The site id parameter is optional, for use in multisite installations (defaults to current site).\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Get function:\u003C\u002Fstrong> \u003Ccode>get_favorites_button($post_id, $site_id)\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Print function:\u003C\u002Fstrong> \u003Ccode>the_favorites_button($post_id, $site_id)\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode:\u003C\u002Fstrong> \u003Ccode>[favorite_button post_id=\"\" site_id=\"\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Favorite Count (by Post)\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Total favorites for each post are saved as a simple integer. If a user unfavorites a post, this count is updated. Anonymous users’ favorites count towards the total by default, but may be disabled via the plugin settings. The post id may be left blank in all cases if inside the loop.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Get function:\u003C\u002Fstrong> \u003Ccode>get_favorites_count($post_id)\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Print function:\u003C\u002Fstrong> \u003Ccode>the_favorites_count($post_id)\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode:\u003C\u002Fstrong> \u003Ccode>[favorite_count post_id=\"\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Favorite Count (by User)\u003C\u002Fstrong>\u003Cbr \u002F>\nDisplays the total number of favorites a user has favorited. Template functions accept the same filters parameter as the user favorites functions.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Get function:\u003C\u002Fstrong> \u003Ccode>get_user_favorites_count($user_id, $site_id, $filters)\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Print function:\u003C\u002Fstrong> \u003Ccode>the_user_favorites_count($user_id, $site_id, $filters)\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode:\u003C\u002Fstrong> \u003Ccode>[user_favorites user_id=\"\" site_id=\"\" post_types=\"\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>User Favorites\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>User favorites are stored as an array of post ids. Logged-in users’ favorites are stored as a custom user meta field, while anonymous users’ favorites are stored in either the session or browser cookie (configurable in the plugin settings). If the user id parameter is omitted, the favorites default to the current user. The site id parameter is optional, for use in multisite installations (defaults to current site).\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Get function (returns array of IDs):\u003C\u002Fstrong> \u003Ccode>get_user_favorites($user_id, $site_id)\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Get function (returns html list):\u003C\u002Fstrong> \u003Ccode>get_user_favorites_list($user_id, $site_id, $include_links, $filters, $include_button, $include_thumbnails = false, $thumbnail_size = 'thumbnail', $include_excerpt = false)\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Print function (prints an html list):\u003C\u002Fstrong> \u003Ccode>the_user_favorites_list($user_id, $site_id, $include_links, $filters, $include_button, $include_thumbnails = false, $thumbnail_size = 'thumbnail', $include_excerpt = false)\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode (prints an html list, with the option of omitting links):\u003C\u002Fstrong> `[user_favorites user_id=”” include_links=”true” site_id=”” include_buttons=”false” post_types=”post” include_thumbnails=”false” thumbnail_size=”thumbnail” include_excerpt=”false”]\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>List Users Who Have Favorited a Post\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Display a list of users who have favorited a specific post. If the user id parameter is omitted, the favorites default to the current user. The site id parameter is optional, for use in multisite installations (defaults to current site). The get function returns an array of user objects.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Get function (returns array of User Objects):\u003C\u002Fstrong> \u003Ccode>get_users_who_favorited_post($post_id, $site_id)\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Print function (prints an html list):\u003C\u002Fstrong> \u003Ccode>the_users_who_favorited_post($post_id = null, $site_id = null, $separator = 'list', $include_anonymous = true, $anonymous_label = 'Anonymous Users', $anonymous_label_single = 'Anonymous User')\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode (prints an html list):\u003C\u002Fstrong> `[post_favorites post_id=”” site_id=”” separator=”list” include_anonymous=”true” anonymous_label=”Anonymous Users” anonymous_label_single=”Anonymous User”]\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Clear Favorites Button\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Displays a button that allows users to clear all of their favorites.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Get function:\u003C\u002Fstrong> \u003Ccode>get_clear_favorites_button($site_id, $text)\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Print function:\u003C\u002Fstrong> \u003Ccode>the_clear_favorites_button($site_id, $text)\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode:\u003C\u002Fstrong> `[clear_favorites_button site_id=”” text=”Clear Favorites”]\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Favorite Count (Across all Posts)\u003C\u002Fstrong>\u003Cbr \u002F>\nDisplays the total number of favorites for a given site.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Get function:\u003C\u002Fstrong> \u003Ccode>get_total_favorites_count($site_id)\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Print function:\u003C\u002Fstrong> \u003Ccode>the_total_favorites_count($site_id)\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n","Favorites for any post type. Easily add favoriting\u002Fliking, wishlists, or any other similar functionality using the developer-friendly API.",10000,293250,132,"2025-04-10T17:30:00.000Z","6.8.5","3.8","5.4",[75,20,60,21,76],"bookmark","likes","http:\u002F\u002Ffavoriteposts.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffavorites.2.3.6.zip",71,4,"2025-07-21 00:00:00",{"slug":83,"name":84,"version":85,"author":86,"author_profile":87,"description":88,"short_description":89,"active_installs":90,"downloaded":91,"rating":25,"num_ratings":92,"last_updated":93,"tested_up_to":94,"requires_at_least":95,"requires_php":96,"tags":97,"homepage":100,"download_link":101,"security_score":102,"vuln_count":103,"unpatched_count":26,"last_vuln_date":104,"fetched_at":58},"my-favorites","My Favorites","1.4.4","Takashi Matsuyama","https:\u002F\u002Fprofiles.wordpress.org\u002Ftakashimatsuyama\u002F","\u003Cp>Save user’s favorite posts and list them.\u003Cbr \u002F>\nThis plugin is simple. You can save the user’s favorite posts just a install and display them anywhere you want with just a shortcode.\u003Cbr \u002F>\nThe logged-in user’s data is saved in the user meta. Other user’s data is saved to Web Storage (localStorage).\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Shortcode:\u003C\u002Fstrong> \u003Ccode>[ccc_my_favorite_select_button post_id=\"\" style=\"\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode:\u003C\u002Fstrong> \u003Ccode>[ccc_my_favorite_list_menu slug=\"\" text=\"\" style=\"\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode:\u003C\u002Fstrong> \u003Ccode>[ccc_my_favorite_list_results class=\"\" style=\"\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For pages with a shortcode for list view ([ccc_my_favorite_list_results]).\u003C\u002Fp>\n\u003Cp>“Load More” is displayed with “posts_per_page”.\u003Cbr \u002F>\nIt will be displayed when the user has more favorite posts than “posts_per_page”.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Shortcode:\u003C\u002Fstrong> \u003Ccode>[ccc_my_favorite_list_results posts_per_page=\"10\"]\u003C\u002Fcode> default is 100 posts.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can display the post’s “excerpt”.\u003Cbr \u002F>\nThis value is the char length.\u003Cbr \u002F>\nIf not needed, use “no excerpt” or “0”.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Shortcode:\u003C\u002Fstrong> \u003Ccode>[ccc_my_favorite_list_results excerpt=\"30\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If you want, you can change the code for list view yourself.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Shortcode:\u003C\u002Fstrong> \u003Ccode>[ccc_my_favorite_list_custom_template style=\"\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For pages with a shortcode for custom list view ([ccc_my_favorite_list_custom_template]).\u003Cbr \u002F>\nAdd the function (\u003Ccode>function ccc_my_favorite_list_custom_template( $my_favorite_post_id ) { }\u003C\u002Fcode>) for your list view to \u003Ccode>your-theme\u002Ffunctions.php\u003C\u002Fcode>.\u003Cbr \u002F>\n    $my_favorite_post_id is array.\u003Cbr \u002F>\n    style=”none” excludes the default CSS for the list.\u003C\u002Fp>\n\u003Cp>Detailed usage is under preparation.\u003C\u002Fp>\n\u003Ch3>Discover More\u003C\u002Fh3>\n\u003Cp>This plugin is \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftakashi-matsuyama\u002Fmy-favorites\" rel=\"nofollow ugc\">developed on GitHub\u003C\u002Fa>\u003C\u002Fp>\n","Save user's favorite posts and list them.",1000,17149,15,"2026-01-09T08:29:00.000Z","6.9.4","4.8","5.4.0",[98,99,60,76],"accessibility","favorite-posts","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmy-favorites\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmy-favorites.1.4.4.zip",99,2,"2024-10-14 00:00:00",{"slug":106,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":25,"downloaded":113,"rating":33,"num_ratings":114,"last_updated":115,"tested_up_to":116,"requires_at_least":117,"requires_php":118,"tags":119,"homepage":124,"download_link":125,"security_score":126,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":58},"buddy-notification-bell","Buddy Notification Bell","1.0.4","1naveengiri","https:\u002F\u002Fprofiles.wordpress.org\u002F1naveengiri\u002F","\u003Cp>Plugin shows all BuddyPress notification with Bell alert. You can place your Notifications Bell anywhere, just with a shortcode [buddy_notification_bell] to show notification bell.\u003Cbr \u002F>\nThis bell not only show real-time notification but also it gives a notification bell sound alert.\u003Cbr \u002F>\nSame like we get in facebook on new notification receive.\u003C\u002Fp>\n\u003Ch3>Demo\u003C\u002Fh3>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FseMBJZB-vu8?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n","Buddy Notification Bell convert BuddyPress notification to BuddyPress Bell Notification. It shows all notification with bell alert and anywhere you wa &hellip;",8708,14,"2023-12-15T10:02:00.000Z","6.4.8","4.5","7.4",[19,120,121,122,123],"buddypress-notifications","facebook-like-notification","notifications","notifications-bell","http:\u002F\u002Fbuddydevelopers.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbuddy-notification-bell.1.0.4.zip",85,{"slug":52,"name":128,"version":129,"author":130,"author_profile":131,"description":132,"short_description":133,"active_installs":25,"downloaded":134,"rating":135,"num_ratings":136,"last_updated":137,"tested_up_to":138,"requires_at_least":72,"requires_php":15,"tags":139,"homepage":143,"download_link":144,"security_score":126,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":58},"BuddyPress Like","0.3.0","darrenmeehan","https:\u002F\u002Fprofiles.wordpress.org\u002Fdarrenmeehan\u002F","\u003Cp>Gives users the ability to ‘like’ content across your BuddyPress enabled site.\u003C\u002Fp>\n","Gives users the ability to 'like' content across your BuddyPress enabled site.",76443,70,26,"2015-12-06T20:41:00.000Z","4.4.34",[19,21,140,141,142],"post","rate","thumbs","http:\u002F\u002Fdarrenmeehan.me\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbuddypress-like.zip",{"attackSurface":146,"codeSignals":178,"taintFlows":214,"riskAssessment":288,"analyzedAt":300},{"hooks":147,"ajaxHandlers":174,"restRoutes":175,"shortcodes":176,"cronEvents":177,"entryPointCount":26,"unprotectedCount":26},[148,153,158,161,165,169],{"type":149,"name":150,"callback":151,"file":152,"line":103},"action","admin_menu","bsala_admin_settings_page","admin-settings.php",{"type":149,"name":154,"callback":155,"file":156,"line":157},"wp_enqueue_scripts","bsala_load_user_css","bp-show-activity-liked-avatar.php",21,{"type":149,"name":154,"callback":159,"file":156,"line":160},"bsala_load_user_script",38,{"type":149,"name":162,"callback":163,"file":156,"line":164},"init","my_plugin_init",50,{"type":149,"name":166,"callback":167,"file":156,"line":168},"admin_notices","bsala_error_notice",111,{"type":170,"name":171,"callback":172,"priority":102,"file":156,"line":173},"filter","bp_activity_entry_meta","bsala_get_users_fav",114,[],[],[],[],{"dangerousFunctions":179,"sqlUsage":180,"outputEscaping":182,"fileOperations":26,"externalRequests":26,"nonceChecks":26,"capabilityChecks":26,"bundledLibraries":213},[],{"prepared":31,"raw":26,"locations":181},[],{"escaped":26,"rawEcho":114,"locations":183},[184,186,188,190,192,194,196,198,201,203,205,207,209,211],{"file":156,"line":13,"context":185},"raw output",{"file":156,"line":187,"context":185},86,{"file":156,"line":189,"context":185},88,{"file":156,"line":191,"context":185},89,{"file":156,"line":193,"context":185},91,{"file":156,"line":195,"context":185},97,{"file":156,"line":197,"context":185},105,{"file":199,"line":200,"context":185},"html-admin-settings.php",16,{"file":199,"line":202,"context":185},24,{"file":199,"line":204,"context":185},35,{"file":199,"line":206,"context":185},46,{"file":199,"line":208,"context":185},57,{"file":199,"line":210,"context":185},68,{"file":199,"line":212,"context":185},80,[],[215,265],{"entryPoint":216,"graph":217,"unsanitizedCount":14,"severity":264},"bsala_settings_page (admin-settings.php:8)",{"nodes":218,"edges":256},[219,224,229,232,234,237,239,242,244,248,250,254],{"id":220,"type":221,"label":222,"file":152,"line":223},"n0","source","$_POST['bsala_avatar_size']",13,{"id":225,"type":226,"label":227,"file":152,"line":223,"wp_function":228},"n1","sink","update_option() [Settings Manipulation]","update_option",{"id":230,"type":221,"label":231,"file":152,"line":114},"n2","$_POST['bsala_custom_title']",{"id":233,"type":226,"label":227,"file":152,"line":114,"wp_function":228},"n3",{"id":235,"type":221,"label":236,"file":152,"line":92},"n4","$_POST['bsala_min_avatar_no']",{"id":238,"type":226,"label":227,"file":152,"line":92,"wp_function":228},"n5",{"id":240,"type":221,"label":241,"file":152,"line":200},"n6","$_POST['bsala_max_avatar_no']",{"id":243,"type":226,"label":227,"file":152,"line":200,"wp_function":228},"n7",{"id":245,"type":221,"label":246,"file":152,"line":247},"n8","$_POST['bsala_custom_style']",17,{"id":249,"type":226,"label":227,"file":152,"line":247,"wp_function":228},"n9",{"id":251,"type":221,"label":252,"file":152,"line":253},"n10","$_POST['bsala_text_for_more']",18,{"id":255,"type":226,"label":227,"file":152,"line":253,"wp_function":228},"n11",[257,259,260,261,262,263],{"from":220,"to":225,"sanitized":258},false,{"from":230,"to":233,"sanitized":258},{"from":235,"to":238,"sanitized":258},{"from":240,"to":243,"sanitized":258},{"from":245,"to":249,"sanitized":258},{"from":251,"to":255,"sanitized":258},"low",{"entryPoint":266,"graph":267,"unsanitizedCount":14,"severity":264},"\u003Cadmin-settings> (admin-settings.php:0)",{"nodes":268,"edges":281},[269,270,271,272,273,274,275,276,277,278,279,280],{"id":220,"type":221,"label":222,"file":152,"line":223},{"id":225,"type":226,"label":227,"file":152,"line":223,"wp_function":228},{"id":230,"type":221,"label":231,"file":152,"line":114},{"id":233,"type":226,"label":227,"file":152,"line":114,"wp_function":228},{"id":235,"type":221,"label":236,"file":152,"line":92},{"id":238,"type":226,"label":227,"file":152,"line":92,"wp_function":228},{"id":240,"type":221,"label":241,"file":152,"line":200},{"id":243,"type":226,"label":227,"file":152,"line":200,"wp_function":228},{"id":245,"type":221,"label":246,"file":152,"line":247},{"id":249,"type":226,"label":227,"file":152,"line":247,"wp_function":228},{"id":251,"type":221,"label":252,"file":152,"line":253},{"id":255,"type":226,"label":227,"file":152,"line":253,"wp_function":228},[282,283,284,285,286,287],{"from":220,"to":225,"sanitized":258},{"from":230,"to":233,"sanitized":258},{"from":235,"to":238,"sanitized":258},{"from":240,"to":243,"sanitized":258},{"from":245,"to":249,"sanitized":258},{"from":251,"to":255,"sanitized":258},{"summary":289,"deductions":290},"The 'bp-show-activity-liked-avatars' plugin v2.2 exhibits a mixed security posture. On the positive side, it has a very small attack surface, with no detected AJAX handlers, REST API routes, shortcodes, or cron events. Furthermore, there are no known vulnerabilities or CVEs associated with this plugin, and it utilizes prepared statements for its single SQL query, which is a good practice. \n\nHowever, significant concerns arise from the static analysis results. Notably, a concerning 0% of its 14 output statements are properly escaped, indicating a high risk of Cross-Site Scripting (XSS) vulnerabilities. The taint analysis also revealed two flows with unsanitized paths, which could potentially be exploited, although they are not classified as critical or high severity in this analysis. The complete absence of nonce checks and capability checks on any entry points, even though the entry point count is zero, suggests a lack of defensive programming that could become problematic if new entry points are introduced or if the current analysis missed potential vectors.\n\nGiven the lack of historical vulnerabilities, the plugin might have been developed with some security awareness, but the current version has critical flaws in output sanitization and potential path traversal issues. The absence of documented vulnerabilities could also be due to insufficient security auditing or the plugin's specific usage patterns not attracting attackers. Overall, while the attack surface is minimal, the unescaped output and unsanitized paths present a significant risk that requires immediate attention.",[291,293,296,298],{"reason":292,"points":92},"No output escaping detected",{"reason":294,"points":295},"Flows with unsanitized paths found",7,{"reason":297,"points":46},"No nonce checks",{"reason":299,"points":46},"No capability checks","2026-03-16T23:24:46.092Z",{"wat":302,"direct":311},{"assetPaths":303,"generatorPatterns":306,"scriptPaths":307,"versionParams":308},[304,305],"\u002Fwp-content\u002Fplugins\u002Fbp-show-activity-liked-avatars\u002Fbsala_user_style.css","\u002Fwp-content\u002Fplugins\u002Fbp-show-activity-liked-avatars\u002Fjq_bsala.js",[],[305],[309,310],"bp-show-activity-liked-avatars\u002Fbsala_user_style.css?ver=","bp-show-activity-liked-avatars\u002Fjq_bsala.js?ver=",{"cssClasses":312,"htmlComments":318,"htmlAttributes":319,"restEndpoints":320,"jsGlobals":321,"shortcodeOutput":322},[313,314,315,316,317],"bsala-fav-avatar","bsala-min-fav-box","bsala-avatars-list","bsala-more-avatars-button","bsala-max-fav-box",[],[],[],[],[]]