File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2020
2121namespace Phing \Listener ;
2222
23- use Phing \Phing ;
23+ use Phing \Util \ Regexp ;
2424
2525/**
2626 * @author Siad Ardroumli <siad.ardroumli@gmail.com>
@@ -30,6 +30,7 @@ class DisguiseLogger extends DefaultLogger
3030 public function messageLogged (BuildEvent $ event )
3131 {
3232 $ this ->maskUriPassword ($ event );
33+ $ this ->maskGitHubTokens ($ event );
3334 parent ::messageLogged ($ event );
3435 }
3536
@@ -68,4 +69,18 @@ protected function maskUriPassword(BuildEvent $event): void
6869 $ event ->getPriority ()
6970 );
7071 }
72+
73+ /**
74+ * Mask GitHub tokens.
75+ *
76+ * @see https://learn.microsoft.com/en-us/purview/sit-defn-github-personal-access-token#pattern
77+ */
78+ protected function maskGitHubTokens (BuildEvent $ event ): void
79+ {
80+ $ regex = new Regexp ();
81+ $ regex ->setPattern ('(ghp_|gho_|ghu_|ghs_|ghr_)\w{1,36} ' );
82+ $ regex ->setReplace ('$1***** ' );
83+ $ maskedMessage = $ regex ->replace ($ event ->getMessage ());
84+ $ event ->setMessage ($ maskedMessage , $ event ->getPriority ());
85+ }
7186}
You can’t perform that action at this time.
0 commit comments