Skip to content

模块概览

Scion 提供 11 个生产就绪、可复制粘贴的 Go 模块。每个模块自包含。模块默认仅使用标准库;安全例外会在 registry 中显式标记。

可用模块

模块描述安全特性
AuthJWT 认证 + bcrypt限流,用户枚举防护,JTI
CRUD通用 CRUD + 分页排序/过滤白名单,SQL注入防护
MiddlewareRecovery、CORS、日志、超时CRLF 注入防护,请求体大小限制
RBAC基于角色的访问控制通配符权限,循环检测
Rate Limit固定/滑动窗口、令牌桶内存耗尽防护,LRU 淘汰
Validation链式请求验证正则DoS防护,空字节拒绝
File Upload安全文件上传魔数校验,路径遍历防护
Health存活/就绪探针SSRF 防护,CRLF 注入防护
CacheTTL + LRU 内存缓存后台清理,最大条目限制
Pagination偏移/游标分页游标 Base64 校验,最大限制强制
MailSMTP 邮件 + 模板头部注入防护,XSS 转义

快速复制

bash
# 复制模块到你的项目
cp -r registry/<module>/src/go/* yourproject/internal/<module>/

模块结构

每个模块遵循以下结构:

registry/<module>/
├── src/go/
│   ├── go.mod              # module <name>, go 1.22
│   ├── config.go           # Options struct, Defaults(), FromEnv()
│   ├── handler.go          # HTTP handlers
│   ├── <core>.go           # 核心逻辑
│   ├── <core>_test.go      # 功能测试
│   └── pentest_test.go     # 渗透测试用例
├── README.md               # 人类可读的适配指南
└── __llms__.md             # AI可读的摘要 (~150 tokens)

测试

每个模块包含功能测试和渗透测试用例:

bash
cd registry/<module>/src/go
go test -v ./...

依赖

模块默认仅使用 Go 标准库。显式例外(如 auth)会在 standalone 模式下复制自己的 go.mod

Released under the MIT License.