Page MenuHomePhabricator

Improve caused-by lines as seen for GlobalBlocking
Closed, ResolvedPublic

Description

From T247365:

<file name="includes/GlobalBlockingHooks.php">
    <error line="187" severity="warning" message="Calling method \OutputPage::addHTML() in \GlobalBlockingHooks::onSpecialContributionsBeforeMainOutput that outputs using tainted argument $[arg #1]. (Caused by: Builtin-\OutputPage::addHTML) (Caused by: Builtin-\Html::rawElement; Builtin-\Html::rawElement; ../../includes/Html.php +210; Builtin-\Html::rawElement; Builtin-\Html::rawElement; Builtin-\Message::parseAsBlock; Builtin-\Html::rawElement; Builtin-\Html::rawElement; ../../includes/Html.php +210; Builtin-\Html::rawElement; Builtin-\Html::rawElement; includes/GlobalBlockingHooks.php +184)" source="SecurityCheck-XSS"/>
  </file>

It's as long as useless.

Event Timeline

Change 586098 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/tools/phan/SecurityCheckPlugin@master] [WIP] Long caused-by lines

https://gerrit.wikimedia.org/r/586098

r592448 helps a bit by removing some rawElement repetitions, bringing it down from

integration/long-causedby/test.php:11 SecurityCheck-XSS Calling method \A::output() in \A::main that outputs using tainted argument $[arg #1]. (Caused by: integration/long-causedby/test.php +17) (Caused by: Builtin-\Html::rawElement; Builtin-\Html::rawElement; integration/long-causedby/test.php +11; Builtin-\Html::rawElement; integration/long-causedby/test.php +11; Builtin-\Html::rawElement; integration/long-causedby/test.php +11; Builtin-\Html::rawElement; Builtin-\Html::rawElement; integration/long-causedby/test.php +11; Builtin-\Html::rawElement; integration/long-causedby/test.php +11; Builtin-\Html::rawElement; integration/long-causedby/test.php +11; Builtin-\Html::rawElement; Builtin-\Html::rawElement; integration/long-causedby/test.php +11; Builtin-\Html::rawElement; integration/long-causedby/test.php +11; Builtin-\Html::rawElement; integration/long-causedby/test.php +11)

to

integration/long-causedby/test.php:11 SecurityCheck-XSS Calling method \A::output() in \A::main that outputs using tainted argument $[arg #1]. (Caused by: integration/long-causedby/test.php +17) (Caused by: Builtin-\Html::rawElement; integration/long-causedby/test.php +11; Builtin-\Html::rawElement; integration/long-causedby/test.php +11; Builtin-\Html::rawElement; integration/long-causedby/test.php +11; Builtin-\Html::rawElement; integration/long-causedby/test.php +11; Builtin-\Html::rawElement; integration/long-causedby/test.php +11; Builtin-\Html::rawElement; integration/long-causedby/test.php +11; Builtin-\Html::rawElement; integration/long-causedby/test.php +11; Builtin-\Html::rawElement; integration/long-causedby/test.php +11; Builtin-\Html::rawElement; integration/long-causedby/test.php +11)

Change 656455 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/tools/phan/SecurityCheckPlugin@master] Don't link parameters of functions with hardcoded taintedness

https://gerrit.wikimedia.org/r/656455

Change 586098 merged by jenkins-bot:
[mediawiki/tools/phan/SecurityCheckPlugin@master] Improve caused-by lines

https://gerrit.wikimedia.org/r/586098

Change 656455 merged by jenkins-bot:
[mediawiki/tools/phan/SecurityCheckPlugin@master] Don't link parameters of functions with hardcoded taintedness

https://gerrit.wikimedia.org/r/656455