[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$ftkCi16ZIlECNDC__F8EYsc4EgI_NNbiwG82WR9YGom8":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":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":35,"analysis":133,"fingerprints":226},"md-webhook","Markdown Webhook","1.1","czl","https:\u002F\u002Fprofiles.wordpress.org\u002Fchenzhaolonglong\u002F","\u003Cp>What will this plugin do?\u003Cbr \u002F>\n1. fetch the target repo zip file to your server and extract it.\u003Cbr \u002F>\n2. find all the .md files and save or update it to your database.\u003Cbr \u002F>\n3. render it to the front page, and use markdown-it.js and highlight.js to transform the markdown content to html content.\u003Cbr \u002F>\n4. done\u003C\u002Fp>\n\u003Cp>This plugin will be updated continuously in the future.\u003C\u002Fp>\n","Sync .md files to wp posts from webhook in github.com \u002F bitbucket.com",0,1203,"2017-09-30T03:12:00.000Z","4.8.28","4.0","7.0",[18,19,20,21,22],"markdown","md","post","posts","webhook","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmd-webhook.1.1.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":30,"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},"chenzhaolonglong",1,30,84,"2026-04-04T22:08:39.967Z",[36,59,81,99,116],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":46,"num_ratings":47,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":51,"tags":52,"homepage":56,"download_link":57,"security_score":58,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"git-it-write","Git it Write – Write posts from GitHub","2.0","vaakash","https:\u002F\u002Fprofiles.wordpress.org\u002Fvaakash\u002F","\u003Cp>Git it Write allows to publish the markdown files present in a GitHub repository to your WordPress site. So with this plugin, whenever the files are added, updated in the repository the WordPress post will be added, updated accordingly.\u003C\u002Fp>\n\u003Cp>This plugin is inspired from static site generators like \u003Ccode>Jekyll\u003C\u002Fcode>, \u003Ccode>Next.js\u003C\u002Fcode>, \u003Ccode>Gatsby.js\u003C\u002Fcode> on how content is written is markdown. This is a similar idea for WordPress where markdown files are parsed from GitHub and published as posts.\u003C\u002Fp>\n\u003Cp>👓 \u003Cstrong>Live example:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fvaakash\u002Faakash-web\" rel=\"nofollow ugc\">Source github repository\u003C\u002Fa> (\u003Ccode>\u002Fdocs\u002F\u003C\u002Fcode> folder) to \u003Ca href=\"https:\u002F\u002Fwww.aakashweb.com\u002Fdocs\u002F\" rel=\"nofollow ugc\">Posts published\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>⚡ \u003Cstrong>Getting started:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwww.aakashweb.com\u002Fdocs\u002Fgit-it-write\u002Fgetting-started\u002F\" rel=\"nofollow ugc\">Get started\u003C\u002Fa> with Git it write. Learn how to write \u003Ccode>.md\u003C\u002Fcode> files and publish posts on WordPress.\u003C\u002Fp>\n\u003Cp>This allows people to collaborate with the post, share edits and suggestions in GitHub which when pulled the WordPress post will be updated automatically.\u003C\u002Fp>\n\u003Cp>If a repository has files in the below structure,\u003C\u002Fp>\n\u003Cpre>\u003Ccode>docs\u002F\n    guide\u002F\n        introduction.md\n        getting-started.md\nhelp\u002F\n    faq.md\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Then below posts will be created like below (if permalinks are configured and the post type supports “hierarchy” i.e creating posts level by level (example: pages))\u003C\u002Fp>\n\u003Cpre>\u003Ccode>https:\u002F\u002Fexample.com\u002Fdocs\u002Fguide\u002Fintroduction\u002F\nhttps:\u002F\u002Fexample.com\u002Fdocs\u002Fguide\u002Fgetting-started\u002F\nhttps:\u002F\u002Fexample.com\u002Fhelp\u002Ffaq\u002F\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>🎲 What is the use of this plugin ?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Publish posts using the files in your GitHub repository.\u003C\u002Fli>\n\u003Cli>Write your posts in Markdown format.\u003C\u002Fli>\n\u003Cli>Write your posts on your desktop application (Notepad++, Sublime Text, Visual studio code).\u003C\u002Fli>\n\u003Cli>Collaborate, involve communities on the files in GitHub and publish them on WordPress.\u003C\u002Fli>\n\u003Cli>All the advantages of Git and it’s version management system.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🚀 Some use cases\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Can be used for documentation posts, FAQs, Wikis etc.\u003C\u002Fli>\n\u003Cli>Write blog posts.\u003C\u002Fli>\n\u003Cli>Any articles which may need community involvement.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>✨ Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Markdown will be processed and post will be published as HTML.\u003C\u002Fli>\n\u003Cli>Images used in the source file will be uploaded to WordPress.\u003C\u002Fli>\n\u003Cli>Relative links are supported.\u003C\u002Fli>\n\u003Cli>Set post properties like post status, title, order, category, tags etc, in the source file itself.\u003C\u002Fli>\n\u003Cli>Webhook support (whenever repository is changed, it updates the plugin to pull the latest changes and publish the posts)\u003C\u002Fli>\n\u003Cli>Add multiple repositories.\u003C\u002Fli>\n\u003Cli>Publish to any post type.\u003C\u002Fli>\n\u003Cli>Posts are published in hierarchial manner if they are under folders. Example: a file \u003Ccode>dir1\u002Fhello.md\u003C\u002Fcode> will be posted as \u003Ccode>dir1\u002Fhello\u002F\u003C\u002Fcode> in WordPress if the post type supports hierarchy.\u003C\u002Fli>\n\u003Cli>Support for post metadata like setting tags, categories, custom fields.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>ℹ Note\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Only Markdown files will be pulled and published right now\u003C\u002Fli>\n\u003Cli>Posts won’t be deleted when it’s source file is deleted on GitHub.\u003C\u002Fli>\n\u003Cli>It is preferred to have a permalink structure.\u003C\u002Fli>\n\u003Cli>It is preferred to select a post type which supports hierarchy.\u003C\u002Fli>\n\u003Cli>Images have to present only in \u003Ccode>_images\u003C\u002Fcode> folder in the repository root. Markdown files have to relatively use them in the file.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🥗 Recommendation\u003C\u002Fh3>\n\u003Cp>It is recommended that a permalink structure is enabled in the WordPress site so that, if you have file under \u003Ccode>docs\u002Freference\u002Fmy-post.md\u003C\u002Fcode> then a post is published like \u003Ccode>https:\u002F\u002Fexample.com\u002Fdocs\u002Freference\u002Fmy-post\u002F\u003C\u002Fcode>. This will be the result when post type has hierarchy support. They will be posted level by level for every folder in the repository. The folder’s post will be taken from the \u003Ccode>index.md\u003C\u002Fcode> file if exists under that folder.\u003C\u002Fp>\n\u003Ch3>🏃‍♂️ Using the plugin\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Have a GitHub repository where all the source files (markdown files) are maintained (organized in folders if needed the exact structure)\u003C\u002Fli>\n\u003Cli>In the plugin settings page, click add a new repository.\u003C\u002Fli>\n\u003Cli>Enter the details of the repository to pull the posts from and under what post type to publish them.\u003C\u002Fli>\n\u003Cli>Save the settings\u003C\u002Fli>\n\u003Cli>Click “Pull the posts” and then “Pull only” changes. This will publish posts for all the markdown files.\u003C\u002Fli>\n\u003Cli>To automatically update posts whenever repository is updated, configure webhook as mentioned in the settings page.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Links\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.aakashweb.com\u002Fdocs\u002Fgit-it-write\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.aakashweb.com\u002Fforum\u002F\" rel=\"nofollow ugc\">Support forum\u002FReport bugs\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.paypal.me\u002Fvaakash\u002F\" rel=\"nofollow ugc\">Donate\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fvaakash\u002Fgit-it-write\" rel=\"nofollow ugc\">Contribute on GitHub\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Publish markdown files present in a GitHub repository as posts to WordPress automatically",100,7244,94,7,"2024-08-03T13:38:00.000Z","6.6.5","4.4","5.3",[53,54,18,21,55],"editor","github","publish","https:\u002F\u002Fwww.aakashweb.com\u002Fwordpress-plugins\u002Fgit-it-write\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgit-it-write.2.0.zip",92,{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":69,"num_ratings":70,"last_updated":71,"tested_up_to":72,"requires_at_least":73,"requires_php":23,"tags":74,"homepage":79,"download_link":80,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"save-posts-with-cmds","Save Posts With Cmd+S","v1.2","MikePayne","https:\u002F\u002Fprofiles.wordpress.org\u002Fmikepayne\u002F","\u003Cp>Publish or update posts and pages using the Ctrl+S hotkey (cmd+s on Mac). Overwrites the browsers default Ctrl+S function of “Save webpage as..” and instead runs the WordPress function assigned to the Publish button.\u003C\u002Fp>\n","Publish or update posts and pages using the Ctrl+S hotkey (cmd+s on Mac)",90,3101,80,5,"2015-07-06T20:12:00.000Z","4.2.39","3.1",[75,76,77,21,78],"cmds","ctrls","pages","save","http:\u002F\u002Fwww.mikepayne.co\u002Fupdating-wordpress-posts-with-ctrls","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsave-posts-with-cmds.1.2.zip",{"slug":82,"name":83,"version":6,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":88,"downloaded":89,"rating":11,"num_ratings":11,"last_updated":90,"tested_up_to":91,"requires_at_least":92,"requires_php":93,"tags":94,"homepage":23,"download_link":98,"security_score":58,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"simple-webhooks","Simple Webhooks","Ruslan Kolibabchuk","https:\u002F\u002Fprofiles.wordpress.org\u002Fxxxborland\u002F","\u003Cp>Simple Webhooks enhances WordPress by adding webhook functionality that triggers actions when posts, pages, or custom post types are created, updated, or deleted. This is useful for automation, integrations, and notifications.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Send webhooks when posts, pages, or custom post types are updated.\u003Cbr \u002F>\n– Select which post types should trigger webhooks.\u003Cbr \u002F>\n– Easy setup via the WordPress admin panel.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is released under the GPL v2 or later license.\u003C\u002Fp>\n","Enhancing WordPress functionality by adding webhooks that trigger actions when posts, pages, or custom post types are updated.",20,667,"2025-03-02T19:57:00.000Z","6.7.5","5.0","7.2",[95,96,77,21,97],"automation","custom-post-types","webhooks","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-webhooks.1.1.zip",{"slug":100,"name":101,"version":102,"author":103,"author_profile":104,"description":105,"short_description":106,"active_installs":107,"downloaded":108,"rating":67,"num_ratings":109,"last_updated":23,"tested_up_to":110,"requires_at_least":111,"requires_php":23,"tags":112,"homepage":113,"download_link":114,"security_score":44,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":115},"typewriter","Typewriter","1.0","FolioVision","https:\u002F\u002Fprofiles.wordpress.org\u002Ffoliovision\u002F","\u003Cp>Typewriter completely removes the “Visual Editor” feature in WordPress and replaces it\u003Cbr \u002F>\nwith a simple Markdown editor so that you can join sites like StackOverflow and Github in writing in the\u003Cbr \u002F>\nsimple and growingly popular \u003Ca href=\"http:\u002F\u002Fdaringfireball.net\u002Fprojects\u002Fmarkdown\" rel=\"nofollow ugc\">Markdown format\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>For the more technical among you, Typewriter removes the TinyMCE editor and defaults to a Markdown specific “Text” editor\u003Cbr \u002F>\nand parses the output using MarkdownExtra.\u003C\u002Fp>\n","Typewriter replaces the Visual Editor with a simple Markdown editor for your posts and pages.",10,3587,8,"3.6.1","3.5",[53,18,77,21,100],"http:\u002F\u002Fdev7studios.com\u002Ftypewriter","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftypewriter.1.0.zip","2026-03-15T10:48:56.248Z",{"slug":117,"name":118,"version":119,"author":120,"author_profile":121,"description":122,"short_description":123,"active_installs":11,"downloaded":124,"rating":11,"num_ratings":11,"last_updated":125,"tested_up_to":126,"requires_at_least":127,"requires_php":16,"tags":128,"homepage":131,"download_link":132,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"gitdown","Gitdown: Git Repository to WordPress Blog Posts","1.6.1","Maxim Maeder","https:\u002F\u002Fprofiles.wordpress.org\u002Fmaximmaeder\u002F","\u003Cp>Gitdown: Git Repository to WordPress Blog Posts\u003C\u002Fp>\n\u003Cp>\u003Cem>By \u003Ca href=\"https:\u002F\u002Fwww.maximmaeder.com\" rel=\"nofollow ugc\">Maxim Maeder\u003C\u002Fa>\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Gitdown lets you connect a Remote Repository to your Website and upload Markdown articles to your WordPress Blog.\u003C\u002Fp>\n\u003C\u002Fp>\n\u003Cp>⚠️ This plugin is still in development. If you find any issues, don’t hesitate to report them.\u003C\u002Fp>\n\u003Ch4>🎈 Easy to use\u003C\u002Fh4>\n\u003Cp>Setting Gitdown up to work with your Repository and Glob Pattern takes no time and can be easily changed anytime.\u003C\u002Fp>\n\u003Ch4>🔨 Customization\u003C\u002Fh4>\n\u003Cp>The shape of your Repository does not matter, you can change the glob pattern to your liking, and it will understand your repo correctly.\u003C\u002Fp>\n\u003Ch4>🎁 100% Free\u003C\u002Fh4>\n\u003Cp>Gitdown is free, and you can use it for whatever you want. Of course, I would be very grateful if you link back to me or the plugin so more people know about it 😀.\u003C\u002Fp>\n\u003Ch4>📚 Documentation\u003C\u002Fh4>\n\u003Cp>Once you activate Gitdown, it will take you to the documentation page, where you should get all the necessary info.\u003C\u002Fp>\n\u003Cp>You can also consult the following documents for Help.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMaximinodotpy\u002FGitdown\u002Fblob\u002Fmaster\u002Fdocs\u002Ffaq.md\" rel=\"nofollow ugc\">FAQ\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMaximinodotpy\u002FGitdown\u002Fblob\u002Fmaster\u002Fdocs\u002Fkeys.md\" rel=\"nofollow ugc\">Frontmatter Keys\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMaximinodotpy\u002FGitdown\u002Fblob\u002Fmaster\u002Fdocs\u002Fexample.md\" rel=\"nofollow ugc\">Example File\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMaximinodotpy\u002FGitdown\u002Fblob\u002Fmaster\u002Fdocs\u002Fapi-endpoint.md\" rel=\"nofollow ugc\">API Endpoint\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>(\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMaximinodotpy\u002FGitdown\u002Fblob\u002Fmaster\u002Fdocs\u002Fchangelog.md\" rel=\"nofollow ugc\">Changelog\u003C\u002Fa>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You will also find helpful information in the \u003Cem>Reports\u003C\u002Fem> section of the article overview.\u003C\u002Fp>\n\u003Cp>⚠️ It may be outdated in some parts as I am somewhat unkeen writing documentation. Please file an Issue so I know that I need to change it.\u003C\u002Fp>\n\u003Ch4>👥 Contributing\u003C\u002Fh4>\n\u003Cp>All contributions are very welcome, so feel free to make \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMaximinodotpy\u002FGitdown\u002Fissues\" rel=\"nofollow ugc\">issues\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMaximinodotpy\u002FGitdown\u002Fissues\u002Fproposals\" rel=\"nofollow ugc\">proposals\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMaximinodotpy\u002FGitdown\u002Fpulls\" rel=\"nofollow ugc\">pull requests\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>I’m building this Plugin by myself, and I made it for myself, but I think it could also be helpful for others. So if you have any ideas on how to improve it, please let me know.\u003C\u002Fp>\n\u003Ch4>\u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">↗\u003C\u002Fspan> Links\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fmaximmaeder.com\u002F\" rel=\"nofollow ugc\">Maximmaeder.com\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fmaximmaeder\u002F\" rel=\"nofollow ugc\">My Profile on WordPress.org\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fgitdown\" rel=\"ugc\">Plugin Page\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fgitdown\u002F\" rel=\"nofollow ugc\">SVN repository\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdemos.maximmaeder.com\u002F\" rel=\"nofollow ugc\">My other projects\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🤙 Other Software that Gitdown uses.\u003C\u002Fh4>\n\u003Cp>This plugin uses the following third Party Services and Programs.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cem>\u003Ca href=\"https:\u002F\u002Fglobster.xyz\u002F\" rel=\"nofollow ugc\">Globster.xyz\u003C\u002Fa>\u003C\u002Fem> Is used in the how-to section for Gitdown to teach glob patterns. (\u003Ca href=\"https:\u002F\u002Fglobster.xyz\u002Fprivacy\u002F\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cem>\u003Ca href=\"https:\u002F\u002Ftailwindcss.com\u002F\" rel=\"nofollow ugc\">Tailwindcss\u003C\u002Fa>\u003C\u002Fem> Is used to style the main admin UI.\u003C\u002Fli>\n\u003Cli>\u003Cem>\u003Ca href=\"https:\u002F\u002Fvuejs.org\u002F\" rel=\"nofollow ugc\">Vue.js\u003C\u002Fa>\u003C\u002Fem> Is used for the main admin UI and its interactivity features.\u003C\u002Fli>\n\u003Cli>\u003Cem>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmnapoli\u002FFrontYAML\" rel=\"nofollow ugc\">mnapoli\u002FFrontYAML\u003C\u002Fa>\u003C\u002Fem> Is used to get frontmatter information in markdown files.\u003C\u002Fli>\n\u003Cli>\u003Cem>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fczproject\u002Fgit-php\" rel=\"nofollow ugc\">git-php\u003C\u002Fa>\u003C\u002Fem> Is used to clone and fetch git repositories.\u003C\u002Fli>\n\u003C\u002Ful>\n","Use Gitdown to Publish Markdown Posts from a repository to your WordPress Blog.",3186,"2024-03-24T08:21:00.000Z","6.4.0","6.1.0",[129,130,54,18,21],"article-management","cms","https:\u002F\u002Fgithub.com\u002FMaximinodotpy\u002FGitdown","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgitdown.1.6.1.zip",{"attackSurface":134,"codeSignals":178,"taintFlows":215,"riskAssessment":216,"analyzedAt":225},{"hooks":135,"ajaxHandlers":174,"restRoutes":175,"shortcodes":176,"cronEvents":177,"entryPointCount":11,"unprotectedCount":11},[136,142,146,150,154,158,162,166,170],{"type":137,"name":138,"callback":139,"priority":107,"file":140,"line":141},"filter","plugin_row_meta","MDWH::add_meta_links","index.php",24,{"type":137,"name":143,"callback":144,"priority":31,"file":140,"line":145},"the_content","MDWH::the_content",26,{"type":137,"name":147,"callback":148,"priority":107,"file":140,"line":149},"query_vars","MDWH::query_vars",27,{"type":137,"name":151,"callback":152,"priority":107,"file":140,"line":153},"pre_update_option_mdwh_password","MDWH::pre_update_option_mdwh_password",28,{"type":137,"name":155,"callback":156,"priority":107,"file":140,"line":157},"option_mdwh_password","MDWH::option_mdwh_password",29,{"type":159,"name":160,"callback":161,"file":140,"line":32},"action","wp_head","MDWH::wp_head",{"type":159,"name":163,"callback":164,"file":140,"line":165},"admin_init","MDWH::admin_init",31,{"type":159,"name":167,"callback":168,"file":140,"line":169},"admin_menu","MDWH::admin_menu",32,{"type":159,"name":171,"callback":172,"file":140,"line":173},"template_redirect","MDWH::template_redirect",33,[],[],[],[],{"dangerousFunctions":179,"sqlUsage":180,"outputEscaping":182,"fileOperations":31,"externalRequests":31,"nonceChecks":11,"capabilityChecks":11,"bundledLibraries":214},[],{"prepared":11,"raw":11,"locations":181},[],{"escaped":183,"rawEcho":184,"locations":185},2,16,[186,189,191,193,194,195,197,198,199,201,202,203,205,207,210,212],{"file":140,"line":187,"context":188},98,"raw output",{"file":140,"line":190,"context":188},183,{"file":140,"line":192,"context":188},224,{"file":140,"line":192,"context":188},{"file":140,"line":192,"context":188},{"file":140,"line":196,"context":188},231,{"file":140,"line":196,"context":188},{"file":140,"line":196,"context":188},{"file":140,"line":200,"context":188},236,{"file":140,"line":200,"context":188},{"file":140,"line":200,"context":188},{"file":140,"line":204,"context":188},241,{"file":140,"line":206,"context":188},242,{"file":208,"line":209,"context":188},"webhook.php",58,{"file":208,"line":211,"context":188},139,{"file":208,"line":213,"context":188},145,[],[],{"summary":217,"deductions":218},"The \"md-webhook\" v1.1 plugin exhibits a mixed security posture. On the positive side, it demonstrates good practices by not exposing any AJAX handlers, REST API routes, shortcodes, or cron events directly to the attack surface. Furthermore, all SQL queries are confirmed to use prepared statements, and there are no recorded vulnerabilities or CVEs associated with this plugin, suggesting a history of responsible development and maintenance.  The absence of dangerous functions and taint flows also contributes to a generally secure foundation.\n\nHowever, significant concerns arise from the lack of proper output escaping, with only 11% of 18 total outputs being properly escaped. This leaves a substantial portion of output vulnerable to Cross-Site Scripting (XSS) attacks if user-supplied data is involved in these unescaped outputs. Additionally, the complete absence of nonce checks and capability checks on any potential entry points, although currently limited in number, represents a critical oversight. If the attack surface were to expand or if the existing file operation or external HTTP request were to handle untrusted input, these missing checks could easily be exploited. The single file operation and external HTTP request also warrant careful scrutiny, as their implementation details are not provided but could pose risks if not handled securely.",[219,221,223],{"reason":220,"points":109},"Insufficient output escaping",{"reason":222,"points":107},"Missing nonce checks",{"reason":224,"points":107},"Missing capability checks","2026-03-17T06:14:15.542Z",{"wat":227,"direct":240},{"assetPaths":228,"generatorPatterns":233,"scriptPaths":234,"versionParams":235},[229,230,231,232],"\u002Fwp-content\u002Fplugins\u002Fmd-webhook\u002Fassets\u002Ftomorrow.min.css","\u002Fwp-content\u002Fplugins\u002Fmd-webhook\u002Fassets\u002Fhighlight.min.js","\u002Fwp-content\u002Fplugins\u002Fmd-webhook\u002Fassets\u002Fmarkdown-it.min.js","\u002Fwp-content\u002Fplugins\u002Fmd-webhook\u002Fassets\u002Fmd-webhook.js",[],[229,230,231,232],[236,237,238,239],"mdwh_highligthcss?ver=9.12.0","mdwh_highlight?ver=9.12.0","mdwh_markdown-it?ver=8.4.0","mdwh_md-webhook?ver=1.0.0",{"cssClasses":241,"htmlComments":243,"htmlAttributes":245,"restEndpoints":246,"jsGlobals":247,"shortcodeOutput":248},[242],"md-webhook-content",[244],"\u003C!---md-webhook--->",[],[],[],[]]