claude-code/claude-zh/rules/golang/security.md

35 lines
630 B
Markdown
Raw Permalink Normal View History

2026-02-27 13:45:37 +00:00
---
paths:
- "**/*.go"
- "**/go.mod"
- "**/go.sum"
---
# Go 安全性 (Security)
> 本檔案擴展了 [common/security.md](../common/security.md),包含 Go 特定內容。
## 金鑰管理 (Secret Management)
```go
apiKey := os.Getenv("OPENAI_API_KEY")
if apiKey == "" {
log.Fatal("OPENAI_API_KEY not configured")
}
```
## 安全掃描 (Security Scanning)
- 使用 **gosec** 進行靜態安全分析:
```bash
gosec ./...
```
## 上下文 (Context) 與 逾時 (Timeouts)
始終使用 `context.Context` 進行逾時控制:
```go
ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
defer cancel()
```