ecrou-exact/rulezet-core-v2

GitHub: ecrou-exact/rulezet-core-v2

一个用于共享、评估和管理网络安全检测规则的开源协作平台,基于功能完备的 Flask + Vue 3 全栈应用模板构建。

Stars: 0 | Forks: 0

# Flask Launchpad 一个生产就绪的 Flask 应用模板,包含完整的身份验证系统、基于角色的访问控制、用户个性化设置、结构化日志层以及 Vue 3 前端设计系统。 Screenshot from 2026-06-05 15-35-05 ## 快速开始 **前置条件:** Python 3.10+,pip ``` # 首次设置 — 创建 venv,安装 deps,并初始化数据库 ./launch.sh --setup # 启动开发服务器 ./launch.sh --start ``` 开发服务器运行在 `http://127.0.0.1:7009`。 默认管理员账号:`admin@admin.admin` / `admin` ## 可用命令 | 命令 | 功能说明 | |---|---| | `./launch.sh --setup` | 首次运行:配置 virtualenv、安装依赖、初始化数据库 | | `./launch.sh --start` | 启动开发服务器 | | `./launch.sh --test` | 运行完整的 pytest 测试套件 | | `./launch.sh --test -v tests/account/` | 运行特定功能的测试 | | `./launch.sh --migrate "description"` | 生成新的 Alembic 迁移脚本 | | `./launch.sh --upgrade` | 应用待处理的数据库迁移 | | `./launch.sh --reload-db` | 删除并从零开始重新创建数据库 | ## 功能特性 ### 身份验证 基于 Flask-Login 构建的完整 session 身份验证系统。用户可以注册、登录并管理自己的个人资料——包括头像上传、个人简介、社交链接、职位、公司以及位置。密码哈希使用 bcrypt。Session 通过 Flask-Session 存储在服务端。管理员可执行强制注销:通过更改用户的某个标志,使其活跃 session 在下一次请求时失效。 Screenshot from 2026-06-05 15-37-39 ### 基于角色的访问控制 每个用户恰好属于一个角色。角色包含两个特殊标志——`admin`(完全无限制访问)和 `read_only`(仅限安全操作)——以及一组任意细化的权限键。权限系统在 HTML 路由(`require_permission(key)`)和 REST API(`api_require_permission(key)`)中保持一致,并通过全局 `hasPerm()` 辅助函数在 Vue 模板中实现相同的语义。 Screenshot from 2026-06-05 15-38-05 ### 用户个性化配置 每个用户都拥有独立的偏好设置记录:主题、导航布局、toast 位置、toast 样式以及 toast 持续时间。更改通过 API 立即生效——无需重新加载页面。系统提供七种主题(warm、dark、ocean、forest、midnight、slate、system)。支持四种导航模式:sidebar、topbar、rail 和 hidden。 Screenshot from 2026-06-05 15-38-21 ### 管理面板 管理员拥有专属的用户管理区域——可以查看、编辑、验证、强制断开连接、软删除用户,以及对用户执行批量操作。日志查看器显示完整的应用活动流,可按类别、级别、操作者和日期进行过滤。角色管理涵盖了创建具有特定权限键、颜色和图标的自定义角色。 Screenshot from 2026-06-05 15-39-38 ### 结构化日志 应用中的每一项更改操作都会通过 `log_action()` 生成一条结构化日志条目。条目包含机器可读的操作键、类别、严重程度级别、操作者、IP 地址、user-agent、目标对象类型和 ID,以及一个类型化的 metadata dict。应用错误永远不会破坏日志记录——该辅助函数可以在任何地方安全调用,无需使用 try/except。 Screenshot from 2026-06-05 15-38-59 ### REST API 在 `/api/` 提供了一个 Flask-RESTX API,并附带交互式 Swagger 文档。所有 endpoint 在外部访问时都需要提供 `X-API-KEY` 请求头。内部前端调用通过现有的 session 进行身份验证。该 API 镜像了所有的 HTML 功能:用户管理、配置和日志。 Screenshot from 2026-06-05 15-40-01 ### 设计系统 前端建立在 CSS 自定义属性设计系统(“Warm Studio”)之上,并全面支持暗黑模式。所有的 spacing、color、typography、shadow 和 animation 值都作为 token 暴露出来——任何仅引用 token 的组件都会自动兼容主题切换。可复用的 Vue 3 组件包括功能齐全的数据表格(排序、过滤、分页、批量选择)、加载进度条、分页器、角色徽章、用户头像、模态确认框以及密码强度指示器。 Screenshot from 2026-06-05 15-41-13 ## 项目结构 ``` app/ features/ Flask blueprints, one folder per feature api/ Flask-RESTX resources + verification modules core/ db_class/ SQLAlchemy models utils/ Decorators, logger, utilities templates/ Jinja2 templates extending base.html static/ css/ One file per feature, core design system js/ constants.js TOAST, CSRF_TOKEN, apiFetch() toaster.js create_message() components/ Vue 3 components tests/ Pytest suite mirroring the features/ structure ``` ## 开发者参考 完整的编码规范、架构模式、日志指南、组件文档以及新功能检查清单可在位于 `/docs` 的应用内文档中找到(需登录)。
标签:Flask, Metaprompt, Vue, Web平台, YARA, 云资产可视化, 安全规则引擎, 安全运营, 扫描框架, 文件系统扫描, 检测规则, 网络资产发现, 自定义脚本, 逆向工具