surface-watch
零依赖攻击面监控工具:对已授权资产做被动侦察,内置授权范围强制 (拒绝未声明资产与云元数据地址),并与基线做差异对比 —— 只报告「变化了什么」。
关于我
我是一名正在系统学习软件开发的实践者。比起收藏一堆教程,我更相信 「先跑通一条完整链路」:让代码从本地提交,经过自动检查, 最终部署成一个别人能打开、能验证的东西。
这个站点本身就是这条链路的产物——它没有构建工具、没有外部依赖, 从写下第一行 HTML 到推上公网,全程由 Git 与 GitHub Actions 驱动。
接下来我会持续把学习笔记和小项目沉淀成仓库:能跑的代码 + 说清问题的文档, 是我给自己定的最低交付标准。
项目
每个项目都可点开、可运行、可复现。以下是已完成的部分。
零依赖攻击面监控工具:对已授权资产做被动侦察,内置授权范围强制 (拒绝未声明资产与云元数据地址),并与基线做差异对比 —— 只报告「变化了什么」。
安全响应头配置即代码:一次声明策略,生成 Cloudflare / Netlify / Vercel / Nginx / Caddy 五种配置。 内置本地模拟器解析生成产物并自证有效;CSP 顾问为内联脚本计算 hash,避免退化成 unsafe-inline。
GitHub 全流程自动化样板仓:规范提交钩子、PR 模板、仓库健康检查 CI、 社区健康文件一次配齐。用来答「一个专业仓库该长什么样」。
你正在浏览的这个站点。零依赖静态页面(无框架、无外部 CDN、无构建步骤), 含主题切换、滚动动效、SEO 结构化数据,并由质量检查 CI 守护。
更多项目正在开发中 —— 欢迎到 我的仓库列表 查看最新进展。
技能
历程
每完成一步就留下一个可验证的产物,而不是只打个勾。
掌握 Git 核心命令与提交规范,理解「快照」与「分支」的本质。
跑通克隆、分支、推送、Pull Request、合并的完整闭环。
用 GitHub Actions 把「检查」和「部署」交给机器,失败自动拦下。
用零依赖静态站搭建个人主页,由 CI 守护质量,Pages 自动部署。
从文档修正、Issue 复现开始,向真实项目提交第一个被合并的 PR。
安全实践
安全不该只停留在「听说过」。以下是本站真实在运行的措施 —— 每一条都可以在线验证。
由 _headers 声明、Cloudflare Pages 执行:CSP、HSTS(含子域)、
防点击劫持、MIME 嗅探防护、Referrer 策略、权限策略与跨源隔离。
防闪烁的主题脚本必须内联,但本站没有为此放开 unsafe-inline ——
而是用 SHA-256 hash 精确放行那一段脚本,其余一律拒绝。
本站提供 /.well-known/security.txt(RFC 9116)声明安全联系渠道;
攻击面与响应头由自研工具持续监控,配置降级会自动告警。
联系
欢迎交流开发实践、自动化工作流,或只是打个招呼。 GitHub 是我最常出现的地方,通常我会在一天内回复。