Mirolabs AI SEO Security & Risk Analysis

wordpress.org/plugins/mirolabs-ai-seo

Powerful AI-first SEO suite with Google Search Console integration, keyword research, content optimization, and more.

0 active installs v1.0.1 PHP 7.4+ WP 5.0+ Updated Mar 6, 2026
aianalyticsgoogle-search-consolekeywordsseo
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is Mirolabs AI SEO Safe to Use in 2026?

Generally Safe

Score 100/100

Mirolabs AI SEO has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 28d ago
Risk Assessment

The mirolabs-ai-seo plugin v1.0.1 exhibits a generally good security posture, with no known vulnerabilities or critical taint flows reported historically. The plugin demonstrates strong adherence to security best practices, with 100% of output properly escaped and a significant majority of SQL queries utilizing prepared statements. The presence of a substantial number of nonce and capability checks further bolsters its defenses. However, there are specific areas of concern that warrant attention. The presence of 3 AJAX handlers without authentication checks introduces a potential attack surface that could be exploited if these handlers perform sensitive operations. While taint analysis did not reveal any unsanitized path flows, the sheer number of entry points (42 total) combined with these unprotected AJAX handlers represent a weakness that could be exploited with further analysis or discovery of specific vulnerabilities within those handlers.

Key Concerns

  • AJAX handlers without auth checks
Vulnerabilities
None known

Mirolabs AI SEO Security Vulnerabilities

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

Mirolabs AI SEO Code Analysis

Dangerous Functions
0
Raw SQL Queries
13
43 prepared
Unescaped Output
236
772 escaped
Nonce Checks
29
Capability Checks
101
File Operations
8
External Requests
15
Bundled Libraries
0

SQL Query Safety

77% prepared56 total queries

Output Escaping

77% escaped1008 total outputs
Data Flows
All sanitized

Data Flow Analysis

13 flows
render_page (includes\class-mirolabs-redirections.php:115)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
3 unprotected

Mirolabs AI SEO Attack Surface

Entry Points42
Unprotected3

AJAX Handlers 11

authwp_ajax_mirolabs_gsc_clear_cacheincludes\modules\analytics\gsc-analytics.php:138
authwp_ajax_mirolabs_gsc_snapshotincludes\modules\analytics\gsc-analytics.php:139
authwp_ajax_mirolabs_gsc_sync_stateincludes\modules\analytics\gsc-analytics.php:140
authwp_ajax_mirolabs_gsc_run_sync_nowincludes\modules\analytics\gsc-analytics.php:141
authwp_ajax_mirolabs_ilx_statsincludes\modules\internal-links\class-mirolabs-internal-links.php:25
authwp_ajax_mirolabs_ilx_index_buildincludes\modules\internal-links\class-mirolabs-internal-links.php:26
authwp_ajax_mirolabs_ilx_graph_buildincludes\modules\internal-links\class-mirolabs-internal-links.php:27
authwp_ajax_mirolabs_ilx_orphansincludes\modules\internal-links\class-mirolabs-internal-links.php:28
authwp_ajax_mirolabs_ilx_bulk_scanincludes\modules\internal-links\class-mirolabs-internal-links.php:29
authwp_ajax_mirolabs_ilx_suggestincludes\modules\internal-links\class-mirolabs-internal-links.php:30
authwp_ajax_mirolabs_ilx_applyincludes\modules\internal-links\class-mirolabs-internal-links.php:31

REST API Routes 26

GET/wp-json/mirolabs/v1/healthincludes\class-mirolabs-rest.php:19
POST/wp-json/mirolabs/v1/ai/rewriteincludes\class-mirolabs-rest.php:33
POST/wp-json/mirolabs/v1/post/generateincludes\class-mirolabs-rest.php:50
GET/wp-json/mirolabs/v1/links/suggestincludes\class-mirolabs-rest.php:68
POST/wp-json/mirolabs/v1/links/rebuildincludes\class-mirolabs-rest.php:93
POST/wp-json/mirolabs/v1/trends/generate_draftincludes\class-mirolabs-rest.php:120
GET/wp-json/mirolabs/v1/analytics/ui/allpostsincludes\class-mirolabs-rest.php:138
GET/wp-json/mirolabs/v1/analytics/ui/snapshotincludes\modules\analytics\gsc-analytics.php:292
GET/wp-json/mirolabs/v1/analytics/ui/summaryincludes\modules\analytics\gsc-analytics.php:539
POST/wp-json/mirolabs/v1/analytics/ui/askincludes\modules\analytics\gsc-analytics.php:567
POST/wp-json/mirolabs/v1/analytics/ui/syncincludes\modules\analytics\gsc-analytics.php:588
POST/wp-json/mirolabs/v1/gsc/sync/startincludes\modules\analytics\gsc-analytics.php:636
GET/wp-json/mirolabs/v1/gsc/sync/statusincludes\modules\analytics\gsc-analytics.php:656
GET/wp-json/mirolabs/v1/gsc/sync-stateincludes\modules\analytics\gsc-analytics.php:666
POST/wp-json/mirolabs/v1/gsc/first-sync-nowincludes\modules\analytics\gsc-analytics.php:674
POST/wp-json/mirolabs/v1/gsc/run-sync-nowincludes\modules\analytics\gsc-analytics.php:688
POST/wp-json/mirolabs/v1/gsc/clear-cacheincludes\modules\analytics\gsc-analytics.php:707
POST/wp-json/mirolabs/v1/rank-today/settings/saveincludes\modules\analytics\tabs\class-gsc-tab-rank-today.php:213
GET/wp-json/mirolabs/v1/rank-today/settings/statusincludes\modules\analytics\tabs\class-gsc-tab-rank-today.php:237
POST/wp-json/mirolabs/v1/rank-today/testincludes\modules\analytics\tabs\class-gsc-tab-rank-today.php:246
POST/wp-json/mirolabs/v1/rank-today/checkincludes\modules\analytics\tabs\class-gsc-tab-rank-today.php:265
POST/wp-json/mirolabs/v1/rank-today/trackincludes\modules\analytics\tabs\class-gsc-tab-rank-today.php:356
GET/wp-json/mirolabs/v1/il/suggestincludes\modules\internal-links\class-mirolabs-rest-internal-links.php:10
POST/wp-json/mirolabs/v1/il/applyincludes\modules\internal-links\class-mirolabs-rest-internal-links.php:16
POST/wp-json/mirolabs/v1/il/undoincludes\modules\internal-links\class-mirolabs-rest-internal-links.php:22
POST/wp-json/mirolabs/v1/ai/completeincludes\rest\class-mirolabs-rest-ai.php:14

Shortcodes 5

[mirolabs_breadcrumbs] includes\modules\seo-hub\class-seo-hub-breadcrumbs.php:20
[mirolabs_nap] includes\modules\seo-hub\class-seo-hub-local-seo.php:19
[mirolabs_local] includes\modules\seo-hub\class-seo-hub-local-seo.php:20
[mirolabs_howto] includes\modules\seo-hub\class-seo-hub-schema.php:23
[mirolabs_faq_schema] includes\modules\seo-hub\class-seo-hub-schema.php:24
WordPress Hooks 122
actionadmin_menuincludes\admin\class-mirolabs-alt-fix.php:20
actionadmin_enqueue_scriptsincludes\admin\class-mirolabs-alt-fix.php:21
actionadmin_menuincludes\class-mirolabs-404-monitor.php:22
actionadmin_enqueue_scriptsincludes\class-mirolabs-404-monitor.php:23
actiontemplate_redirectincludes\class-mirolabs-404-monitor.php:24
actionadmin_post_mirolabs_404_exportincludes\class-mirolabs-404-monitor.php:26
actionadmin_post_mirolabs_404_clearincludes\class-mirolabs-404-monitor.php:27
actionadmin_enqueue_scriptsincludes\class-mirolabs-admin.php:14
actionadmin_initincludes\class-mirolabs-admin.php:15
actionadmin_post_mirolabs_suite_full_resetincludes\class-mirolabs-admin.php:17
actionadmin_post_mirolabs_suite_custom_resetincludes\class-mirolabs-admin.php:18
actionadmin_post_mirolabs_gsc_resetincludes\class-mirolabs-admin.php:19
actionadmin_post_mirolabs_rank_resetincludes\class-mirolabs-admin.php:20
filtermirolabs/parent_slugincludes\class-mirolabs-admin.php:22
filtermirolabs/ai/completeincludes\class-mirolabs-admin.php:24
actionadmin_menuincludes\class-mirolabs-redirections.php:33
actionadmin_enqueue_scriptsincludes\class-mirolabs-redirections.php:34
actionadmin_post_mirolabs_redir_saveincludes\class-mirolabs-redirections.php:36
actionadmin_post_mirolabs_redir_importincludes\class-mirolabs-redirections.php:37
actionadmin_post_mirolabs_redir_exportincludes\class-mirolabs-redirections.php:38
actiontemplate_redirectincludes\class-mirolabs-redirections.php:40
actionpost_updatedincludes\class-mirolabs-redirections.php:42
actionedited_termsincludes\class-mirolabs-redirections.php:43
actionedited_termincludes\class-mirolabs-redirections.php:44
actionshutdownincludes\class-mirolabs-redirections.php:47
filterallowed_redirect_hostsincludes\class-mirolabs-redirections.php:951
actionrest_api_initincludes\class-mirolabs-rest.php:13
actionadmin_initincludes\modules\analytics\gsc-analytics.php:9
filterrest_urlincludes\modules\analytics\gsc-analytics.php:11
actionadmin_menuincludes\modules\analytics\gsc-analytics.php:135
actionadmin_enqueue_scriptsincludes\modules\analytics\gsc-analytics.php:136
actionrest_api_initincludes\modules\analytics\gsc-analytics.php:288
actionplugins_loadedincludes\modules\analytics\gsc-analytics.php:1631
actionrest_api_initincludes\modules\analytics\tabs\class-gsc-tab-keywords.php:18
actionmirolabs_gsc_tabs_enqueueincludes\modules\analytics\tabs\class-gsc-tab-keywords.php:21
actionmirolabs_gsc_tabs_navincludes\modules\analytics\tabs\class-gsc-tab-keywords.php:22
actionmirolabs_gsc_tabs_contentincludes\modules\analytics\tabs\class-gsc-tab-keywords.php:23
filterrest_post_dispatchincludes\modules\analytics\tabs\class-gsc-tab-keywords.php:184
actionmirolabs_gsc_tabs_navincludes\modules\analytics\tabs\class-gsc-tab-overview.php:20
actionmirolabs_gsc_tabs_contentincludes\modules\analytics\tabs\class-gsc-tab-overview.php:21
actionrest_api_initincludes\modules\analytics\tabs\class-gsc-tab-overview.php:22
actionadmin_enqueue_scriptsincludes\modules\analytics\tabs\class-gsc-tab-overview.php:23
actionmirolabs_gsc_tabs_navincludes\modules\analytics\tabs\class-gsc-tab-pages.php:25
actionmirolabs_gsc_tabs_contentincludes\modules\analytics\tabs\class-gsc-tab-pages.php:26
actionmirolabs_gsc_tabs_enqueueincludes\modules\analytics\tabs\class-gsc-tab-pages.php:27
actionrest_api_initincludes\modules\analytics\tabs\class-gsc-tab-pages.php:28
actionmirolabs_gsc_tabs_enqueueincludes\modules\analytics\tabs\class-gsc-tab-rank-today.php:18
actionmirolabs_gsc_tabs_contentincludes\modules\analytics\tabs\class-gsc-tab-rank-today.php:19
actionrest_api_initincludes\modules\analytics\tabs\class-gsc-tab-rank-today.php:20
actionmirolabs_gsc_tabs_enqueueincludes\modules\analytics\tabs\class-gsc-tab-rank.php:14
actionmirolabs_gsc_tabs_navincludes\modules\analytics\tabs\class-gsc-tab-rank.php:15
actionmirolabs_gsc_tabs_contentincludes\modules\analytics\tabs\class-gsc-tab-rank.php:16
actionrest_api_initincludes\modules\analytics\tabs\class-gsc-tab-rank.php:17
actionrest_api_initincludes\modules\analytics\tabs\class-gsc-tab-rank.php:18
filterrest_post_dispatchincludes\modules\analytics\tabs\class-gsc-tab-rank.php:123
actionmirolabs_gsc_tabs_navincludes\modules\analytics\tabs\class-gsc-tab-rankflow.php:13
actionmirolabs_gsc_tabs_contentincludes\modules\analytics\tabs\class-gsc-tab-rankflow.php:14
actionadmin_enqueue_scriptsincludes\modules\analytics\tabs\class-gsc-tab-rankflow.php:15
actionrest_api_initincludes\modules\analytics\tabs\class-gsc-tab-rankflow.php:16
actionadmin_menuincludes\modules\gsc\class-mirolabs-gsc-connect.php:31
actionadmin_post_mirolabs_gsc_disconnectincludes\modules\gsc\class-mirolabs-gsc-connect.php:32
actionadmin_post_mirolabs_gsc_save_secretincludes\modules\gsc\class-mirolabs-gsc-connect.php:33
actionadmin_post_mirolabs_gsc_save_propertyincludes\modules\gsc\class-mirolabs-gsc-connect.php:34
actionrest_api_initincludes\modules\gsc\class-mirolabs-gsc-connect.php:40
actionadmin_enqueue_scriptsincludes\modules\gsc\class-mirolabs-gsc-connect.php:43
actioninitincludes\modules\internal-links\class-mirolabs-internal-links.php:15
actionadmin_menuincludes\modules\internal-links\class-mirolabs-internal-links.php:16
actionadd_meta_boxesincludes\modules\internal-links\class-mirolabs-internal-links.php:19
actionadmin_enqueue_scriptsincludes\modules\internal-links\class-mirolabs-internal-links.php:20
actionadmin_enqueue_scriptsincludes\modules\internal-links\class-mirolabs-internal-links.php:21
actionrest_api_initincludes\modules\internal-links\class-mirolabs-internal-links.php:23
actionrest_api_initincludes\modules\internal-links\class-mirolabs-rest-internal-links.php:9
actionadmin_menuincludes\modules\seo-hub\class-mirolabs-seo-hub.php:50
actionadmin_initincludes\modules\seo-hub\class-mirolabs-seo-hub.php:51
actionadmin_enqueue_scriptsincludes\modules\seo-hub\class-mirolabs-seo-hub.php:52
actionadmin_initincludes\modules\seo-hub\class-seo-hub-breadcrumbs.php:16
actionwp_headincludes\modules\seo-hub\class-seo-hub-breadcrumbs.php:18
actionwp_enqueue_scriptsincludes\modules\seo-hub\class-seo-hub-breadcrumbs.php:19
actionadmin_enqueue_scriptsincludes\modules\seo-hub\class-seo-hub-broken-links.php:24
actionadmin_initincludes\modules\seo-hub\class-seo-hub-local-seo.php:16
actionwp_headincludes\modules\seo-hub\class-seo-hub-local-seo.php:18
actionadmin_initincludes\modules\seo-hub\class-seo-hub-og-twitter.php:20
actionwp_headincludes\modules\seo-hub\class-seo-hub-og-twitter.php:22
actionadmin_initincludes\modules\seo-hub\class-seo-hub-schema.php:17
actionwp_headincludes\modules\seo-hub\class-seo-hub-schema.php:19
actionwp_headincludes\modules\seo-hub\class-seo-hub-schema.php:20
actionwp_headincludes\modules\seo-hub\class-seo-hub-schema.php:21
actionwp_headincludes\modules\seo-hub\class-seo-hub-schema.php:22
actionwp_footerincludes\modules\seo-hub\class-seo-hub-schema.php:339
actionwp_footerincludes\modules\seo-hub\class-seo-hub-schema.php:372
actionadmin_initincludes\modules\seo-hub\class-seo-hub-sitemap.php:17
actioninitincludes\modules\seo-hub\class-seo-hub-sitemap.php:19
filterwp_sitemaps_post_typesincludes\modules\seo-hub\class-seo-hub-sitemap.php:77
filterwp_sitemaps_taxonomiesincludes\modules\seo-hub\class-seo-hub-sitemap.php:78
filterwp_sitemaps_add_providerincludes\modules\seo-hub\class-seo-hub-sitemap.php:79
filterwp_sitemaps_posts_query_argsincludes\modules\seo-hub\class-seo-hub-sitemap.php:80
actionrest_api_initincludes\rest\class-mirolabs-rest-ai.php:9
actionrest_api_initincludes\rest\class-mirolabs-rest-alt-fix.php:32
actionrest_api_initincludes\rest\class-mirolabs-rest-title-ai.php:14
actionadmin_noticesmirolabs-ai-seo-suite.php:48
actionadmin_enqueue_scriptsmirolabs-ai-seo-suite.php:109
actionadmin_enqueue_scriptsmirolabs-ai-seo-suite.php:142
actioninitmirolabs-ai-seo-suite.php:149
actionadmin_enqueue_scriptsmirolabs-ai-seo-suite.php:171
actionplugins_loadedmirolabs-ai-seo-suite.php:205
actionadmin_enqueue_scriptsmirolabs-ai-seo-suite.php:222
filtermirolabs/menus/centralizedmirolabs-ai-seo-suite.php:290
actionplugins_loadedmirolabs-ai-seo-suite.php:304
actionplugins_loadedmirolabs-ai-seo-suite.php:312
actionadmin_menumirolabs-ai-seo-suite.php:322
actionadmin_initmirolabs-ai-seo-suite.php:333
filtermirolabs_main_menu_slugmirolabs-ai-seo-suite.php:398
actionadmin_noticesmirolabs-ai-seo-suite.php:477
actioninitmirolabs-ai-seo-suite.php:496
actionmirolabs_ai_seo_hourly_syncmirolabs-ai-seo-suite.php:551
actionmirolabs_daily_syncmirolabs-ai-seo-suite.php:561
actionadmin_initmirolabs-ai-seo-suite.php:625
actionadmin_initmirolabs-ai-seo-suite.php:652
actionadmin_menumirolabs-ai-seo-suite.php:706
actionadmin_menumirolabs-ai-seo-suite.php:811
actionadmin_noticesmirolabs-ai-seo-suite.php:853
actionadmin_noticesmirolabs-ai-seo-suite.php:868

Scheduled Events 2

mirolabs_ai_seo_hourly_sync
mirolabs_daily_sync
Maintenance & Trust

Mirolabs AI SEO Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedMar 6, 2026
PHP min version7.4
Downloads333

Community Trust

Rating100/100
Number of ratings2
Active installs0
Developer Profile

Mirolabs AI SEO Developer Profile

MiroLabs Seo

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 Mirolabs AI SEO

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/mirolabs-ai-seo/assets/js/mirolabs-fix-center.js/wp-content/plugins/mirolabs-ai-seo/assets/css/rankflow.css
Script Paths
/wp-content/plugins/mirolabs-ai-seo/assets/js/mirolabs-fix-center.js
Version Parameters
mirolabs-ai-seo/assets/js/mirolabs-fix-center.js?ver=mirolabs-ai-seo/assets/css/rankflow.css?ver=

HTML / DOM Fingerprints

CSS Classes
mirolabs-fix-center-scanning
HTML Comments
Mirolabs AI SEO: Missing file:
Data Attributes
data-mirolabs-fix-center-scandata-mirolabs-fix-center-applydata-mirolabs-fix-center-undodata-mirolabs-fix-center-historydata-mirolabs-fix-center-check
JS Globals
mirolabsFixCenter
REST Endpoints
/mirolabs/v1/fix/ctr/scan/mirolabs/v1/fix/ctr/apply/mirolabs/v1/fix/ctr/undo/mirolabs/v1/fix/ctr/history/mirolabs/v1/fix/ctr/check
FAQ

Frequently Asked Questions about Mirolabs AI SEO