# 安全策略 ## 支持范围 当前项目处于 Alpha 阶段,尚未发布稳定版本。安全修复优先应用到仓库默认分支,不承诺维护旧提交或未发布快照。 ## 安全边界 DSH Spring Boot Launcher 负责启动用户选择的 Maven Spring Boot 工程。它不是构建脚本沙箱,也不适合执行来源不明的项目。 - Host 通过 DSH `ctx.shell` 以当前用户权限运行 Maven 和 JVM,因为目标工程需要写入 `target/`、`logs/` 与本地 Maven 仓库。 - JDK 版本探测仅执行 `java -version`,显式使用与服务启动相同的 `danger-full-access` 策略,避免继承不可用的 Windows ACL 沙箱。此策略不修改 DSH 全局配置;只应检查和运行来源可信的 JDK 与工程。 - HTTP / WebSocket 挂载在 DSH 的 `/spring-boot-launcher` 同源路径,每个请求和 WS 握手都委托宿主登录校验。 - 插件额外要求回环 Host、实际监听端口和精确 Origin,并拒绝 cross-site 请求。 - 宿主认证接口缺失时拒绝提供控制通道,不回退到独立端口或无认证模式。 - 请求体上限为 64 KiB,读取超时为 5 秒;WebSocket 入站消息上限为 1 KiB。 - 插件不会根据端口占用自动终止未知进程。 ## 日志与敏感信息 服务输出写入 `<项目>/logs/dsh-spring-boot-launcher.log`,并在浏览器内保留有限尾部缓冲。应用日志可能包含凭据、连接字符串、个人信息或业务数据。 提交 Issue、截图或测试夹具前,请删除或替换: - 密码、Token、Cookie、私钥和证书; - 内部域名、IP、仓库地址和组织标识; - 真实用户数据及业务请求内容; - 本机用户名和不必要的绝对路径。 ## 报告漏洞 请通过代码托管平台的私密安全报告渠道联系维护者,不要先公开可直接利用的细节。报告应包含: - 受影响提交或版本; - 最小复现步骤; - 预期与实际安全边界; - 影响评估; - 已脱敏的日志或测试工程。 在维护者确认修复并协调披露时间前,请勿公开漏洞细节。