Files

8 lines
11 KiB
HTML
Raw Permalink Normal View History

<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><title>IT智能服务台项目目录审计报告</title><style>body{font-family:Arial,"Microsoft YaHei",sans-serif;background:#f6f8fa;color:#172033;margin:0}.wrap{max-width:1180px;margin:auto;padding:28px}.hero{background:#fff;border:1px solid #dfe5ec;border-left:6px solid #07c160;padding:24px;border-radius:12px}.muted{color:#667085}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.stat{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.stat b{font-size:28px;display:block}.section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin:16px 0}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid #edf0f2;padding:10px;vertical-align:top}th{background:#f8fafc}.tag{display:inline-block;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.P0{background:#fee4e2;color:#b42318}.P1{background:#fff0c2;color:#8a5b00}.P2{background:#e6f4ea;color:#137333}code{background:#f2f4f7;padding:2px 4px;border-radius:4px}li{margin:7px 0}.bar{height:10px;background:#e7edf2;border-radius:8px;overflow:hidden}.fill{height:100%;background:#07c160}</style></head><body><main class="wrap"><section class="hero"><h1>IT智能服务台项目目录审计报告</h1><p class="muted">审计对象:D://资料//03-项目开发//wecom_it_smart_desk;只读扫描,未移动、重命名或删除任何文件。</p><p class="muted">扫描时间:2026-08-09 08:25:34</p></section><div class="grid"><div class="stat"><span class="muted">文件数</span><b>29,548</b></div><div class="stat"><span class="muted">目录数</span><b>3,698</b></div><div class="stat"><span class="muted">重复组(含非依赖目录)</span><b>300</b></div><div class="stat"><span class="muted">10MB以上大文件</span><b>12</b></div></div><section class="section"><h2>一、结论摘要</h2><p>该目录已从单一应用仓库演变为“源码 + 多环境部署 + 历史归档 + 调试工作区 + 构建产物 + WorkBuddy 运行数据”的混合工作区。主要问题不是单个文件,而是<strong>版本边界、事实源、敏感信息和可再生产物没有彻底分离</strong>。不建议直接批量删除;应先冻结基线、完成分类和凭据轮换,再按批次治理。</p><ol><li><strong>最高优先级:</strong>凭据轮换与历史/备份扫描。</li><li><strong>第二优先级:</strong>统一 src 运行时源,隔离根目录遗留前端树与 dist/归档/临时目录。</li><li><strong>第三优先级:</strong>建立单一生产配置、状态看板和质量门禁。</li></ol></section><section class="section"><h2>二、问题与优化建议</h2><table><thead><tr><th style="width:70px">等级</th><th style="width:180px">问题</th><th>证据与影响</th><th style="width:34%">建议</th></tr></thead><tbody><tr><td><span class="tag P0">P0</span></td><td><strong>凭据与敏感信息暴露</strong></td><td>在版本目录中发现硬编码数据库/Redis/Neo4j密码或部署凭据迹象;例如 docker-compose.yml、deploy-server/docker-compose.yml、archives/add_full.py、archives/add_neo4j.py。即使文件被忽略,也可能存在 Git 历史或备份副本。</td><td>立即轮换已出现过的密码/令牌;用 secrets/env 文件或 Vault 注入;对 Git 历史和 archives/.backup 做凭据扫描,确认未被远端保存。</td></tr><tr><td><span class="tag P0">P0</span></td><td><strong>工作树与版本边界失控</strong></td><td>git status 显示大量已修改/未跟踪内容,包含源码、PRD、部署脚本、dist 版本目录、归档包和临时修复脚本;当前目录同时存在根目录旧 frontend-* 与 src/frontend-* 两套代码。</td><td>冻结当前工作树并先生成基线清单;明确 src 为唯一运行时源;按“源码/文档/部署/临时/备份”分区,分批提交,禁止直接 git add -A。</td></tr><tr><td><span class="tag P1">P1</span></td><td><strong>构建产物与历史备份混入项目目录</strong></td><td>扫描
docs/ # 当前有效产品/技术/测试/运维文档
scripts/ # 可复用、参数化、可审计脚本
nginx/ # 当前有效配置模板
tests/ # 自动化测试
ops/ # 经评审的运维入口(可选)
.artifacts/ # 不入仓,或迁移到制品库
archive-external/ # 不入工作树,进入外部归档</code></pre><p>根目录不再放部署包、dist 版本、数据库分片、截图批次和一次性修复脚本。根目录保留 README、变更日志、贡献指南、许可证和少量构建配置。</p></section><section class="section"><h2>五、实施路线图</h2><ol><li><strong>0—1天:</strong>冻结工作树;导出 Git status 和文件 manifest;轮换已暴露凭据;确认 Gitea 远端历史是否含敏感信息。</li><li><strong>1—3天:</strong>建立 src 唯一源声明;将根目录旧 frontend-*、dist_*、deploy-temp、archives、压缩包标注为“待迁移”;生产 compose 和 nginx 配置确定唯一事实源。</li><li><strong>1周:</strong>文档按产品/技术/测试/运维/项目管理分层,README 改为导航;清理乱码零字节文件;为状态看板、发布记录和风险表建立更新责任。</li><li><strong>2—4周:</strong>接入 CIsecret scan、compose config、Python lint/type、vue-tsc 增量门禁、后端关键接口测试、构建产物完整性检查。</li></ol></section><section class="section"><h2>六、审计边界与风险提示</h2><ul><li>本次为只读审计;没有执行删除、移动、重命名、压缩或 Git 清理。</li><li>重复文件大量来自依赖树、source map、截图和历史制品;重复不等于可以删除,必须结合运行时引用和回滚要求复核。</li><li>扫描发现的“password/secret”只是敏感内容候选,不代表每一项仍有效;但暴露过的凭据应按已泄露处理。</li><li>审计过程生成的中间扫描数据位于 <code>.workbuddy/audit_scan.json</code><code>.workbuddy/audit_content.json</code>,建议不要提交到仓库。</li></ul></section></main></body></html>