Buy Him a Beer Security & Risk Analysis

wordpress.org/plugins/buy-him-a-beer

This plugin allows users to add a "Buy Him a Beer" button to their website.

10 active installs v1.01 PHP + WP 3.0+ Updated Aug 1, 2013
credit-carddonationdonationsfundraisingpayment
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Buy Him a Beer Safe to Use in 2026?

Generally Safe

Score 85/100

Buy Him a Beer has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 12yr ago
Risk Assessment

The "buy-him-a-beer" v1.01 plugin exhibits a strong security posture in several key areas. The static analysis reveals a remarkably small attack surface, with no apparent AJAX handlers, REST API routes, shortcodes, or cron events. Furthermore, the absence of dangerous functions, file operations, and external HTTP requests is a positive sign. The plugin also demonstrates good practices by exclusively using prepared statements for all its SQL queries. The vulnerability history is clean, with no known CVEs, indicating a potential for responsible development and maintenance.

However, the plugin's security is significantly undermined by a critical lack of output escaping. With 17% of its 23 outputs properly escaped, a substantial portion (83%) remains unescaped, posing a high risk of Cross-Site Scripting (XSS) vulnerabilities. The complete absence of nonce checks and capability checks, especially given the unescaped output, means that any potential XSS vulnerabilities could be exploited without any authentication or authorization checks. The taint analysis also shows no flows analyzed, which could mean either no potential flows exist, or the analysis was incomplete, making it difficult to fully assess the risk of data manipulation.

In conclusion, while the plugin benefits from a limited attack surface and secure SQL practices, the severe deficiency in output escaping and the complete lack of nonces and capability checks represent significant security weaknesses. The unescaped output is the most pressing concern, making the plugin susceptible to XSS attacks that could be easily exploited. Further investigation into the taint analysis and the reasons behind the lack of escaping is recommended.

Key Concerns

  • Insufficient output escaping (17% escaped)
  • Missing nonce checks
  • Missing capability checks
Vulnerabilities
None known

Buy Him a Beer Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Version History

Buy Him a Beer Release Timeline

No version history available.
Code Analysis
Analyzed Mar 17, 2026

Buy Him a Beer Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
19
4 escaped
Nonce Checks
0
Capability Checks
0
File Operations
0
External Requests
0
Bundled Libraries
0

Output Escaping

17% escaped23 total outputs
Attack Surface

Buy Him a Beer Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 3
actionwp_enqueue_scriptsbuy-him-a-beer.php:16
actionadmin_initbuy-him-a-beer.php:24
actionwidgets_initbuy-him-a-beer.php:155
Maintenance & Trust

Buy Him a Beer Maintenance & Trust

Maintenance Signals

WordPress version tested3.5.2
Last updatedAug 1, 2013
PHP min version
Downloads2K

Community Trust

Rating80/100
Number of ratings1
Active installs10
Developer Profile

Buy Him a Beer Developer Profile

mjrichmond

1 plugin · 10 total installs

84
trust score
Avg Security Score
85/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect Buy Him a Beer

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/buy-him-a-beer/style.css/wp-content/plugins/buy-him-a-beer/admin.js
Script Paths
/wp-content/plugins/buy-him-a-beer/admin.js
Version Parameters
buy-him-a-beer/style.css?ver=buy-him-a-beer/admin.js?ver=

HTML / DOM Fingerprints

CSS Classes
bhab-btnbhab-btn-primarybhab-btn-infobhab-btn-successbhab-btn-warningbhab-btn-dangerbhab-btn-inversebhab-btn-icon+4 more
Data Attributes
onkeyup="bhab_build_preview(this)"onchange="bhab_change_type(this, 'link')"onchange="bhab_change_type(this, 'button')"onchange="bhab_build_preview(this)"
JS Globals
bhab_build_previewbhab_change_type
FAQ

Frequently Asked Questions about Buy Him a Beer