jbelien/phpstan-sarif-formatter

SARIF formatter for PHPStan

Maintainers

👁 jbelien

Package info

github.com/jbelien/phpstan-sarif-formatter

pkg:composer/jbelien/phpstan-sarif-formatter

Fund package maintenance!

jbelien

Statistics

Installs: 252 758

Dependents: 45

Suggesters: 0

Stars: 13

Open Issues: 3

1.2.0 2025-02-07 08:32 UTC

Requires

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 6a21162f610238f86647065b7c99c9c7af380a96


README

🔖 Compatible with PHPStan 1.x and 2.x

PHPStan

PHPStan focuses on finding errors in your code without actually running it. It catches whole classes of bugs even before you write tests for the code. It moves PHP closer to compiled languages in the sense that the correctness of each line of the code can be checked before you run the actual line.

https://phpstan.org/

Static Analysis Results Interchange Format (SARIF)

SARIF, the Static Analysis Results Interchange Format, is a standard, JSON-based format for the output of static analysis tool.
It has been approved as an OASIS standard.

SARIF is a rich format intended to meet the needs of sophisticated tools, while still being practical for use by simpler tools. Because it would be impractical to support every feature of every tool, SARIF provides an extensibility mechanism to allow tool authors to store custom data that the SARIF format doesn't directly represent.

https://docs.oasis-open.org/sarif/sarif/v2.0/sarif-v2.0.html

Usage

composer require --dev phpstan/phpstan jbelien/phpstan-sarif-formatter

Then update your phpstan.neon configuration file:

services:
 errorFormatter.sarif:
 class: PHPStanSarifErrorFormatter\SarifErrorFormatter
 arguments:
 relativePathHelper: @simpleRelativePathHelper
 currentWorkingDirectory: %currentWorkingDirectory%
 pretty: true

GitHub Code Scanning

Documentation: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning

GitHub Code Scanning features are compatible with SARIF.
The SARIF Formatter for PHPStan allows you to use PHPStan as GitHub Code Scanning tool.

To use in one of your GitHub Actions workflows, add the following in your job:

- name: Run PHPStan
 continue-on-error: true
 run: phpstan analyze --error-format=sarif > phpstan-results.sarif

- name: Upload analysis results to GitHub
 uses: github/codeql-action/upload-sarif@v2
 with:
 sarif_file: phpstan-results.sarif
 wait-for-processing: true

It will display PHPStan error messages in your PR (check this PR) and add alerts in the "Code scanning" report in "Security" tab of your project (see screenshot below).

👁 Screenshot