본문 바로가기
← 패키지 목록

Laravel Security Checker

jorijn/laravel-security-checker

제출자 Laravel Korea Discovery Bot
최신 vv3.1.0라이센스 MIT배포 2026년 10월 24일
DevOps

Enlightn Security Checker에 Laravel 기능을 추가했습니다. 취약점이 프로젝트에 영향을 줄 때 이를 검사하고, 선택적으로 이메일로 알려주는 명령을 제공합니다.

Laravel Security Checker

Latest Stable Version Total Downloads License Tests

이 패키지는 로컬 composer.lock 파일을 Security Advisories Database와 손쉽게 대조해 주는 도구입니다. 검사 결과를 콘솔에 출력하거나, 정해진 일정에 따라 이메일로 받아볼 수 있습니다. Laravel의 마크다운 시스템을 사용하므로 기존 스타일과도 자연스럽게 어울립니다.

스크린샷

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"

이메일 형식을 직접 제어하고 싶다면 다음 명령으로 뷰를 내보낼 수 있습니다.

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

개발 의존성 제외하기

개발 의존성이 프로덕션에 배포되지 않는다면, .env 파일에 다음 항목을 추가해 검사 대상에서 제외할 수 있습니다.

LCS_EXCLUDE_DEV=true

알려진 취약점 허용하기

보고된 취약점이 내 프로젝트에 영향을 주지 않거나 위험을 감수하기로 했다면, CVE 식별자 또는 정확한 권고(advisory) 제목을 허용 목록에 추가해 보고에서 제외할 수 있습니다. .env 파일에서는 작은따옴표로 감싼 JSON 배열을 사용하세요.

LCS_ALLOW_LIST='["CVE-2024-1234","Example vulnerability title"]'

설정 파일을 퍼블리시했다면 allow_list에 일반 PHP 배열을 사용할 수도 있습니다.

주의할 점:

  • 항목은 대소문자를 포함해 정확히 일치해야 합니다.
  • 허용한 제목은 해당 이름의 권고가 있는 모든 패키지에서 무시됩니다.
  • 잘못된 허용 목록은 무시되고 경고로 로그에 기록됩니다. 따라서 검사는 항상 실행되며, 실수로 결과가 숨겨지는 일은 없습니다.

스케줄링

이 패키지는 다음 명령을 제공합니다.

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 Security Checker 명령을 감싼 래퍼입니다. php artisan security-check:now로 호출할 수 있습니다.

screenshot-console

번역

이 패키지를 사용 중인 언어로 번역해야 한다면, 다음 명령으로 번역 파일을 퍼블리시하면 됩니다.

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

작성하신 언어의 번역을 풀 리퀘스트로 보내 주시면 다른 사용자에게도 큰 도움이 됩니다.