WP Manifestindependent plugin directory
manifest / ai / editor-ai

Editor AI WP Registry grade D. High-severity findings · 6 findingsWP RegistryHigh-severity findings · 6 findingsOpen the reportD

WordPress Editor with Artificial Intelligence

★ 4stars
85release downloads
v1.3latest · 1 year ago

Install

Download editor-ai.zip From the v1.3 release on GitHub, May 28, 2025

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/g3luka/editor-ai/releases/download/v1.3/editor-ai.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

WordPress Editor with Artificial Intelligence

Releases

5 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
v1.3 latest
May 28, 2025 1 year ago
editor-ai.zip
62
May 28, 2025 1 year ago
editor-ai.zip
2
May 26, 2025 1 year ago
editor-ai.zip
2
May 14, 2025 1 year ago
editor-ai.zip
13
Feb 14, 2025 1 year ago
editor-ai-v1.0.0.zip
6
D grade

Security

Editor AI 1.0 · audited by WP Registry

High-severity findings.

4 high 2 low
Audited release
1.0
Findings
6
Worst severity
high
Content hash
27bede83977912642b041f05…

Findings

  • high Unauthenticated POST /editor-ai/v1/playground proxies attacker payloads to Athena endpoint

    missing_permission_callback

    Rest.php registers /playground with no permission argument, so UseRest defaults to permission_callback __return_true. Playground::restCallback accepts JSON task/input and HttpClient::send posts it to get_option('editorai_athena_endpoint') with sslverify filtered to false. Unauthenticated users can burn AI credits, inflate traffic, and inject arbitrary prompt/model fields into the site's paid backend.

    src/Rest.php:22-22

    Recommendation

    Pass permission: 'edit_posts' or 'manage_options' to addRestRoute for /playground. Reject unauthenticated requests in Playground::restCallback as defense in depth.

  • high Unauthenticated GET /editor-ai/v1/agents/test executes DictionaryAgent chat

    missing_permission_callback

    The /agents/test route is registered without a permission argument (defaults to __return_true) and immediately runs DictionaryAgent::make()->chat(new UserMessage(...)). Any anonymous visitor can trigger live LLM provider calls and receive serialized agent output/errors.

    src/Rest.php:27-53

    Recommendation

    Remove the test route from production builds, or require manage_options/edit_posts. Never leave provider-backed test endpoints publicly reachable.

  • high Unauthenticated POST /editor-ai/v1/playground proxies attacker payloads to Athena endpoint

    missing_permission_callback

    Rest.php registers /playground with no permission argument, so UseRest defaults to permission_callback __return_true. Playground::restCallback accepts JSON task/input and HttpClient::send posts it to get_option('editorai_athena_endpoint'). Unauthenticated users can burn AI credits, inflate traffic, and inject arbitrary prompt/model fields into the site's paid backend.

    src/Rest.php:22-22

    Recommendation

    Pass permission: 'edit_posts' or 'manage_options' to addRestRoute for /playground. Also reject unauthenticated requests inside Playground::restCallback.

  • high Unauthenticated GET /editor-ai/v1/agents/test executes DictionaryAgent chat

    missing_permission_callback

    The /agents/test route is registered without a permission argument (defaults to __return_true) and immediately runs DictionaryAgent::make()->chat(new UserMessage(...)). Any anonymous visitor can trigger live LLM provider calls and receive serialized agent output/errors.

    src/Rest.php:27-53

    Recommendation

    Remove the test route from production builds, or require manage_options/edit_posts.

  • low Outbound AI HTTP client disables SSL verification by default

    insecure_config

    HttpClient::send sets sslverify via filter editorai_client_http_sslverify with default false, weakening TLS for requests that carry site AI traffic.

    src/Shared/Clients/Http/HttpClient.php:15-18

    Recommendation

    Default sslverify to true; only allow false behind an explicit admin opt-in.

  • low Outbound AI HTTP client disables SSL verification by default

    insecure_config

    HttpClient::send sets sslverify via filter editorai_client_http_sslverify with default false, weakening TLS for requests that carry site AI traffic to the Athena endpoint.

    src/Shared/Clients/Http/HttpClient.php:15-18

    Recommendation

    Default sslverify to true; only allow false behind an explicit admin opt-in.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.