padosoft/laravel-rebel-ai-guard
GitHub: padosoft/laravel-rebel-ai-guard
Laravel框架下的异常检测与AI安全助手
Stars: 0 | Forks: 0
# Laravel Rebel — AI Guard
` 扫描一个结束于“当前时间”的窗口。如需精确窗口,请传入 ISO-8601 标准的 `--from` 和 `--to`(当两者同时提供时,它们将覆盖 `--lookback`;如果只传入 `--from`,`--to` 默认为“当前时间”)。无效的日期时间——或者 `--to` 不在 `--from` 之后——将打印错误并以非零状态退出。
```
# 模拟特定过去一小时的每小时 cron 运行:
php artisan rebel:detect-anomalies \
--from="2026-06-01T09:00:00" --to="2026-06-01T10:00:00"
# 一次性回填一整天:
php artisan rebel:detect-anomalies \
--from="2026-06-01T00:00:00" --to="2026-06-02T00:00:00"
# 从某个时间点直到“现在”:
php artisan rebel:detect-anomalies --from="2026-06-01T00:00:00"
```
由于计划调用只是简单地运行 `rebel:detect-anomalies --lookback=`,因此使用相同窗口的手动运行与 cron 运行的行为完全相同。
**解释案例**(可选 AI):
```
use Padosoft\Rebel\AiGuard\AiExplainer;
use Padosoft\Rebel\AiGuard\Models\AnomalyCase;
$explainer = app(AiExplainer::class);
$case = AnomalyCase::query()->findOrFail($id);
$text = $explainer->explain($case); // null if no AiClient is bound
```
**自带模型** — 实现并绑定该契约:
```
use Padosoft\Rebel\AiGuard\Contracts\AiClient;
$this->app->singleton(AiClient::class, MyOpenAiClient::class);
```
## 安全说明
- **不向 LLM 发送 PII/机密**:`PromptSanitizer` 会在发送前清除电子邮件、电话号码、4 位及以上的数字序列(包括 Unicode),以及 Bearer/Basic/JWT/`sk-`/`ghp_`/`xox*` token。
- **AI 不做决定**:系统 prompt 禁止做出/建议破坏性操作,并指示模型将案例数据视为不透明的(抵抗 prompt injection)。
- **确定性核心**:案例来自固定规则;审计日志本来就只存储经过 HMAC 处理的标识符,因此案例携带的是哈希值,而不是原始 PII。
- **租户作用域、幂等**:重新运行检测器会更新现有案例,而不是重复创建。
## `.env.example`
```
REBEL_AIGUARD_OTP_BOMBING_THRESHOLD=10
REBEL_AIGUARD_SCHEDULE=true
REBEL_AIGUARD_FREQUENCY=hourly
REBEL_AIGUARD_LOOKBACK=1440
```
## 🔋 开箱即用的高效编码
这个包附带了 **AI 电池(全面预设)**——让您(和您的 AI 代理)能够第一次就正确地进行扩展:
- **`CLAUDE.md`** — 简明的 AI 工作指南(目的、约定、架构、如何扩展、完成定义)。纯 Markdown 格式,因此 Claude Code、Cursor、Copilot 和 Codex 都能读取它。
- **`AGENTS.md`** — 代理/工作流契约(分支 → PR → CI → 标签/发布,即各项把关)。
- **`.claude/skills/`** — 可调用的技能(至少包含 `rebel-package-dev`),编码了套件的 TDD 循环、**PHPStan-level-max** 方案、安全/遥测规则以及发布纪律。
在您的 AI 编辑器中打开仓库并开始吧——规则、护栏和扩展方案都已包含在内。遵循附带的 `CLAUDE.md` 的 PR 可以一次顺利通过 CI(PHPStan max + Pest + Pint)和代码审查。
## 测试与许可
```
composer test # Pest (detection, idempotency, severity, sanitizer, AI explainer)
composer phpstan # static analysis, level max
composer pint # code style
```
**许可:** MIT — 参见 [LICENSE](LICENSE)。是 [`padosoft/laravel-rebel`](https://github.com/padosoft) 套件的一部分。
标签:ffuf