Back to directory
crealoz avatar
crealoz / easyaudit-cli

easyaudit-cli

Static analysis CLI tool for Magento 2 codebases - detects anti-patterns, code quality issues, and architectural problems. SARIF output for CI/CD integration.

14

Stars

1

Forks

0

Watchers

MIT

License

EasyAudit

Latest Release License: MIT PHP Version Tests codecov

Static analysis tool for Magento 2 codebases. Detects anti-patterns, security risks, and architectural issues.

Features

  • 21 processors detecting 40 anti-patterns across DI, code quality, templates, performance, and architecture
  • Zero dependencies - standalone PHAR (~455KB)
  • CI/CD ready - SARIF output for GitHub Code Scanning
  • Docker image available
  • Auto-fix - Automatic patch generation via API
  • Privacy first
    • No data sent to external servers during scans (security details)
    • No source is stored on crealoz's server after patch is generated.

workflow-schema.png

Quick Start

Using PHAR

# Download latest PHAR
curl -LO https://github.com/crealoz/easyaudit-cli/releases/latest/download/easyaudit.phar
chmod +x easyaudit.phar

# Run
php easyaudit.phar scan /path/to/magento --format=sarif

Using Composer

composer require --dev crealoz/easyaudit-cli
vendor/bin/easyaudit scan /path/to/magento --format=sarif

Using Docker

docker run --rm --user "$(id -u):$(id -g)" -v $PWD:/workspace ghcr.io/crealoz/easyaudit:latest scan /workspace

From Source

git clone [email protected]:crealoz/easyaudit-cli.git
php bin/easyaudit scan /path/to/magento

Output Formats

Format Use Case
json Tooling and scripting (default)
sarif GitHub Code Scanning
html Visual report, shareable via browser or PDF

Console output is always displayed during scan.

GitHub Actions

Scan & upload to Code Scanning

name: EasyAudit Scan

on: [push, pull_request]

permissions:
  contents: read
  security-events: write

jobs:
  scan:
    runs-on: ubuntu-latest
    container:
      image: ghcr.io/crealoz/easyaudit:latest
    steps:
      - uses: actions/checkout@v6
      - run: |
          mkdir -p report
          easyaudit scan --format=sarif --output=report/easyaudit.sarif "$GITHUB_WORKSPACE"
      - uses: github/codeql-action/upload-sarif@v4
        with:
          sarif_file: report/easyaudit.sarif

Private repos: SARIF upload requires GitHub Advanced Security, which is a paid feature for private repositories. Use --format=json or --format=html with upload-artifact instead. See GitHub Actions docs for alternative workflows.

GitHub Code Scanning

Scan, fix & create PR (paid)

One-click workflow: scan, call the paid API for fixes, and open a PR with the patches. Requires EASYAUDIT_AUTH secret.

See Automated PR docs for the full workflow file and setup instructions.

Documentation

Requirements

  • PHP 8.1+
  • Docker (optional)

License

MIT

Releases

May 14, 2026

security bulletins

Download .zip

update the security bulletins for last releases Full Changelog: v1.3.1...v1.3.2

May 14, 2026

add processor dir as a config

Download .zip

Added

Config-driven processor directories (processorDirs key in config/easyaudit.json): map of namespace → directory consumed by Scanner::getProcessors(). Lets sponsor overlays register additional pr...

May 14, 2026

EasyAudit as a repo

Download .zip

Added

SpecificClassInjection — statefulBuilderInjection rule: flags direct constructor injection of stateful Magento framework builders (Magento\Framework\Api\FilterBuilder, Magento\Framework\Api\Sea...

May 1, 2026

More xml check

Download .zip

Added

6 new XML-integrity processors (27 total):

AnonymousApiExposure — flags webapi.xml routes exposed to anonymous callers without a justifying XML comment BrokenAcl — detects admin menu entries t...

Apr 16, 2026

Results & Fixables

Download .zip

Fixed

Fix-apply: proxy patches not generated: Rule ID mapping mismatch between Scanner and FixApply prevented proxy findings (noProxyUsedInCommands, noProxyUsedForHeavyClasses) from reaching the fixe...