Magebean Report

Summary

Scan Time 2025-10-16 20:46:35
Path Audited /home/son/sites/magento
Rules Checked Total: 81  |  Passed: 38  |  Failed: 28  |  Unknown: 15
Findings Overview Critical: 2  |  High: 15  |  Medium: 9  |  Low: 2  |  Total: 28
Score (Rules Passed %)
38 / 81 (46.9%)
ID Severity Status Title
MB-R001highFAIL
No chmod 777 (no world-writable files/dirs) --- (World-writable files or directories detected. Remove 777 and tighten permissions.)
MB-R002highFAIL
env.php permissions <= 0640 --- (app/etc/env.php permissions are too permissive. Set to 0640 (owner read/write, group read).)
MB-R003highPASS
Webroot hygiene (no .git/.env/backups in pub/) --- (Webroot is clean: no sensitive or backup artifacts exposed under pub/.)
MB-R004highPASS
Code directories not group/other-writable --- (Code directories (app, vendor, lib) are not group/other-writable.)
MB-R005mediumPASS
Directory listing disabled --- (Directory listing is disabled for public paths.)
MB-R006highFAIL
Non-default admin path (not /admin) --- (Admin path is still '/admin'. Change env.php backend.frontName to a non-guessable value and update web server rules.)
MB-R007criticalFAIL
Admin 2FA module enabled --- (Two-Factor Authentication is disabled or missing. Enable Magento_TwoFactorAuth and enforce 2FA for all admin users.)
MB-R008highFAIL
Strong password policy enforced --- (Admin password/security policy is not configured. Define complexity, history, lockout, and rotation settings under admin/security.)
MB-R009mediumFAIL
Admin session timeout <= 900s --- (Admin session lifetime exceeds 900 seconds. Reduce session.lifetime to ≤ 900 for better security.)
MB-R010mediumFAIL
Admin URL exposure restricted --- (Admin URL is exposed (default path and no network ACLs). Change backend.frontName and/or restrict access via web server allow/deny.)
MB-R011mediumFAIL
Login rate-limiting / CAPTCHA enabled --- (CAPTCHA / rate-limiting is not configured. Enable admin CAPTCHA (or reCAPTCHA) to slow brute-force attempts.)
MB-R012highPASS
No raw SQL without abstraction --- (No unsafe raw SQL statements detected; database queries use abstraction layers.)
MB-R013mediumPASS
Template output is escaped --- (Template output uses proper escaping functions.)
MB-R014mediumPASS
Avoid PHP superglobals directly --- (No direct access to PHP superglobals detected.)
MB-R015highPASS
Forms include CSRF tokens (form_key) --- (Forms include CSRF protection via form_key.)
MB-R016mediumPASS
SSRF protections present --- (Outbound HTTP requests include SSRF protections (allowlists and timeouts).)
MB-R017highFAIL
No unsafe deserialization --- (Unsafe unserialize() calls detected. Replace with JSON or Magento Serializer classes.)
MB-R018highFAIL
Command execution functions are not used --- (exec(), shell_exec(), or system() calls found. Avoid OS command execution.)
MB-R019highFAIL
No eval/assert/dynamic execution --- (Use of eval/assert/create_function detected. Remove or refactor these functions.)
MB-R020mediumPASS
Path traversal protections (sanitization present) --- (Path sanitization functions (realpath/basename) are present.)
MB-R021mediumPASS
Secure file upload handling --- (No unsafe file upload flows detected (user file is validated or uploads not used).)
MB-R022lowPASS
Escaping for JS context --- (No unescaped dynamic PHP output detected in JavaScript context.)
MB-R023highPASS
Use CSPRNG; avoid weak PRNG --- (No weak PRNG detected near security-sensitive code (or no such code present).)
MB-R024highPASS
Sensitive data not logged --- (No sensitive data (passwords, tokens, card details) logged in code.)
MB-R025mediumPASS
Use Magento APIs for crypto & session --- (Magento's built-in APIs are used for encryption and session management.)
MB-R026highFAIL
Force HTTPS in admin and storefront --- (HTTPS is not enforced in admin or storefront. Enable secure URLs in env.php.)
MB-R027mediumFAIL
HSTS header is set --- (HSTS header is missing. Add Strict-Transport-Security to enforce HTTPS on clients.)
MB-R028highPASS
TLS protocols >= 1.2 --- (TLS is configured to use version 1.2 or higher.)
MB-R029mediumPASS
No mixed content (http://) in templates/assets --- (No insecure http:// references detected in templates or assets.)
MB-R030highFAIL
Secure cookies: Secure + HttpOnly enabled --- (Cookies lack Secure or HttpOnly flags. Enable them to protect against theft and XSS.)
MB-R031highFAIL
Magento runs in PRODUCTION mode --- (Magento is not in PRODUCTION mode. Set MAGE_MODE to 'production' in env.php and redeploy.)
MB-R032mediumPASS
Xdebug disabled in production --- (Xdebug is not enabled in the production PHP configuration.)
MB-R033mediumPASS
display_errors is Off --- (PHP display_errors is Off. No error traces visible.)
MB-R034lowPASS
Compiled DI generated (metadata & code) --- (Generated DI metadata and code are present.)
MB-R035lowPASS
Static content deployed --- (Static view files are deployed (pub/static and var/view_preprocessed exist).)
MB-R036mediumPASS
No dev debug configs on production (template hints off) --- (Developer template hints are disabled in production.)
MB-R037highFAIL
Full Page Cache (FPC) enabled --- (Full Page Cache is disabled or not using Varnish. Enable FPC for performance.)
MB-R038mediumFAIL
Cache backend is Redis/Varnish (not file) --- (Cache backend is still using file-based storage. Switch to Redis or Varnish.)
MB-R039mediumPASS
Indexers are READY (no backlog) --- (All indexers are in READY state with no backlog.)
MB-R040highFAIL
Session storage hardened (Redis with auth) --- (Session storage is not hardened. Use Redis with a password for secure sessions.)
MB-R041lowFAIL
No dev cache backends (avoid file backend) --- (File cache backend detected. Replace with Redis or Varnish for production.)
MB-R042highPASS
Logs and reports not exposed under pub/ --- (Log and report directories are not exposed under pub/.)
MB-R043mediumPASS
Log rotation configured --- (Log rotation is configured (rotate and compress directives present).)
MB-R044mediumPASS
Debug template hints disabled in production --- (Debug template hints are disabled in production.)
MB-R045highPASS
PII not logged in application logs --- (No PII such as passwords, tokens, or card data is logged.)
MB-R046mediumFAIL
Crontab entries present (Magento cron) --- (No Magento cron entry found in repo or docs. Ensure 'bin/magento cron:run' runs every minute via crontab or scheduler.)
MB-R047highFAIL
Cron heartbeat is recent (<= 900s) --- (Cron has not run in the last 15 minutes. Investigate cron service and schedule.)
MB-R048mediumPASS
Cron backlog below threshold --- (Cron queue size is within acceptable limits.)
MB-R049criticalUNKNOWN
No vulnerable packages (CVE via OSV) --- ([UNKNOWN] CVE file not found (requires --cve-data package))
MB-R050criticalPASS
Adobe core module advisories resolved --- (No unresolved Adobe core advisories detected.)
MB-R051mediumUNKNOWN
Suggest fixed versions for vulnerable packages --- ([UNKNOWN] CVE bundle not found/openable; tried: (no candidates))
MB-R052mediumPASS
High-risk modules flagged --- (No high-risk modules from the list are installed, or they are acknowledged and controlled.)
MB-R053lowPASS
Temporary mitigations documented --- (Mitigations/workarounds are documented in SECURITY.md.)
MB-R054criticalPASS
Known-exploited packages prioritized (CISA KEV) --- (No packages match the CISA Known Exploited Vulnerabilities list.)
MB-R055highUNKNOWN
Transitive dependencies checked for CVEs --- ([UNKNOWN] CVE file not found (requires --cve-data package))
MB-R056mediumUNKNOWN
No constraints blocking security updates --- ([UNKNOWN] CVE bundle not found/openable; tried: (no candidates))
MB-R057highUNKNOWN
No yanked/withdrawn packages --- ([UNKNOWN] Yanked metadata not found; tried: DATA/packagist-yanked.json | rules/packagist-yanked.json)
MB-R058mediumUNKNOWN
No outdated Marketplace extensions --- ([UNKNOWN] Release metadata not found; bundle root unresolved; tried: (no candidates))
MB-R059lowUNKNOWN
Advisories handled in timely manner --- ([UNKNOWN] Bundle not found/openable; tried: (no candidates))
MB-R060mediumUNKNOWN
No extensions without vendor support --- ([UNKNOWN] Vendor-support metadata not found; bundle root unresolved; tried: (no candidates))
MB-R061highUNKNOWN
No packages marked 'abandoned' on Packagist --- ([UNKNOWN] Abandoned metadata not found; bundle root unresolved; tried: (no candidates))
MB-R062mediumUNKNOWN
No packages without release in > 24 months --- ([UNKNOWN] Release-history metadata not found)
MB-R063mediumUNKNOWN
No packages from archived repositories --- ([UNKNOWN] Repo-status metadata not found)
MB-R064mediumUNKNOWN
No risky forks replacing upstream libs --- ([UNKNOWN] Repo-status metadata not found)
MB-R065mediumPASS
No wildcard constraints in composer.json --- (No wildcard or 'dev-master' constraints found in composer.json.)
MB-R066mediumPASS
No dev branches in composer.json --- (No dev branch constraints (dev-*) are used.)
MB-R067lowFAIL
prefer-stable=true in composer.json --- (prefer-stable is not enabled. Set config.prefer-stable=true to favor stable releases.)
MB-R068criticalUNKNOWN
Composer audit clean (no known vulns) --- ([UNKNOWN] CVE file not found (requires --cve-data package))
MB-R069mediumUNKNOWN
Direct dependencies up-to-date --- ([UNKNOWN] Release metadata not found; bundle root unresolved; tried: /home/son/sites/magento/rules/release-history.json)
MB-R070highPASS
composer.lock integrity with composer.json --- (composer.lock is in sync with composer.json.)
MB-R071mediumUNKNOWN
No abandoned libraries allowed --- ([UNKNOWN] Abandoned metadata not found; bundle root unresolved; tried: (no candidates))
MB-R072criticalFAIL
No secrets in VCS (working tree or git history) --- (Secrets detected in files or Git history. Remove, rotate keys, and purge history with a secure rewrite.)
MB-R073highFAIL
HTTPS-only endpoints configured --- (Insecure http:// endpoint references found. Switch to HTTPS.)
MB-R074mediumFAIL
Debug/verbose off for third-party integrations --- (Third-party debug/verbose logging is enabled. Disable debug_logging in env.php.)
MB-R075highFAIL
Webhook signature validation present --- (Webhook signature validation not detected. Verify MAC using shared secret headers.)
MB-R076mediumFAIL
Outbound connections restricted by allow-list --- (No allowlist or timeouts for outbound requests. Add domain allowlists and cURL timeouts.)
MB-R077highPASS
PII minimization for third-party flows --- (No direct handling of sensitive PII (e.g., full card, CVV, SSN, passport).)
MB-R078mediumFAIL
Strong TLS ciphers on upstream gateways --- (Weak or unspecified TLS ciphers. Configure strong cipher suites on the web server.)
MB-R079highPASS
API keys stored in env.php (not in DB/plain code) --- (API credentials are stored in env.php, not embedded in code or the DB.)
MB-R080mediumPASS
Third-party logging sanitized (mask/redact) --- (Third-party logs apply masking/redaction for sensitive fields.)
MB-R081lowPASS
SaaS integrations scoped by ACL (least privilege/IP allowlist) --- (Integration docs mention least-privilege scopes and optional IP allowlisting.)

CVE Summary

CVE checks were skipped.
→ Provide a CVE bundle via --cve-data=<bundle.zip> to enable this section.

This report was generated using Magebean CLI, based on the Magebean Security Baseline v1. Findings are provided for informational and audit purposes only.