Skip to content

Commit 5275bcf

Browse files
danmrichardsclaude
andauthored
build: add -trimpath to reduce binary metadata for AV heuristics (#62)
Pass -trimpath in both the Makefile (GOFLAGS) and .goreleaser.yaml (flags) to strip build-path metadata from release binaries. Reduces surface area for ML-based AV false positives (e.g. Wacatac.C!ml on Windows). Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
1 parent d1a9980 commit 5275bcf

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

.goreleaser.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ builds:
1111
goarch:
1212
- amd64
1313
- arm64
14+
flags:
15+
- -trimpath
1416
ldflags:
1517
- -s -w
1618
- -X main.version={{.Version}}

Makefile

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,34 +7,36 @@ LDFLAGS = -s -w \
77
-X main.commit=$(COMMIT) \
88
-X main.date=$(DATE)
99

10+
GOFLAGS = -trimpath
11+
1012
BINARY=runware
1113

1214
.PHONY: build build-all windows-amd64 windows-arm64 darwin darwin-arm64 darwin-amd64 linux-amd64 linux-arm64 run test lint clean install snapshot docs go-tidy
1315

1416
build:
15-
go build -ldflags "$(LDFLAGS)" -o bin/${BINARY} ./cmd/runware
17+
go build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o bin/${BINARY} ./cmd/runware
1618

1719
build-all: windows-amd64 windows-arm64 darwin linux-amd64 linux-arm64
1820

1921
windows-amd64:
20-
GOARCH=amd64 GOOS=windows go build -ldflags "$(LDFLAGS)" -o bin/${BINARY}-windows-amd64.exe ./cmd/runware
22+
GOARCH=amd64 GOOS=windows go build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o bin/${BINARY}-windows-amd64.exe ./cmd/runware
2123

2224
windows-arm64:
23-
GOARCH=arm64 GOOS=windows go build -ldflags "$(LDFLAGS)" -o bin/${BINARY}-windows-arm64.exe ./cmd/runware
25+
GOARCH=arm64 GOOS=windows go build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o bin/${BINARY}-windows-arm64.exe ./cmd/runware
2426

2527
darwin: darwin-arm64 darwin-amd64
2628

2729
darwin-arm64:
28-
GOARCH=arm64 GOOS=darwin go build -ldflags "$(LDFLAGS)" -o bin/${BINARY}-darwin-arm64 ./cmd/runware
30+
GOARCH=arm64 GOOS=darwin go build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o bin/${BINARY}-darwin-arm64 ./cmd/runware
2931

3032
darwin-amd64:
31-
GOARCH=amd64 GOOS=darwin go build -ldflags "$(LDFLAGS)" -o bin/${BINARY}-darwin-amd64 ./cmd/runware
33+
GOARCH=amd64 GOOS=darwin go build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o bin/${BINARY}-darwin-amd64 ./cmd/runware
3234

3335
linux-amd64:
34-
GOARCH=amd64 GOOS=linux go build -ldflags "$(LDFLAGS)" -o bin/${BINARY}-linux-amd64 ./cmd/runware
36+
GOARCH=amd64 GOOS=linux go build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o bin/${BINARY}-linux-amd64 ./cmd/runware
3537

3638
linux-arm64:
37-
GOARCH=arm64 GOOS=linux go build -ldflags "$(LDFLAGS)" -o bin/${BINARY}-linux-arm64 ./cmd/runware
39+
GOARCH=arm64 GOOS=linux go build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o bin/${BINARY}-linux-arm64 ./cmd/runware
3840

3941
run:
4042
go run -ldflags "$(LDFLAGS)" ./cmd/runware $(ARGS)
@@ -49,7 +51,7 @@ clean:
4951
rm -rf bin dist
5052

5153
install:
52-
go install -ldflags "$(LDFLAGS)" ./cmd/runware
54+
go install $(GOFLAGS) -ldflags "$(LDFLAGS)" ./cmd/runware
5355

5456
snapshot:
5557
goreleaser build --snapshot --clean

0 commit comments

Comments
 (0)