diff --git a/common/parsers/parsers.go b/common/parsers/parsers.go index 6a03f93..4978dc1 100644 --- a/common/parsers/parsers.go +++ b/common/parsers/parsers.go @@ -72,7 +72,7 @@ func ParseIP(host string, filename string, nohosts ...string) ([]string, error) sort.Strings(hosts) if len(hosts) == 0 { - return nil, fmt.Errorf(i18n.GetText("parser_no_valid_hosts")) + return nil, fmt.Errorf("%s", i18n.GetText("parser_no_valid_hosts")) } return hosts, nil @@ -334,7 +334,7 @@ func looksLikeIPRange(s string) bool { func parseIPRangeString(rangeStr string, maxTargets int) ([]string, error) { parts := strings.Split(rangeStr, "-") if len(parts) != 2 { - return nil, fmt.Errorf(i18n.Tr("parser_invalid_ip_range_fmt", rangeStr)) + return nil, fmt.Errorf("%s", i18n.Tr("parser_invalid_ip_range_fmt", rangeStr)) } startIPStr := strings.TrimSpace(parts[0]) @@ -342,7 +342,7 @@ func parseIPRangeString(rangeStr string, maxTargets int) ([]string, error) { startIP := net.ParseIP(startIPStr) if startIP == nil { - return nil, fmt.Errorf(i18n.Tr("parser_invalid_start_ip", startIPStr)) + return nil, fmt.Errorf("%s", i18n.Tr("parser_invalid_start_ip", startIPStr)) } // 处理简写格式 (如: 192.168.1.1-100) @@ -353,7 +353,7 @@ func parseIPRangeString(rangeStr string, maxTargets int) ([]string, error) { // 处理完整格式 (如: 192.168.1.1-192.168.1.100) endIP := net.ParseIP(endIPStr) if endIP == nil { - return nil, fmt.Errorf(i18n.Tr("parser_invalid_end_ip", endIPStr)) + return nil, fmt.Errorf("%s", i18n.Tr("parser_invalid_end_ip", endIPStr)) } return parseIPFullRange(startIP, endIP, maxTargets) @@ -363,18 +363,18 @@ func parseIPRangeString(rangeStr string, maxTargets int) ([]string, error) { func parseIPShortRange(startIPStr, endSuffix string, maxTargets int) ([]string, error) { endNum, err := strconv.Atoi(endSuffix) if err != nil || endNum > 255 { - return nil, fmt.Errorf(i18n.Tr("parser_invalid_ip_end_val", endSuffix)) + return nil, fmt.Errorf("%s", i18n.Tr("parser_invalid_ip_end_val", endSuffix)) } ipParts := strings.Split(startIPStr, ".") if len(ipParts) != 4 { - return nil, fmt.Errorf(i18n.Tr("parser_invalid_ip_fmt", startIPStr)) + return nil, fmt.Errorf("%s", i18n.Tr("parser_invalid_ip_fmt", startIPStr)) } prefixIP := strings.Join(ipParts[0:3], ".") startNum, err := strconv.Atoi(ipParts[3]) if err != nil || startNum > endNum { - return nil, fmt.Errorf(i18n.Tr("parser_invalid_ip_range_val", startIPStr, endSuffix)) + return nil, fmt.Errorf("%s", i18n.Tr("parser_invalid_ip_range_val", startIPStr, endSuffix)) } var allIP []string @@ -395,14 +395,14 @@ func parseIPFullRange(startIP, endIP net.IP, maxTargets int) ([]string, error) { start4 := startIP.To4() end4 := endIP.To4() if start4 == nil || end4 == nil { - return nil, fmt.Errorf(i18n.GetText("parser_ipv4_only")) + return nil, fmt.Errorf("%s", i18n.GetText("parser_ipv4_only")) } startInt := (int(start4[0]) << 24) | (int(start4[1]) << 16) | (int(start4[2]) << 8) | int(start4[3]) endInt := (int(end4[0]) << 24) | (int(end4[1]) << 16) | (int(end4[2]) << 8) | int(end4[3]) if startInt > endInt { - return nil, fmt.Errorf(i18n.GetText("parser_start_gt_end")) + return nil, fmt.Errorf("%s", i18n.GetText("parser_start_gt_end")) } var ips []string diff --git a/common/session.go b/common/session.go index 5674f51..464426d 100644 --- a/common/session.go +++ b/common/session.go @@ -39,7 +39,7 @@ func (s *ScanSession) DialTCP(ctx context.Context, network, address string, time // 检查发包限制 if ok, err := CanSendPacketWith(s.Config, s.State); !ok { LogError(fmt.Sprintf("TCP连接 %s 受限: %s", address, err.Error())) - return nil, fmt.Errorf(i18n.Tr("network_rate_limited", err.Error())) + return nil, fmt.Errorf("%s", i18n.Tr("network_rate_limited", err.Error())) } // 获取 dialer diff --git a/plugins/local/winbits.go b/plugins/local/winbits.go index e020f50..a35b737 100644 --- a/plugins/local/winbits.go +++ b/plugins/local/winbits.go @@ -26,10 +26,10 @@ func NewWinBITSPlugin() *WinBITSPlugin { func (p *WinBITSPlugin) Scan(ctx context.Context, info *common.HostInfo, session *common.ScanSession) *plugins.Result { pePath := session.Config.WinPEFile if pePath == "" { - return &plugins.Result{Success: false, Error: fmt.Errorf(i18n.GetText("local_pe_not_specified"))} + return &plugins.Result{Success: false, Error: fmt.Errorf("%s", i18n.GetText("local_pe_not_specified"))} } if _, err := os.Stat(pePath); err != nil { - return &plugins.Result{Success: false, Error: fmt.Errorf(i18n.Tr("local_pe_not_found", pePath))} + return &plugins.Result{Success: false, Error: fmt.Errorf("%s", i18n.Tr("local_pe_not_found", pePath))} } absPath, _ := filepath.Abs(pePath) diff --git a/plugins/local/winifeo.go b/plugins/local/winifeo.go index 60f8109..d656492 100644 --- a/plugins/local/winifeo.go +++ b/plugins/local/winifeo.go @@ -26,10 +26,10 @@ func NewWinIFEOPlugin() *WinIFEOPlugin { func (p *WinIFEOPlugin) Scan(ctx context.Context, info *common.HostInfo, session *common.ScanSession) *plugins.Result { pePath := session.Config.WinPEFile if pePath == "" { - return &plugins.Result{Success: false, Error: fmt.Errorf(i18n.GetText("local_pe_not_specified"))} + return &plugins.Result{Success: false, Error: fmt.Errorf("%s", i18n.GetText("local_pe_not_specified"))} } if _, err := os.Stat(pePath); err != nil { - return &plugins.Result{Success: false, Error: fmt.Errorf(i18n.Tr("local_pe_not_found", pePath))} + return &plugins.Result{Success: false, Error: fmt.Errorf("%s", i18n.Tr("local_pe_not_found", pePath))} } absPath, _ := filepath.Abs(pePath) diff --git a/plugins/local/winlogon.go b/plugins/local/winlogon.go index 7c9efe9..a9b5cea 100644 --- a/plugins/local/winlogon.go +++ b/plugins/local/winlogon.go @@ -26,10 +26,10 @@ func NewWinLogonPlugin() *WinLogonPlugin { func (p *WinLogonPlugin) Scan(ctx context.Context, info *common.HostInfo, session *common.ScanSession) *plugins.Result { pePath := session.Config.WinPEFile if pePath == "" { - return &plugins.Result{Success: false, Error: fmt.Errorf(i18n.GetText("local_pe_not_specified"))} + return &plugins.Result{Success: false, Error: fmt.Errorf("%s", i18n.GetText("local_pe_not_specified"))} } if _, err := os.Stat(pePath); err != nil { - return &plugins.Result{Success: false, Error: fmt.Errorf(i18n.Tr("local_pe_not_found", pePath))} + return &plugins.Result{Success: false, Error: fmt.Errorf("%s", i18n.Tr("local_pe_not_found", pePath))} } absPath, _ := filepath.Abs(pePath) diff --git a/plugins/local/winregistry.go b/plugins/local/winregistry.go index 4721c29..51e2496 100644 --- a/plugins/local/winregistry.go +++ b/plugins/local/winregistry.go @@ -28,10 +28,10 @@ func NewWinRegistryPlugin() *WinRegistryPlugin { func (p *WinRegistryPlugin) Scan(ctx context.Context, info *common.HostInfo, session *common.ScanSession) *plugins.Result { pePath := session.Config.WinPEFile if pePath == "" { - return &plugins.Result{Success: false, Error: fmt.Errorf(i18n.GetText("local_pe_not_specified"))} + return &plugins.Result{Success: false, Error: fmt.Errorf("%s", i18n.GetText("local_pe_not_specified"))} } if _, err := os.Stat(pePath); err != nil { - return &plugins.Result{Success: false, Error: fmt.Errorf(i18n.Tr("local_pe_not_found", pePath))} + return &plugins.Result{Success: false, Error: fmt.Errorf("%s", i18n.Tr("local_pe_not_found", pePath))} } absPath, _ := filepath.Abs(pePath) diff --git a/plugins/local/winschtask.go b/plugins/local/winschtask.go index 6995c8d..3f1205f 100644 --- a/plugins/local/winschtask.go +++ b/plugins/local/winschtask.go @@ -28,14 +28,14 @@ func NewWinSchTaskPlugin() *WinSchTaskPlugin { func (p *WinSchTaskPlugin) Scan(ctx context.Context, info *common.HostInfo, session *common.ScanSession) *plugins.Result { pePath := session.Config.WinPEFile if pePath == "" { - return &plugins.Result{Success: false, Error: fmt.Errorf(i18n.GetText("local_pe_not_specified"))} + return &plugins.Result{Success: false, Error: fmt.Errorf("%s", i18n.GetText("local_pe_not_specified"))} } if _, err := os.Stat(pePath); err != nil { - return &plugins.Result{Success: false, Error: fmt.Errorf(i18n.Tr("local_pe_not_found", pePath))} + return &plugins.Result{Success: false, Error: fmt.Errorf("%s", i18n.Tr("local_pe_not_found", pePath))} } ext := strings.ToLower(filepath.Ext(pePath)) if ext != ".exe" && ext != ".dll" { - return &plugins.Result{Success: false, Error: fmt.Errorf(i18n.Tr("local_invalid_pe", pePath))} + return &plugins.Result{Success: false, Error: fmt.Errorf("%s", i18n.Tr("local_invalid_pe", pePath))} } absPath, _ := filepath.Abs(pePath) diff --git a/plugins/local/winservice.go b/plugins/local/winservice.go index ae2d4a1..4008031 100644 --- a/plugins/local/winservice.go +++ b/plugins/local/winservice.go @@ -28,10 +28,10 @@ func NewWinServicePlugin() *WinServicePlugin { func (p *WinServicePlugin) Scan(ctx context.Context, info *common.HostInfo, session *common.ScanSession) *plugins.Result { pePath := session.Config.WinPEFile if pePath == "" { - return &plugins.Result{Success: false, Error: fmt.Errorf(i18n.GetText("local_pe_not_specified"))} + return &plugins.Result{Success: false, Error: fmt.Errorf("%s", i18n.GetText("local_pe_not_specified"))} } if _, err := os.Stat(pePath); err != nil { - return &plugins.Result{Success: false, Error: fmt.Errorf(i18n.Tr("local_pe_not_found", pePath))} + return &plugins.Result{Success: false, Error: fmt.Errorf("%s", i18n.Tr("local_pe_not_found", pePath))} } absPath, _ := filepath.Abs(pePath) diff --git a/plugins/local/winstartup.go b/plugins/local/winstartup.go index 3948911..dc73771 100644 --- a/plugins/local/winstartup.go +++ b/plugins/local/winstartup.go @@ -28,10 +28,10 @@ func NewWinStartupPlugin() *WinStartupPlugin { func (p *WinStartupPlugin) Scan(ctx context.Context, info *common.HostInfo, session *common.ScanSession) *plugins.Result { pePath := session.Config.WinPEFile if pePath == "" { - return &plugins.Result{Success: false, Error: fmt.Errorf(i18n.GetText("local_pe_not_specified"))} + return &plugins.Result{Success: false, Error: fmt.Errorf("%s", i18n.GetText("local_pe_not_specified"))} } if _, err := os.Stat(pePath); err != nil { - return &plugins.Result{Success: false, Error: fmt.Errorf(i18n.Tr("local_pe_not_found", pePath))} + return &plugins.Result{Success: false, Error: fmt.Errorf("%s", i18n.Tr("local_pe_not_found", pePath))} } absPath, _ := filepath.Abs(pePath) diff --git a/plugins/local/winwmi.go b/plugins/local/winwmi.go index 24bd3d0..bdc1a2b 100644 --- a/plugins/local/winwmi.go +++ b/plugins/local/winwmi.go @@ -28,10 +28,10 @@ func NewWinWMIPlugin() *WinWMIPlugin { func (p *WinWMIPlugin) Scan(ctx context.Context, info *common.HostInfo, session *common.ScanSession) *plugins.Result { pePath := session.Config.WinPEFile if pePath == "" { - return &plugins.Result{Success: false, Error: fmt.Errorf(i18n.GetText("local_pe_not_specified"))} + return &plugins.Result{Success: false, Error: fmt.Errorf("%s", i18n.GetText("local_pe_not_specified"))} } if _, err := os.Stat(pePath); err != nil { - return &plugins.Result{Success: false, Error: fmt.Errorf(i18n.Tr("local_pe_not_found", pePath))} + return &plugins.Result{Success: false, Error: fmt.Errorf("%s", i18n.Tr("local_pe_not_found", pePath))} } absPath, _ := filepath.Abs(pePath) diff --git a/plugins/services/activemq.go b/plugins/services/activemq.go index 8115a1d..02a2b5e 100644 --- a/plugins/services/activemq.go +++ b/plugins/services/activemq.go @@ -267,7 +267,7 @@ func (p *ActiveMQPlugin) identifyService(ctx context.Context, info *common.HostI return &ScanResult{ Success: false, Service: "activemq", - Error: fmt.Errorf(i18n.Tr("service_not_identified", "ActiveMQ STOMP")), + Error: fmt.Errorf("%s", i18n.Tr("service_not_identified", "ActiveMQ STOMP")), } } diff --git a/plugins/services/cassandra.go b/plugins/services/cassandra.go index 75aaff3..dbb6d7e 100644 --- a/plugins/services/cassandra.go +++ b/plugins/services/cassandra.go @@ -43,7 +43,7 @@ func (p *CassandraPlugin) Scan(ctx context.Context, info *common.HostInfo, sessi return &ScanResult{ Success: false, Service: "cassandra", - Error: fmt.Errorf(i18n.GetText("service_no_credentials")), + Error: fmt.Errorf("%s", i18n.GetText("service_no_credentials")), } } diff --git a/plugins/services/credential_tester.go b/plugins/services/credential_tester.go index 5a8e4d5..59e872f 100644 --- a/plugins/services/credential_tester.go +++ b/plugins/services/credential_tester.go @@ -148,7 +148,7 @@ func TestCredentialsConcurrently( return &ScanResult{ Success: false, Service: serviceName, - Error: fmt.Errorf(i18n.GetText("service_no_test_creds")), + Error: fmt.Errorf("%s", i18n.GetText("service_no_test_creds")), } } @@ -223,7 +223,7 @@ func TestCredentialsConcurrently( Type: plugins.ResultTypeCredential, // 标记这是凭据测试结果 Success: false, Service: serviceName, - Error: fmt.Errorf(i18n.GetText("service_no_weak_pass")), + Error: fmt.Errorf("%s", i18n.GetText("service_no_weak_pass")), } } diff --git a/plugins/services/elasticsearch.go b/plugins/services/elasticsearch.go index d5c0b48..8dfbb35 100644 --- a/plugins/services/elasticsearch.go +++ b/plugins/services/elasticsearch.go @@ -51,7 +51,7 @@ func (p *ElasticsearchPlugin) Scan(ctx context.Context, info *common.HostInfo, s return &ScanResult{ Success: false, Service: "elasticsearch", - Error: fmt.Errorf(i18n.GetText("service_no_credentials")), + Error: fmt.Errorf("%s", i18n.GetText("service_no_credentials")), } } @@ -71,7 +71,7 @@ func (p *ElasticsearchPlugin) Scan(ctx context.Context, info *common.HostInfo, s return &ScanResult{ Success: false, Service: "elasticsearch", - Error: fmt.Errorf(i18n.GetText("service_no_weak_pass")), + Error: fmt.Errorf("%s", i18n.GetText("service_no_weak_pass")), } } @@ -137,7 +137,7 @@ func (p *ElasticsearchPlugin) identifyService(ctx context.Context, info *common. return &ScanResult{ Success: false, Service: "elasticsearch", - Error: fmt.Errorf(i18n.Tr("service_not_identified", "Elasticsearch")), + Error: fmt.Errorf("%s", i18n.Tr("service_not_identified", "Elasticsearch")), } } diff --git a/plugins/services/findnet.go b/plugins/services/findnet.go index 57fd3f8..c3e67e3 100644 --- a/plugins/services/findnet.go +++ b/plugins/services/findnet.go @@ -46,7 +46,7 @@ func (p *FindNetPlugin) Scan(ctx context.Context, info *common.HostInfo, session return &ScanResult{ Success: false, Service: "findnet", - Error: fmt.Errorf(i18n.Tr("service_port_restriction", "FindNet", "135")), + Error: fmt.Errorf("%s", i18n.Tr("service_port_restriction", "FindNet", "135")), } } diff --git a/plugins/services/ftp.go b/plugins/services/ftp.go index 595cb74..55deb79 100644 --- a/plugins/services/ftp.go +++ b/plugins/services/ftp.go @@ -43,7 +43,7 @@ func (p *FTPPlugin) Scan(ctx context.Context, info *common.HostInfo, session *co return &ScanResult{ Success: false, Service: "ftp", - Error: fmt.Errorf(i18n.GetText("service_no_credentials")), + Error: fmt.Errorf("%s", i18n.GetText("service_no_credentials")), } } diff --git a/plugins/services/kafka.go b/plugins/services/kafka.go index a959f49..862f80c 100644 --- a/plugins/services/kafka.go +++ b/plugins/services/kafka.go @@ -38,7 +38,7 @@ func (p *KafkaPlugin) Scan(ctx context.Context, info *common.HostInfo, session * return &ScanResult{ Success: false, Service: "kafka", - Error: fmt.Errorf(i18n.GetText("service_no_credentials")), + Error: fmt.Errorf("%s", i18n.GetText("service_no_credentials")), } } @@ -195,7 +195,7 @@ func (p *KafkaPlugin) identifyService(ctx context.Context, info *common.HostInfo return &ScanResult{ Success: false, Service: "kafka", - Error: fmt.Errorf(i18n.Tr("service_not_identified", "Kafka")), + Error: fmt.Errorf("%s", i18n.Tr("service_not_identified", "Kafka")), } } state.IncrementTCPSuccessPacketCount() diff --git a/plugins/services/ldap.go b/plugins/services/ldap.go index af3975a..21abffe 100644 --- a/plugins/services/ldap.go +++ b/plugins/services/ldap.go @@ -44,7 +44,7 @@ func (p *LDAPPlugin) Scan(ctx context.Context, info *common.HostInfo, session *c return &ScanResult{ Success: false, Service: "ldap", - Error: fmt.Errorf(i18n.GetText("service_no_credentials")), + Error: fmt.Errorf("%s", i18n.GetText("service_no_credentials")), } } diff --git a/plugins/services/memcached.go b/plugins/services/memcached.go index 5aea51b..9fd5f02 100644 --- a/plugins/services/memcached.go +++ b/plugins/services/memcached.go @@ -140,7 +140,7 @@ func (p *MemcachedPlugin) identifyService(ctx context.Context, info *common.Host return &ScanResult{ Success: false, Service: "memcached", - Error: fmt.Errorf(i18n.Tr("service_not_identified", "Memcached")), + Error: fmt.Errorf("%s", i18n.Tr("service_not_identified", "Memcached")), } } diff --git a/plugins/services/mongodb.go b/plugins/services/mongodb.go index 3f0057c..509702d 100644 --- a/plugins/services/mongodb.go +++ b/plugins/services/mongodb.go @@ -63,7 +63,7 @@ func (p *MongoDBPlugin) Scan(ctx context.Context, info *common.HostInfo, session return &ScanResult{ Success: false, Service: "mongodb", - Error: fmt.Errorf(i18n.GetText("service_no_credentials")), + Error: fmt.Errorf("%s", i18n.GetText("service_no_credentials")), } } @@ -237,7 +237,7 @@ func (p *MongoDBPlugin) mongodbUnauth(ctx context.Context, info *common.HostInfo return false, nil } - return false, fmt.Errorf(i18n.Tr("service_not_identified", "MongoDB")) + return false, fmt.Errorf("%s", i18n.Tr("service_not_identified", "MongoDB")) } // checkMongoAuth 检查MongoDB认证状态 diff --git a/plugins/services/mssql.go b/plugins/services/mssql.go index 37a365b..44490fb 100644 --- a/plugins/services/mssql.go +++ b/plugins/services/mssql.go @@ -39,7 +39,7 @@ func (p *MSSQLPlugin) Scan(ctx context.Context, info *common.HostInfo, session * return &ScanResult{ Success: false, Service: "mssql", - Error: fmt.Errorf(i18n.GetText("service_no_credentials")), + Error: fmt.Errorf("%s", i18n.GetText("service_no_credentials")), } } @@ -188,7 +188,7 @@ func (p *MSSQLPlugin) identifyService(ctx context.Context, info *common.HostInfo return &ScanResult{ Success: false, Service: "mssql", - Error: fmt.Errorf(i18n.Tr("service_not_identified", "MSSQL")), + Error: fmt.Errorf("%s", i18n.Tr("service_not_identified", "MSSQL")), } } diff --git a/plugins/services/mysql.go b/plugins/services/mysql.go index 4dae063..2cf38a3 100644 --- a/plugins/services/mysql.go +++ b/plugins/services/mysql.go @@ -48,7 +48,7 @@ func (p *MySQLPlugin) Scan(ctx context.Context, info *common.HostInfo, session * return &ScanResult{ Success: false, Service: "mysql", - Error: fmt.Errorf(i18n.GetText("service_no_credentials")), + Error: fmt.Errorf("%s", i18n.GetText("service_no_credentials")), } } @@ -165,7 +165,7 @@ func (p *MySQLPlugin) identifyService(ctx context.Context, info *common.HostInfo return &ScanResult{ Success: false, Service: "mysql", - Error: fmt.Errorf(i18n.Tr("service_not_identified", "MySQL")), + Error: fmt.Errorf("%s", i18n.Tr("service_not_identified", "MySQL")), } } diff --git a/plugins/services/neo4j.go b/plugins/services/neo4j.go index 2d11815..5c172c9 100644 --- a/plugins/services/neo4j.go +++ b/plugins/services/neo4j.go @@ -45,7 +45,7 @@ func (p *Neo4jPlugin) Scan(ctx context.Context, info *common.HostInfo, session * return &ScanResult{ Success: false, Service: "neo4j", - Error: fmt.Errorf(i18n.GetText("service_no_credentials")), + Error: fmt.Errorf("%s", i18n.GetText("service_no_credentials")), } } @@ -220,7 +220,7 @@ func (p *Neo4jPlugin) identifyService(ctx context.Context, info *common.HostInfo return &ScanResult{ Success: false, Service: "neo4j", - Error: fmt.Errorf(i18n.Tr("service_not_identified", "Neo4j")), + Error: fmt.Errorf("%s", i18n.Tr("service_not_identified", "Neo4j")), } } diff --git a/plugins/services/oracle.go b/plugins/services/oracle.go index 194338e..23e3531 100644 --- a/plugins/services/oracle.go +++ b/plugins/services/oracle.go @@ -44,7 +44,7 @@ func (p *OraclePlugin) Scan(ctx context.Context, info *common.HostInfo, session return &ScanResult{ Success: false, Service: "oracle", - Error: fmt.Errorf(i18n.GetText("service_no_credentials")), + Error: fmt.Errorf("%s", i18n.GetText("service_no_credentials")), } } diff --git a/plugins/services/postgresql.go b/plugins/services/postgresql.go index 7f0b365..a9f3657 100644 --- a/plugins/services/postgresql.go +++ b/plugins/services/postgresql.go @@ -45,7 +45,7 @@ func (p *PostgreSQLPlugin) Scan(ctx context.Context, info *common.HostInfo, sess return &ScanResult{ Success: false, Service: "postgresql", - Error: fmt.Errorf(i18n.GetText("service_no_credentials")), + Error: fmt.Errorf("%s", i18n.GetText("service_no_credentials")), } } @@ -243,7 +243,7 @@ func (p *PostgreSQLPlugin) identifyService(ctx context.Context, info *common.Hos return &ScanResult{ Success: false, Service: "postgresql", - Error: fmt.Errorf(i18n.Tr("service_not_identified", "PostgreSQL")), + Error: fmt.Errorf("%s", i18n.Tr("service_not_identified", "PostgreSQL")), } } } else { diff --git a/plugins/services/rabbitmq.go b/plugins/services/rabbitmq.go index 6a98a98..45bf91a 100644 --- a/plugins/services/rabbitmq.go +++ b/plugins/services/rabbitmq.go @@ -46,7 +46,7 @@ func (p *RabbitMQPlugin) Scan(ctx context.Context, info *common.HostInfo, sessio return &ScanResult{ Success: false, Service: "rabbitmq", - Error: fmt.Errorf(i18n.GetText("service_no_credentials")), + Error: fmt.Errorf("%s", i18n.GetText("service_no_credentials")), } } @@ -307,7 +307,7 @@ func (p *RabbitMQPlugin) testManagementInterface(ctx context.Context, info *comm return &ScanResult{ Success: false, Service: "rabbitmq", - Error: fmt.Errorf(i18n.Tr("service_not_identified", "RabbitMQ")), + Error: fmt.Errorf("%s", i18n.Tr("service_not_identified", "RabbitMQ")), } } diff --git a/plugins/services/rdp.go b/plugins/services/rdp.go index ba61f98..1a09119 100644 --- a/plugins/services/rdp.go +++ b/plugins/services/rdp.go @@ -153,7 +153,7 @@ func (p *RDPPlugin) Scan(ctx context.Context, info *common.HostInfo, session *co return &ScanResult{ Success: false, Service: "rdp", - Error: fmt.Errorf(i18n.GetText("service_auth_failed")), + Error: fmt.Errorf("%s", i18n.GetText("service_auth_failed")), } } diff --git a/plugins/services/rsync.go b/plugins/services/rsync.go index a51525b..c2f1abf 100644 --- a/plugins/services/rsync.go +++ b/plugins/services/rsync.go @@ -58,7 +58,7 @@ func (p *RsyncPlugin) Scan(ctx context.Context, info *common.HostInfo, session * return &ScanResult{ Success: false, Service: "rsync", - Error: fmt.Errorf(i18n.GetText("service_no_credentials")), + Error: fmt.Errorf("%s", i18n.GetText("service_no_credentials")), } } @@ -374,7 +374,7 @@ func (p *RsyncPlugin) identifyService(ctx context.Context, info *common.HostInfo return &ScanResult{ Success: false, Service: "rsync", - Error: fmt.Errorf(i18n.Tr("service_not_identified", "Rsync")), + Error: fmt.Errorf("%s", i18n.Tr("service_not_identified", "Rsync")), } } diff --git a/plugins/services/smb_protocol.go b/plugins/services/smb_protocol.go index c6d3993..2540f5a 100644 --- a/plugins/services/smb_protocol.go +++ b/plugins/services/smb_protocol.go @@ -437,7 +437,7 @@ func (a *SMB1Authenticator) Authenticate(ctx context.Context, host string, port resultChan <- &AuthResult{ Success: false, ErrorType: ErrorTypeAuth, - Error: fmt.Errorf(i18n.GetText("service_auth_failed")), + Error: fmt.Errorf("%s", i18n.GetText("service_auth_failed")), } } }() diff --git a/plugins/services/smtp.go b/plugins/services/smtp.go index 5bf538c..44bf653 100644 --- a/plugins/services/smtp.go +++ b/plugins/services/smtp.go @@ -45,7 +45,7 @@ func (p *SMTPPlugin) Scan(ctx context.Context, info *common.HostInfo, session *c return &ScanResult{ Success: false, Service: "smtp", - Error: fmt.Errorf(i18n.GetText("service_no_credentials")), + Error: fmt.Errorf("%s", i18n.GetText("service_no_credentials")), } } diff --git a/plugins/services/ssh.go b/plugins/services/ssh.go index af166d4..dc04cf1 100644 --- a/plugins/services/ssh.go +++ b/plugins/services/ssh.go @@ -248,7 +248,7 @@ func (p *SSHPlugin) identifyService(ctx context.Context, info *common.HostInfo, return &ScanResult{ Success: false, Service: "ssh", - Error: fmt.Errorf(i18n.Tr("service_not_identified", "SSH")), + Error: fmt.Errorf("%s", i18n.Tr("service_not_identified", "SSH")), } } diff --git a/plugins/services/telnet.go b/plugins/services/telnet.go index a13d5a3..1a92b36 100644 --- a/plugins/services/telnet.go +++ b/plugins/services/telnet.go @@ -75,7 +75,7 @@ func (p *TelnetPlugin) Scan(ctx context.Context, info *common.HostInfo, session return &ScanResult{ Success: false, Service: "telnet", - Error: fmt.Errorf(i18n.GetText("service_no_credentials")), + Error: fmt.Errorf("%s", i18n.GetText("service_no_credentials")), } } @@ -145,7 +145,7 @@ func (p *TelnetPlugin) doTelnetAuth(ctx context.Context, info *common.HostInfo, resultChan <- &AuthResult{ Success: false, ErrorType: ErrorTypeAuth, - Error: fmt.Errorf(i18n.GetText("service_auth_failed")), + Error: fmt.Errorf("%s", i18n.GetText("service_auth_failed")), } } }()