SametAtas/rein

GitHub: SametAtas/rein

rein是一款用于Python代码安全审计的工具,提供确定性结果。

Stars: 0 | Forks: 1

# rein ## 安装 ``` # 终端用户:安装发布的包(命令保持为 `rein`) pipx install rein-engine # 或:pip install rein-engine # 开发者:从带有开发额外功能的克隆版本安装 pip install -e ".[dev]" ``` ## 使用 ``` # 扫描文件或目录以查找泄露的凭据 rein scan . rein scan src/config.py # 仅扫描 diff 中添加的行(读取 stdin) git diff | rein scan --diff # 在 Python 代码上运行 lint 规则 rein lint . rein lint src/ --ruff # 标记不安全的代码模式 rein security . # 运行所有防护栏并获得 PASS/WARN/BLOCK 判决 rein review . # 运行所有防护栏以及外部检测器(单独安装) # 检测器也可以通过 .rein.toml 声明性地启用 rein review --bandit --gitleaks --semgrep . # 展示如何修复每个发现 rein review --explain . # 仅审查更改的行(读取工作树和 stdin diff) git diff | rein review --diff # 适用于 CI 或代理的机器可读发现 rein scan --format json . rein lint --format json src/ # 检查提交信息和暂存的文件 rein commit-check -m "feat(auth): add token refresh" rein commit-check # uses the last commit message and staged files # 注意:commit-check 和 pre-commit 钩子将严格标记对 rein 自身配置文件的任何修改为 HIGH。 # 它们还提供咨询警告(MEDIUM/LOW),如果您尝试提交垃圾/杂乱文件(例如 .DS_Store,temp.py)。 ``` `rein` 在发现任何 HIGH 级别或以上的问题时都会退出非零状态,因此它可以作为一个 CI 步骤或预提交钩子。 ### GitHub Action 您可以直接将 `rein` 添加到您的 GitHub Actions 流程中。它会审查一个路径,并将发现的内容作为 SARIF 上传,因此它们会在安全标签页中显示: ``` name: CI on: [push, pull_request] jobs: rein: runs-on: ubuntu-latest permissions: contents: read # checkout the repository security-events: write # upload SARIF to the Security tab actions: read # upload-sarif reads run metadata (private repos) steps: - uses: actions/checkout@v4 - name: Run rein review uses: SametAtas/rein@v0.1.1 with: path: src/ output: rein.sarif ``` 代码扫描(安全标签页)需要私有仓库上的 GitHub 高级安全功能。如果不可用,设置 `upload: false` 以将 SARIF 文件作为构建工件生成,而不是上传它。 ## 编码代理集成 ### OpenHands ## 配置 ## 布局 ## 指导代理 ## 从代理使用 代码遵循的规则:检测保持在 `core` 中,并返回 `Finding` 对象;适配器仅收集输入,调用 `core`,并渲染结果。 ## 测试 ``` pytest -q ``` ## 许可证 Apache-2.0(见 `LICENSE`)。贡献需要开发者证书来源的签核;见 `CONTRIBUTING.md`。
标签:AI 辅助工具, GitHub Action, GitHub Advanced Security, Python 代码分析, SARIF 格式, URL发现, XML 请求, 代码安全, 代码审查, 反取证, 安全加固, 安全合规, 安全开发, 安全检测, 安全测试, 安全漏洞, 安全评估, 安全防护, 安全风险, 开源框架, 持续集成, 攻击性安全, 漏洞枚举, 网络代理, 逆向工具