ShopWriter Lite Security & Risk Analysis

wordpress.org/plugins/shopwriter-lite

Generate AI-powered product descriptions, short descriptions, meta titles, meta descriptions, and image alt text for your WooCommerce products.

0 active installs v1.0.3 PHP 7.4+ WP 5.8+ Updated Jan 30, 2026
aicontent-generatorproduct-descriptionsseowoocommerce
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is ShopWriter Lite Safe to Use in 2026?

Generally Safe

Score 100/100

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

No known CVEs Updated 2mo ago
Risk Assessment

The shopwriter-lite plugin, version 1.0.3, exhibits a concerning security posture primarily due to a large attack surface composed entirely of unprotected AJAX handlers. While the plugin demonstrates good practices in using prepared statements for SQL queries and proper output escaping, the complete lack of authentication checks on its 28 AJAX entry points presents a significant risk. This means any unauthenticated user could potentially interact with these AJAX endpoints, leading to unpredictable behavior or even exploitation if they are not designed with strict internal validation.

The static analysis did not reveal any critical or high-severity taint flows, dangerous functions, or issues with file operations or bundled libraries. The plugin also has no recorded vulnerability history, which is a positive indicator. However, the absence of vulnerability history could also imply limited security testing or a lack of publicly disclosed vulnerabilities, rather than inherent invulnerability. The presence of numerous nonce checks (30) and capability checks (28) is a good sign that the developers have some awareness of security best practices, but these are seemingly not applied to the AJAX handlers themselves.

In conclusion, while shopwriter-lite avoids common pitfalls like raw SQL queries and unescaped output, its security is severely undermined by the unprotected AJAX endpoints. This creates a wide opening for potential abuse, making it a high-risk plugin in its current state, despite the absence of known CVEs or critical static analysis findings. The strengths in code quality are overshadowed by the critical weakness in access control for its primary interaction points.

Key Concerns

  • Unprotected AJAX handlers
  • Large attack surface without auth checks
Vulnerabilities
None known

ShopWriter Lite Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 17, 2026

ShopWriter Lite Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
24 prepared
Unescaped Output
0
288 escaped
Nonce Checks
30
Capability Checks
28
File Operations
0
External Requests
6
Bundled Libraries
0

SQL Query Safety

100% prepared24 total queries

Output Escaping

100% escaped288 total outputs
Data Flows
All sanitized

Data Flow Analysis

8 flows
process_settings_form (includes\class-shopwr-lite-admin.php:555)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
28 unprotected

ShopWriter Lite Attack Surface

Entry Points28
Unprotected28

AJAX Handlers 28

authwp_ajax_shopwr_lite_generate_product_contentincludes\class-shopwr-lite-core.php:125
authwp_ajax_shopwr_lite_save_generated_contentincludes\class-shopwr-lite-core.php:126
authwp_ajax_shopwr_lite_bulk_generate_previewincludes\class-shopwr-lite-core.php:129
authwp_ajax_shopwr_lite_start_bulk_processincludes\class-shopwr-lite-core.php:130
authwp_ajax_shopwr_lite_process_next_batchincludes\class-shopwr-lite-core.php:131
authwp_ajax_shopwr_lite_apply_preview_changesincludes\class-shopwr-lite-core.php:132
authwp_ajax_shopwr_lite_get_bulk_product_idsincludes\class-shopwr-lite-core.php:133
authwp_ajax_shopwr_lite_generate_page_previewsincludes\class-shopwr-lite-core.php:134
authwp_ajax_shopwr_lite_bulk_approve_previewsincludes\class-shopwr-lite-core.php:135
authwp_ajax_shopwr_lite_generate_single_previewincludes\class-shopwr-lite-core.php:136
authwp_ajax_shopwr_lite_get_update_logincludes\class-shopwr-lite-core.php:139
authwp_ajax_shopwr_lite_revert_changesincludes\class-shopwr-lite-core.php:140
authwp_ajax_shopwr_lite_clear_all_logsincludes\class-shopwr-lite-core.php:141
authwp_ajax_shopwr_lite_get_length_settingsincludes\class-shopwr-lite-core.php:144
authwp_ajax_shopwr_lite_generate_product_contenttrunk\includes\class-shopwr-lite-core.php:125
authwp_ajax_shopwr_lite_save_generated_contenttrunk\includes\class-shopwr-lite-core.php:126
authwp_ajax_shopwr_lite_bulk_generate_previewtrunk\includes\class-shopwr-lite-core.php:129
authwp_ajax_shopwr_lite_start_bulk_processtrunk\includes\class-shopwr-lite-core.php:130
authwp_ajax_shopwr_lite_process_next_batchtrunk\includes\class-shopwr-lite-core.php:131
authwp_ajax_shopwr_lite_apply_preview_changestrunk\includes\class-shopwr-lite-core.php:132
authwp_ajax_shopwr_lite_get_bulk_product_idstrunk\includes\class-shopwr-lite-core.php:133
authwp_ajax_shopwr_lite_generate_page_previewstrunk\includes\class-shopwr-lite-core.php:134
authwp_ajax_shopwr_lite_bulk_approve_previewstrunk\includes\class-shopwr-lite-core.php:135
authwp_ajax_shopwr_lite_generate_single_previewtrunk\includes\class-shopwr-lite-core.php:136
authwp_ajax_shopwr_lite_get_update_logtrunk\includes\class-shopwr-lite-core.php:139
authwp_ajax_shopwr_lite_revert_changestrunk\includes\class-shopwr-lite-core.php:140
authwp_ajax_shopwr_lite_clear_all_logstrunk\includes\class-shopwr-lite-core.php:141
authwp_ajax_shopwr_lite_get_length_settingstrunk\includes\class-shopwr-lite-core.php:144
WordPress Hooks 24
actionactivated_pluginincludes\class-shopwr-lite-core.php:98
actiondeactivated_pluginincludes\class-shopwr-lite-core.php:99
actionadmin_menuincludes\class-shopwr-lite-core.php:118
actionadmin_initincludes\class-shopwr-lite-core.php:119
actionadmin_enqueue_scriptsincludes\class-shopwr-lite-core.php:120
actionadmin_enqueue_scriptsincludes\class-shopwr-lite-core.php:121
actionadd_meta_boxesincludes\class-shopwr-lite-core.php:124
actionbefore_woocommerce_initshopwriter-lite.php:49
actionadmin_noticesshopwriter-lite.php:127
actionadmin_noticesshopwriter-lite.php:152
actionplugins_loadedshopwriter-lite.php:156
actionadmin_initshopwriter-lite.php:198
actionactivated_plugintrunk\includes\class-shopwr-lite-core.php:98
actiondeactivated_plugintrunk\includes\class-shopwr-lite-core.php:99
actionadmin_menutrunk\includes\class-shopwr-lite-core.php:118
actionadmin_inittrunk\includes\class-shopwr-lite-core.php:119
actionadmin_enqueue_scriptstrunk\includes\class-shopwr-lite-core.php:120
actionadmin_enqueue_scriptstrunk\includes\class-shopwr-lite-core.php:121
actionadd_meta_boxestrunk\includes\class-shopwr-lite-core.php:124
actionbefore_woocommerce_inittrunk\shopwriter-lite.php:49
actionadmin_noticestrunk\shopwriter-lite.php:127
actionadmin_noticestrunk\shopwriter-lite.php:152
actionplugins_loadedtrunk\shopwriter-lite.php:156
actionadmin_inittrunk\shopwriter-lite.php:198
Maintenance & Trust

ShopWriter Lite Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedJan 30, 2026
PHP min version7.4
Downloads127

Community Trust

Rating0/100
Number of ratings0
Active installs0
Developer Profile

ShopWriter Lite Developer Profile

Manolito van de Wouw

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 ShopWriter Lite

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/shopwriter-lite/assets/css/shopwriter-lite.css/wp-content/plugins/shopwriter-lite/assets/js/shopwriter-lite.js
Script Paths
/wp-content/plugins/shopwriter-lite/assets/js/shopwriter-lite.js
Version Parameters
shopwriter-lite/assets/css/shopwriter-lite.css?ver=shopwriter-lite/assets/js/shopwriter-lite.js?ver=

HTML / DOM Fingerprints

JS Globals
shopwr_lite_config
FAQ

Frequently Asked Questions about ShopWriter Lite