Automatic FFL Security & Risk Analysis

wordpress.org/plugins/automatic-ffl-for-wc

Sell firearms on WooCommerce? Add FFL dealer selection to checkout with an interactive map. ATF-validated, block checkout ready.

10 active installs v1.0.17 PHP 5.6+ WP 4.7+ Updated Apr 9, 2026
ammunitioncheckoutfflfirearmswoocommerce
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Automatic FFL Safe to Use in 2026?

Generally Safe

Score 100/100

Automatic FFL has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 3mo ago
Risk Assessment

The 'automatic-ffl-for-wc' plugin v1.0.16 exhibits a concerning security posture primarily due to a significant number of unprotected AJAX handlers. While the plugin demonstrates good practices in other areas, such as using prepared statements for all SQL queries, proper output escaping for the majority of outputs, and a clean vulnerability history with no known CVEs, the unprotected entry points are a major weakness. The lack of authentication checks on four out of five identified entry points, specifically AJAX handlers, creates a substantial attack surface that could be exploited by unauthenticated users. The absence of taint analysis findings is positive, suggesting no immediately obvious data injection flaws were detected in the analyzed code flows. However, the unprotected AJAX handlers remain the most critical risk, potentially allowing attackers to trigger unintended functionality, manipulate data, or even execute privileged actions if the AJAX handlers perform sensitive operations without proper authorization.

While the plugin's lack of known vulnerabilities and its adherence to secure coding practices in other areas (SQL, output escaping) are strengths, the unprotected AJAX handlers are a glaring vulnerability. The plugin needs immediate attention to implement proper authentication and authorization checks on these entry points. The absence of taint analysis is encouraging, but it doesn't negate the direct risk posed by exposed functionality. In conclusion, the plugin has some good security foundations, but the identified unprotected AJAX endpoints represent a significant, exploitable risk that needs to be addressed promptly to improve its overall security.

Key Concerns

  • 4 AJAX handlers without auth checks
  • 1 REST API route without permission callback
  • 86% output properly escaped (14% unescaped)
Vulnerabilities
None known

Automatic FFL Security Vulnerabilities

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

Automatic FFL Release Timeline

v1.0.17Current
v1.0.16
v1.0.15
v1.0.14
v1.0.12
v1.0.11
v1.0.10
v1.0.8
v1.0.7
v1.0.6
v1.0.5
Code Analysis
Analyzed Mar 17, 2026

Automatic FFL Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
22
134 escaped
Nonce Checks
7
Capability Checks
2
File Operations
0
External Requests
2
Bundled Libraries
0

Output Escaping

86% escaped156 total outputs
Attack Surface
4 unprotected

Automatic FFL Attack Surface

Entry Points5
Unprotected4

AJAX Handlers 4

authwp_ajax_automaticffl_set_ammo_stateincludes\class-plugin.php:124
noprivwp_ajax_automaticffl_set_ammo_stateincludes\class-plugin.php:125
authwp_ajax_automaticffl_save_for_laterincludes\class-plugin.php:128
noprivwp_ajax_automaticffl_save_for_laterincludes\class-plugin.php:129

REST API Routes 1

GET/wp-json/automaticffl/v1/save-for-laterincludes\blocks\class-store-api-extension.php:103
WordPress Hooks 52
actionbefore_woocommerce_initautomaticffl-for-woocommerce.php:33
actionadmin_initautomaticffl-for-woocommerce.php:41
actionwoocommerce_process_product_metaincludes\admin\class-product-ffl-meta.php:42
actionwoocommerce_product_bulk_edit_startincludes\admin\class-product-ffl-meta.php:45
actionwoocommerce_product_bulk_edit_saveincludes\admin\class-product-ffl-meta.php:46
actionwoocommerce_product_quick_edit_startincludes\admin\class-product-ffl-meta.php:47
actionwoocommerce_product_quick_edit_saveincludes\admin\class-product-ffl-meta.php:48
filterproduct_type_optionsincludes\admin\class-product-ffl-meta.php:51
filterwoocommerce_product_export_column_namesincludes\admin\class-product-ffl-meta.php:54
filterwoocommerce_product_export_product_default_columnsincludes\admin\class-product-ffl-meta.php:55
filterwoocommerce_product_export_product_column_ffl_requiredincludes\admin\class-product-ffl-meta.php:56
filterwoocommerce_csv_product_import_mapping_optionsincludes\admin\class-product-ffl-meta.php:59
filterwoocommerce_csv_product_import_mapping_default_columnsincludes\admin\class-product-ffl-meta.php:60
filterwoocommerce_product_import_pre_insert_product_objectincludes\admin\class-product-ffl-meta.php:61
actionadmin_menuincludes\admin\class-settings.php:41
actionwp_loadedincludes\admin\class-settings.php:42
actionwoocommerce_blocks_checkout_enqueue_dataincludes\blocks\class-blocks-integration.php:64
actionwp_enqueue_scriptsincludes\blocks\class-blocks-integration.php:77
actionwoocommerce_store_api_checkout_update_order_from_requestincludes\blocks\class-store-api-extension.php:77
actionwoocommerce_store_api_checkout_order_processedincludes\blocks\class-store-api-extension.php:84
actionrest_api_initincludes\blocks\class-store-api-extension.php:92
actionwoocommerce_before_cart_tableincludes\class-plugin.php:109
actionwoocommerce_before_cart_tableincludes\class-plugin.php:110
actionwoocommerce_checkout_initincludes\class-plugin.php:111
actionwoocommerce_checkout_before_customer_detailsincludes\class-plugin.php:114
actionwoocommerce_before_checkout_shipping_formincludes\class-plugin.php:117
actionwoocommerce_after_order_notesincludes\class-plugin.php:118
actionwoocommerce_checkout_update_order_metaincludes\class-plugin.php:119
actionwoocommerce_checkout_update_order_metaincludes\class-plugin.php:120
actionwp_enqueue_scriptsincludes\class-plugin.php:121
actionwoocommerce_before_thankyouincludes\class-plugin.php:132
actiontemplate_redirectincludes\class-plugin.php:137
actionwoocommerce_checkout_order_processedincludes\class-plugin.php:140
actionwoocommerce_store_api_checkout_order_processedincludes\class-plugin.php:143
actionwoocommerce_checkout_processincludes\class-plugin.php:146
actiontemplate_redirectincludes\class-plugin.php:151
actionwoocommerce_checkout_order_processedincludes\class-plugin.php:156
actionwoocommerce_store_api_checkout_order_processedincludes\class-plugin.php:157
actionwp_headincludes\class-plugin.php:160
actionwoocommerce_cart_emptiedincludes\class-plugin.php:163
actionwoocommerce_checkout_create_orderincludes\class-plugin.php:171
filterwoocommerce_checkout_get_valueincludes\class-plugin.php:203
filterwoocommerce_checkout_update_customer_dataincludes\class-plugin.php:206
filterwoocommerce_checkout_fieldsincludes\class-plugin.php:207
actionadmin_headincludes\class-plugin.php:210
actionadmin_initincludes\class-wc-ffl-loader.php:52
actionadmin_initincludes\class-wc-ffl-loader.php:53
actionadmin_noticesincludes\class-wc-ffl-loader.php:54
filterextra_plugin_headersincludes\class-wc-ffl-loader.php:55
actionplugins_loadedincludes\class-wc-ffl-loader.php:59
actionwoocommerce_blocks_loadedincludes\class-wc-ffl-loader.php:321
actionwoocommerce_blocks_checkout_block_registrationincludes\class-wc-ffl-loader.php:341
Maintenance & Trust

Automatic FFL Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedApr 9, 2026
PHP min version5.6
Downloads3K

Community Trust

Rating100/100
Number of ratings1
Active installs10
Developer Profile

Automatic FFL Developer Profile

refactoredgroup

1 plugin · 10 total installs

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

How We Detect Automatic FFL

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/automatic-ffl-for-wc/assets/js/blocks/ffl-dealer-selection/build/ffl-dealer-selection-frontend.js/wp-content/plugins/automatic-ffl-for-wc/assets/js/blocks/ffl-dealer-selection/build/ffl-dealer-selection-editor.js
Script Paths
/wp-content/plugins/automatic-ffl-for-wc/assets/js/blocks/ffl-dealer-selection/build/ffl-dealer-selection-frontend.js/wp-content/plugins/automatic-ffl-for-wc/assets/js/blocks/ffl-dealer-selection/build/ffl-dealer-selection-editor.js
Version Parameters
automaticffl-blocks-frontendautomaticffl-blocks-editor

HTML / DOM Fingerprints

CSS Classes
ffl-dealer-selectionffl-dealer-search-resultsffl-dealer-map-container
Data Attributes
data-ffl-dealer-selectiondata-affl-dealer-mapdata-affl-state-selector
JS Globals
automaticfflBlocksDatawindow.automaticffl
REST Endpoints
/wp-json/automaticffl/v1/dealer-locations/wp-json/automaticffl/v1/search-dealers
Shortcode Output
[automatic_ffl_dealer_selection][automatic_ffl_dealer_map]
FAQ

Frequently Asked Questions about Automatic FFL