Rampart PHP

Standalone quality gate for plain PHP and any framework — PHP 7.4+.

View the Project on GitHub thiennhant95/Rampart-PHP

Rampart PHP — Tiếng Việt

English · 日本語 · Tiếng Việt

Quality gate độc lập cho PHP thuần và mọi framework — Slim, CodeIgniter 4, FuelPHP, Symfony, Phalcon, Laravel. Tool chạy trên PHP 7.4+; code target chỉ được parse, không thực thi, nên quét được mọi phiên bản PHP.

Hệ sinh thái Rampart

Dự án Phạm vi Repository Tài liệu
Rampart Quality gate Laravel (Artisan) GitHub Pages
Rampart PHP PHP thuần + đa framework, PHP 7.4+ GitHub Pages
Rampart WP Plugin/theme WordPress GitHub Pages

Cài đặt

git clone https://github.com/thiennhant95/Rampart-PHP.git
cd Rampart-PHP
composer install

Không cần cài gì vào project đích. Rule custom chạy với 0 dependency của target; các tool phpcs/phpstan/phpunit/composer audit chỉ dùng vendor/ của target khi có.

Chạy nhanh

# Quét bảo mật
php bin/rampart /path/to/project --tier=security --fail-on=none

# Xuất tất cả báo cáo
php bin/rampart /path/to/project --format=all --output=reports/rampart

# Xem → baseline → chỉ fail khi có finding mới
php bin/rampart /path/to/project --fail-on=none
php bin/rampart /path/to/project --baseline-generate
php bin/rampart /path/to/project --ci --baseline-file=baseline.json

Exit code: 0 pass · 1 vượt ngưỡng · 2 sai tham số · 3 lỗi nội bộ.

Framework hỗ trợ

Nhận diện qua composer.json và marker; ép bằng --framework=.

Framework Nhận diện Phân tích route / auth
PHP thuần fallback thư mục PSR-4, template, public/
Slim 4 slim/slim routes/*.php, ->add()/->middleware()
CodeIgniter 4 spark + app/Config Routes.php, filter auth
FuelPHP fuel/app before() trong controller + parent
Symfony config/bundles.php / src/Kernel.php attribute + YAML route + security.yaml
Phalcon phalcon/cphalcon / app/controllers routes.php, ACL beforeExecuteRoute
Laravel laravel/framework semantic index đầy đủ (route, middleware, policy)

Các analyzer chỉ dành cho Laravel (BAC/IDOR, mass assignment, CSRF, Blade, migration, route validation) chỉ chạy khi nhận diện Laravel, tránh false positive trên framework khác.

Kiểm tra gì

Bảng đầy đủ: README

Báo cáo

Format File Dùng cho
console stdout Terminal
json rampart-report.json CI, tooling
html rampart-report.html Developer
md rampart-report.md PR comment
sarif rampart-report.sarif GitHub code scanning

HTML có 3 biến thể: --no-remediation, --client, --all-variants.

CI

- run: composer install --prefer-dist --no-progress
- run: php bin/rampart . --only=custom --ci --fail-on=error
  working-directory: tools/rampart

Thêm --format=sarif và upload rampart-report.sarif để hiện cảnh báo trên GitHub. custom không cần vendor/ của target.

Baseline và giảm nhiễu

php bin/rampart /path --baseline-generate
php bin/rampart /path --ci --baseline-file=baseline.json
php bin/rampart /path --min-severity=error --ignore=ROUTE_MISSING_AUTH

Suppression inline: // rampart-ignore RULE_ID hoặc // rampart-ignore-next-line RULE_ID. Alias cũ quality-checker-ignore vẫn được chấp nhận.

Hiệu năng

AST được đọc/parse một lần cho mỗi file mỗi lần chạy. bin/rampart nâng memory floor CLI lên 512M; taint engine có thể cần thêm trên cây rất lớn (php -d memory_limit=1G).

Phát triển

composer check   # phpcs + phpstan + phpunit
composer smoke   # build/install archive, chạy binary đã cài

Tool tự dogfood; self-scan 0 finding, kể cả khi bật toàn bộ rule tùy chọn.

Giấy phép

MIT © 2026 Rampart.