Peace Protocol Security & Risk Analysis

wordpress.org/plugins/peace-protocol

A secure, decentralized protocol for WordPress administrators to connect their sites and build a network of trust through cryptographic handshakes.

0 active installs v1.2.7 PHP 7.4+ WP 6.0+ Updated Aug 27, 2025
cryptographicdecentralizedfederationpeacesecurity
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Peace Protocol Safe to Use in 2026?

Generally Safe

Score 100/100

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

No known CVEs Updated 7mo ago
Risk Assessment

The peace-protocol v1.2.7 plugin exhibits a mixed security posture. On the positive side, it demonstrates good practices in SQL query handling by exclusively using prepared statements and shows a strong adherence to output escaping, with 87% of outputs properly handled. The absence of known CVEs and a clean vulnerability history is also a significant strength, suggesting a generally well-maintained codebase.

However, the plugin presents notable concerns regarding its attack surface. A substantial number of AJAX handlers (33 out of 46) lack authentication checks, creating potential entry points for unauthorized actions. While the taint analysis did not reveal critical or high-severity vulnerabilities, the presence of 6 flows with unsanitized paths warrants attention, as these could be exploited under specific conditions. The limited number of nonce checks (11 total, matching external HTTP requests) alongside the unprotected AJAX endpoints further amplifies this risk. The plugin also makes 11 external HTTP requests, which, while not inherently insecure, is an area that always requires careful monitoring for potential supply chain attacks or misconfigurations.

In conclusion, peace-protocol v1.2.7 has strengths in its SQL and output handling and a clean vulnerability history. However, the significant number of unprotected AJAX endpoints and the identified unsanitized path flows represent the most immediate security risks. Addressing these areas should be a priority to strengthen the plugin's overall security.

Key Concerns

  • Unprotected AJAX handlers
  • Flows with unsanitized paths detected
  • External HTTP requests
Vulnerabilities
None known

Peace Protocol Security Vulnerabilities

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

Peace Protocol Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
33
229 escaped
Nonce Checks
11
Capability Checks
21
File Operations
0
External Requests
11
Bundled Libraries
0

Output Escaping

87% escaped262 total outputs
Data Flows
6 unsanitized

Data Flow Analysis

9 flows6 with unsanitized paths
peaceprotocol_ajax_send_peace (includes\rest-endpoints.php:1622)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
33 unprotected

Peace Protocol Attack Surface

Entry Points55
Unprotected33

AJAX Handlers 46

authwp_ajax_peaceprotocol_rotate_tokensincludes\admin-pages.php:5
authwp_ajax_peaceprotocol_delete_tokenincludes\admin-pages.php:6
authwp_ajax_peaceprotocol_subscribe_feedincludes\frontend-button.php:54
noprivwp_ajax_peaceprotocol_subscribe_feedincludes\frontend-button.php:70
authwp_ajax_peaceprotocol_receive_peaceincludes\rest-endpoints.php:316
noprivwp_ajax_peaceprotocol_receive_peaceincludes\rest-endpoints.php:376
authwp_ajax_peaceprotocol_federated_authincludes\rest-endpoints.php:426
noprivwp_ajax_peaceprotocol_federated_authincludes\rest-endpoints.php:453
authwp_ajax_peaceprotocol_federated_exchangeincludes\rest-endpoints.php:481
noprivwp_ajax_peaceprotocol_federated_exchangeincludes\rest-endpoints.php:482
authwp_ajax_peaceprotocol_send_peaceincludes\rest-endpoints.php:1619
noprivwp_ajax_peaceprotocol_send_peaceincludes\rest-endpoints.php:1620
authwp_ajax_peaceprotocol_generate_codeincludes\rest-endpoints.php:1674
noprivwp_ajax_peaceprotocol_generate_codeincludes\rest-endpoints.php:1675
authwp_ajax_peaceprotocol_exchange_codeincludes\rest-endpoints.php:1715
noprivwp_ajax_peaceprotocol_exchange_codeincludes\rest-endpoints.php:1716
authwp_ajax_peaceprotocol_validate_tokenincludes\rest-endpoints.php:1825
noprivwp_ajax_peaceprotocol_validate_tokenincludes\rest-endpoints.php:1826
authwp_ajax_peaceprotocol_federated_loginincludes\rest-endpoints.php:1860
noprivwp_ajax_peaceprotocol_federated_loginincludes\rest-endpoints.php:1861
authwp_ajax_peaceprotocol_debug_logincludes\rest-endpoints.php:1926
noprivwp_ajax_peaceprotocol_debug_logincludes\rest-endpoints.php:1927
authwp_ajax_peaceprotocol_indieauth_callbackincludes\rest-endpoints.php:1932
noprivwp_ajax_peaceprotocol_indieauth_callbackincludes\rest-endpoints.php:1933
authwp_ajax_peaceprotocol_indieauth_testincludes\rest-endpoints.php:1936
noprivwp_ajax_peaceprotocol_indieauth_testincludes\rest-endpoints.php:1937
authwp_ajax_peaceprotocol_indieauth_tokenincludes\rest-endpoints.php:1940
noprivwp_ajax_peaceprotocol_indieauth_tokenincludes\rest-endpoints.php:1941
authwp_ajax_peaceprotocol_refresh_indieauth_tokenincludes\rest-endpoints.php:1944
noprivwp_ajax_peaceprotocol_refresh_indieauth_tokenincludes\rest-endpoints.php:1945
authwp_ajax_peaceprotocol_testincludes\rest-endpoints.php:2092
noprivwp_ajax_peaceprotocol_testincludes\rest-endpoints.php:2093
authwp_ajax_peaceprotocol_complete_authincludes\rest-endpoints.php:2104
noprivwp_ajax_peaceprotocol_complete_authincludes\rest-endpoints.php:2105
authwp_ajax_peaceprotocol_complete_indieauth_authincludes\rest-endpoints.php:2208
noprivwp_ajax_peaceprotocol_complete_indieauth_authincludes\rest-endpoints.php:2209
authwp_ajax_peaceprotocol_discover_indieauthincludes\rest-endpoints.php:3342
noprivwp_ajax_peaceprotocol_discover_indieauthincludes\rest-endpoints.php:3343
authwp_ajax_peaceprotocol_ban_userincludes\user-banning.php:5
authwp_ajax_peaceprotocol_send_peaceincludes\user-banning.php:408
authwp_ajax_peaceprotocol_generate_codeincludes\user-banning.php:414
authwp_ajax_peaceprotocol_exchange_codeincludes\user-banning.php:420
authwp_ajax_peaceprotocol_federated_exchangeincludes\user-banning.php:426
authwp_ajax_peaceprotocol_validate_tokenincludes\user-banning.php:432
authwp_ajax_peaceprotocol_federated_loginincludes\user-banning.php:438
authwp_ajax_peaceprotocol_complete_authincludes\user-banning.php:444

REST API Routes 7

POST/wp-json/peace-protocol/v1/subscribeincludes\frontend-button.php:31
POST/wp-json/peace-protocol/v1/receiveincludes\rest-endpoints.php:105
GET/wp-json/peace-protocol/v1/testincludes\rest-endpoints.php:115
POST/wp-json/peace-protocol/v1/federated-authincludes\rest-endpoints.php:1438
POST/wp-json/peace-protocol/v1/federated-exchangeincludes\rest-endpoints.php:1466
POST/wp-json/peace-protocol/v1/send-peaceincludes\rest-endpoints.php:1515
POST/wp-json/peace-protocol/v1/validate-authorizationincludes\rest-endpoints.php:1570

Shortcodes 2

[peaceprotocol_log_wall] includes\shortcodes.php:4
[peaceprotocol_hand_button] includes\shortcodes.php:983
WordPress Hooks 52
actionadmin_menuincludes\admin-pages.php:8
actionwp_enqueue_scriptsincludes\enqueue-assets.php:5
actionadmin_enqueue_scriptsincludes\enqueue-assets.php:62
actionwp_enqueue_scriptsincludes\enqueue-assets.php:91
actionadmin_enqueue_scriptsincludes\enqueue-assets.php:137
actionadmin_enqueue_scriptsincludes\enqueue-assets.php:147
actionwp_enqueue_scriptsincludes\enqueue-assets.php:168
actioninitincludes\federated-users.php:5
actionadmin_initincludes\federated-users.php:83
actionafter_setup_themeincludes\federated-users.php:90
filtercomment_form_defaultsincludes\federated-users.php:237
filterget_comment_authorincludes\federated-users.php:247
actionwp_footerincludes\frontend-button.php:6
actionrest_api_initincludes\frontend-button.php:30
actionwp_enqueue_scriptsincludes\inline-scripts.php:375
actionadmin_enqueue_scriptsincludes\inline-scripts.php:376
actionadmin_enqueue_scriptsincludes\inline-scripts.php:377
actioninitincludes\register-cpt.php:4
filtermanage_peaceprotocol_log_posts_columnsincludes\register-cpt.php:36
actionmanage_peaceprotocol_log_posts_custom_columnincludes\register-cpt.php:40
actioninitincludes\rest-endpoints.php:97
actioninitincludes\rest-endpoints.php:101
actionrest_api_initincludes\rest-endpoints.php:103
actionrest_api_initincludes\rest-endpoints.php:130
filterrest_pre_serve_requestincludes\rest-endpoints.php:131
actionrest_api_initincludes\rest-endpoints.php:142
filterrest_pre_dispatchincludes\rest-endpoints.php:143
actiontemplate_redirectincludes\rest-endpoints.php:577
actiontemplate_redirectincludes\rest-endpoints.php:946
actiontemplate_redirectincludes\rest-endpoints.php:1193
actiontemplate_redirectincludes\rest-endpoints.php:1366
actionrest_api_initincludes\rest-endpoints.php:1436
actioninitincludes\rest-endpoints.php:1996
actioninitincludes\rest-endpoints.php:1997
actiontemplate_redirectincludes\rest-endpoints.php:2272
actionwp_footerincludes\rest-endpoints.php:2388
actioninitincludes\rest-endpoints.php:3389
actionparse_requestincludes\rest-endpoints.php:3412
filteruser_row_actionsincludes\user-banning.php:8
actionadmin_footer-users.phpincludes\user-banning.php:32
actioninitincludes\user-banning.php:59
actiontemplate_redirectincludes\user-banning.php:258
actionwp_footerincludes\user-banning.php:272
actionshow_user_profileincludes\user-banning.php:296
actionedit_user_profileincludes\user-banning.php:325
filtermanage_users_columnsincludes\user-banning.php:354
filtermanage_users_custom_columnincludes\user-banning.php:359
actionrest_api_initincludes\user-banning.php:397
filterrest_pre_dispatchincludes\user-banning.php:399
actionwp_footerincludes\user-banning.php:451
actioninitpeace-protocol.php:66
actionadmin_post_peaceprotocol_force_cache_bustpeace-protocol.php:88
Maintenance & Trust

Peace Protocol Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedAug 27, 2025
PHP min version7.4
Downloads265

Community Trust

Rating0/100
Number of ratings0
Active installs0
Developer Profile

Peace Protocol Developer Profile

Billy Wilcosky

3 plugins · 20 total installs

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

How We Detect Peace Protocol

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/peace-protocol/js/frontend.js/wp-content/plugins/peace-protocol/js/admin.js/wp-content/plugins/peace-protocol/css/frontend.css
Script Paths
/wp-content/plugins/peace-protocol/js/frontend.js/wp-content/plugins/peace-protocol/js/admin.js
Version Parameters
peace-protocol/js/frontend.js?ver=peace-protocol/js/admin.js?ver=peace-protocol/css/frontend.css?ver=

HTML / DOM Fingerprints

HTML Comments
<!-- Clear any ban flags that might be preventing Peace Protocol from working --><!-- Always define ajaxurl globally, using wp_json_encode for bulletproof JS -->
Data Attributes
data-noncedata-resturldata-ajaxurldata-federatedloginnoncedata-i18n_confirmdata-i18n_yes+17 more
JS Globals
peaceprotocolDatapeaceprotocolAdminDataajaxurl
REST Endpoints
/wp-json/peace-protocol/v1/receive
FAQ

Frequently Asked Questions about Peace Protocol