---
title: "Go Security"
description: "> This file extends [common/security.md](../common/security.md) with Go specific content."
type: skill
canonical_url: https://claudary.paisolsolutions.com/skills/security-50
source: "Claudary"
difficulty: intermediate
author: "Claude Code Knowledge Pack"
date: 2026-07-10T11:46:34.954Z
license: CC-BY-4.0
attribution: "Go Security — Claudary (https://claudary.paisolsolutions.com/skills/security-50)"
---

# Go Security
> This file extends [common/security.md](../common/security.md) with Go specific content.

## Overview

---
paths:
  - "**/*.go"
  - "**/go.mod"
  - "**/go.sum"
---
# Go Security

> This file extends [common/security.md](../common/security.md) with Go specific content.

## Secret Management

```go
apiKey := os.Getenv("OPENAI_API_KEY")
if apiKey == "" {
    log.Fatal("OPENAI_API_KEY not configured")
}
```

## Security Scanning

- Use **gosec** for static security analysis:
  ```bash
  gosec ./...
  ```

## Context & Timeouts

Always use `context.Context` for timeout control:

```go
ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
defer cancel()
```

---

Source: [Claudary](https://claudary.paisolsolutions.com/skills/security-50) · https://claudary.paisolsolutions.com
