Martial Arts Club Manager Security & Risk Analysis

wordpress.org/plugins/martial-arts-club-manager

Complete management system for martial arts clubs including member management, class scheduling, and attendance tracking. Requires WooCommerce.

0 active installs v1.0.333 PHP 7.4+ WP 6.2+ Updated Apr 15, 2026
attendanceclass-managementkaratemartial-artsmembership
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is Martial Arts Club Manager Safe to Use in 2026?

Generally Safe

Score 100/100

Martial Arts Club Manager has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 1mo ago
Risk Assessment

The martial-arts-club-manager plugin exhibits a generally strong security posture, with a significant emphasis on secure coding practices. All identified AJAX handlers and REST API routes appear to have appropriate authentication and permission checks, and crucially, all SQL queries are prepared, and all output is properly escaped, which are fundamental security best practices. The absence of dangerous functions and external HTTP requests further contributes to its security. The plugin's vulnerability history is clean, with no known CVEs, suggesting a commitment to maintaining security or a lack of past exploitable issues. This positive track record indicates a mature and well-maintained codebase.

Despite these strengths, there are a few areas that warrant attention. The presence of four taint flows with unsanitized paths, even without a critical or high severity classification, indicates a potential for subtle security weaknesses that could be exploited under specific conditions. While these flows might not be immediately exploitable due to other security mechanisms, they represent a theoretical risk. Additionally, the inclusion of bundled libraries like DataTables and Freemius v1.0 means their security is dependent on the security of those external components; if either of these libraries has known vulnerabilities that are not patched within the plugin, it could introduce risk. The relatively large number of entry points (33 total, all protected) is not a direct risk, but it implies a larger potential attack surface that, if any protection were to fail, could be more impactful. Overall, the plugin is secure for general use, but the taint analysis warrants careful monitoring and potential remediation.

Key Concerns

  • Flows with unsanitized paths found
  • Bundled library (DataTables, Freemius) potentially outdated
Vulnerabilities
None known

Martial Arts Club Manager Security Vulnerabilities

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

Martial Arts Club Manager Release Timeline

v1.0.333Current
v1.0.330
v1.0.329
v1.0.328
v1.0.317
v1.0.253
Code Analysis
Analyzed Apr 16, 2026

Martial Arts Club Manager Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
461 prepared
Unescaped Output
3
1795 escaped
Nonce Checks
59
Capability Checks
41
File Operations
6
External Requests
0
Bundled Libraries
2

Bundled Libraries

DataTablesFreemius1.0

SQL Query Safety

100% prepared461 total queries

Output Escaping

100% escaped1798 total outputs
Data Flows · Security
4 unsanitized

Data Flow Analysis

24 flows4 with unsanitized paths
handle_export (includes/admin/class-macm-admin-data.php:321)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Martial Arts Club Manager Attack Surface

Entry Points33
Unprotected0

AJAX Handlers 29

authwp_ajax_macm_validate_importincludes/admin/class-macm-admin-data.php:40
authwp_ajax_macm_process_importincludes/admin/class-macm-admin-data.php:41
authwp_ajax_macm_reset_plugin_dataincludes/admin/class-macm-admin-data.php:42
authwp_ajax_macm_submit_feature_requestincludes/admin/class-macm-admin-feedback.php:96
authwp_ajax_macm_submit_bug_reportincludes/admin/class-macm-admin-feedback.php:97
authwp_ajax_macm_dismiss_review_noticeincludes/admin/class-macm-admin-polish.php:41
authwp_ajax_macm_mark_booking_completeincludes/admin/class-macm-admin-trial-bookings.php:31
authwp_ajax_macm_mark_booking_pendingincludes/admin/class-macm-admin-trial-bookings.php:32
authwp_ajax_macm_send_booking_emailincludes/admin/class-macm-admin-trial-bookings.php:33
authwp_ajax_macm_save_admin_noteincludes/admin/class-macm-admin-trial-bookings.php:34
authwp_ajax_macm_admin_add_memberincludes/admin/class-macm-admin.php:21
authwp_ajax_macm_admin_edit_memberincludes/admin/class-macm-admin.php:22
authwp_ajax_macm_get_user_phoneincludes/admin/class-macm-admin.php:23
authwp_ajax_macm_admin_toggle_member_statusincludes/admin/class-macm-admin.php:24
authwp_ajax_macm_get_member_detailsincludes/admin/class-macm-admin.php:25
authwp_ajax_macm_add_memberincludes/public/class-macm-public.php:67
authwp_ajax_macm_edit_memberincludes/public/class-macm-public.php:68
authwp_ajax_macm_delete_memberincludes/public/class-macm-public.php:69
authwp_ajax_macm_upload_photoincludes/public/class-macm-public.php:70
authwp_ajax_macm_delete_photoincludes/public/class-macm-public.php:71
authwp_ajax_macm_get_memberincludes/public/class-macm-public.php:72
authwp_ajax_macm_get_member_classesincludes/public/class-macm-public.php:73
authwp_ajax_macm_get_member_eventsincludes/public/class-macm-public.php:77
authwp_ajax_macm_get_member_belt_historyincludes/public/class-macm-public.php:78
authwp_ajax_macm_member_get_pin_statusincludes/public/class-macm-public.php:79
authwp_ajax_macm_member_set_pinincludes/public/class-macm-public.php:80
authwp_ajax_macm_member_delete_pinincludes/public/class-macm-public.php:81
authwp_ajax_macm_submit_trial_bookingincludes/public/class-macm-trial-booking.php:813
noprivwp_ajax_macm_submit_trial_bookingincludes/public/class-macm-trial-booking.php:814

Shortcodes 4

[macm_member_area] includes/public/class-macm-public.php:64
[macm_class_schedule] includes/public/class-macm-shortcodes.php:32
[macm_trial_booking] includes/public/class-macm-trial-booking.php:809
[macm_trial_booking_form] includes/public/class-macm-trial-booking.php:810
WordPress Hooks 70
actionadmin_menuincludes/admin/class-macm-admin-belt-colors.php:21
actionadmin_post_macm_save_belt_colorincludes/admin/class-macm-admin-belt-colors.php:22
actionadmin_post_macm_delete_belt_colorincludes/admin/class-macm-admin-belt-colors.php:23
actionadmin_menuincludes/admin/class-macm-admin-data.php:32
actionadmin_enqueue_scriptsincludes/admin/class-macm-admin-data.php:33
actionadmin_post_macm_export_dataincludes/admin/class-macm-admin-data.php:36
actionadmin_post_macm_import_dataincludes/admin/class-macm-admin-data.php:37
actionadmin_enqueue_scriptsincludes/admin/class-macm-admin-feedback.php:93
actionadmin_menuincludes/admin/class-macm-admin-membership-types.php:21
actionadmin_post_macm_save_membership_typeincludes/admin/class-macm-admin-membership-types.php:22
actionadmin_post_macm_delete_membership_typeincludes/admin/class-macm-admin-membership-types.php:23
actionadmin_menuincludes/admin/class-macm-admin-menu.php:19
actionadmin_menuincludes/admin/class-macm-admin-menu.php:20
actionadmin_enqueue_scriptsincludes/admin/class-macm-admin-menu.php:21
filterplugin_action_links_martial-arts-club-manager/martial-arts-club-manager.phpincludes/admin/class-macm-admin-polish.php:32
actionadmin_noticesincludes/admin/class-macm-admin-polish.php:35
actionadmin_headincludes/admin/class-macm-admin-polish.php:38
actionadmin_initincludes/admin/class-macm-admin-settings.php:32
actionadmin_enqueue_scriptsincludes/admin/class-macm-admin-settings.php:33
actionadmin_menuincludes/admin/class-macm-admin-trial-bookings.php:29
actionadmin_enqueue_scriptsincludes/admin/class-macm-admin-trial-bookings.php:30
actionadmin_post_macm_save_trial_booking_settingsincludes/admin/class-macm-admin-trial-bookings.php:35
actionadmin_post_macm_export_members_csvincludes/admin/class-macm-admin.php:28
actionadmin_enqueue_scriptsincludes/class-macm-main.php:183
actionadmin_enqueue_scriptsincludes/class-macm-main.php:184
filterwp_mail_fromincludes/class-macm-main.php:221
filterwp_mail_from_nameincludes/class-macm-main.php:222
actionwp_enqueue_scriptsincludes/class-macm-main.php:270
actionwp_enqueue_scriptsincludes/class-macm-main.php:271
actionwidgets_initincludes/class-macm-main.php:282
actionrest_api_initincludes/class-macm-main.php:298
actionmacm_purge_expired_tokensincludes/class-macm-main.php:306
actionrest_api_initincludes/class-macm-main.php:313
actionmacm_member_createdincludes/classes/class-macm-email-notifications.php:24
actionmacm_member_deletedincludes/classes/class-macm-email-notifications.php:27
filterwp_mail_content_typeincludes/classes/class-macm-email-notifications.php:68
filterwp_mail_content_typeincludes/classes/class-macm-email-notifications.php:92
filterwp_mail_content_typeincludes/classes/class-macm-email-notifications.php:565
filterwp_mail_content_typeincludes/classes/class-macm-email-notifications.php:589
actioninitincludes/public/class-macm-trial-booking.php:808
actionwp_enqueue_scriptsincludes/public/class-macm-trial-booking.php:812
filterwoocommerce_add_cart_item_dataincludes/woocommerce/class-macm-cart.php:33
filterwoocommerce_get_item_dataincludes/woocommerce/class-macm-cart.php:36
filterwoocommerce_get_cart_item_from_sessionincludes/woocommerce/class-macm-cart.php:39
actionwoocommerce_checkout_create_order_line_itemincludes/woocommerce/class-macm-checkout.php:33
actionwoocommerce_order_item_meta_endincludes/woocommerce/class-macm-checkout.php:36
actionwoocommerce_order_status_completedincludes/woocommerce/class-macm-checkout.php:39
actionwoocommerce_order_status_processingincludes/woocommerce/class-macm-checkout.php:42
actionwoocommerce_edit_account_formincludes/woocommerce/class-macm-my-account.php:42
actionwoocommerce_save_account_details_errorsincludes/woocommerce/class-macm-my-account.php:45
actionwoocommerce_save_account_detailsincludes/woocommerce/class-macm-my-account.php:48
filterwoocommerce_account_menu_itemsincludes/woocommerce/class-macm-my-account.php:51
filterwoocommerce_get_endpoint_urlincludes/woocommerce/class-macm-my-account.php:52
actionwoocommerce_rest_insert_product_objectincludes/woocommerce/class-macm-products.php:63
actionwoocommerce_product_options_general_product_dataincludes/woocommerce/class-macm-products.php:81
actionwoocommerce_process_product_metaincludes/woocommerce/class-macm-products.php:82
actionwoocommerce_block_template_after_instantiationincludes/woocommerce/class-macm-products.php:85
actionadmin_enqueue_scriptsincludes/woocommerce/class-macm-products.php:88
actionwp_enqueue_scriptsincludes/woocommerce/class-macm-products.php:91
actionwoocommerce_before_add_to_cart_buttonincludes/woocommerce/class-macm-products.php:94
filterwoocommerce_loop_add_to_cart_buttonincludes/woocommerce/class-macm-products.php:97
filterwoocommerce_add_to_cart_validationincludes/woocommerce/class-macm-products.php:100
actionwp_enqueue_scriptsincludes/woocommerce/class-macm-products.php:103
actionwoocommerce_register_form_startincludes/woocommerce/class-macm-registration.php:43
filterwoocommerce_registration_errorsincludes/woocommerce/class-macm-registration.php:46
actionwoocommerce_created_customerincludes/woocommerce/class-macm-registration.php:49
actionafter_uninstallmartial-arts-club-manager.php:189
actionadmin_noticesmartial-arts-club-manager.php:202
actionplugins_loadedmartial-arts-club-manager.php:209
actionplugins_loadedmartial-arts-club-manager.php:238

Scheduled Events 2

macm_purge_expired_tokens
macm_class_reminder
Maintenance & Trust

Martial Arts Club Manager Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedApr 15, 2026
PHP min version7.4
Downloads465

Community Trust

Rating0/100
Number of ratings0
Active installs0
Developer Profile

Martial Arts Club Manager Developer Profile

madebyeli

1 plugin · 0 total installs

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

How We Detect Martial Arts Club Manager

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/martial-arts-club-manager/assets/css/style.css/wp-content/plugins/martial-arts-club-manager/assets/css/vendors/datepicker.css/wp-content/plugins/martial-arts-club-manager/assets/js/main.js/wp-content/plugins/martial-arts-club-manager/assets/js/vendors/datepicker.js/wp-content/plugins/martial-arts-club-manager/assets/js/vendors/jquery.bootstrap.min.js
Script Paths
/wp-content/plugins/martial-arts-club-manager/assets/js/main.js/wp-content/plugins/martial-arts-club-manager/assets/js/vendors/datepicker.js/wp-content/plugins/martial-arts-club-manager/assets/js/vendors/jquery.bootstrap.min.js
Version Parameters
martial-arts-club-manager/assets/css/style.css?ver=martial-arts-club-manager/assets/css/vendors/datepicker.css?ver=martial-arts-club-manager/assets/js/main.js?ver=martial-arts-club-manager/assets/js/vendors/datepicker.js?ver=martial-arts-club-manager/assets/js/vendors/jquery.bootstrap.min.js?ver=

HTML / DOM Fingerprints

HTML Comments
<!-- Martial Arts Club Manager --><!-- End Martial Arts Club Manager --><!-- Freemius SDK --><!-- End Freemius SDK -->
Data Attributes
data-freemius-iddata-freemius-slugdata-freemius-menu-slug
JS Globals
window.macm_settingswindow.macm_memberswindow.macm_classeswindow.macm_attendancewindow.macm_reportswindow.macm_payment_gateways
REST Endpoints
/wp-json/martial-arts-club-manager/v1/settings/wp-json/martial-arts-club-manager/v1/members/wp-json/martial-arts-club-manager/v1/classes/wp-json/martial-arts-club-manager/v1/attendance/wp-json/martial-arts-club-manager/v1/reports/wp-json/martial-arts-club-manager/v1/payment-gateways
Shortcode Output
[martial_arts_club_manager_member_list][martial_arts_club_manager_class_schedule][martial_arts_club_manager_attendance_form][martial_arts_club_manager_member_profile]
FAQ

Frequently Asked Questions about Martial Arts Club Manager