golang-security

samber/cc-skills-golangSecurity

golang-security is a skill in samber/cc-skills-golang, last changed 2 Sept 2026. It can touch credentials, download software, run shell commands, reach the network, name web addresses and pre-approve tools — read the findings before installing.

From the author
Security best practices and vulnerability prevention for Golang — injection (SQL, command, XSS), cryptography, path traversal, SSRF and HTTP security headers, cookies, secrets management, memory safety, PII in logs, STRIDE/DREAD threat modeling, plus `gosec` SAST, race detection, and fuzz testing. Apply when writing, reviewing, or auditing Go code for security, or when touching crypto, file or network I/O, secrets, user input, or authentication. Not for non-exploitable defensive bugs such as nil panics or slice aliasing (→ See `samber/cc-skills-golang@golang-safety` skill), dependency vulnerability scanning with govulncheck (→ See `samber/cc-skills-golang@golang-dependency-management` skill), or wiring security scanners into CI pipelines (→ See `samber/cc-skills-golang@golang-continuous-integration` skill).

At a glance

Pattern check

1 item to review

Broad tools pre-approved in allowed-tools

R34 · High · SKILL.md:21

Commit bb1d43d · 3 Nov 2026

How the check works

Pattern check:1 item to reviewSee it

Install

Each tab says whether it installs commit bb1d43d, the one we checked, or the latest version.

Read this before installing: Broad tools pre-approved in allowed-tools — SKILL.md:21

Read SKILL.md first
MIT
Licence
3.8k
Repo stars
Publisher
Logo
The project's logo, named in its Codex plugin manifest

What it can touch

From the files and frontmatter at commit bb1d43d. This is how much a skill can do, not whether it is risky.

Pattern check

Pattern check: 1 item to review · commit bb1d43d · 3 Nov 2026

  • R34 · HighBroad tools pre-approved in allowed-tools

    SKILL.md:21 (opens in a new tab)
    allowed-tools: Read Edit Write Glob Grep Bash(go:*) Bash(golangci-lint:*) Bash(git:*) Agent WebFetch Bash(govulncheck:*) WebSearch AskUserQuestion EnterWorktree ExitWorktree

We checked every text file in this skill, at commit bb1d43d on 3 Nov 2026, against 45 published patterns such as download-and-run commands, hidden text and credential access. We don't run the skill, we don't read the web pages it points to, and we can't judge everything its instructions might lead an agent to do. In published tests, pattern checks like this one missed most malicious skills. Read the skill before you install it — especially anything it asks you to download or run.

How the check worksReport an incorrect finding

  • https://github.com/samber/cc-skills-golang
  • https://go.dev/doc/security/best-practices
  • https://github.com/securego/gosec
  • https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck
  • https://owasp.org/www-project-go-secure-coding-practices-guide/
  • https://xxx@sentry.io/123

Format check

Each agent reads SKILL.md a little differently. We check the file against each one's published rules; we don't run the skill in any agent.

  • Agent Skills specPasses with warnings

    The open format from agentskills.io, held to the strictest version of each rule among the agents we check.

    • Warning

      The frontmatter uses [ ] or { } values. Most agents accept them, but the spec's validator (skills-ref) rejects the file. F4

      Fix: Write lists as "- item" lines and maps as indented key: value lines, without anchors or tags.

    • Warning

      Fields outside the spec: user-invocable (read by Claude Code and VS Code) and paths (read by Claude Code). Uploads to the Claude apps and API, and the spec's validator, reject the file; most agents ignore these fields. O1

      Fix: Delete them for a portable skill, or keep them if you only target the agents that read them.

    • Warning

      metadata values should be text; openclaw (a map) is not. The spec's validator turns them into text; other readers may not. O4

      Fix: Quote each value, for example version: "1.0".

    • Note

      Anthropic's packaging script leaves these out: evals/. F8

      Fix: Delete them, or list them in .gitignore.

    • Note

      The first sentence of the description is 298 characters. Agents shorten long descriptions, so lead with the main job. D8

      Fix: Start with one short sentence that names the job.

  • Claude CodePasses

    Claude Code reads its own extra fields, ignores unknown ones, and still loads a skill whose frontmatter is broken, without its fields.

    • Note

      Anthropic's packaging script leaves these out: evals/. F8

      Fix: Delete them, or list them in .gitignore.

    • Note

      The first sentence of the description is 298 characters. Agents shorten long descriptions, so lead with the main job. D8

      Fix: Start with one short sentence that names the job.

  • Claude apps & API uploadFails

    Uploading to claude.ai or the Claude API, or packaging with Anthropic's script, accepts only the six spec fields and stops on anything else.

    • Error

      Upload and packaging fail on fields outside the spec: user-invocable and paths. O1

      Fix: Delete them, and keep your own data under metadata as text values.

    • Note

      Anthropic's packaging script leaves these out: evals/. F8

      Fix: Delete them, or list them in .gitignore.

    • Note

      The description is 818 characters. The claude.ai Help Center says 200 at most, though Anthropic's API docs and validator allow 1,024. D4

      Fix: If the claude.ai upload refuses it, trim the description to 200 characters.

    • Note

      metadata values should be text; openclaw (a map) is not. The spec defines metadata as text to text. O4

      Fix: Quote each value, for example version: "1.0".

  • OpenAI (Codex & API)Passes with warnings

    Codex finds SKILL.md by its exact name and needs a description; OpenAI's Skills API checks the frontmatter against the spec and caps uploads.

    • Warning

      Fields outside the spec: user-invocable and paths. Codex ignores them; OpenAI doesn't say whether its upload accepts them. O1

      Fix: Delete them, or move your own data under metadata as text values.

    • Warning

      metadata values should be text; openclaw (a map) is not. OpenAI's upload follows the spec's text-to-text rule. O4

      Fix: Quote each value, for example version: "1.0".

    • Note

      Anthropic's packaging script leaves these out: evals/. F8

      Fix: Delete them, or list them in .gitignore.

    • Note

      The first sentence of the description is 298 characters. Agents shorten long descriptions, so lead with the main job. D8

      Fix: Start with one short sentence that names the job.

  • VS Code & CopilotPasses

    VS Code reads skills one folder below .github/skills, .claude/skills or .agents/skills and falls back to the folder name when the name is missing or differs; GitHub's Copilot docs require the exact name SKILL.md.

    • Note

      Anthropic's packaging script leaves these out: evals/. F8

      Fix: Delete them, or list them in .gitignore.

    • Note

      VS Code ignores fields it doesn't support: paths. O1

      Fix: Delete them unless another agent you target reads them.

SKILL.md

Files

More from samber/cc-skills-golang

SkillWhat it can touchPattern checkLicenceUpdated
  • Downloads software
  • Runs shell commands
  • +3 more
Pattern check: 1 item to reviewMIT2 Sept 2026
  • Runs shell commands
  • Names web addresses
  • +2 more
Pattern check: 1 item to reviewMIT23 Oct 2026
  • Runs shell commands
  • Names web addresses
  • +1 more
Pattern check: 1 item to reviewMIT19 Aug 2026
golang-concurrencyGolang concurrency design — goroutine lifecycle and leak prevention, channels and `select`, channel ownership and direction, `sync.Mutex`/`RWMutex`/`sync.Map`/`sync.Once`/atomics, `errgroup`, `singleflight`, worker pools, and fan-out/fan-in pipelines. Use when writing or reviewing concurrent Go code, when choosing between channels and mutexes, when protecting a shared map or counter, or when a goroutine has no clear exit. Not for defensive coding unrelated to concurrency such as nil panics, slice aliasing, or numeric overflow (→ See `samber/cc-skills-golang@golang-safety` skill), and not for debugging a specific hung, crashing, or racing program after the fact (→ See `samber/cc-skills-golang@golang-troubleshooting` skill).
  • Runs shell commands
  • +3 more

Pattern check: 1 item to reviewMITUpdated 2 Sept 2026

  • Runs shell commands
  • Reaches the network
  • +2 more
Pattern check: 1 item to reviewMIT2 Sept 2026
  • Runs shell commands
  • Reaches the network
  • +2 more
Pattern check: 1 item to reviewMIT1 Sept 2026
golang-continuous-integrationGitHub Actions CI/CD pipeline configuration for Golang projects — workflow files for test, lint, SAST, coverage and vulnerability-scan jobs, Dependabot and Renovate config files, GoReleaser release pipelines, Docker build/push, repository security settings, and AI-driven PR review. Use when setting up or improving Go project CI, writing or fixing `.github/workflows/*.yml`, adding a linter or security scanner as a pipeline job, wiring automated dependency-update bots, or adding quality gates. Covers wiring tools into a pipeline, not the analysis they perform: do NOT use for choosing or interpreting security findings (→ See `samber/cc-skills-golang@golang-security` skill) or for choosing, upgrading, or auditing dependency versions (→ See `samber/cc-skills-golang@golang-dependency-management` skill).
  • Touches credentials
  • +7 more

Pattern check: 1 item to reviewMITUpdated 2 Sept 2026

  • Touches credentials
  • Downloads software
  • +6 more
Pattern check: 1 item to reviewMIT2 Sept 2026
All skills in samber/cc-skills-golang

Other Security skills

Same category, most repo stars first.

SkillWhat it can touchPattern checkLicenceUpdated
  • Runs shell commands
Pattern check: Nothing flaggedMIT11 Aug 2026
  • Instructions only
Pattern check: Nothing flaggedMIT9 Oct 2026
  • Instructions only
Pattern check: Nothing flaggedMIT8 Oct 2026
csoSecurity audit: supported static findings; qualified profiles add reproduction and repair candidates. (gstack)

garrytan/gstack

  • Touches credentials
  • +4 more

Pattern check: Nothing flaggedMITUpdated 26 Oct 2026

  • Touches credentials
  • Runs shell commands
  • +3 more
Pattern check: Nothing flaggedMIT26 Oct 2026
  • Runs shell commands
Pattern check: Nothing flaggedMIT28 Oct 2026
  • Touches credentials
  • Runs shell commands
  • +2 more
Pattern check: Nothing flaggedMIT30 Oct 2026

Repo facts from GitHub on 3 Nov 2026. Files read at commit bb1d43d.

QAI did not write these skills and is not affiliated with their authors unless a page says so. Logos and icons belong to their owners and are not a mark of approval. How we check