myCred Badgr Integration Security & Risk Analysis

wordpress.org/plugins/mycred-badgr-achievement-badge

📢🚨 Important Notice: myCred Badgr is now part of the myCred Toolkit and will no longer receive updates here. Only security fixes will be provided.

10 active installs v1.0.8 PHP + WP 4.8+ Updated Apr 17, 2025
achievementbadgesbadgrmycredopen-badges
92
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is myCred Badgr Integration Safe to Use in 2026?

Generally Safe

Score 92/100

myCred Badgr Integration has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 1yr ago
Risk Assessment

The 'mycred-badgr-achievement-badge' plugin v1.0.8 exhibits a mixed security posture. On the positive side, the plugin demonstrates good practices by exclusively using prepared statements for SQL queries and largely adhering to output escaping standards, with 80% of outputs properly escaped. The absence of known vulnerabilities and a clean vulnerability history are also strong indicators of a well-maintained codebase. However, significant concerns arise from the attack surface analysis. With a total of 13 entry points, a substantial 12 of them, all AJAX handlers, lack authentication checks. This creates a wide potential for unauthorized access and manipulation of plugin functionalities.

The taint analysis, while not revealing critical or high severity issues, did identify 4 flows with unsanitized paths. Although the severity is not specified, any unsanitized paths warrant attention as they can potentially be exploited. The lack of nonce checks across all AJAX handlers, coupled with the absence of capability checks, further exacerbates the risk associated with the unprotected AJAX endpoints. This combination means that any authenticated user, or potentially even unauthenticated users depending on specific context not detailed here, could trigger these handlers without proper verification, leading to unintended actions.

In conclusion, while the plugin benefits from secure database interactions and good output sanitization, the extensive number of unprotected AJAX endpoints and the presence of unsanitized paths represent a considerable security weakness. The historical absence of vulnerabilities is reassuring, but it does not negate the immediate risks identified in the current static analysis. Addressing the unprotected AJAX handlers and ensuring all paths are properly sanitized should be the top priority for improving the plugin's security.

Key Concerns

  • 12 AJAX handlers without auth checks
  • 4 flows with unsanitized paths
  • 0 nonce checks
  • 0 capability checks
  • 20% of outputs not properly escaped
Vulnerabilities
None known

myCred Badgr Integration Security Vulnerabilities

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

myCred Badgr Integration Release Timeline

v1.0.8Current
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3
v1.0.2
v1.0.1
v1.0
Code Analysis
Analyzed Mar 17, 2026

myCred Badgr Integration Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
5
20 escaped
Nonce Checks
0
Capability Checks
0
File Operations
1
External Requests
6
Bundled Libraries
0

Output Escaping

80% escaped25 total outputs
Data Flows · Security
4 unsanitized

Data Flow Analysis

4 flows4 with unsanitized paths
mycred_badgr_admin (includes\badgr-settings.php:29)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
12 unprotected

myCred Badgr Integration Attack Surface

Entry Points13
Unprotected12

AJAX Handlers 12

authwp_ajax_mycred_badgr_adminincludes\badgr-settings.php:15
noprivwp_ajax_badgr-login-disconnectincludes\badgr-settings.php:16
authwp_ajax_badgr-login-disconnectincludes\badgr-settings.php:17
noprivwp_ajax_mycred_badgr_adminincludes\badgr-settings.php:18
authwp_ajax_mycred-badgr-user-loginincludes\shortcodes\mycred-badgr-login.php:61
noprivwp_ajax_mycred-badgr-user-loginincludes\shortcodes\mycred-badgr-login.php:63
authwp_ajax_mycred-badgr-save-loginsincludes\shortcodes\mycred-badgr-login.php:65
noprivwp_ajax_mycred-badgr-save-loginsincludes\shortcodes\mycred-badgr-login.php:67
authwp_ajax_mycred-badgr-user-login-disconnectincludes\shortcodes\mycred-badgr-login.php:69
noprivwp_ajax_mycred-badgr-user-login-disconnectincludes\shortcodes\mycred-badgr-login.php:71
authwp_ajax_mycred-badgr-user-syncincludes\shortcodes\mycred-badgr-login.php:73
noprivwp_ajax_mycred-badgr-user-syncincludes\shortcodes\mycred-badgr-login.php:75

Shortcodes 1

[mycred_badgr_login] includes\shortcodes\mycred-badgr-login.php:59
WordPress Hooks 11
actionmycred_after_core_prefsincludes\badgr-settings.php:14
filtermycred_save_core_prefsincludes\badgr-settings.php:19
actionmycred_save_badgeincludes\badgr-settings.php:20
actionadmin_noticesincludes\badgr-settings.php:21
filterredirect_post_locationincludes\badgr-settings.php:185
filterredirect_post_locationincludes\badgr-settings.php:189
actionplugins_loadedmycred-badgr.php:37
actionadmin_enqueue_scriptsmycred-badgr.php:39
actionwp_enqueue_scriptsmycred-badgr.php:41
actionadmin_noticesmycred-badgr.php:42
actionadmin_noticesmycred-badgr.php:72
Maintenance & Trust

myCred Badgr Integration Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedApr 17, 2025
PHP min version
Downloads3K

Community Trust

Rating0/100
Number of ratings0
Active installs10
Developer Profile

myCred Badgr Integration Developer Profile

Saad Iqbal

89 plugins · 1.4M total installs

74
trust score
Avg Security Score
93/100
Avg Patch Time
267 days
View full developer profile
Detection Fingerprints

How We Detect myCred Badgr Integration

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/mycred-badgr-achievement-badge/assets/css/admin-style.css/wp-content/plugins/mycred-badgr-achievement-badge/assets/js/admin-script.js/wp-content/plugins/mycred-badgr-achievement-badge/assets/js/front-script.js
Script Paths
/wp-content/plugins/mycred-badgr-achievement-badge/assets/js/admin-script.js/wp-content/plugins/mycred-badgr-achievement-badge/assets/js/front-script.js
Version Parameters
mycred-badgr-achievement-badge/assets/js/admin-script.js?ver=mycred-badgr-achievement-badge/assets/js/front-script.js?ver=

HTML / DOM Fingerprints

CSS Classes
mycred-badgr-login
Data Attributes
id="mycred-br-user-email"id="mycred-br-user-password"id="badgr-access-token"id="badgr-refresh-token"id="badgr-entit-id"id="mycred-badgr-user-sync"+1 more
JS Globals
MYCRED_BADGER_PREFIX
REST Endpoints
wp-json/mycred-badgr-user-loginwp-json/mycred-badgr-save-loginswp-json/mycred-badgr-user-login-disconnectwp-json/mycred-badgr-user-sync
Shortcode Output
<form class='mycred-badgr-login'><button id=mycred-badgr-login-disconnect><button id=mycred-badgr-login>
FAQ

Frequently Asked Questions about myCred Badgr Integration