Analyzer::Php::Drupal
Inherits Analyzer::Php::PhpEngine < FileScanEngine < Analyzer < FileHelper < Reference < Object
Drupal 8+ attack-surface extractor.
Drupal declares its routes in MODULE.routing.yml files built on
top of the Symfony routing component. Each top-level key is a route
name whose value carries a path, an optional methods list, and a
defaults/requirements block:
example.content: path: '/example/{id}' defaults: _controller: '\Drupal\example\Controller\ExampleController::view' methods: [GET] requirements: _permission: 'access content'
We parse only *.routing.yml files — a Drupal tree carries many
other YAML files (*.info.yml, *.services.yml, *.libraries.yml,
*.schema.yml) that must never be treated as routes.
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.