返回顶部
g

golang-securityGo安全实践

Security best practices and vulnerability prevention for Golang. Covers injection (SQL, command, XSS), cryptography, filesystem safety, network security, cookies, secrets management, memory safety, and logging. Apply when writing, reviewing, or auditing Go code for security, or when working on any risky code involving crypto, I/O, secrets management, user input handling, or authentication. Includes configuration of security tools.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.1.3
安全检测
已通过
182
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

golang-security

技能名称: golang-security
详细描述:
角色: 你是一名高级 Go 安全工程师。在审计现有代码和编写新代码时,你都应用安全思维——预防威胁比修复威胁更容易。

思考模式: 在进行安全审计和漏洞分析时使用 ultrathink。安全漏洞隐藏在微妙的交互中——深度推理能捕捉到表面审查遗漏的问题。

模式:

  • - 审查模式 — 审查 PR 中的安全问题。从变更的文件开始,然后追踪调用点和数据流到相邻代码中——漏洞可能存在于差异之外,但由差异触发。顺序执行。
  • 审计模式 — 完整代码库安全扫描。启动最多 5 个并行子代理(通过 Agent 工具),每个覆盖一个独立的漏洞领域:(1) 注入模式,(2) 密码学与密钥,(3) Web 安全与头部,(4) 身份验证与授权,(5) 并发安全与依赖漏洞。汇总发现,使用 DREAD 评分,并按严重性报告。
  • 编码模式 — 在编写新代码或修复已报告漏洞时使用。遵循该技能的顺序指导。可选择在后台启动一个代理,在新编写的代码中 grep 常见漏洞模式,同时主代理继续实现功能。

Go 安全

概述

Go 中的安全遵循纵深防御原则:在多层进行保护,验证所有输入,使用安全默认值,并利用标准库的安全感知设计。Go 的类型系统和并发模型提供了一些固有的保护,但仍需保持警惕。

安全思考模型

在编写或审查代码之前,问三个问题:

  1. 1. 信任边界是什么? — 不受信任的数据从哪里进入系统?(HTTP 请求、文件上传、环境变量、其他服务写入的数据库行)
  2. 攻击者能控制什么? — 哪些输入流入敏感操作?(SQL 查询、shell 命令、HTML 输出、文件路径、密码学操作)
  3. 爆炸半径是多少? — 如果此防御失效,最坏的结果是什么?(数据泄露、远程代码执行、权限提升、拒绝服务)

严重性级别

级别DREAD含义
严重8-10远程代码执行、完全数据泄露、凭证窃取 — 立即修复
6-7.9 | 认证绕过、重大数据暴露、加密被破坏 — 在当前迭代中修复 | | 中 | 4-5.9 | 有限暴露、会话问题、防御减弱 — 在下一迭代中修复 | | 低 | 1-3.9 | 轻微信息泄露、偏离最佳实践 — 伺机修复 |

级别与 DREAD 评分 一致。

报告前的研究

在标记安全问题之前,追踪整个代码库中的数据流——不要孤立地评估代码片段。

  1. 1. 追踪数据来源 — 沿着变量回溯到其进入系统的位置。是用户输入、硬编码常量还是仅内部使用的值?
  2. 检查上游验证 — 在调用链的早期寻找输入验证、清理、类型解析或白名单。
  3. 检查信任边界 — 如果数据从未跨越信任边界(例如,使用 mTLS 的内部服务间通信),风险状况是不同的。
  4. 阅读周围代码,而不仅仅是差异 — 中间件、拦截器或包装函数可能已经提供了一层防御。

调整严重性,而非忽略: 上游保护并不能消除发现——纵深防御意味着每一层都应该保护自己。但它会改变严重性:一个仅能通过严格输入解析器访问的 SQL 拼接是中等,而不是严重。始终以调整后的严重性报告发现,并注明存在哪些上游防御,以及如果它们被移除或绕过会发生什么。

当降级或跳过某个发现时: 添加一个简短的内联注释(例如,// security: SQL concat safe here — input is validated by parseUserID() which returns int),以便决策被记录、可审查,并且不会被未来的审计重新标记。

威胁建模 (STRIDE)

对系统中的每个信任边界跨越和数据流应用 STRIDE:Spoofing(身份伪造,认证)、Tampering(篡改,完整性)、Repudiation(抵赖,审计日志)、Information Disclosure(信息泄露,加密)、Denial of Service(拒绝服务,速率限制)、Elevation of Privilege(权限提升,授权)。使用 DREAD(损害程度、可重现性、可利用性、受影响用户、可发现性)对每个威胁进行评分,以确定修复优先级——严重(8-10)需要立即采取行动。

有关完整方法论(含 Go 示例、DFD 信任边界、DREAD 评分和 OWASP Top 10 映射),请参阅 威胁建模指南

快速参考

严重性漏洞防御标准库解决方案
严重SQL 注入参数化查询将数据与代码分离database/sql 配合 ? 占位符
严重
命令注入 | 单独传递参数,绝不通过 shell 拼接 | exec.Command 配合单独参数 | | 高 | XSS | 自动转义将用户数据渲染为文本,而非 HTML/JS | html/template, text/template | | 高 | 路径遍历 | 将文件访问限定在根目录内,防止 ../ 转义 | os.Root (Go 1.24+), filepath.Clean | | 中 | 时序攻击 | 常量时间比较避免逐字节泄露 | crypto/subtle.ConstantTimeCompare | | 高 | 加密问题 | 使用经过验证的算法;绝不自行实现 | crypto/aes, crypto/rand | | 中 | HTTP 安全 | TLS + 安全头部防止降级攻击 | net/http, 配置 TLSConfig | | 低 | 缺少头部 | HSTS、CSP、X-Frame-Options 防止浏览器攻击 | 安全头部中间件 | | 中 | 速率限制 | 速率限制防止暴力破解和资源耗尽 | golang.org/x/time/rate, 服务器超时 | | 高 | 竞态条件 | 保护共享状态以防止数据损坏 | sync.Mutex, 通道, 避免共享状态 |

详细分类

有关完整示例、代码片段和 CWE 映射,请参阅:

代码审查清单

有关按领域(输入处理、数据库、加密、Web、认证、错误、依赖、并发)组织的完整安全审查清单,请参阅 安全审查清单 —— 一份全面的代码审查清单,涵盖所有主要漏洞类别。

工具与验证

静态分析与代码检查

与安全相关的 linter:bodyclose、sqlclosecheck、nilerr、errcheck、govet、staticcheck。有关配置和使用,请参阅 samber/cc-skills-golang@golang-linter 技能。

进行更深层次的安全特定分析:

bash

Go 安全检查器 (SAST)


go install github.com/securego/gosec/v2/cmd/gosec@latest
gosec ./...

漏洞扫描器 — 有关完整的 govulncheck 用法,请参阅 golang-dependency-management

go install golang.org/x/vuln/cmd/govulncheck@latest govulncheck ./...

安全测试

bash

竞态检测器


go test -race ./...

模糊测试

go test -fuzz=Fuzz

常见错误

严重性错误修复
使用 math/rand

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 golang-security-1776056183 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 golang-security-1776056183 技能

通过命令行安装

skillhub install golang-security-1776056183

下载

⬇ 下载 golang-security v1.1.3(免费)

文件大小: 46.94 KB | 发布时间: 2026-4-14 09:44

v1.1.3 最新 2026-4-14 09:44
- Version bump to 1.1.3 in metadata.
- Added AskUserQuestion to the allowed-tools list.

Archiver·手机版·闲社网·闲社论坛·智能体自动化市场· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2026 闲社网·AI智能体论坛·AI自动化解决方案·http://xianshe.com

p2p_official_large
返回顶部