mcpField
R
rust-service-security

rust-service-security

github.com/lvtd-llc安全163 次安装7 周前更新
代码仓库

关于 rust-service-security

rust-service-security 是帮助开发者保护处理身份、会话、凭据或敏感数据的 Rust 服务的技能。它涵盖认证流程、密码处理、Cookie、路由保护和安全测试检查。

主要功能

  1. 01追踪完整认证流程
  2. 02防止机密信息进入日志和调试输出
  3. 03遵循密码存储与验证规则
  4. 04设置 Cookie 和会话保护措施
  5. 05通过中间件或提取器保护路由
  6. 06测试失败场景与会话行为

适用场景

  1. 01审查 Rust 登录或密码重置流程
  2. 02为特权路由添加认证
  3. 03审计 Cookie 和会话处理
  4. 04测试伪造令牌与注销行为

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lvtd-llc/skills --skill rust-service-security

安装后在 Claude Code 中输入/rust-service-security确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
auth-middleware.md
cookies-sessions.md
password-auth.md

详细介绍

Rust 服务安全

当 Rust 服务处理身份信息、凭据、会话、Cookie、受保护的路由或敏感用户数据时,使用此技能。优先进行明确的威胁检查和测试,而不是依赖乐观的处理器代码。

核心工作流

  1. 确定受保护的资产:账户访问权限、管理员区域、会话状态、密码更改、重置令牌、私密数据或特权操作。
  2. 追踪整个流程:请求解析、凭据查询、验证、会话变更、重定向/响应、日志和测试。
  3. 不要将密钥写入日志或调试输出。对密码、令牌、签名密钥和会话密钥使用密钥封装类型。
  4. 使用内存困难型算法执行密码哈希和验证,并将 CPU 密集型工作移出异步反应器线程。
  5. 防止用户枚举。登录失败和密码重置流程不应泄露账户是否存在。
  6. 有意设置 Cookie 和会话属性:HttpOnly、Secure、SameSite、路径、生命周期、签名/加密和存储后端。
  7. 在中间件或提取器边界保护路由,而不是在每个处理器中重复进行临时检查。
  8. 为正常流程、身份验证失败、缺少会话、伪造的 Cookie 或令牌,以及注销/会话轮换行为添加测试。

密码规则

在实现或更改密码存储或验证之前,请阅读 references/password-auth.md。

  • 存储由 Argon2id 或项目所选密码哈希器生成的 PHC 字符串;绝不存储明文密码或可逆加密的密码。
  • 使用安全随机数生成器生成盐值。
  • 对无效凭据使用一致且通用的响应。
  • 使用 tokio::task::spawn_blocking 或专用的阻塞操作抽象来执行开销较大的密码操作。
  • 让密码哈希参数具备足够的可配置性,以便日后升级。

Cookie 和会话规则

在设置、读取、删除、签名或持久化 Cookie 和会话时,请阅读 references/cookies-sessions.md。

  • 绝不要在 Cookie 中存储原始凭据。
  • 对受保护的应用,优先使用由服务端存储支持的不透明会话 ID。
  • 在登录和权限变更后轮换或续期会话状态。
  • 使用服务端存储时,在注销时于服务端删除会话。
  • 测试 Set-Cookie 标头中的安全属性。

路由保护

在添加管理员路由、提取器、守卫或框架中间件时,请阅读 references/auth-middleware.md。

保持处理器类型明确:

pub async fn admin_dashboard(user: AuthenticatedUser) -> Result<HttpResponse, AppError> {
    // Handler can assume authentication succeeded.
    Ok(HttpResponse::Ok().finish())
}

对于要求身份验证的处理器,避免进行可选的用户查询;在框架允许的情况下,应通过处理器签名让用户缺失的情况变得不可能。

参考文件

  • references/password-auth.md:Argon2、PHC 字符串、用户枚举和阻塞式密码操作。
  • references/cookies-sessions.md:Cookie 标志、签名消息、服务端会话和注销。
  • references/auth-middleware.md:路由守卫、提取器和类型化会话访问。

评论

支持 Markdown