[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fUEhoRIlil6VdXX6pPggnqYLx2wb9nOsiaL9zcttpXsU":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":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":39,"analysis":137,"fingerprints":453},"bg-forreaders","Bg forReaders","3.0","Vadim Bogaiskov","https:\u002F\u002Fprofiles.wordpress.org\u002Fvbog\u002F","\u003Cp>The plugin convert content of your blog posts and pages to most popular e-book formats for readers – pdf, ePub, mobi and fb2, using php-librasries:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmpdf\u002Fmpdf\" rel=\"nofollow ugc\">mPDF\u003C\u002Fa>;\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FGrandt\u002FPHPePub\" rel=\"nofollow ugc\">PHPePub\u003C\u002Fa>;\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frksonindia\u002FMOBIClass\" rel=\"nofollow ugc\">MOBIClass\u003C\u002Fa>;\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FVBog\u002FbgFB2\" rel=\"nofollow ugc\">bgFB2\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Plugin displays a icons form for download converted files before and\u002For after content on your blog pages.\u003C\u002Fp>\n\u003Cp>You can create OPDS catalogue on your site with this plugin, if you enable the option.\u003C\u002Fp>\n\u003Cp>OPDS catalog support the file-types: \u003Ccode>'epub', 'fb2', 'pdf', 'mobi', 'zip', 'rtf', 'doc', 'docx', 'htm', 'html', 'txt', 'djvu', 'mp3', 'm4a', 'm4b'\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Allowed filename:\u003Cbr \u002F>\n* \u003Ccode>\u003Cpost_slug>_\u003Cpost_ID>.ext\u003C\u002Fcode>\u003Cbr \u002F>\n* \u003Ccode>\u003Cpost_slug>_\u003Cpost_ID>p.ext\u003C\u002Fcode> – (p – protected)\u003Cbr \u002F>\n* \u003Ccode>\u003Cpost_ID>.ext\u003C\u002Fcode>\u003C\u002Fp>\n","Convert post content to most popular e-book formats for readers and displays a form for download. Generates OPDS catalogue.",60,6747,100,3,"2022-05-23T17:36:00.000Z","6.0.11","3.0.1","7.1",[20,21,22,23,24],"e-book","epub","html","opds","pdf","https:\u002F\u002Fbogaiskov.ru\u002Fbg_forreaders","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbg-forreaders.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":27,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"vbog",6,1210,30,84,"2026-04-05T09:11:55.444Z",[40,60,84,102,118],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":28,"num_ratings":28,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":53,"tags":54,"homepage":58,"download_link":59,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"eesy-id2wp-publish-indesign-html5","eesy_ID2WP – Publish InDesign HTML5","1.0.3","eesy","https:\u002F\u002Fprofiles.wordpress.org\u002Feesywp\u002F","\u003Cp>eesy_ID2WP is an innovative plugin that transforms InDesign layouts into interactive HTML5 documents and seamlessly integrates them into WordPress.\u003C\u002Fp>\n\u003Cp>It provides an easy way to export complex documents such as brochures, manuals, or presentations directly from InDesign and make them available online – without content loss and with full control over design and functionality.\u003C\u002Fp>\n\u003Ch3>Key Features and Benefits:\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>Accurate HTML5 Export:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Publish InDesign layouts as pixel-perfect HTML5 webpages. No additional InDesign plugin, no coding required.\u003C\u002Fli>\n\u003Cli>Embeds fonts, video, audio, HTML code, and transitions.\u003C\u002Fli>\n\u003Cli>Animations remain fully intact during the HTML5 export, creating dynamic web experiences.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Data Optimization During Upload:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>HTML5 Code Optimization: Automatically cleans and processes InDesign’s HTML5 output for flawless deployment.\u003C\u002Fli>\n\u003Cli>Reduces PNG file sizes through automatic optimization to 8-bit or 24-bit.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Interactive Content and User Experience:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Supports the integration of videos, audio, and HTML code directly from InDesign.\u003C\u002Fli>\n\u003Cli>Page navigation with customizable navigation arrows (color and background). \u003C\u002Fli>\n\u003Cli>Additionally supports swipe functionality.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Search Engine Optimization (SEO):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Manage title and description per package (not achievable with plugins like Yoast).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Analytics and Tracking Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>GDPR-compliant (cookieless) tracking of views, including timestamp.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Custom CSS:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Supports custom CSS for additional design flexibility.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Security and Access Control:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Optional password protection to control access.\u003C\u002Fli>\n\u003Cli>Supports WordPress scheduled publishing.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Flexible Integration:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Customizable project URLs.\u003C\u002Fli>\n\u003Cli>Alternative embedding via shortcode into posts and pages.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Workflow with InDesign and eesy_ID2WP:\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Create your interactive layout in InDesign, including animations, videos, and buttons. \u003C\u002Fli>\n\u003Cli>Export the document as an HTML5 package.  \u003C\u002Fli>\n\u003Cli>Upload the ZIP file into WordPress and publish the project using eesy_ID2WP.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Use Cases:\u003C\u002Fh3>\n\u003Cp>Ideal for designers, agencies, and businesses looking to bring interactive brochures, technical manuals, datasheets, presentations, or whitepapers to the web. \u003Cstrong>eesy_ID2WP\u003C\u002Fstrong> enhances InDesign’s creative potential and makes it fully web-compatible.\u003C\u002Fp>\n","Publish interactive HTML5 documents from InDesign directly to WordPress. No additional InDesign plugin, no coding required.",80,935,"2025-07-03T13:26:00.000Z","6.8.5","6.0","8.0",[55,21,56,24,57],"adobe-indesign","indesign","web-publishing","https:\u002F\u002Feesy.com\u002Feesy_id2wp\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feesy-id2wp-publish-indesign-html5.1.0.3.zip",{"slug":61,"name":62,"version":63,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":68,"downloaded":69,"rating":70,"num_ratings":71,"last_updated":72,"tested_up_to":73,"requires_at_least":74,"requires_php":75,"tags":76,"homepage":81,"download_link":82,"security_score":83,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"html-to-pdf-converter","HTML to PDF Converter","1.0.8","html2pdf.app","https:\u002F\u002Fprofiles.wordpress.org\u002Fhtml2pdfapp\u002F","\u003Cp>The “HTML to PDF Converter” WordPress plugin created by \u003Ca href=\"https:\u002F\u002Fhtml2pdf.app\" rel=\"nofollow ugc\">html2pdf.app\u003C\u002Fa>, provides an easy way to convert any WordPress page or post to a PDF file. Simply install the plugin, configure your API key and conversion settings, and use the shortcode  \u003Ccode>[html2pdf text=\"Save as PDF\"]\u003C\u002Fcode> to add a PDF conversion link to any page or post on your site.\u003C\u002Fp>\n\u003Ch3>Plugin Settings\u003C\u002Fh3>\n\u003Cp>To configure the plugin, go to the “Settings -> HTML to PDF” page and enter your html2pdf.app API key. You can get the API key by registering an account on https:\u002F\u002Fdash.html2pdf.app\u002Fregistration.\u003C\u002Fp>\n\u003Cp>You can also customize the PDF conversion settings, including the format, orientation (portrait or landscape), margins, and custom page size.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>To display the PDF conversion link using the shortcode, simply add the following shortcode to any page or post: \u003Ccode>[html2pdf text=\"Save as PDF\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch3>Examples\u003C\u002Fh3>\n\u003Cp>Use “media” parameter to activate special styles for printing: \u003Ccode>[html2pdf text=\"Save as PDF\" media=\"print\"]\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>CSS example to show only relevant part of the web page:\u003C\u002Fp>\n\u003Cpre>\n@media print {\n  \u002F* Hide everything *\u002F\n  * {\n      visibility: hidden;\n      margin: 0;\n      padding: 0;\n  }\n\n  \u002F* Make only your desired content visible *\u002F\n  .your-visible-content * {\n      visibility: visible;\n  }\n\n  \u002F* Optionally hide the conversion link from the PDF *\u002F\n  .html2pdf_button {\n      visibility: hidden!important;\n  }\n}\n\u003C\u002Fpre>\n","A WordPress plugin that allows you to convert any WordPress page or post to a PDF file using the html2pdf.app API.",70,2822,20,1,"2024-12-24T11:56:00.000Z","6.7.5","5.0","7.0",[77,78,79,24,80],"convert-to-pdf","html2pdf","page-to-pdf","save-to-pdf","https:\u002F\u002Fhtml2pdf.app","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhtml-to-pdf-converter.1.0.8.zip",92,{"slug":85,"name":85,"version":86,"author":87,"author_profile":88,"description":89,"short_description":90,"active_installs":11,"downloaded":91,"rating":92,"num_ratings":14,"last_updated":93,"tested_up_to":94,"requires_at_least":95,"requires_php":96,"tags":97,"homepage":100,"download_link":101,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"wp2epub","0.65","tcrouzet","https:\u002F\u002Fprofiles.wordpress.org\u002Ftcrouzet\u002F","\u003Cp>wp2epub generate epub files, ready to publish, for iPad, iPhone and other readers. Just choose the tags, categories or dates to export. It’s done. You are now a bloguer and a writer. wp2epub also export in html, and then you can open with a wordprocessor to convert into PDF or other formats. A good way to backup your blog. Possible integration on each post.\u003C\u002Fp>\n","wp2epub generate ePub files directly from WordPress.",40201,66,"2013-02-01T10:39:00.000Z","3.5.2","2.7","",[98,21,22,99,85],"ebook","ipad","http:\u002F\u002Fblog.tcrouzet.com\u002Fwp2epub\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp2epub.0.65.zip",{"slug":103,"name":104,"version":105,"author":106,"author_profile":107,"description":108,"short_description":109,"active_installs":36,"downloaded":110,"rating":13,"num_ratings":71,"last_updated":111,"tested_up_to":112,"requires_at_least":113,"requires_php":96,"tags":114,"homepage":116,"download_link":117,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"flexible-pdf","Flexible PDF","1.0.1","kursorA","https:\u002F\u002Fprofiles.wordpress.org\u002Fkursora\u002F","\u003Cp>This plugin is for plugins or themes developers. Plugin exposes one function: \u003Cstrong>fpdf_create_pdf( $html )\u003C\u002Fstrong>.\u003Cbr \u002F>\nThis functions converts any HTML content to PDF document. It expects one parameter ($html) with HTML code in string.\u003C\u002Fp>\n","Creates PDF documents from HTML",1783,"2018-03-17T20:55:00.000Z","4.8.28","4.5",[115,24],"html-to-pdf","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fflexible-pdf\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fflexible-pdf.zip",{"slug":119,"name":120,"version":121,"author":122,"author_profile":123,"description":124,"short_description":125,"active_installs":126,"downloaded":127,"rating":11,"num_ratings":71,"last_updated":128,"tested_up_to":129,"requires_at_least":95,"requires_php":96,"tags":130,"homepage":135,"download_link":136,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"dotepub","dotEPUB, a push-button cloud-based e-book maker","1.1","Xavier Badosa","https:\u002F\u002Fprofiles.wordpress.org\u002Fbadosa\u002F","\u003Cp>\u003Ca href=\"http:\u002F\u002Fdotepub.com\" rel=\"nofollow ugc\">dotEPUB\u003C\u002Fa> is software in the cloud that allows you to convert any webpage into an e-book. The dotEPUB plugin helps your users getting the content of your blog in e-book form.\u003C\u002Fp>\n\u003Cp>When this plugin is activated a button or link will be included in all your posts (at the beginning or at the end of them). If you don’t want to include it in all your posts or want to add it in a different place (for example, after the introductory paragraph), please use the shortcode.\u003C\u002Fp>\n\u003Ch4>Shortcode\u003C\u002Fh4>\n\u003Cp>If you want to place the dotEPUB button or link only in selected posts or in the middle of the text, use the [dotepub] shortcode.\u003C\u002Fp>\n\u003Col>\n\u003Cli>[dotepub] will include the dotEPUB button or link using the dotEPUB blog settings.\u003C\u002Fli>\n\u003Cli>[dotepub]your code[\u002Fdotepub] will add a link to “your code”.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Important\u003C\u002Fstrong>: Do not mix 1 and 2. If you need to use an empty shortcode in a post where you are also using a non-empty shortcode, please write your empty shortcode like this: [dotepub][\u002Fdotepub]\u003C\u002Fp>\n\u003Cp>If the shortcode is the only content of a paragraph, specify the alignment in the ‘Edit post’ WordPress page to make sure that the shortcode is treated as a paragraph.\u003C\u002Fp>\n","The dotEPUB plugin automatically adds a \"Download as an e-book\" button or link to your blog posts.",10,3708,"2015-05-02T08:03:00.000Z","4.2.39",[131,132,21,133,134],"e-books","ebooks","kindle","mobi","http:\u002F\u002Fdotepub.com\u002Fwidget\u002Fwp\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdotepub.zip",{"attackSurface":138,"codeSignals":234,"taintFlows":367,"riskAssessment":441,"analyzedAt":452},{"hooks":139,"ajaxHandlers":206,"restRoutes":215,"shortcodes":216,"cronEvents":221,"entryPointCount":14,"unprotectedCount":28},[140,146,150,154,158,162,167,171,175,178,181,185,189,193,197,201],{"type":141,"name":142,"callback":143,"file":144,"line":145},"action","admin_notices","bg_forreaders_no_activate_notice","bg-forreaders.php",39,{"type":141,"name":147,"callback":148,"file":144,"line":149},"admin_init","bg_forreaders_deactivate_self",40,{"type":141,"name":151,"callback":152,"file":144,"line":153},"plugins_loaded","bg_forreaders_load_textdomain",122,{"type":141,"name":155,"callback":156,"file":144,"line":157},"wp_enqueue_scripts","bg_forreaders_frontend_styles",173,{"type":141,"name":159,"callback":160,"file":144,"line":161},"admin_enqueue_scripts","bg_forreaders_admin_enqueue_scripts",185,{"type":163,"name":164,"callback":165,"file":144,"line":166},"filter","the_content","bg_forreaders_proc",212,{"type":141,"name":168,"callback":169,"priority":126,"file":144,"line":170},"save_post","bg_forreaders_save",390,{"type":141,"name":172,"callback":173,"file":144,"line":174},"admin_menu","bg_forreaders_add_pages",395,{"type":141,"name":147,"callback":176,"priority":71,"file":144,"line":177},"bg_forreaders_extra_fields",413,{"type":141,"name":168,"callback":179,"priority":28,"file":144,"line":180},"bg_forreaders_extra_fields_update",441,{"type":163,"name":182,"callback":183,"file":144,"line":184},"cron_schedules","bg_forreaders_add_cron_schedule",462,{"type":141,"name":186,"callback":187,"file":144,"line":188},"bg_forreaders_stack_cron_action","bg_forreaders_create_from_stack",520,{"type":141,"name":190,"callback":191,"file":144,"line":192},"bg_forreaders_all_cron_action","bg_forreaders_create_all",537,{"type":141,"name":194,"callback":195,"file":144,"line":196},"bg_forreaders_log_cron_action","bg_forreaders_update_debug_file",549,{"type":163,"name":198,"callback":199,"file":144,"line":200},"upload_dir","bg_forreaders_upload_dir",682,{"type":141,"name":202,"callback":203,"file":204,"line":205},"init","bg_forreaders_opdsRSS","includes\\rss-opds.php",7,[207,213],{"action":208,"nopriv":209,"callback":210,"hasNonce":211,"hasCapCheck":209,"file":144,"line":212},"bg_forreaders",false,"bg_forreaders_callback",true,227,{"action":208,"nopriv":211,"callback":210,"hasNonce":211,"hasCapCheck":209,"file":144,"line":214},228,[],[217],{"tag":218,"callback":219,"file":144,"line":220},"noread","bg_forreaders_noread",216,[222,224,226,228,230,232],{"hook":186,"callback":186,"file":144,"line":223},515,{"hook":186,"callback":186,"file":144,"line":225},518,{"hook":190,"callback":190,"file":144,"line":227},532,{"hook":190,"callback":190,"file":144,"line":229},535,{"hook":194,"callback":194,"file":144,"line":231},544,{"hook":194,"callback":194,"file":144,"line":233},547,{"dangerousFunctions":235,"sqlUsage":236,"outputEscaping":242,"fileOperations":365,"externalRequests":28,"nonceChecks":237,"capabilityChecks":237,"bundledLibraries":366},[],{"prepared":237,"raw":71,"locations":238},2,[239],{"file":204,"line":240,"context":241},88,"$wpdb->get_col() with variable interpolation",{"escaped":243,"rawEcho":92,"locations":244},4,[245,248,250,252,254,256,257,259,261,263,264,265,267,269,271,273,275,277,279,281,283,285,286,288,289,291,292,294,295,297,298,300,301,303,304,307,308,310,312,313,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,355,357,359,361,363],{"file":144,"line":246,"context":247},45,"raw output",{"file":144,"line":249,"context":247},237,{"file":144,"line":251,"context":247},438,{"file":204,"line":253,"context":247},33,{"file":204,"line":255,"context":247},37,{"file":204,"line":149,"context":247},{"file":204,"line":258,"context":247},51,{"file":204,"line":260,"context":247},58,{"file":204,"line":262,"context":247},78,{"file":204,"line":48,"context":247},{"file":204,"line":27,"context":247},{"file":204,"line":266,"context":247},125,{"file":204,"line":268,"context":247},133,{"file":204,"line":270,"context":247},134,{"file":204,"line":272,"context":247},135,{"file":204,"line":274,"context":247},136,{"file":204,"line":276,"context":247},187,{"file":204,"line":278,"context":247},189,{"file":204,"line":280,"context":247},191,{"file":204,"line":282,"context":247},193,{"file":204,"line":284,"context":247},196,{"file":204,"line":284,"context":247},{"file":204,"line":287,"context":247},198,{"file":204,"line":287,"context":247},{"file":204,"line":290,"context":247},200,{"file":204,"line":290,"context":247},{"file":204,"line":293,"context":247},204,{"file":204,"line":293,"context":247},{"file":204,"line":296,"context":247},205,{"file":204,"line":296,"context":247},{"file":204,"line":299,"context":247},207,{"file":204,"line":299,"context":247},{"file":204,"line":302,"context":247},208,{"file":204,"line":302,"context":247},{"file":305,"line":306,"context":247},"includes\\settings.php",44,{"file":305,"line":306,"context":247},{"file":305,"line":309,"context":247},69,{"file":305,"line":311,"context":247},77,{"file":305,"line":27,"context":247},{"file":305,"line":27,"context":247},{"file":305,"line":315,"context":247},101,{"file":305,"line":317,"context":247},119,{"file":305,"line":319,"context":247},163,{"file":305,"line":321,"context":247},172,{"file":305,"line":323,"context":247},181,{"file":305,"line":325,"context":247},202,{"file":305,"line":327,"context":247},210,{"file":305,"line":329,"context":247},218,{"file":305,"line":331,"context":247},254,{"file":305,"line":333,"context":247},263,{"file":305,"line":335,"context":247},264,{"file":305,"line":337,"context":247},274,{"file":305,"line":339,"context":247},276,{"file":305,"line":341,"context":247},280,{"file":305,"line":343,"context":247},282,{"file":305,"line":345,"context":247},314,{"file":305,"line":347,"context":247},335,{"file":305,"line":349,"context":247},377,{"file":305,"line":351,"context":247},389,{"file":305,"line":353,"context":247},408,{"file":305,"line":177,"context":247},{"file":305,"line":356,"context":247},429,{"file":305,"line":358,"context":247},434,{"file":305,"line":360,"context":247},504,{"file":305,"line":362,"context":247},505,{"file":305,"line":364,"context":247},516,12,[],[368,385,394,424],{"entryPoint":369,"graph":370,"unsanitizedCount":28,"severity":384},"bg_forreaders_callback (bg-forreaders.php:230)",{"nodes":371,"edges":382},[372,377],{"id":373,"type":374,"label":375,"file":144,"line":376},"n0","source","$_POST",236,{"id":378,"type":379,"label":380,"file":144,"line":249,"wp_function":381},"n1","sink","echo() [XSS]","echo",[383],{"from":373,"to":378,"sanitized":211},"low",{"entryPoint":386,"graph":387,"unsanitizedCount":28,"severity":384},"\u003Cbg-forreaders> (bg-forreaders.php:0)",{"nodes":388,"edges":392},[389,391],{"id":373,"type":374,"label":390,"file":144,"line":376},"$_POST (x2)",{"id":378,"type":379,"label":380,"file":144,"line":249,"wp_function":381},[393],{"from":373,"to":378,"sanitized":211},{"entryPoint":395,"graph":396,"unsanitizedCount":34,"severity":423},"bg_forreaders_opdsRSSFunc (includes\\rss-opds.php:14)",{"nodes":397,"edges":418},[398,400,401,405,407,410,412,414],{"id":373,"type":374,"label":399,"file":204,"line":258},"$_GET['cat']",{"id":378,"type":379,"label":380,"file":204,"line":258,"wp_function":381},{"id":402,"type":374,"label":403,"file":204,"line":404},"n2","$_GET (x3)",56,{"id":406,"type":379,"label":380,"file":204,"line":260,"wp_function":381},"n3",{"id":408,"type":374,"label":409,"file":204,"line":27},"n4","$_GET['q']",{"id":411,"type":379,"label":380,"file":204,"line":27,"wp_function":381},"n5",{"id":413,"type":374,"label":409,"file":204,"line":240},"n6",{"id":415,"type":379,"label":416,"file":204,"line":240,"wp_function":417},"n7","get_col() [SQLi]","get_col",[419,420,421,422],{"from":373,"to":378,"sanitized":209},{"from":402,"to":406,"sanitized":209},{"from":408,"to":411,"sanitized":209},{"from":413,"to":415,"sanitized":209},"high",{"entryPoint":425,"graph":426,"unsanitizedCount":34,"severity":423},"\u003Crss-opds> (includes\\rss-opds.php:0)",{"nodes":427,"edges":436},[428,429,430,431,432,433,434,435],{"id":373,"type":374,"label":399,"file":204,"line":258},{"id":378,"type":379,"label":380,"file":204,"line":258,"wp_function":381},{"id":402,"type":374,"label":403,"file":204,"line":404},{"id":406,"type":379,"label":380,"file":204,"line":260,"wp_function":381},{"id":408,"type":374,"label":409,"file":204,"line":27},{"id":411,"type":379,"label":380,"file":204,"line":27,"wp_function":381},{"id":413,"type":374,"label":409,"file":204,"line":240},{"id":415,"type":379,"label":416,"file":204,"line":240,"wp_function":417},[437,438,439,440],{"from":373,"to":378,"sanitized":209},{"from":402,"to":406,"sanitized":209},{"from":408,"to":411,"sanitized":209},{"from":413,"to":415,"sanitized":209},{"summary":442,"deductions":443},"The \"bg-forreaders\" v3.0 plugin exhibits a mixed security posture. On one hand, it has a clean vulnerability history with no recorded CVEs, suggesting a generally secure development approach or fortunate circumstances.  The presence of nonce and capability checks on its entry points is also a positive indicator. However, the static analysis reveals significant concerns, particularly regarding output escaping and unsanitized paths identified in the taint analysis. With only 6% of outputs properly escaped, there's a high risk of Cross-Site Scripting (XSS) vulnerabilities. The two flows with unsanitized paths, even without critical or high severity ratings in the taint analysis, are concerning as they represent potential avenues for insecure file operations or path traversal if further exploited. The low percentage of prepared statements for SQL queries (67%) also indicates a risk of SQL injection vulnerabilities, though the total number of queries is manageable.",[444,447,449],{"reason":445,"points":446},"Only 6% of outputs properly escaped",15,{"reason":448,"points":126},"2 flows with unsanitized paths",{"reason":450,"points":451},"33% of SQL queries not prepared",5,"2026-03-16T21:42:17.274Z",{"wat":454,"direct":461},{"assetPaths":455,"generatorPatterns":457,"scriptPaths":458,"versionParams":459},[456],"\u002Fwp-content\u002Fplugins\u002Fbg-forreaders\u002Fcss\u002Fstyle.css",[],[],[460],"bg-forreaders\u002Fcss\u002Fstyle.css?ver=",{"cssClasses":462,"htmlComments":464,"htmlAttributes":465,"restEndpoints":468,"jsGlobals":469,"shortcodeOutput":473},[208,24,21,134,463],"fb2",[],[466,467],"data-bg-forreaders-postid","data-bg-forreaders-format",[],[470,471,472],"bg_forreaders_id","bg_forreaders_post_id","bg_forreaders_format",[474],"[bg_forreaders_download]"]