Analyzer::Php::Magento
Inherits Analyzer::Php::PhpEngine < FileScanEngine < Analyzer < FileHelper < Reference < Object
Magento 2 attack-surface extractor.
Magento exposes two distinct HTTP surfaces:
-
Web API (REST) — declared in
etc/webapi.xml: <route url="/V1/products/:sku" method="GET"> ... </route> served under the/restprefix ->/rest/V1/products/{sku}. -
MVC controllers — a module's
etc/{area}/routes.xmlbinds a module to a URLfrontName, and eachController/.../Action.phpclass (with anexecute()method) maps to/{frontName}/{controller}/{action}.
We parse only webapi.xml / routes.xml (a Magento tree is full of
other XML — module.xml, di.xml, config.xml, acl.xml …) and
controller classes under /Controller/.
Constants
Http{Verb}ActionInterface markers a controller can implement to
declare the HTTP methods it accepts.
Class methods
Instance methods
Instance-side view of the same declaration. The per-file rescues live on
this base class, which has no way to name the analyzer that is running
inside them, so a skipped file could not be attributed to a tech.
Deriving it from analyzer_for keeps the name written exactly once.