Skip to content
Report library
Purpose / Data analysis

Golang Popular Libraries Skill Security Audit

What the author says it does (original text)

Golang library and framework selection — vetted production-ready options by category (web, database, testing, logging, messaging), new and experimental stdlib packages, standard-library-first tradeoffs, and maturity signals (maintenance, license, importer counts). Apply when the user asks for library suggestions, wants to compare alternatives, needs to choose a library for a specific task, or when

Independent security check

Security risks found

Files checked
5
Risks found
2
Could it run dangerous commands?Looks for programs run straight after downloading, remote control of your computer, and hidden commands.No risks found
Could it expose your files or keys?Looks for uploads of files containing passwords or keys, and keys written directly in the code.No risks found
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.No risks found
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.Risks found: 1
Medium risk

A read-oriented library adviser requests command execution, file editing, and Git access

Source references: 5
What we found

Its stated role is recommending Go libraries, but `allowed-tools` includes Read, Edit, Write, several Bash command families, Git, web search, and Agent. The instructions do not explain why changing a project or running Git is necessary to answer selection questions.

Why this matters

If the host honors this field, invoking the Skill gives it capabilities beyond those needed for advice. Erroneous instructions or untrusted retrieved content could then affect project files, run Go tooling, download dependencies, or alter the Git worktree. The evidence shows requested capability, not that such an action occurred.

The stated purpose is library selection advice, yet the Skill requests Edit, Write, broad Go/Git command access, web retrieval, and Agent. Documentation checks, maintenance research, and inspection of resolved source can justify Read, search, and some Go tooling, but the source does not explain why ordinary recommendation work needs file modification or broad Git operations. If the host grants and the model invokes these capabilities, they could alter project files or repository state. A user can ask the author for a read-only tool set, with write and Git access enabled only after an explicit request to install or modify a project.

SKILL.md:2In the instructionsOpen original file
---name: golang-popular-librariesdescription: "Golang library and framework selection — vetted production-ready options by category (web, database, testing, logging, messaging), new and experimental stdlib packages, standard-library-first tradeoffs, and maturity signals (maintenance, license, importer counts). Apply when the user asks for library suggestions, wants to compare alternatives, needs to choose a library for a specific task, or when a new dependency is being added to the project. Not for a specific library's API once chosen (→ See that library's dedicated skill, e.g. `samber/cc-skills-golang@golang-samber-lo`), nor for go.mod mechanics, upgrades, or vulnerability audits (→ See `samber/cc-skills-golang@golang-dependency-management` skill)."user-invocable: true
Show 4 other places
SKILL.md:17In the instructionsOpen original file
    install: []allowed-tools: Read Edit Write Glob Grep Bash(go:*) Bash(golangci-lint:*) Bash(git:*) Agent WebFetch WebSearch AskUserQuestion mcp__context7__resolve-library-id mcp__context7__query-docs Bash(godig:*) Bash(gopls:*) LSP mcp__gopls__*---
SKILL.md:3In the instructionsOpen original file
name: golang-popular-librariesdescription: "Golang library and framework selection — vetted production-ready options by category (web, database, testing, logging, messaging), new and experimental stdlib packages, standard-library-first tradeoffs, and maturity signals (maintenance, license, importer counts). Apply when the user asks for library suggestions, wants to compare alternatives, needs to choose a library for a specific task, or when a new dependency is being added to the project. Not for a specific library's API once chosen (→ See that library's dedicated skill, e.g. `samber/cc-skills-golang@golang-samber-lo`), nor for go.mod mechanics, upgrades, or vulnerability audits (→ See `samber/cc-skills-golang@golang-dependency-management` skill)."user-invocable: true
SKILL.md:16In the instructionsOpen original file
        - go    install: []allowed-tools: Read Edit Write Glob Grep Bash(go:*) Bash(golangci-lint:*) Bash(git:*) Agent WebFetch WebSearch AskUserQuestion mcp__context7__resolve-library-id mcp__context7__query-docs Bash(godig:*) Bash(gopls:*) LSP mcp__gopls__*---
SKILL.md:41In the instructionsOpen original file
This skill is not exhaustive — refer to library documentation and code examples for more information:- When exploring a candidate library, → See `samber/cc-skills-golang@golang-pkg-go-dev` skill (`godig`) for docs, symbols, versions, importers, and known vulnerabilities — prefer it over Context7 for Go package facts.- Once a candidate is added to your build, → See `samber/cc-skills-golang@golang-gopls` skill (`gopls`) to browse its actual resolved source and compare candidates side by side.- Context7 remains a fallback for docs not indexed on pkg.go.dev.
Could it mislead the AI or hide text?Checks the skill instructions for requests to ignore you, influence the report, or hide text in invisible characters.No risks found
Could it change links or payment recipients without asking?Looks for forced referral or payment changes combined with instructions to hide the change.Risks found: 1
Medium risk

The author's own libraries are repeatedly promoted without disclosing the affiliation to users

Source references: 6
What we found

Metadata identifies the author as samber. The catalog then recommends samber/hot, samber/do, samber/lo, samber/mo, and related dedicated Skills. It does not plainly disclose this relationship to the user or provide the promised license, importer-count, or independent comparison evidence beside those entries.

Why this matters

A user may interpret “vetted” as independent selection and favor the author's projects for caching, dependency injection, or utilities. That can shape dependency and maintenance decisions and increase supply-chain exposure. The evidence does not establish payment or that the recommendations are malicious.

The metadata identifies the author as samber, while the catalog and cross-references repeatedly promote samber projects including hot, do, lo, mo, and oops. The visible entries do not disclose that relationship beside the recommendations or show the maintenance, license, importer-count, and independent-comparison evidence the Skill itself requires. This does not establish that the libraries are unsafe or that the author acted maliciously, but it is an undisclosed affiliation that could influence dependency decisions. Users can ask for explicit disclosure and equally verifiable comparisons with independent alternatives.

SKILL.md:7In the instructionsOpen original file
compatibility: Designed for Claude Code, Codex or similar harness, and for projects using Golang.metadata:  author: samber  version: "1.2.2"  openclaw:
Show 5 other places
references/libraries.md:119In the instructionsOpen original file
## Caching**hot** (<https://github.com/samber/hot>) In-memory caching library for Go with 9 eviction algorithms (LRU, LFU, TinyLFU, W-TinyLFU, S3FIFO, ARC, TwoQueue, SIEVE, FIFO), TTL, loaders with singleflight deduplication, sharding, and stale-while-revalidate.**Ristretto** (<https://github.com/dgraph-io/ristretto>) High-performance memory-bound Go cache.
references/libraries.md:209In the instructionsOpen original file
## Dependency Injection**do** (<https://github.com/samber/do>) Dependency injection library for Go. Simple, runtime DI with service locator pattern and health checks.**Wire** (<https://github.com/google/wire>) Code-generated dependency injection for Go. Compile-time dependency injection without reflection.**Dig** (<https://github.com/uber-go/dig>) Dependency injection container for Go. Runtime DI with lifecycle management.**Fx** (<https://github.com/uber-go/fx>) Application framework for Go. Built on Dig, provides lifecycle management, dependency injection, and observability.## Functional Programming & Utilities**lo** (<https://github.com/samber/lo>) A generics-based helper library for Go. Slice, map, and tuple operations with functional programming style.**mo** (<https://github.com/samber/mo>) Monads and functional programming helpers for Go. Option, Either, Try, and other functional patterns.
references/libraries.md:219In the instructionsOpen original file
## Functional Programming & Utilities**lo** (<https://github.com/samber/lo>) A generics-based helper library for Go. Slice, map, and tuple operations with functional programming style.**mo** (<https://github.com/samber/mo>) Monads and functional programming helpers for Go. Option, Either, Try, and other functional patterns.
SKILL.md:51In the instructionsOpen original file
1. **Assess requirements first** - Understand the use case, performance needs, and constraints2. **Check standard library** - Always consider if stdlib can solve the problem3. **Prioritize maturity** - MUST check maintenance status, license, and community adoption before recommending. Use a module's `imported-by` count on pkg.go.dev as a popularity and indirect quality signal — widely-imported libraries are more battle-tested and have stronger backward-compatibility pressure; → See `samber/cc-skills-golang@golang-pkg-go-dev` skill to count importers and compare alternatives4. **Consider complexity** - Simpler solutions are usually better in Go5. **Think about dependencies** - More dependencies = more attack surface and maintenance burden
SKILL.md:69In the instructionsOpen original file
- → See `samber/cc-skills-golang@golang-dependency-management` skill for adding, auditing, and managing dependencies- → See `samber/cc-skills-golang@golang-pkg-go-dev` skill to vet a candidate library on pkg.go.dev — versions, importers, licenses, and known vulnerabilities — before adopting it- → See `samber/cc-skills-golang@golang-samber-do` skill for samber/do dependency injection details- → See `samber/cc-skills-golang@golang-samber-hot` skill for samber/hot in-memory caching details- → See `samber/cc-skills-golang@golang-samber-oops` skill for samber/oops error handling details- → See `samber/cc-skills-golang@golang-stretchr-testify` skill for testify testing details- → See `samber/cc-skills-golang@golang-grpc` skill for gRPC implementation details

Inside this skill

5 instruction sections

This Skill advises on selecting and comparing Go libraries. It says to understand requirements, consider the standard library first, and check maintenance, licensing, and adoption.

View source
SKILL.md:49In the instructionsOpen original file
When recommending libraries:1. **Assess requirements first** - Understand the use case, performance needs, and constraints2. **Check standard library** - Always consider if stdlib can solve the problem3. **Prioritize maturity** - MUST check maintenance status, license, and community adoption before recommending. Use a module's `imported-by` count on pkg.go.dev as a popularity and indirect quality signal — widely-imported libraries are more battle-tested and have stronger backward-compatibility pressure; → See `samber/cc-skills-golang@golang-pkg-go-dev` skill to count importers and compare alternatives4. **Consider complexity** - Simpler solutions are usually better in Go5. **Think about dependencies** - More dependencies = more attack surface and maintenance burden

Most content is a static catalog of candidates across web, database, testing, authentication, messaging, and other categories, with links to external repositories. The catalog itself does not install them.

View source
SKILL.md:33In the instructionsOpen original file
## Reference Catalogs- [Standard Library - New & Experimental](./references/stdlib.md) — v2 packages, promoted x/exp packages, golang.org/x extensions- [Libraries by Category](./references/libraries.md) — vetted third-party libraries for web, database, testing, logging, messaging, and more- [Development Tools](./references/tools.md) — debugging, linting, testing, and dependency management toolsFind more libraries here: <https://github.com/avelino/awesome-go>

The included evals file is test material for checking answer preferences, not an installation or execution script; for example, it expects franz-go to be preferred for Kafka.

View source
evals/evals.json:88In the instructionsOpen original file
    "id": 7,    "name": "franz-go-for-kafka",    "description": "Tests whether the model recommends franz-go for Kafka instead of only the legacy sarama client",    "prompt": "I need a Kafka client for my Go application. What library should I use?",    "trap": "Without the skill, the model recommends sarama (the legacy, most commonly referenced Kafka client) instead of franz-go which is modern, higher-performance, and better maintained",    "assertions": [      {"id": "7.1", "text": "Recommends franz-go (github.com/twmb/franz-go) as a primary recommendation"},      {"id": "7.2", "text": "Describes franz-go as modern, high-performance, and feature-complete"},      {"id": "7.3", "text": "Does NOT recommend only sarama without mentioning franz-go"},      {"id": "7.4", "text": "May mention sarama as an alternative but positions franz-go as the preferred modern choice"}    ]
Start here · InstructionsSKILL.md
golang-popular-libraries
Lines connect the instruction file to its sections, not an observed execution order. Select a section to read the source.

File reference map

References: 3
Files making referencesReferenced content
Lines show actual file references, not execution order. Select a node to highlight its connections and inspect the files and source locations. Dashed lines include files that still need locating.
Files and check records5 files

Coverage and gaps

Content covered in each file

These are the source ranges included in this check, not a guarantee that every issue has been resolved.

  • SKILL.mdFull text included
  • references/libraries.mdFull text included
  • references/stdlib.mdFull text included
  • references/tools.mdFull text included
  • evals/evals.jsonFull text included

This report is for the version above. We read the available code and instructions without running the skill or checking extra packages it installs. This is not a promise of safety: a different version or setup may behave differently.

  • SKILL.mdInstructions
  • evals/evals.jsonSupporting file
  • references/libraries.mdSupporting file
  • references/stdlib.mdSupporting file
  • references/tools.mdSupporting file

Operations mentioned in code and instructions

Connect to websites
SKILL.md:12In the instructionsOpen original file
    emoji: "📚"    homepage: https://github.com/samber/cc-skills-golang    requires:
SKILL.md:39In the instructionsOpen original file
Find more libraries here: <https://github.com/avelino/awesome-go>
references/libraries.md:35In the instructionsOpen original file
**Gin** (<https://github.com/gin-gonic/gin>) High-performance HTTP web framework with minimalist API. Up to 40x faster than some alternatives. Great for building REST APIs and microservices.
Run commands
SKILL.md:17In the instructionsOpen original file
    install: []allowed-tools: Read Edit Write Glob Grep Bash(go:*) Bash(golangci-lint:*) Bash(git:*) Agent WebFetch WebSearch AskUserQuestion mcp__context7__resolve-library-id mcp__context7__query-docs Bash(godig:*) Bash(gopls:*) LSP mcp__gopls__*---
Lines read
530
File checksum (to compare versions)
6fab39f315959b41b17a8f55cdd544b28a4917b4ea11892c7adb221cf70b9a36