jorijn/laravel-security-checker

将 Laravel 功能添加到 Enlightn 安全检查器中。当漏洞影响您时,它可以添加命令来检查漏洞,并可选择向您发送电子邮件。

v2.5.0 2024-06-02 06:52 UTC

README

Latest Stable Version Total Downloads License Tests

此包为您提供了一种简单的方法来检查您的本地 composer.lock 是否与安全通告数据库相匹配。它可以将结果显示在您的控制台,或在预定时间通过电子邮件发送给您。它使用 Laravel 的 Markdown 系统,因此应该能够很好地与您的样式兼容。

屏幕截图

screenshot-email

安装

使用以下命令使用 composer 安装此包:

composer require jorijn/laravel-security-checker

配置

电子邮件

如果您希望包通过电子邮件发送报告,您需要指定一个收件人。

选项 1

将其添加到您的 .env 文件中。

LCS_MAIL_TO="someone@example.net"
选项 2

发布配置文件并在其中更改。

php artisan vendor:publish --provider="Jorijn\LaravelSecurityChecker\ServiceProvider" --tag="config"

如果您想控制电子邮件的格式,可以使用 Laravel 使用以下命令为您导出视图:

php artisan vendor:publish --provider="Jorijn\LaravelSecurityChecker\ServiceProvider" --tag="views"

默认情况下,当没有发现漏洞时,包不会通过电子邮件向您发送。您可以通过将以下条目添加到 .env 文件中来更改此设置。

LCS_NOTIFY_WITHOUT_VULNERABILITIES=true

Slack

如果您想将报告发送到 Slack 频道,您需要在 .env 文件中指定 Slack Webhook。

例如:

LCS_SLACK_WEBHOOK=https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

调度

此包公开了一个新命令供您使用

php artisan security-check:email

您可以将它连接到常规 crontab 或将其添加到 Laravel 调度器(app/Console/Kernel.php)中,如下所示

protected function schedule(Schedule $schedule)
{
    $schedule->command(\Jorijn\LaravelSecurityChecker\Console\SecurityMailCommand::class)
        ->weekly();
}

作为命令运行

此包提供了对 Enlightn 安全检查器 命令的包装。您可以使用 php artisan security-check:now 来调用它。

screenshot-console

翻译

如果您需要将此包翻译成您自己的语言,可以通过发布翻译文件来实现

php artisan vendor:publish --provider="Jorijn\LaravelSecurityChecker\ServiceProvider" --tag="translations"

请考虑通过创建带有您语言的 pull request 来帮助他人。