go 编译的 windows 文件报毒,是哪儿出问题了?

341 天前
 whiler

编译一个 windows 可执行文件

docker run --rm -v $(pwd):/go/src -it golang /bin/bash
go version
mkdir -p hasvir
cd hasvir
echo "package main" > main.go
echo "func main(){}" >> main.go
go mod init
GOOS=windows go build
md5sum hasvir.exe

go 的版本是 1.20.5 。
把 hasvir.exe 提交到 https://www.virustotal.com 扫描,扫描出一大堆病毒。

我看不出操作和代码有什么问题,是从什么地方感染病毒的呢?是哪儿出问题了?

5219 次点击
所在节点    Go 编程语言
55 条回复
CrossMythic
340 天前
加壳之后杀的更厉害。 自己用验个 md5 就无所谓了,放出去用的话要么搞白签名,要么一步步二分代码去找到误报的接口,换个方式实现。
virusdefender
340 天前
你这个太简单了,复杂的 go 程序不容易报毒
asmmt
340 天前
淡定,Go 语言写个 helloworld 都报毒
LeegoYih
340 天前
我用 Wails 开发的一个 GUI 客户端没有报毒,按#22 说的,可能复杂的项目不报毒,特征码占得总比例低于阈值。
whiler
340 天前
@Kinnice upx 加壳报毒更多
whiler
340 天前
@CrossMythic 大佬,你看俺这个代码怎么个二分法……
whiler
340 天前
@virusdefender 我信了,你信不?
whiler
340 天前
@asmmt 就一行 `func main(){}` ,淡定不了
whiler
340 天前
@LeegoYih 病毒特征码比例低就不报毒?俺不懂杀毒软件的报毒逻辑,你别骗俺
JSPIXiaoHei
340 天前
rust 也报,写个二维码小工具都报,杀软用的 360
githmb
340 天前
360 出没
Zwying
340 天前
越容易上手的语言越容易报
webcape233
340 天前
正常,我在公司的也报毒给我自动删了,我在 mod 文件中将 go 版本指定到更老的就正常了。 估计用的过新的编译出来的特征对杀毒软件来说还过于新鲜吧
dimwoodxi27
340 天前
@CrossMythic VMP 了解下
webcape233
340 天前
最恼火是,前面我不知道,每次 goland 编译完了去找二进制文件就发现不再了,让我一度怀疑没编译成功,公司杀软误伤了也不提示,后来看杀软记录才发现,然后降低版本就没有被杀了
monkeyzsf
340 天前
买个证书签名一下,真要做项目赚钱就只能这样
XIU2
340 天前
我曾经写过的一个 Go 小工具,一直没有报毒,直到有一天心血来潮把 Go 1.15 升级到了 1.16 (两年前的事了),然后就有人反馈报毒了,最后我只能挨个申诉,好在 Microsoft Defender 处理最快,除此之外就卡巴斯基回复通过了,其他的杀毒软件(如 McAfee 、360 )完全没反应。。。

不过我后来升级到 1.18 也没有再有人反馈报毒了,不过我一般都不追求最新,即使是现在也还是 1.18 。。。
mmdsun
340 天前
c2const
340 天前
正式发布还是得买个证书来数字签名;
只签应用层的大概一年 5000 左右
sardina
340 天前
我在 windows 上编辑的 exe 也经常报毒,解决方案是关掉安全软件 hhh

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/948678

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX