{"slug":"bearmor-security","name":"Bearmor Security","description":"Lightweight, powerful WordPress security for small and medium businesses. Malware scanning, login protection, 2FA, hardening & more.","author":"bearmor","active_installs":50,"version":"1.0.4","wp_org_url":"https://wordpress.org/plugins/bearmor-security/","is_closed":false,"cleanup":{"has_uninstall_hook":false,"drops_tables_on_uninstall":false,"deletes_options_on_uninstall":false},"tables":[{"table_name":"bearmor_activity_log","full_table_name":"wp_bearmor_activity_log","description":"A logging table that records activity, events, or audit history.","detection_method":"static","confidence":"high","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":true},{"name":"user_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"username","type":"VARCHAR(60)","nullable":false,"primary_key":false},{"name":"action","type":"VARCHAR(50)","nullable":false,"primary_key":false},{"name":"object_type","type":"VARCHAR(50)","nullable":true,"primary_key":false},{"name":"object_name","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"ip_address","type":"VARCHAR(45)","nullable":true,"primary_key":false},{"name":"user_agent","type":"TEXT","nullable":true,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_bearmor_activity_log ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, user_id BIGINT UNSIGNED NOT NULL, username VARCHAR(60) NOT NULL, action VARCHAR(50) NOT NULL, object_type VARCHAR(50), object_name VARCHAR(255), ip_address VARCHAR(45), user_agent TEXT, created_at DATETIME NOT NULL, INDEX idx_user_id (user_id), INDEX idx_action (action), INDEX idx_created_at (created_at) ) $charset_collate;\"; dbDelta( $sql );"},{"table_name":"bearmor_ai_analyses","full_table_name":"wp_bearmor_ai_analyses","description":"Stores bearmor ai analyses data created by this plugin.","detection_method":"static","confidence":"high","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":true},{"name":"summary_data","type":"LONGTEXT","nullable":false,"primary_key":false},{"name":"ai_prompt","type":"LONGTEXT","nullable":false,"primary_key":false},{"name":"ai_response","type":"LONGTEXT","nullable":false,"primary_key":false},{"name":"color_rating","type":"ENUM('green', 'gray', 'yellow', 'red')","nullable":true,"primary_key":false},{"name":"model_used","type":"VARCHAR(50)","nullable":false,"primary_key":false},{"name":"tokens_used","type":"INT","nullable":false,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_bearmor_ai_analyses ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, summary_data LONGTEXT NOT NULL, ai_prompt LONGTEXT NOT NULL, ai_response LONGTEXT NOT NULL, color_rating ENUM('green', 'gray', 'yellow', 'red') DEFAULT 'gray', model_used VARCHAR(50) NOT NULL, tokens_used INT NOT NULL, created_at DATETIME NOT NULL, KEY idx_created_at (created_at), KEY idx_color_rating (color_rating) ) $charset_collate;\"; dbDelta( $sql );"},{"table_name":"bearmor_blocked_ips","full_table_name":"wp_bearmor_blocked_ips","description":"Stores bearmor blocked ips data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":true},{"name":"ip_address","type":"VARCHAR(45)","nullable":false,"primary_key":false},{"name":"blocked_at","type":"DATETIME","nullable":false,"primary_key":false},{"name":"expires_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"reason","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"permanent","type":"TINYINT(1)","nullable":true,"primary_key":false},{"name":"blocked_by","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false},{"name":"status","type":"VARCHAR(20)","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_bearmor_blocked_ips ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, ip_address VARCHAR(45) NOT NULL, blocked_at DATETIME NOT NULL, expires_at DATETIME, reason VARCHAR(255), permanent TINYINT(1) DEFAULT 0, blocked_by BIGINT UNSIGNED, status VARCHAR(20) DEFAULT 'active', KEY expires_at (expires_at), KEY permanent (permanent), KEY status (status), KEY ip_status (ip_address, status) ) $charset_collate;\"; dbDelta( $sql );"},{"table_name":"bearmor_deep_scan_results","full_table_name":"wp_bearmor_deep_scan_results","description":"Stores bearmor deep scan results data created by this plugin.","detection_method":"static","confidence":"high","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":true},{"name":"scan_type","type":"ENUM('database', 'uploads')","nullable":false,"primary_key":false},{"name":"item_type","type":"VARCHAR(50)","nullable":false,"primary_key":false},{"name":"item_id","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"location","type":"TEXT","nullable":false,"primary_key":false},{"name":"pattern","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"matched_code","type":"TEXT","nullable":true,"primary_key":false},{"name":"severity","type":"ENUM('low', 'medium', 'high', 'critical')","nullable":false,"primary_key":false},{"name":"status","type":"ENUM('pending', 'safe', 'removed')","nullable":true,"primary_key":false},{"name":"detected_at","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_bearmor_deep_scan_results ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, scan_type ENUM('database', 'uploads') NOT NULL, item_type VARCHAR(50) NOT NULL, item_id VARCHAR(255) NOT NULL, location TEXT NOT NULL, pattern VARCHAR(255), matched_code TEXT, severity ENUM('low', 'medium', 'high', 'critical') NOT NULL, status ENUM('pending', 'safe', 'removed') DEFAULT 'pending', detected_at DATETIME NOT NULL, KEY scan_type (scan_type), KEY status (status), KEY detected_at (detected_at) ) $charset_collate;\"; dbDelta( $sql );"},{"table_name":"bearmor_file_changes","full_table_name":"wp_bearmor_file_changes","description":"Stores bearmor file changes data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":true},{"name":"file_path","type":"VARCHAR(500)","nullable":false,"primary_key":false},{"name":"old_checksum","type":"VARCHAR(64)","nullable":true,"primary_key":false},{"name":"new_checksum","type":"VARCHAR(64)","nullable":true,"primary_key":false},{"name":"detected_at","type":"DATETIME","nullable":false,"primary_key":false},{"name":"action_taken","type":"ENUM('none', 'locked', 'quarantined', 'marked_safe')","nullable":true,"primary_key":false},{"name":"action_by","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_bearmor_file_changes ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, file_path VARCHAR(500) NOT NULL, old_checksum VARCHAR(64), new_checksum VARCHAR(64), detected_at DATETIME NOT NULL, action_taken ENUM('none', 'locked', 'quarantined', 'marked_safe') DEFAULT 'none', action_by BIGINT UNSIGNED, KEY detected_at (detected_at), KEY file_path (file_path) ) $charset_collate;\"; dbDelta( $sql );"},{"table_name":"bearmor_file_checksums","full_table_name":"wp_bearmor_file_checksums","description":"Stores bearmor file checksums data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":true},{"name":"file_path","type":"VARCHAR(500)","nullable":false,"primary_key":false},{"name":"file_size","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false},{"name":"last_checked","type":"DATETIME","nullable":false,"primary_key":false},{"name":"status","type":"ENUM('baseline', 'changed', 'new', 'deleted', 'safe')","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_bearmor_file_checksums ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, file_path VARCHAR(500) NOT NULL, checksum VARCHAR(64) NOT NULL, file_size BIGINT UNSIGNED, last_checked DATETIME NOT NULL, status ENUM('baseline', 'changed', 'new', 'deleted', 'safe') DEFAULT 'baseline', UNIQUE KEY file_path (file_path), KEY status (status), KEY last_checked (last_checked) ) $charset_collate;\"; dbDelta( $sql );"},{"table_name":"bearmor_firewall_blocks","full_table_name":"wp_bearmor_firewall_blocks","description":"Stores bearmor firewall blocks data created by this plugin.","detection_method":"static","confidence":"high","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":true},{"name":"ip_address","type":"VARCHAR(45)","nullable":false,"primary_key":false},{"name":"request_uri","type":"TEXT","nullable":false,"primary_key":false},{"name":"request_method","type":"VARCHAR(10)","nullable":true,"primary_key":false},{"name":"user_agent","type":"TEXT","nullable":true,"primary_key":false},{"name":"rule_matched","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"blocked_at","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_bearmor_firewall_blocks ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, ip_address VARCHAR(45) NOT NULL, request_uri TEXT NOT NULL, request_method VARCHAR(10), user_agent TEXT, rule_matched VARCHAR(255), blocked_at DATETIME NOT NULL, KEY idx_ip_address (ip_address), KEY idx_blocked_at (blocked_at) ) $charset_collate;\"; dbDelta( $sql );"},{"table_name":"bearmor_firewall_whitelist","full_table_name":"wp_bearmor_firewall_whitelist","description":"Stores bearmor firewall whitelist data created by this plugin.","detection_method":"static","confidence":"high","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":true},{"name":"whitelist_type","type":"ENUM('ip', 'uri')","nullable":false,"primary_key":false},{"name":"value","type":"VARCHAR(500)","nullable":false,"primary_key":false},{"name":"added_at","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_bearmor_firewall_whitelist ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, whitelist_type ENUM('ip', 'uri') NOT NULL, value VARCHAR(500) NOT NULL, added_at DATETIME NOT NULL, KEY idx_type (whitelist_type) ) $charset_collate;\"; dbDelta( $sql );"},{"table_name":"bearmor_login_anomalies","full_table_name":"wp_bearmor_login_anomalies","description":"A logging table that records activity, events, or audit history.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":true},{"name":"user_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"ip_address","type":"VARCHAR(45)","nullable":false,"primary_key":false},{"name":"country_code","type":"VARCHAR(2)","nullable":true,"primary_key":false},{"name":"user_agent","type":"TEXT","nullable":true,"primary_key":false},{"name":"anomaly_type","type":"VARCHAR(50)","nullable":false,"primary_key":false},{"name":"anomaly_score","type":"INT","nullable":false,"primary_key":false},{"name":"details","type":"TEXT","nullable":true,"primary_key":false},{"name":"detected_at","type":"DATETIME","nullable":false,"primary_key":false},{"name":"status","type":"ENUM('new', 'marked_safe', 'blocked')","nullable":true,"primary_key":false},{"name":"action_by","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_bearmor_login_anomalies ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, user_id BIGINT UNSIGNED NOT NULL, ip_address VARCHAR(45) NOT NULL, country_code VARCHAR(2), user_agent TEXT, anomaly_type VARCHAR(50) NOT NULL, anomaly_score INT NOT NULL, details TEXT, detected_at DATETIME NOT NULL, status ENUM('new', 'marked_safe', 'blocked') DEFAULT 'new', action_by BIGINT UNSIGNED, KEY user_id (user_id), KEY detected_at (detected_at), KEY anomaly_score (anomaly_score), KEY status (status) ) $charset_collate;\"; dbDelta( $sql );"},{"table_name":"bearmor_login_attempts","full_table_name":"wp_bearmor_login_attempts","description":"A logging table that records activity, events, or audit history.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":true},{"name":"ip_address","type":"VARCHAR(45)","nullable":false,"primary_key":false},{"name":"username","type":"VARCHAR(60)","nullable":true,"primary_key":false},{"name":"success","type":"TINYINT(1)","nullable":true,"primary_key":false},{"name":"attempted_at","type":"DATETIME","nullable":false,"primary_key":false},{"name":"user_agent","type":"TEXT","nullable":true,"primary_key":false},{"name":"country_code","type":"VARCHAR(2)","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_bearmor_login_attempts ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, ip_address VARCHAR(45) NOT NULL, username VARCHAR(60), success TINYINT(1) DEFAULT 0, attempted_at DATETIME NOT NULL, user_agent TEXT, country_code VARCHAR(2), KEY ip_address (ip_address), KEY attempted_at (attempted_at), KEY success (success) ) $charset_collate;\"; dbDelta( $sql );"},{"table_name":"bearmor_malware_detections","full_table_name":"wp_bearmor_malware_detections","description":"Stores bearmor malware detections data created by this plugin.","detection_method":"static","confidence":"high","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":true},{"name":"file_path","type":"VARCHAR(500)","nullable":false,"primary_key":false},{"name":"pattern_id","type":"VARCHAR(100)","nullable":false,"primary_key":false},{"name":"pattern_name","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"severity","type":"ENUM('critical', 'high', 'medium', 'low')","nullable":false,"primary_key":false},{"name":"category","type":"VARCHAR(100)","nullable":false,"primary_key":false},{"name":"description","type":"TEXT","nullable":true,"primary_key":false},{"name":"line_number","type":"INT UNSIGNED","nullable":false,"primary_key":false},{"name":"code_snippet","type":"TEXT","nullable":true,"primary_key":false},{"name":"matched_text","type":"TEXT","nullable":true,"primary_key":false},{"name":"detected_at","type":"DATETIME","nullable":false,"primary_key":false},{"name":"status","type":"ENUM('pending', 'whitelisted', 'quarantined', 'false_positive')","nullable":true,"primary_key":false},{"name":"action_by","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_bearmor_malware_detections ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, file_path VARCHAR(500) NOT NULL, pattern_id VARCHAR(100) NOT NULL, pattern_name VARCHAR(255) NOT NULL, severity ENUM('critical', 'high', 'medium', 'low') NOT NULL, category VARCHAR(100) NOT NULL, description TEXT, line_number INT UNSIGNED NOT NULL, code_snippet TEXT, matched_text TEXT, detected_at DATETIME NOT NULL, status ENUM('pending', 'whitelisted', 'quarantined', 'false_positive') DEFAULT 'pending', action_by BIGINT UNSIGNED, KEY file_path (file_path), KEY severity (severity), KEY status (status), KEY detected_at (detected_at) ) $charset_collate;\"; dbDelta( $sql );"},{"table_name":"bearmor_quarantine","full_table_name":"wp_bearmor_quarantine","description":"Stores bearmor quarantine data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":true},{"name":"file_path","type":"VARCHAR(500)","nullable":false,"primary_key":false},{"name":"quarantined_path","type":"VARCHAR(500)","nullable":false,"primary_key":false},{"name":"reason","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"quarantined_at","type":"DATETIME","nullable":false,"primary_key":false},{"name":"quarantined_by","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false},{"name":"restored_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"restored_by","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false},{"name":"status","type":"ENUM('quarantined', 'restored', 'deleted')","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_bearmor_quarantine ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, file_path VARCHAR(500) NOT NULL, quarantined_path VARCHAR(500) NOT NULL, reason VARCHAR(255), quarantined_at DATETIME NOT NULL, quarantined_by BIGINT UNSIGNED, restored_at DATETIME, restored_by BIGINT UNSIGNED, status ENUM('quarantined', 'restored', 'deleted') DEFAULT 'quarantined', KEY status (status), KEY quarantined_at (quarantined_at) ) $charset_collate;\"; dbDelta( $sql );"},{"table_name":"bearmor_uptime_daily","full_table_name":"wp_bearmor_uptime_daily","description":"Stores bearmor uptime daily data created by this plugin.","detection_method":"static","confidence":"high","columns":[{"name":"day","type":"DATE","nullable":false,"primary_key":true},{"name":"total_pings","type":"INT UNSIGNED","nullable":false,"primary_key":false},{"name":"up_pings","type":"INT UNSIGNED","nullable":false,"primary_key":false},{"name":"uptime_percent","type":"DECIMAL(5,2)","nullable":false,"primary_key":false},{"name":"avg_response_time","type":"INT UNSIGNED","nullable":false,"primary_key":false},{"name":"aggregated_at","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_bearmor_uptime_daily ( day DATE NOT NULL PRIMARY KEY, total_pings INT UNSIGNED NOT NULL, up_pings INT UNSIGNED NOT NULL, uptime_percent DECIMAL(5,2) NOT NULL, avg_response_time INT UNSIGNED NOT NULL, aggregated_at DATETIME NOT NULL ) $charset_collate;\"; dbDelta( $sql );"},{"table_name":"bearmor_uptime_history","full_table_name":"wp_bearmor_uptime_history","description":"Stores bearmor uptime history data created by this plugin.","detection_method":"static","confidence":"high","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":true},{"name":"start_time","type":"DATETIME","nullable":false,"primary_key":false},{"name":"end_time","type":"DATETIME","nullable":true,"primary_key":false},{"name":"duration_minutes","type":"INT","nullable":true,"primary_key":false},{"name":"status","type":"VARCHAR(50)","nullable":true,"primary_key":false},{"name":"synced_at","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_bearmor_uptime_history ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, start_time DATETIME NOT NULL, end_time DATETIME, duration_minutes INT, status VARCHAR(50) DEFAULT 'open', synced_at DATETIME NOT NULL, UNIQUE KEY uniq_start_time (start_time), KEY idx_status (status) ) $charset_collate;\"; dbDelta( $sql );"},{"table_name":"bearmor_uptime_pings","full_table_name":"wp_bearmor_uptime_pings","description":"Stores bearmor uptime pings data created by this plugin.","detection_method":"static","confidence":"high","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":true},{"name":"status","type":"VARCHAR(10)","nullable":false,"primary_key":false},{"name":"response_time","type":"INT","nullable":false,"primary_key":false},{"name":"pinged_at","type":"DATETIME","nullable":false,"primary_key":false},{"name":"synced_at","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_bearmor_uptime_pings ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, status VARCHAR(10) NOT NULL, response_time INT NOT NULL, pinged_at DATETIME NOT NULL, synced_at DATETIME NOT NULL, KEY idx_pinged_at (pinged_at), KEY idx_status (status) ) $charset_collate;\"; dbDelta( $sql );"},{"table_name":"bearmor_user_profiles","full_table_name":"wp_bearmor_user_profiles","description":"Stores bearmor user profiles data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":true},{"name":"user_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"known_ips","type":"TEXT","nullable":true,"primary_key":false},{"name":"known_countries","type":"TEXT","nullable":true,"primary_key":false},{"name":"known_user_agents","type":"TEXT","nullable":true,"primary_key":false},{"name":"typical_login_hours","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"last_login_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"last_login_ip","type":"VARCHAR(45)","nullable":true,"primary_key":false},{"name":"last_login_country","type":"VARCHAR(2)","nullable":true,"primary_key":false},{"name":"profile_created","type":"DATETIME","nullable":false,"primary_key":false},{"name":"profile_updated","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_bearmor_user_profiles ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, user_id BIGINT UNSIGNED NOT NULL, known_ips TEXT, known_countries TEXT, known_user_agents TEXT, typical_login_hours VARCHAR(255), last_login_at DATETIME, last_login_ip VARCHAR(45), last_login_country VARCHAR(2), profile_created DATETIME NOT NULL, profile_updated DATETIME NOT NULL, UNIQUE KEY user_id (user_id), KEY user_id_index (user_id) ) $charset_collate;\"; dbDelta( $sql );"},{"table_name":"bearmor_vulnerabilities","full_table_name":"wp_bearmor_vulnerabilities","description":"Stores bearmor vulnerabilities data created by this plugin.","detection_method":"static","confidence":"high","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":true},{"name":"item_slug","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"item_name","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"item_version","type":"VARCHAR(50)","nullable":false,"primary_key":false},{"name":"item_type","type":"ENUM('plugin', 'theme', 'core')","nullable":true,"primary_key":false},{"name":"severity","type":"ENUM('critical', 'high', 'medium', 'low')","nullable":false,"primary_key":false},{"name":"title","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"description","type":"TEXT","nullable":true,"primary_key":false},{"name":"fixed_in","type":"VARCHAR(50)","nullable":true,"primary_key":false},{"name":"cve_references","type":"TEXT","nullable":true,"primary_key":false},{"name":"detected_at","type":"DATETIME","nullable":false,"primary_key":false},{"name":"status","type":"ENUM('active', 'whitelisted', 'fixed')","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_bearmor_vulnerabilities ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, item_slug VARCHAR(255) NOT NULL, item_name VARCHAR(255) NOT NULL, item_version VARCHAR(50) NOT NULL, item_type ENUM('plugin', 'theme', 'core') DEFAULT 'plugin', severity ENUM('critical', 'high', 'medium', 'low') NOT NULL, title VARCHAR(255) NOT NULL, description TEXT, fixed_in VARCHAR(50), cve_references TEXT, detected_at DATETIME NOT NULL, status ENUM('active', 'whitelisted', 'fixed') DEFAULT 'active', KEY item_slug (item_slug), KEY severity (severity), KEY status (status), KEY detected_at (detected_at) ) $charset_collate;\"; dbDelta( $sql );"}],"table_count":17}