UtilSignature.java:sha256Hex + sign(HMAC-SHA256) + safeEquals(常量时间比较)NonceCache.java:基于 Hutool TimedCache,TTL=window+30s,synchronized putIfAbsentUtilSignatureTest(阻塞 Maven 未装)NonceCacheTest(阻塞 Maven 未装)AuthConfigProperties(prefix mjava.auth,默认值齐全)NoAuth 注解(METHOD + TYPE)application.yml 新增 mjava.auth.* 段,默认 enabled=false + ${AUTH_SECRET} 占位AuthFilter:@Order(HIGHEST+20) 位于 TraceIdFilter 后;enabled/exempt 放行;Header + 时间戳窗口 + NonceAuthInterceptor:preHandle 识别 @NoAuth + 读 body + 签名校验 + safeEqualsMcR.error(code, message) + 对应 HTTP 状态[%X{authKey:-}](延后)requests + hmac)node:crypto)AuthFilterTest:enabled/disabled 切换、Header 缺失、时间窗边界、Nonce 重放AuthInterceptorTest:@NoAuth 方法级/类级、签名校验、exempt-pathsenabled: false 场景回归(零破坏验证)/Users/malk/Desktop/Tech/claude/后端/mjava-baseline.md 新增 §13(或合并到 §6)"请求鉴权与防重放"章节,含签名协议与开关openspec validate add-request-auth-replay-guard --strict 通过curl + openssl 跑通一次真实请求/opsx:archive