Ganesh-403/envtether

GitHub: Ganesh-403/envtether

envtether 是一款 Python 静态配置分析工具,通过跨文件扫描与 AST 解析帮助团队在部署前检测配置漂移、硬编码密钥并生成配置依赖图和文档。

Stars: 0 | Forks: 0

# envtether [![PyPI 版本](https://img.shields.io/pypi/v/envtether.svg)](https://pypi.org/project/envtether/) [![Python 版本](https://img.shields.io/pypi/pyversions/envtether.svg)](https://pypi.org/project/envtether/) [![许可证: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![代码风格: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) `envtether` 是一款企业级静态分析工具,旨在帮助开发者在部署之前理解、验证、保护并维护项目配置。 它的定位是应用程序配置领域的 Ruff、SonarQube 或 ESLint,能够深入洞察你的配置变量是如何在整个技术栈中进行定义、使用和部署的。 ## 🌟 核心功能 - **全面发现**:解析 Python 代码(AST 级别)、`.env` 文件、Docker Compose、Kubernetes 清单、GitHub Actions、Terraform 等。 - **深度框架支持**:原生支持 FastAPI、Flask、Django、Pydantic `BaseSettings`、Dynaconf 以及标准的 `os.getenv`。 - **高级密钥检测**:结合启发式正则表达式模式与 Shannon 熵分析,以极低的误报率检测硬编码和暴露的凭证(AWS、Azure、GCP、OpenAI、Stripe 等)。 - **跨文件漂移检测**:识别 `.env.example`、Docker Compose 和 CI/CD 流水线之间的配置不一致问题。 - **健康评分**:基于 11 个维度的配置规范,计算整体健康评分(0-100),让你直观了解生产环境的就绪状态。 - **依赖图**:构建有向依赖图,将变量连接到服务、文件和部署目标。支持导出为 Mermaid、Graphviz DOT、JSON 和交互式 HTML 格式。 - **自动化文档**:为你的项目配置变量生成精美的 Markdown 和 HTML 文档。 - **CI/CD 集成**:支持输出 SARIF 格式,以适配 GitHub Advanced Security 及其他 CI/CD 仪表盘。 ## 🚀 安装说明 `envtether` 要求 Python 3.12 或更高版本。 ``` pip install envtether ``` 或者使用 `uv`: ``` uv tool install envtether ``` ## 🛠️ 快速入门 导航到你的项目根目录并运行 CLI: ### 1. 扫描与分析 ``` # 使用 Rich 控制台输出的完整交互式扫描 envtether scan . # 运行全面的健康检查(遇到严重问题时失败) envtether doctor . ``` ### 2. 生成依赖图 可视化你的配置是如何与代码库和基础设施相连的: ``` envtether graph . --format html --output config-graph.html ``` ### 3. 生成文档 为你的团队自动生成一份精美的配置参考文档: ``` envtether docs . --format markdown --output CONFIG.md ``` ### 4. CI/CD 集成 在你的 CI 流水线中运行 `envtether`,以便在合并之前发现配置漂移和暴露的密钥: ``` envtether ci . --format sarif > envtether-results.sarif ``` ## 🧠 工作原理 1. **扫描**:递归查找所有相关文件(忽略 `.gitignore`、`node_modules` 等)。 2. **架构发现**:检测项目类型(例如 FastAPI、Docker)、云服务提供商以及服务依赖(例如 Redis、PostgreSQL)。 3. **AST 分析**:使用 `ast` 解析 Python 代码,以查找 `os.getenv`、`os.environ` 和 Pydantic `BaseSettings` 声明。 4. **格式分析**:解析 `.env`、Docker Compose、Kubernetes 清单和 Terraform 文件,以追踪变量定义。 5. **交叉验证**:比较各个文件中的变量集合以检测漂移(例如,在 Docker Compose 中定义但缺失于 `.env.example` 的变量)。 6. **密钥检测**:对配置值运行高性能的熵检查和模式匹配。 7. **报告**:汇总分析结果,计算健康评分,并导出为指定格式。 ## ⚙️ 配置说明 在你的仓库中初始化一个配置文件: ``` envtether init . ``` 这会创建一个 `.envtether.toml` 文件,你可以在此自定义规则、密钥检测阈值、忽略路径等内容。 ## 🔌 插件系统 `envtether` 采用了基于协议的健壮插件架构设计。你可以轻松扩展它,以支持专有的配置格式、内部工具或新框架。 ## 📄 许可证 本项目基于 MIT 许可证授权 - 详情请参阅 [LICENSE](LICENSE) 文件。 ## 🛡️ 安全 如果你在 `envtether` 中发现了安全漏洞,请查阅我们的[安全策略](SECURITY.md)以获取报告指南。
标签:LNA, Python, 云安全监控, 子域名突变, 无后门, 版权保护, 自动化payload嵌入, 调试插件, 逆向工具, 静态分析