fscan/Common/i18n/messages/plugins.go
ZacharyZcR dc8579f554 feat: 实现Neo4j图数据库专业扫描插件
- 新增Neo4j Bolt协议识别和弱密码检测
- 支持未授权访问和默认凭据检测
- 实现ServiceConnector三层架构模式
- 添加Neo4j专用国际化消息
- 支持7474/7687端口扫描
- 自动注册到插件系统
2025-08-09 11:57:35 +08:00

747 lines
22 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package messages
/*
plugins.go - 插件相关消息
包含新插件架构中各种插件的国际化消息定义,
包括扫描、利用、认证等相关消息。
*/
// PluginMessages 插件相关消息
var PluginMessages = map[string]map[string]string{
// ========================= 通用插件消息 =========================
"plugin_init": {
LangZH: "初始化插件: %s",
LangEN: "Initializing plugin: %s",
},
"plugin_scan_start": {
LangZH: "开始%s插件扫描: %s",
LangEN: "Starting %s plugin scan: %s",
},
"plugin_scan_success": {
LangZH: "%s扫描成功: %s",
LangEN: "%s scan successful: %s",
},
"plugin_scan_failed": {
LangZH: "%s插件扫描失败: %v",
LangEN: "%s plugin scan failed: %v",
},
"plugin_exploit_start": {
LangZH: "开始%s自动利用: %s",
LangEN: "Starting %s auto exploitation: %s",
},
"plugin_exploit_success": {
LangZH: "%s利用成功: %s",
LangEN: "%s exploitation successful: %s",
},
"plugin_exploit_failed": {
LangZH: "%s利用失败: %v",
LangEN: "%s exploitation failed: %v",
},
// ========================= 通用成功消息模板 =========================
"plugin_login_success": {
LangZH: "%s弱密码: %s [%s:%s]",
LangEN: "%s weak password: %s [%s:%s]",
},
"plugin_login_success_passwd_only": {
LangZH: "%s弱密码: %s [%s]",
LangEN: "%s weak password: %s [%s]",
},
"plugin_unauthorized_access": {
LangZH: "%s未授权访问: %s",
LangEN: "%s unauthorized access: %s",
},
// ========================= 利用(Exploit)消息模板 =========================
"exploit_weak_password_success": {
LangZH: "%s %s 弱密码利用成功",
LangEN: "%s %s weak password exploit successful",
},
"exploit_unauthorized_success": {
LangZH: "%s %s 未授权访问利用成功",
LangEN: "%s %s unauthorized access exploit successful",
},
"exploit_command_exec_success": {
LangZH: "%s %s 命令执行利用成功",
LangEN: "%s %s command execution exploit successful",
},
"exploit_file_write_success": {
LangZH: "%s %s 文件写入利用成功",
LangEN: "%s %s file write exploit successful",
},
"exploit_sql_injection_success": {
LangZH: "%s %s SQL注入利用成功",
LangEN: "%s %s SQL injection exploit successful",
},
"exploit_data_extraction_success": {
LangZH: "%s %s %s 利用成功",
LangEN: "%s %s %s exploit successful",
},
"exploit_generic_success": {
LangZH: "%s %s %s 利用成功",
LangEN: "%s %s %s exploit successful",
},
"exploit_with_output": {
LangZH: " 输出: %s",
LangEN: " output: %s",
},
"exploit_files_created": {
LangZH: "创建/修改的文件: %v",
LangEN: "Files created/modified: %v",
},
"exploit_shell_obtained": {
LangZH: "获得Shell: %s %s:%d 用户:%s",
LangEN: "Shell obtained: %s %s:%d user:%s",
},
// ========================= 利用方法执行消息 =========================
"exploit_method_trying": {
LangZH: "尝试利用方法: %s",
LangEN: "Trying exploit method: %s",
},
"exploit_method_success": {
LangZH: "利用方法 %s 执行成功",
LangEN: "Exploit method %s executed successfully",
},
"exploit_method_failed": {
LangZH: "利用方法 %s 执行失败: %v",
LangEN: "Exploit method %s failed: %v",
},
"exploit_method_condition_not_met": {
LangZH: "利用方法 %s 前置条件不满足,跳过",
LangEN: "Exploit method %s prerequisites not met, skipping",
},
"exploit_all_methods_failed": {
LangZH: "所有利用方法都失败",
LangEN: "All exploit methods failed",
},
// ========================= MySQL利用方法消息 =========================
"mysql_version_info": {
LangZH: "MySQL版本: %s",
LangEN: "MySQL version: %s",
},
"mysql_current_user": {
LangZH: "当前用户: %s",
LangEN: "Current user: %s",
},
"mysql_current_database": {
LangZH: "当前数据库: %s",
LangEN: "Current database: %s",
},
"mysql_databases_found": {
LangZH: "发现数据库: %s",
LangEN: "Databases found: %s",
},
"mysql_tables_found": {
LangZH: "发现表: %v",
LangEN: "Tables found: %v",
},
"mysql_user_privileges": {
LangZH: "用户权限: %s",
LangEN: "User privileges: %s",
},
"mysql_file_privilege_detected": {
LangZH: "检测到FILE权限可能支持文件操作",
LangEN: "FILE privilege detected, file operations may be supported",
},
"mysql_file_read_success": {
LangZH: "读取文件 %s:\n%s",
LangEN: "File %s read:\n%s",
},
"mysql_file_write_success": {
LangZH: "成功写入文件: %s",
LangEN: "File written successfully: %s",
},
"mysql_no_file_privilege": {
LangZH: "无法读取任何文件可能没有FILE权限",
LangEN: "Cannot read any files, may lack FILE privilege",
},
// ========================= Redis利用方法消息 =========================
"redis_server_info": {
LangZH: "Redis服务器信息: %s",
LangEN: "Redis server info: %s",
},
"redis_config_info": {
LangZH: "Redis配置信息: %s",
LangEN: "Redis config info: %s",
},
"redis_keys_found": {
LangZH: "发现Redis键: %v",
LangEN: "Redis keys found: %v",
},
"redis_backup_created": {
LangZH: "Redis备份创建成功: %s",
LangEN: "Redis backup created: %s",
},
"redis_cron_job_written": {
LangZH: "Cron任务写入成功: %s",
LangEN: "Cron job written successfully: %s",
},
"redis_ssh_key_written": {
LangZH: "SSH密钥写入成功: %s",
LangEN: "SSH key written successfully: %s",
},
"redis_webshell_written": {
LangZH: "Webshell写入成功: %s",
LangEN: "Webshell written successfully: %s",
},
"redis_no_keys_found": {
LangZH: "未发现任何Redis键",
LangEN: "No Redis keys found",
},
"redis_write_failed": {
LangZH: "Redis写入操作失败",
LangEN: "Redis write operation failed",
},
// ========================= 插件架构消息 =========================
"plugin_new_arch_trying": {
LangZH: "尝试使用新插件架构: %s",
LangEN: "Trying new plugin architecture: %s",
},
"plugin_new_arch_success": {
LangZH: "新插件架构处理成功: %s",
LangEN: "New plugin architecture successful: %s",
},
"plugin_new_arch_fallback": {
LangZH: "新插件架构失败,回退到传统实现: %s - %v",
LangEN: "New plugin architecture failed, falling back to legacy: %s - %v",
},
"plugin_legacy_using": {
LangZH: "插件 %s 不支持新架构,使用传统实现",
LangEN: "Plugin %s not supported in new architecture, using legacy",
},
// ========================= MySQL插件消息 =========================
"mysql_scan_start": {
LangZH: "开始MySQL扫描: %s",
LangEN: "Starting MySQL scan: %s",
},
"mysql_scan_success": {
LangZH: "MySQL弱密码扫描成功: %s [%s:%s]",
LangEN: "MySQL weak password scan successful: %s [%s:%s]",
},
"mysql_service_identified": {
LangZH: "MySQL服务识别成功: %s - %s",
LangEN: "MySQL service identified: %s - %s",
},
"mysql_connection_failed": {
LangZH: "MySQL连接失败: %v",
LangEN: "MySQL connection failed: %v",
},
"mysql_auth_failed": {
LangZH: "MySQL认证失败: %v",
LangEN: "MySQL authentication failed: %v",
},
"mysql_exploit_info_gather": {
LangZH: "MySQL信息收集成功",
LangEN: "MySQL information gathering successful",
},
"mysql_exploit_db_enum": {
LangZH: "MySQL数据库枚举成功",
LangEN: "MySQL database enumeration successful",
},
"mysql_exploit_file_write": {
LangZH: "MySQL文件写入成功: %s",
LangEN: "MySQL file write successful: %s",
},
"mysql_exploit_file_read": {
LangZH: "MySQL文件读取成功: %s",
LangEN: "MySQL file read successful: %s",
},
// ========================= Redis插件消息 =========================
"redis_scan_start": {
LangZH: "开始Redis扫描: %s",
LangEN: "Starting Redis scan: %s",
},
"redis_unauth_success": {
LangZH: "Redis未授权访问: %s",
LangEN: "Redis unauthorized access: %s",
},
"redis_weak_pwd_success": {
LangZH: "Redis弱密码扫描成功: %s [%s]",
LangEN: "Redis weak password scan successful: %s [%s]",
},
"redis_service_identified": {
LangZH: "Redis服务识别成功: %s - %s",
LangEN: "Redis service identified: %s - %s",
},
"redis_connection_failed": {
LangZH: "Redis连接失败: %v",
LangEN: "Redis connection failed: %v",
},
"redis_auth_failed": {
LangZH: "Redis认证失败: %v",
LangEN: "Redis authentication failed: %v",
},
"redis_exploit_file_write": {
LangZH: "Redis任意文件写入成功: %s",
LangEN: "Redis arbitrary file write successful: %s",
},
"redis_exploit_ssh_key": {
LangZH: "Redis SSH密钥注入成功",
LangEN: "Redis SSH key injection successful",
},
"redis_exploit_crontab": {
LangZH: "Redis定时任务注入成功",
LangEN: "Redis crontab injection successful",
},
"redis_exploit_data_extract": {
LangZH: "Redis数据提取成功",
LangEN: "Redis data extraction successful",
},
// ========================= SSH插件消息 =========================
"ssh_scan_start": {
LangZH: "开始SSH扫描: %s",
LangEN: "Starting SSH scan: %s",
},
"ssh_key_auth_success": {
LangZH: "SSH密钥认证成功: %s [%s]",
LangEN: "SSH key authentication successful: %s [%s]",
},
"ssh_pwd_auth_success": {
LangZH: "SSH密码认证成功: %s [%s:%s]",
LangEN: "SSH password authentication successful: %s [%s:%s]",
},
"ssh_service_identified": {
LangZH: "SSH服务识别成功: %s - %s",
LangEN: "SSH service identified: %s - %s",
},
"ssh_connection_failed": {
LangZH: "SSH连接失败: %v",
LangEN: "SSH connection failed: %v",
},
"ssh_auth_failed": {
LangZH: "SSH认证失败: %v",
LangEN: "SSH authentication failed: %v",
},
"ssh_key_read_failed": {
LangZH: "读取SSH私钥失败: %v",
LangEN: "Failed to read SSH private key: %v",
},
// ========================= 通用错误消息 =========================
"plugin_brute_disabled": {
LangZH: "暴力破解已禁用",
LangEN: "Brute force disabled",
},
"plugin_no_credentials": {
LangZH: "没有可用的凭据",
LangEN: "No credentials available",
},
"plugin_all_creds_failed": {
LangZH: "所有凭据扫描失败",
LangEN: "All credential scans failed",
},
"plugin_invalid_port": {
LangZH: "无效的端口号: %s",
LangEN: "Invalid port number: %s",
},
"plugin_timeout": {
LangZH: "插件扫描超时",
LangEN: "Plugin scan timeout",
},
"plugin_vuln_found": {
LangZH: "%s发现漏洞: %s - %s",
LangEN: "%s vulnerability found: %s - %s",
},
// ========================= 利用方法名称i18n =========================
"exploit_method_name_information_gathering": {
LangZH: "信息收集",
LangEN: "information_gathering",
},
"exploit_method_name_database_enumeration": {
LangZH: "数据库枚举",
LangEN: "database_enumeration",
},
"exploit_method_name_privilege_check": {
LangZH: "权限检查",
LangEN: "privilege_check",
},
"exploit_method_name_file_read": {
LangZH: "文件读取",
LangEN: "file_read",
},
"exploit_method_name_file_write": {
LangZH: "文件写入",
LangEN: "file_write",
},
"exploit_method_name_arbitrary_file_write": {
LangZH: "任意文件写入",
LangEN: "arbitrary_file_write",
},
"exploit_method_name_ssh_key_write": {
LangZH: "SSH密钥写入",
LangEN: "ssh_key_write",
},
"exploit_method_name_crontab_injection": {
LangZH: "定时任务注入",
LangEN: "crontab_injection",
},
"exploit_method_name_data_extraction": {
LangZH: "数据提取",
LangEN: "data_extraction",
},
"exploit_method_name_system_info": {
LangZH: "系统信息收集",
LangEN: "system_info",
},
"exploit_method_name_command_test": {
LangZH: "命令执行测试",
LangEN: "command_test",
},
// ========================= SSH利用方法消息 =========================
"ssh_command_result": {
LangZH: "%s: %s",
LangEN: "%s: %s",
},
"ssh_test_command": {
LangZH: "执行命令 '%s': %s",
LangEN: "Executed command '%s': %s",
},
"ssh_sudo_check": {
LangZH: "Sudo权限: %s",
LangEN: "Sudo privileges: %s",
},
"ssh_root_access": {
LangZH: "检测到root权限访问",
LangEN: "Root access detected",
},
"ssh_user_groups": {
LangZH: "用户组: %s",
LangEN: "User groups: %s",
},
// ========================= 利用结果消息 =========================
"exploit_result_saved": {
LangZH: "利用结果已保存: %s",
LangEN: "Exploitation result saved: %s",
},
// ========================= ActiveMQ插件消息 =========================
"activemq_scan_start": {
LangZH: "开始ActiveMQ扫描: %s",
LangEN: "Starting ActiveMQ scan: %s",
},
"activemq_stomp_scan_success": {
LangZH: "ActiveMQ弱密码扫描成功(STOMP): %s [%s:%s]",
LangEN: "ActiveMQ weak password scan successful(STOMP): %s [%s:%s]",
},
"activemq_service_identified": {
LangZH: "ActiveMQ服务识别成功: %s (%s) - %s",
LangEN: "ActiveMQ service identified: %s (%s) - %s",
},
"activemq_stomp_auth_success": {
LangZH: "ActiveMQ STOMP认证成功: %s@%s:%d",
LangEN: "ActiveMQ STOMP authentication successful: %s@%s:%d",
},
"activemq_connection_failed": {
LangZH: "ActiveMQ连接失败: %v",
LangEN: "ActiveMQ connection failed: %v",
},
"activemq_auth_failed": {
LangZH: "ActiveMQ认证失败: %v",
LangEN: "ActiveMQ authentication failed: %v",
},
"activemq_stomp_auth_failed": {
LangZH: "ActiveMQ STOMP认证失败: %v",
LangEN: "ActiveMQ STOMP authentication failed: %v",
},
// ActiveMQ利用方法消息
"activemq_exploit_info_gather": {
LangZH: "ActiveMQ信息收集成功",
LangEN: "ActiveMQ information gathering successful",
},
"activemq_exploit_message_enum": {
LangZH: "ActiveMQ消息枚举成功",
LangEN: "ActiveMQ message enumeration successful",
},
"activemq_exploit_queue_mgmt": {
LangZH: "ActiveMQ队列管理成功",
LangEN: "ActiveMQ queue management successful",
},
"activemq_exploit_config_dump": {
LangZH: "ActiveMQ配置转储成功",
LangEN: "ActiveMQ configuration dump successful",
},
"activemq_queues_found": {
LangZH: "发现ActiveMQ队列: %s",
LangEN: "ActiveMQ queues found: %s",
},
"activemq_topics_found": {
LangZH: "发现ActiveMQ主题: %s",
LangEN: "ActiveMQ topics found: %s",
},
"activemq_queue_created": {
LangZH: "成功创建测试队列: %s",
LangEN: "Test queue created successfully: %s",
},
"activemq_message_sent": {
LangZH: "消息发送成功到队列: %s",
LangEN: "Message sent successfully to queue: %s",
},
"activemq_version_info": {
LangZH: "ActiveMQ版本: %s",
LangEN: "ActiveMQ version: %s",
},
"activemq_broker_info": {
LangZH: "ActiveMQ Broker信息: %s",
LangEN: "ActiveMQ Broker info: %s",
},
"activemq_protocol_detected": {
LangZH: "检测到ActiveMQ协议: %s",
LangEN: "ActiveMQ protocol detected: %s",
},
// ActiveMQ利用方法名称
"exploit_method_name_activemq_info_gather": {
LangZH: "信息收集",
LangEN: "Information Gathering",
},
"exploit_method_name_activemq_message_enum": {
LangZH: "消息枚举",
LangEN: "Message Enumeration",
},
"exploit_method_name_activemq_queue_mgmt": {
LangZH: "队列管理",
LangEN: "Queue Management",
},
"exploit_method_name_activemq_config_dump": {
LangZH: "配置转储",
LangEN: "Configuration Dump",
},
// ========================= FTP插件消息 =========================
"ftp_scan_start": {
LangZH: "开始FTP扫描: %s",
LangEN: "Starting FTP scan: %s",
},
"ftp_anonymous_success": {
LangZH: "FTP匿名访问: %s",
LangEN: "FTP anonymous access: %s",
},
"ftp_weak_pwd_success": {
LangZH: "FTP弱密码: %s [%s:%s]",
LangEN: "FTP weak password: %s [%s:%s]",
},
"ftp_service_identified": {
LangZH: "FTP服务识别成功: %s - %s",
LangEN: "FTP service identified: %s - %s",
},
"ftp_connection_failed": {
LangZH: "FTP连接失败: %v",
LangEN: "FTP connection failed: %v",
},
"ftp_auth_failed": {
LangZH: "FTP认证失败: %v",
LangEN: "FTP authentication failed: %v",
},
// FTP利用方法消息
"ftp_exploit_dir_enum": {
LangZH: "FTP目录枚举成功",
LangEN: "FTP directory enumeration successful",
},
"ftp_exploit_file_download": {
LangZH: "FTP文件下载测试成功",
LangEN: "FTP file download test successful",
},
"ftp_exploit_file_upload": {
LangZH: "FTP文件上传测试成功",
LangEN: "FTP file upload test successful",
},
// ========================= IMAP插件消息 =========================
"imap_weak_pwd_success": {
LangZH: "IMAP弱密码: %s [%s:%s]",
LangEN: "IMAP weak password: %s [%s:%s]",
},
"imap_service_identified": {
LangZH: "IMAP服务识别成功: %s - %s",
LangEN: "IMAP service identified: %s - %s",
},
"imap_connection_failed": {
LangZH: "IMAP连接失败: %v",
LangEN: "IMAP connection failed: %v",
},
"imap_auth_failed": {
LangZH: "IMAP认证失败: %v",
LangEN: "IMAP authentication failed: %v",
},
// ========================= Kafka插件消息 =========================
"kafka_weak_pwd_success": {
LangZH: "Kafka弱密码: %s [%s:%s]",
LangEN: "Kafka weak password: %s [%s:%s]",
},
"kafka_unauth_access": {
LangZH: "Kafka服务 %s 无需认证即可访问",
LangEN: "Kafka service %s allows unauthorized access",
},
"kafka_service_identified": {
LangZH: "Kafka服务识别成功: %s - %s",
LangEN: "Kafka service identified: %s - %s",
},
"kafka_connection_failed": {
LangZH: "Kafka连接失败: %v",
LangEN: "Kafka connection failed: %v",
},
"kafka_auth_failed": {
LangZH: "Kafka认证失败: %v",
LangEN: "Kafka authentication failed: %v",
},
"ftp_directory_found": {
LangZH: "发现FTP目录: %s",
LangEN: "FTP directories found: %s",
},
"ftp_file_found": {
LangZH: "发现FTP文件: %s",
LangEN: "FTP files found: %s",
},
"ftp_upload_success": {
LangZH: "FTP文件上传成功: %s",
LangEN: "FTP file upload successful: %s",
},
"ftp_download_success": {
LangZH: "FTP文件下载成功: %s",
LangEN: "FTP file download successful: %s",
},
// FTP利用方法名称
"exploit_method_name_directory_enumeration": {
LangZH: "目录枚举",
LangEN: "Directory Enumeration",
},
"exploit_method_name_file_download_test": {
LangZH: "文件下载测试",
LangEN: "File Download Test",
},
"exploit_method_name_file_upload_test": {
LangZH: "文件上传测试",
LangEN: "File Upload Test",
},
// ========================= LDAP插件消息 =========================
"ldap_weak_pwd_success": {
LangZH: "LDAP弱密码: %s [%s:%s]",
LangEN: "LDAP weak password: %s [%s:%s]",
},
"ldap_anonymous_access": {
LangZH: "LDAP服务 %s 匿名访问成功",
LangEN: "LDAP service %s anonymous access successful",
},
"ldap_service_identified": {
LangZH: "LDAP服务识别成功: %s - %s",
LangEN: "LDAP service identified: %s - %s",
},
"ldap_connection_failed": {
LangZH: "LDAP连接失败: %v",
LangEN: "LDAP connection failed: %v",
},
"ldap_auth_failed": {
LangZH: "LDAP认证失败: %v",
LangEN: "LDAP authentication failed: %v",
},
// ========================= Memcached插件消息 =========================
"memcached_unauth_access": {
LangZH: "Memcached服务 %s 未授权访问成功",
LangEN: "Memcached service %s unauthorized access successful",
},
"memcached_service_identified": {
LangZH: "Memcached服务识别成功: %s - %s",
LangEN: "Memcached service identified: %s - %s",
},
"memcached_connection_failed": {
LangZH: "Memcached连接失败: %v",
LangEN: "Memcached connection failed: %v",
},
// ========================= Modbus插件消息 =========================
"modbus_unauth_access": {
LangZH: "Modbus服务 %s 无认证访问成功",
LangEN: "Modbus service %s unauthorized access successful",
},
"modbus_device_info": {
LangZH: "设备信息: %s",
LangEN: "Device info: %s",
},
"modbus_service_identified": {
LangZH: "Modbus服务识别成功: %s - %s",
LangEN: "Modbus service identified: %s - %s",
},
"modbus_connection_failed": {
LangZH: "Modbus连接失败: %v",
LangEN: "Modbus connection failed: %v",
},
// ========================= MongoDB插件消息 =========================
"mongodb_unauth_access": {
LangZH: "MongoDB服务 %s 未授权访问成功",
LangEN: "MongoDB service %s unauthorized access successful",
},
"mongodb_service_identified": {
LangZH: "MongoDB服务识别成功: %s - %s",
LangEN: "MongoDB service identified: %s - %s",
},
"mongodb_connection_failed": {
LangZH: "MongoDB连接失败: %v",
LangEN: "MongoDB connection failed: %v",
},
"mongodb_auth_failed": {
LangZH: "MongoDB认证失败: %v",
LangEN: "MongoDB authentication failed: %v",
},
// ========================= MSSQL插件消息 =========================
"mssql_auth_success": {
LangZH: "MSSQL服务 %s 认证成功 %s:%s",
LangEN: "MSSQL service %s authentication successful %s:%s",
},
"mssql_service_identified": {
LangZH: "MSSQL服务识别成功: %s - %s",
LangEN: "MSSQL service identified: %s - %s",
},
"mssql_connection_failed": {
LangZH: "MSSQL连接失败: %v",
LangEN: "MSSQL connection failed: %v",
},
"mssql_auth_failed": {
LangZH: "MSSQL认证失败 %s: %v",
LangEN: "MSSQL authentication failed %s: %v",
},
// ========================= Neo4j插件消息 =========================
"neo4j_unauth_access": {
LangZH: "Neo4j服务 %s 未授权访问成功",
LangEN: "Neo4j service %s unauthorized access successful",
},
"neo4j_default_creds": {
LangZH: "Neo4j服务 %s 默认凭证可用 %s:%s",
LangEN: "Neo4j service %s default credentials available %s:%s",
},
"neo4j_auth_success": {
LangZH: "Neo4j服务 %s 认证成功 %s:%s",
LangEN: "Neo4j service %s authentication successful %s:%s",
},
"neo4j_service_identified": {
LangZH: "Neo4j服务识别成功: %s - %s",
LangEN: "Neo4j service identified: %s - %s",
},
"neo4j_connection_failed": {
LangZH: "Neo4j连接失败: %v",
LangEN: "Neo4j connection failed: %v",
},
"neo4j_auth_failed": {
LangZH: "Neo4j认证失败 %s: %v",
LangEN: "Neo4j authentication failed %s: %v",
},
}