[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fQ0RpRzlQ2OJXpE_PRsQa3YvJ0ZYh3uu28aCpp8jwGcA":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":19,"download_link":20,"security_score":21,"vuln_count":22,"unpatched_count":22,"last_vuln_date":23,"fetched_at":24,"vulnerabilities":25,"developer":26,"crawl_stats":23,"alternatives":33,"analysis":34,"fingerprints":76},"image-blur","Image Blur","3.0.2","Atte Liimatainen","https:\u002F\u002Fprofiles.wordpress.org\u002Fattlii\u002F","\u003Cp>Generates base64 encoded, downscaled and blurred versions of media library’s images, which can be used f.e. as a placeholder.\u003C\u002Fp>\n\u003Ch3>Inspiration\u003C\u002Fh3>\n\u003Cp>After Wolt showcased their \u003Ca href=\"https:\u002F\u002Fblurha.sh\u002F\" rel=\"nofollow ugc\">Blurhash\u003C\u002Fa> technique, I wanted to make something similar to WordPress. Instead of encoding images to base83 like the food delivery company does, I went with base64 so development experience was easier.\u003C\u002Fp>\n\u003Ch3>How to start using the plugin\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Install and activate this plugin in your environment\n\u003Cul>\n\u003Cli>The plugin should generate blurs for each image on the activation.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Check an image’s details in your media library. It should have listing of all generated blurs.\u003C\u002Fli>\n\u003Cli>To get a blur to a template, use \u003Ccode>get_post_meta()\u003C\u002Fcode>. Check example theme in \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAttLii\u002Fimage-blur\" rel=\"nofollow ugc\">plugin’s repository\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Customization\u003C\u002Fh3>\n\u003Cp>The plugin provides few filters, so developers can modify generated blur images to their needs. By default, generated images are 8 pixels wide and passed once through gaussian blur function, which will result in roughly 250-1000 characters long string. To change these, use following hooks:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>function modify_image_blur_width( int $width ): int {\n  return 15;\n}\nadd_filter(\"image-blur-modify-width\", \"modify_image_blur_width\");\n\nfunction modify_gaussian_blur_strength( int $strength ): int {\n  return 10;\n}\nadd_filter(\"image-blur-modify-gaussian-blur-strength\", \"modify_gaussian_blur_strength\");\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Generates base64 encoded, downscaled and blurred versions of media library's images, which can be used f.e. as a placeholder.",100,7307,1,"2024-01-15T18:23:00.000Z","","6.1.1","8.2",[],"https:\u002F\u002Fgithub.com\u002FAttLii\u002Fimage-blur","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fimage-blur.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":27,"display_name":7,"profile_url":8,"plugin_count":28,"total_installs":29,"avg_security_score":21,"avg_patch_time_days":30,"trust_score":31,"computed_at":32},"attlii",3,110,30,84,"2026-04-05T20:23:12.189Z",[],{"attackSurface":35,"codeSignals":60,"taintFlows":67,"riskAssessment":68,"analyzedAt":75},{"hooks":36,"ajaxHandlers":56,"restRoutes":57,"shortcodes":58,"cronEvents":59,"entryPointCount":22,"unprotectedCount":22},[37,44,47,51],{"type":38,"name":39,"callback":40,"priority":41,"file":42,"line":43},"filter","wp_generate_attachment_metadata","image_blur_generate_blur_for_attachment",10,"src\\index.php",180,{"type":38,"name":45,"callback":40,"priority":41,"file":42,"line":46},"wp_update_attachment_metadata",181,{"type":38,"name":48,"callback":49,"priority":41,"file":42,"line":50},"attachment_fields_to_edit","image_blur_render_blur_to_edit_view",182,{"type":52,"name":53,"callback":54,"file":42,"line":55},"action","delete_attachment","image_blur_clear_blurs",183,[],[],[],[],{"dangerousFunctions":61,"sqlUsage":62,"outputEscaping":64,"fileOperations":13,"externalRequests":22,"nonceChecks":22,"capabilityChecks":22,"bundledLibraries":66},[],{"prepared":22,"raw":22,"locations":63},[],{"escaped":13,"rawEcho":22,"locations":65},[],[],[],{"summary":69,"deductions":70},"Based on the static analysis and vulnerability history, the 'image-blur' plugin version 3.0.2 exhibits a strong security posture with no reported vulnerabilities or significant code signals of concern. The absence of detected dangerous functions, SQL injection risks due to prepared statements, and properly escaped output are all positive indicators. Furthermore, the plugin has a minimal attack surface with no identified entry points that lack authorization checks, and there are no indications of problematic taint flows. The clean vulnerability history with zero known CVEs reinforces this assessment, suggesting a well-maintained and secure plugin.\n\nWhile the static analysis reveals no immediate threats, the complete lack of capability checks and nonce checks across all identified entry points (even if there are none currently exposed) represents a potential weakness. If any new entry points were to be introduced in future versions, the absence of these fundamental security measures could create vulnerabilities. However, given the current state, the plugin appears to be highly secure and adheres to good coding practices for the analyzed version.",[71,73],{"reason":72,"points":41},"No capability checks found",{"reason":74,"points":41},"No nonce checks found","2026-03-16T20:52:39.033Z",{"wat":77,"direct":82},{"assetPaths":78,"generatorPatterns":79,"scriptPaths":80,"versionParams":81},[],[],[],[],{"cssClasses":83,"htmlComments":84,"htmlAttributes":85,"restEndpoints":86,"jsGlobals":87,"shortcodeOutput":88},[],[],[],[],[],[]]