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 请求, 代码安全, 代码审查, 反取证, 安全加固, 安全合规, 安全开发, 安全检测, 安全测试, 安全漏洞, 安全评估, 安全防护, 安全风险, 开源框架, 持续集成, 攻击性安全, 漏洞枚举, 网络代理, 逆向工具