该技能面向 Rust Web 安全交付,强调 Rust 的内存安全并不自动带来认证、授权、协议强制或业务逻辑安全,需默认拒绝并用负向测试证明控制有效。
用途与流程:先确认安全契约,识别暴露面、调用方、TLS 终止点、可信代理、身份提供方与令牌/会话类型、角色/范围/对象归属/租户边界,以及 CORS、CSRF、重定向、上传、出站 URL、限流与审计要求,并锁定 axum、tower、rustls、cookie 等版本与 MSRV。安全需求不完整时应显式说明假设与未覆盖风险。
主要能力:建立攻击面基线(rustc --version --verbose、cargo metadata --format-version 1、cargo tree -e features、cargo test --all-targets);编写威胁模型与授权矩阵,按主体×动作×资源×租户×上下文逐项校验;在单一边界建立身份,缺凭证返回 401、已知身份但无权限返回 403;校验 JWT 固定算法、签发者、受众、有效期与类型,Cookie 会话设 Secure、HttpOnly,登录与提权后轮换会话 ID;按租户优先、再对象/字段授权,防 BOLA/IDOR 与批量赋值;加固浏览器与传输边界,含 HSTS、可信转发头、CORS 精确白名单、CSRF、CSP 与限流,防 SSRF;密钥集中注入并脱敏日志,记录审计。
验证与限制:用负向测试覆盖无效令牌、跨租户、会话固定、CSRF/CORS、SSRF、大体积/慢请求、错误信息泄露等;常规门禁含 cargo fmt --all -- --check、cargo check --all-targets、cargo test --all-targets、cargo clippy --all-targets -- -D warnings、cargo audit,cargo audit 不可用时须报告未运行而非声称通过。完成标准要求授权矩阵显式、敏感路由默认拒绝、令牌/会话/密码/API 密钥采用成熟协议、TLS 与代理配置对齐、密钥不出现在响应与日志、负向测试与依赖审计通过。密码哈希建议使用 Argon2id 类维护良好的 API,并避免阻塞异步运行时。资料未提供该技能的收费、价格、平台兼容性与具体安装命令等信息。