From 55b7fe5fdc78870b836c3bff0300da643982ea0f Mon Sep 17 00:00:00 2001 From: Martin Linzmayer Date: Wed, 29 Apr 2026 23:37:47 +0200 Subject: [PATCH 1/3] feat: add signature verification on startup --- .github/workflows/phar.yaml | 14 +++ agent/src/PharSignatureVerifier.php | 86 ++++++++++++++ agent/src/sentry-agent.php | 10 ++ agent/tests/PharSignatureVerifierTest.php | 135 ++++++++++++++++++++++ bin/sentry-agent | Bin 1834326 -> 1793365 bytes bin/sentry-agent.sig | 2 +- 6 files changed, 246 insertions(+), 1 deletion(-) create mode 100644 agent/src/PharSignatureVerifier.php create mode 100644 agent/tests/PharSignatureVerifierTest.php diff --git a/.github/workflows/phar.yaml b/.github/workflows/phar.yaml index 6a5fdca..c033ed2 100644 --- a/.github/workflows/phar.yaml +++ b/.github/workflows/phar.yaml @@ -55,6 +55,20 @@ jobs: - name: Test PHAR run: php bin/sentry-agent help + - name: Test PHAR refuses mismatched signature + run: | + cp bin/sentry-agent /tmp/sentry-agent + echo "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" > /tmp/sentry-agent.sig + + if php /tmp/sentry-agent help > /tmp/sentry-agent-output 2>&1; then + cat /tmp/sentry-agent-output + echo "Expected the PHAR to reject the mismatched signature." + exit 1 + fi + + cat /tmp/sentry-agent-output + grep -q "PHAR signature mismatch" /tmp/sentry-agent-output + - name: Commit PHAR uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9.1.4 with: diff --git a/agent/src/PharSignatureVerifier.php b/agent/src/PharSignatureVerifier.php new file mode 100644 index 0000000..dac571b --- /dev/null +++ b/agent/src/PharSignatureVerifier.php @@ -0,0 +1,86 @@ +getMessage()}\n"); + exit(1); +} + $vendorPath = __DIR__ . '/../vendor'; if (class_exists('Phar') && Phar::running(false) !== '') { diff --git a/agent/tests/PharSignatureVerifierTest.php b/agent/tests/PharSignatureVerifierTest.php new file mode 100644 index 0000000..92b0d5d --- /dev/null +++ b/agent/tests/PharSignatureVerifierTest.php @@ -0,0 +1,135 @@ +temporaryFiles as $temporaryFile) { + if (\is_file($temporaryFile)) { + \unlink($temporaryFile); + } + } + + $this->temporaryFiles = []; + } + + public function testVerifySucceedsWhenSignatureMatches(): void + { + $fixture = $this->createSha512SignedPharFixture(); + + PharSignatureVerifier::verify($fixture['phar'], $fixture['signature']); + + $this->addToAssertionCount(1); + } + + public function testVerifyFailsWhenSignatureDoesNotMatch(): void + { + $fixture = $this->createSha512SignedPharFixture(); + + $this->writeFile($fixture['signature'], \str_repeat('B2', 64) . "\n"); + + $this->expectException(\RuntimeException::class); + $this->expectExceptionMessage('PHAR signature mismatch.'); + + PharSignatureVerifier::verify($fixture['phar'], $fixture['signature']); + } + + public function testVerifyFailsWhenSignatureFileIsMissing(): void + { + $fixture = $this->createSha512SignedPharFixture(); + + $this->expectException(\RuntimeException::class); + $this->expectExceptionMessage('was not found or is not readable'); + + PharSignatureVerifier::verify($fixture['phar'], $fixture['signature'] . '.missing'); + } + + public function testVerifyFailsWhenSignatureFileIsMalformed(): void + { + $fixture = $this->createSha512SignedPharFixture(); + + $this->writeFile($fixture['signature'], 'not-a-signature'); + + $this->expectException(\RuntimeException::class); + $this->expectExceptionMessage('is malformed'); + + PharSignatureVerifier::verify($fixture['phar'], $fixture['signature']); + } + + public function testVerifyFailsWhenPharDoesNotUseSha512Trailer(): void + { + $fixture = $this->createPharFixture("\x03\x00\x00\x00GBMB"); + + $this->expectException(\RuntimeException::class); + $this->expectExceptionMessage('is not signed with the expected SHA-512 signature trailer'); + + PharSignatureVerifier::verify($fixture['phar'], $fixture['signature']); + } + + public function testVerifyRunningPharSkipsSourceMode(): void + { + PharSignatureVerifier::verifyRunningPhar(); + + $this->addToAssertionCount(1); + } + + /** + * @return array{phar: string, signature: string} + */ + private function createSha512SignedPharFixture(): array + { + return $this->createPharFixture(self::PHAR_SHA512_TRAILER); + } + + /** + * @return array{phar: string, signature: string} + */ + private function createPharFixture(string $trailer): array + { + $signature = \str_repeat("\xA1", 64); + $phar = $this->createTemporaryFile(); + $signatureFile = $this->createTemporaryFile(); + + $this->writeFile($phar, 'phar contents' . $signature . $trailer); + $this->writeFile($signatureFile, \strtoupper(\bin2hex($signature)) . "\n"); + + return [ + 'phar' => $phar, + 'signature' => $signatureFile, + ]; + } + + private function createTemporaryFile(): string + { + $temporaryFile = \tempnam(\sys_get_temp_dir(), 'sentry-agent-phar-'); + + if ($temporaryFile === false) { + throw new \RuntimeException('Failed to create temporary file.'); + } + + $this->temporaryFiles[] = $temporaryFile; + + return $temporaryFile; + } + + private function writeFile(string $path, string $contents): void + { + if (\file_put_contents($path, $contents) === false) { + throw new \RuntimeException(\sprintf('Failed to write temporary file "%s".', $path)); + } + } +} diff --git a/bin/sentry-agent b/bin/sentry-agent index d2553d15d6895032bc39c79c918cdf101e087b43..3f8f026521f7fc03fe25b166b2efef0d16fd1941 100755 GIT binary patch delta 21964 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

J*FNf=)4oy4Lb_c)p)FYVQr-u2B@RpA`DRB>5tl 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 Q11jxJH{CRR$e1Dj2lI Date: Wed, 29 Apr 2026 21:40:12 +0000 Subject: [PATCH 2/3] Add PHAR artifact --- bin/sentry-agent | Bin 1793365 -> 1848802 bytes bin/sentry-agent.sig | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/sentry-agent b/bin/sentry-agent index 3f8f026521f7fc03fe25b166b2efef0d16fd1941..07aea359867c745be4d836f2b9df2c551f2e28ec 100755 GIT binary patch delta 50054 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 U?3Xo7-`IZglb>94!K4fR8{@%NApigX delta 20628 zcmbt+2Yggj_OSD&zc=MgNoJBvk_jXsJ<}%>NFlV)0|byFWGVzmAq7-Gz%C#JuH@Jd zblr6om14O90>O^bbXP@K1$1pFf}(%RB7Wz+nFMrqzyJ69ef*Sj-@WIad+urX+%kOp zRqMOEo3`^3Ue|ujHC>Wxt}$G5%{2(FA%1y2|DE)jYgWAX!dwB`+MHuZtGq<^KdV#r z6SXFrKhMNl1$dzR`Pa$U@+^|UsmX`BT#1dWR9neWeWoN^Ed7NYAjuU=h+%DQZ}XJ2 z&TTEgp@abhc>0e0DzcIjNF?za*m#2ge|d_}B7<2^N~b`+0{oIdoT>mMyTXw2ZFw9`fV-Ez_EaxgO&{6@bw7SvLSh0uI5g*HGEX^*pOg~sD!{wn z4gW;4RKrrX=Ef@pcrNYl^LyzH?xRO8D6>)qCUh*o^0aIJ+KYB&SVZIDtwAWfX$f2b z25l?DBvo0>FHpqC5#Wv2Wd4kE_oaN88Lt#z-Yx$)*h{q^4sM0LZ^*R#4@Gel0p448 z@kdf9%NqD{Ld637;l$1N_x8ijYf3^b*O#`pg-b_{7i{M~KHgt|nclm1liku{es@AV z0vxgVt{l=Mv-6BGjwwLt^$Xr6OQj|Js)Y3laOjOgI!Pr~Zj{F{1-So}e|D1#GB1B9 zK~sRb8QZ0#3u!*5i(?9~AmiEF$xK-`zY)0<%vpfG{r=PBM`<>{Cm}QezVy|dK+cY- zCUbcW=^5i9T`i^LyrqV`F;PRdT82uBNrpC`M0A;Cy>`Mg!!%agbO+3T@fMo0bX7E=vvMe!G=?ncat( zM0l*YVQw6ASxR1SFF2AR)sO*MRlByAe&=NK%QImPE-M6#o@ zmrK$G+M?l;I$k3SKlj8zvVMk%j50Zh)Hso38*0f5hS6lQae}C=%f=+A%a@wT7K4@i z#dsgNIoX8>dZITQ$y-SUWW9MU`5`F{8dNel950pX$cCi2woaOpNL5mfC=+#9x6_TGxPAIQl=wcn5;-*_y%*0sAZx4=R&EGJZ7?@=oT)@BKta`l5#9L$(Tji zXo(tfq%#-xK8B+`(P<^S25QKMi$;^j7MjSm4n0&qCLKU_EwUys$A~PHbPgiZItuxp zwQ=zXFkJiM3uHn^8d=t6Adj{`hZIV{u~3#qRIOJ02$DAjXh>0OKe(<%W+GeLtYqlI zFv$;S$kDbsqG}VdmC#ruO(KU|7h_EbF-pj|RxftX2HR$74w>6-CH9m`iHBsRpx0P= zvenv2oYv8}I!OwxWaF4ja;-a+j2lxztRvFll3J?ePq^c33UGR1la&PLn8;HjjIeeM z+IeX|E15ey9gdBaWs($UCDe^W@tKS7nTwAoz{tF>c9Q~cE*bAsB1RHljSI36QUo}zblhBWc2ExV zY>;YTbws8i#vy`prwcVIvb}~QA6C!gAF{;z2(WUUw~#zM)kH?uWSE7pIV-VL3GkDz zR<9Bn61zV#q(Ax89j67A8>LzN_Cz!m;Q6~(R}#a}5&Z77ICTLox?M7j%pE#}-(ikd z3NYo&fwiPzxX7l+6m088(Mg6{$@M5797_$Bu*^s{R$Ix4e(7*JB1x(K=*7W3;(L5S<~R z3ju!qz*A~c)lcZJh0}v&YO)ji2^^-+lBJXPMq>bTr;}qo8~l1Zt0o_p+eE6zd>nE3 zb8*P2l2K%WZvZ$Z%e17W+=VVcNVZGG<^C$;uPvz`?1TrOAA=GtPqmAG&dak!Q6=$m=)r0ae1f`QL!O-?(1d zDzZDb*FY`lLl(4z=a0qz1tYoF6lYq1_rI_BzAt`=ES2PDChU5UXu&JS%ap`EDv#8o z30}z4z`Pb|Hu-B|J6c0JRM*N<;e4l5OZMamK^4uv4J~wLakgNxLbC~)7D@FfzYK^E zDnO?BQg?6KG?*MH%qJ-YZqdXA`p4Q)k>!b?BtZ4g##cybe&dG18N{ET57li_JO5x} z5(0c;-eW+PdUKGy5$K_k!aQi`#8u*p0;?GBkfm&LpxBBrSVJ_0>9BR7G>hyi5@jm* z9@$={;y+QxITYX{t4cPAVJ9(r6}f$cjr1?6AfJp#CtV|z#5krOY9xd36>{=zg^=m= zhvi*THUF9~PDX&&uDfY6nNT@Kh#_Q4MKZrL!L#5I zl4b$E{oc|_GJj+(xmcUWzr82Ur2sdNySSDF2j!5=VY!&jxOkFqKmmSn6RZ`Z{Z@BB ze*MUJF9Fuws{ch0Ice~yh~CTb-)Z8F0?b#>&LKY)h>fs$f=mmSZ^G>F9gh&u%K6*` z-vX3rM;#Z#W`oDVU!M?x09Q^n=b)7=Ahn|^iF;(VsLInr6;Kq#@O-&Su$2LDX`VEd zGz_p}T$zHBeLS9b6dK{7Y8lVJ*gwvb0BbAWx`_IlAS(CRNHtkJI!BPdU{KK0C{^({ zC3bQGd{?HllRZOA`O`z8KGOJw0<*6nV&*r0S`w+4 z)*o3JMsBY&kl&{2Nzb%GVx1(G;kPQBz;)Bp(Qo@I^dxnWmI09XPLgp+~d+7oz>0U61oW=Qzl}^mSZflOu za7EKV(lOObz8kk1_#By;oEwkb$2-Wf@kOL-TnKv_NLRg@9G%jSG=_w-hRm)TfZ|Cf zMUzWW!lOk&3iV4S6p%Nu`XobRDQ%R!h{8kODQPn zcP3bot#mkFiwhE&G*#4?(7K`)v&-$`u<7K%`a;x4lQ5Erq+;dVnc_^Lx*u}x9*5a5 z>H()NRPbcu*qp>DYN#8Ha=soh8t23@utG(~jLpPhQ-xL)Y#D=+KQ~sGKIWrSbBVkT zcOJMexiqDW{5@KRavDkef&oS}WLq>RZdF)ri4?~T3d@&6{ly^=2YwrmDOY*KN(M(K zkVWBiXqkX%mo^W1eJ?T}YbKJc@MMXVd^^)jUJ7N3_RG&wk*|YpQN&n=gKA97KEKW? zjx02ex~>_uIuu7wfq%H9DP%$@J}aS7ecfP4b>TdY&x{)jKMND#V6kY%Lb<2Gi9#Bm zAg_Z|Eeh)4*?q`xlU9~Q76z@70J3Eztqlq?Xtq!EN}>Pbvx=~PCj49`wUVlaxWixr zJnh3#sigM(&H*FqJ}!QqMupM6<1$$HDo@Xd;{D#aXGEry|qlpj-M!2!sbtzC=Sq4on`^f$8fOP%Un5=K7 zZXILBV>z%lOO@SsGn%U~SSY!hY5rZszPp*$-&NGDW#+~!%y49_$d1S>mQ^rt9W%1G zaY-dk?7q^(i12hJV}K{uisQXq$>f5ziy4ua^V}*%14@Dj8@iYbvCB}Fecc(fhiCxGvQwwn1P96#t`HsM3}NG->L8}VJZ^e z?t2(Nus(6B+dpHHAeWWqDryJVD=O_Uft6-}&ChUgWTjZ^ae&s(q$VaCuX6=pMH!O^ z3;axR99N#8V30cCm|of+mR1O4MD1Q_^T9^}WPN!V^K`sTR5S-aRx)|Lr?^@1mZfoU zMeWyJRbhrV%9*PxZn>&a)U5>$mosiC8YD0%aFHN{TDFQ!j~s2NtjBHyKV< zqh&O#XKb*hoZ+uDTZ9(0ZbUB?is`U;Fq55VN9~8jqNsBXjH~HWtf+We!wgTf<2U-K z;Ar&GA&g9d+&wXrnI`j;muExPM4YB=7!$zSnU70{ioUsVmb3y^xCOP*9Zu$i&}E%e zngs7N(my8}go-<$1$`bH^JUWOp}~s+{iUCcqeF@rs|<=Ckh8Gj9})p!_IOD@1P3-r zY|s^yXyB^{CHku>SQx!oqNWq4Nd_wa9om^HN|EXcec*&6e(C}XdfWl1@LwwkD zn6assr*wF5lcYaR7Wuml{pFAB8fi`rV^YD4CzOW&GNbqe{tNx$tEWqG{(2eg{j%sk*ELsFa)|H!6;f0o>yi`-&M zxinsxPru7#N)sR1bm)7M5ek)O=8%@A)|PfSlg*eB?^~(V40frMh0`EYXlgr~LY;GJ zTCVr_P%{UZO3=*LtKggCj1u;|#N^TGFEJljV6_C}?1kf~+i}w+IIT+qd})L77ln~WuA!F?emv~y)LIS7>b3Xu<%Ky z9QHkcv0&r9%tDD*V8A5xlz0U))&Y)aG!XSW{O&-^>2ii#e&nGn zm(wfGAs~>^!HIh@SZ}|NX%f^a(CQON$mjL=z5Ym<-|g@^d@fhm<@EVtUT-ku@$9b~kc|C!s(-({SB2l*|R2FszqfvjzgX~3}u5d8u z^}1s2a5U0KXH8r-o`h`joQ`P3>-5ATVRtML@;hT?!GJ65_4$LbXwc;hx?;Xq&>4;O z5zvA4L0sN`dJq>+Cj>X)5)*omu?&c!COl=4F!n{@@I(VH4+KIikTbx3?@@=8O6K{+KuBbUMSH zV94QihMZx)&l8RlP(I9zfEkbAS|S*Y3`xbUCeI!8g#tm3D;z0{mHGY7P{iX3cq2}C z)ah}d{rO|=NC2DTWHSE5EJ1mQTJ|D4qS^b(+)lJvS1eW*b_sUlDRbe6KN$9gQS(u> zy+AM&!ES<3@*ZXGVNk<+|ALE_7qUJq*#|6&wzW65G>hx^0H>n_rS5|Re`b;g zxT3C@6Rjf{bfNWleCU^DflxH)_j(+Duh)TE3%P>9_ymzSN1uO^*((M6Zl);D6$yDA zPDjuqI#M(gLvM1F`GbD!7WATo!cK?F?HAo)2xWILo1_w#sB1w?&!e6KXq;tbD3VCP zA9e|Vg}fL>A~BC3#DL2k z@I@R>r!N?d_{svYfZLCHM6nKmuXZs;dT=*$t03Ei7m6Nj$#X;<5ez|5XUye@L{X+_ zAI^{isrX%9f7laqM*U@hpc4-4V+KRgUQ9B6*~_$oWS1CT+}&bW@VGpYSPY%DEaq^P zp>d+S#E>F}IBx_^*69dEyqT`qxaqjdzOr9$qk0%ODs?sn0jaA5J^4PgDz`rx3F3AH<4P38fgHQTA&l_RvQWtD3WrcqK^!1% zRhk1#9ndU^xKXH)6w^Hh$wncCz|BqJGq+!C!puo1*VFkLNmN)k@uMH@aY#-HE57gn zPpO4ugzi>LW-z@77MY|?j+Kb;pafcLdIu<^rhbyUbaAu{Xw8yfJ|~dLpck}~m=xyo z$$7MOhM~WVt~D5TkA#ZxdL=B!tqmRb3A2@fZH&|;?2PnaFsA0w44ooLMu}1pR#4j| zVS{wnOm#L?f5s@N`7E>#T2b9(H)*9t?df>ZN$#nE6)lfT}DObG+t*Oca zx~x#KHiKTfOjT^AWlrT71FYU9=jfPsl*jbYGf!oQub)+NwE7w48VPM>R0oap*w>0| zWxV&74=6Y4x}Q;&(C?p7w5AG`25}s~am;k)YUNBB-84{jiw=GpsnF0>Pbhb*=xys& z78xL!6#AH7RW60PROKjPTn+tZo$_NYPN8&=NAxn z!)wE>Ci?ji#h2+&anXgF;2w7I& z-49+arO@UnvQO1?Kv1?=0X-l!Qp;S~K}OYkbpcuRvH{|ih`P6GJ{Wv5Gpw5@Q_$1% zWREfQ>n0hd((t9UOA0S5&<2xz%rxlwtJJjdX*|Pv;WI`{KUPZLx{jvJk)G24veh59 zbxK`uXoRc)w%jGv0>4OVru{mlkFvCWg><@DIJI1ssqmCI z1Gp##ZC9t2LiaJd4n-W&<$_jB%44x*2$Jj zC2la>CCh>p`!IScSIE-y9N};v5^=IIkFW)1_FWBRyx3e`tgw26-m!Stu{h zp&xuLuaH6dDS3Zt`AD86ppODw#Isb=pC1BA?8y=9K<6!gS(lppoo%RtePP2Wk0lvhR zMt^YFZj;bJi7iP&?{(W42A*))z7g8;>5VR1hD0d#rwdDMjS_0kvt5$ImLX|IKoWL3 zNozYJr(TooCq+E!90{gHx59;CX#q+Hr&Td@+Ss)3B=FEJYBgjIPh-JSo0dYWCZ?q_ zkUl(3L#K>R`&vS$)u+8Hfzq*QCW^JWayoi^+EIp{8j@CsQ<{>tg`>6sLL77(6-o)c z&#Y)S(tENM8VQt}6q5i0V+Nh7HRQ_ZXwLAB1cIY@4{R^zWpH7xJ{?-usg>~b?JNg& zUdzH5UYiVi*Ym}2_!UkCsT=sup!jbZ6?GDRij+Rv&HE*E(7pUy63A%Pb6~oke_0g{ zE?5u@Er`-{_w%=z(%XXznuEXV5>t!1plp&|dy91IO*UblBU& zr+~LstEU4G@OR7Nm0!QgC()^|@tY-(_X?i}fkV7mXvs)w$II-t8|vGF;b@UPI~1HV zCpaexJKo|m;r@d-a_AtR1Mk{7Jxu*hV}fT7@dYsIARmB>hxl8W*-bF`2%ioc5A!2w z_y}Jq5vjs!NBPlkTeiHAw60Om)}yL}dOE(1U4XH9Fsp!>ZLAL7+{>Bi^D)+>p<% zB`NG##BPG-#cUL`29}4vxikaR$WL2zPOzf|&it9phS}@z?b!;03Qx#K>ecX}TT=qO zk2OHo9!;1oyPj>9&~rDi`z7@0CG1`aG%aJ_Qx;do7Ie1H1?PBu1&nKBG2L0j_JeUD zEIqk_w+dq_>BT8*1|Ed1va+D5FsNuj1N(zSz|=w4VD?+sQo|YrOa+{;VR?2UW;HdP zu~@VX_&uBzS}N2Ua1UW)aM@typw*~VsIQwdmqM0R^?uvu&sOYw2Us=WLwM1&LJs|Z~|6^(Rc zBo7{*Ey;r0dg3N5TD+1Q87Z>o#s`3J4@r`Md5br}?AQ2y@XL8M3$tpqD)tIlki5kw zL)Dw;YP&v3#&u}8Rwffz6B}4T0CC2^IWILAc8+7GF{K4i{UK`u&dza^8;`aITi#VE zlA59&ZH?jf;>uREvb^m0Cro%no&j}bdIiuRn+p77G@o}Tur+Xc7@Gr`0euooo5+UX zU;T_~SaDii2;2H;E!6bBwo?WbC)Fmff3A|zV})A04OlV9Y=mnyMs4?LqYN4*Dpat& zR-3LvK1Hdt2HVh&p>Dd)O13;J>t9^CxUpkyZ8R8(w&e{-cr|ABh+h+T@jTe^iP{YO z*)%i#+emGU$-(f_8;#mKTU*qSZg_<-t@+4=2K$|8X#yrWT)Au)O*BjvJ zLM;b-%6TVsf1}k%Vckij{;w%o9UQJfr@qj}^^d#vkr+ z)9Z}TrPr}AX|^^Ajs~^G@aPCUn>{^StC!kybHVT@bi?BfTAR>83BI8AH37o}Uxl>k zkQ>6qz#Z0RLnNd%L&JQIg;6nFCAvb|8d(0YNk_j4X^Ul`U##{BT4hCs>8VTFU-)Ge)1f zE(OLxrA+}DIXWfH@2@+qf~N&<8TYOBc3h%&X|?pVe%dco6pIfg$L#}6furQ4c8ig| zkfD{x=!-|Sqm-ESXrD4b-BFC|OKUha-296!3%-5^J<3spR`uI2y4}ifXPf9x2mYn2 zfGxW<^>DBRP4mDd-ScqIN(B!+H!w;zfmPcXf^UD-{T;UCN>Jz5vP#Hj^^;-C^{nn{ z9LY`EEXepxmj*pYq)O--#-(o@u8(Z!QoyWVbvme%V63==&*8ylQmUkLk*wiH-6;6= zGnEn!omK~g+#?AxYLN5ejd~OP`9|FbJRGmXETC$QZVtwU0?b#o5S06iD|i*1v0itB zH=abCcuiLrFLAG<9SJT+>tEOXNddO?szmrXWK?T$o2Ay#Cr#>C6!3vj{i^Vn8BTqv z=D>PZt$A#gO)Y_YeP$c*gLoC>6ExIg73w7TfR!YJ-mlA`_h+bw$-wqj5=X!7r@kPC zr)36~9v`4SqkwtUtOtZ~D30^Ig#P>+KS~Kz3pqQz{3eIn;uR*f0jd{rTDof)S0|x% zM$;(){hQng;jezsdMk$BFL!fi7$HO&Vbe~uk?MV18fBm7PRXG41&th97IFsIRHWnR zoCmqb^?wX7jwiW`Q27)$#w@HfvlG#Kc6(=2Q?Ts@=vk<-;44~;RChhaosdyXQ+6wa z(bDLxw{kVcKax{7b1C$Sdtw~<114>r!!5zA_jlorV)vm^TK^mO z7z5*s=u%q_aj4Z}L7npXkGS_VaD9$d53ON|0``1`fhPJ5`lISAG=xVdno{VOUvcwI zFm@rgjvCsyEGca46|biI`%hpHxt5^ApJY`wTDXuqDb!}-;GGFf|P z5fx|Gh>9mAjF@fy=ntV8(CU9kgpXw@(JY-NdnUvs81fgswTNyC)gy zcCwieSk4}#$F{It22d601_A#tD~GO~oOWZW;i|lwVj4bP4YLQM8(iLiOKE)_nJE*va6?#1ON6i&_pV=4mh;sKlUsgs>Lqx)dL$AEeyFE)<5aLzN^o z9UL7h4RoC_DPjC3b}4P$$VNEYu#BBFwc`}-LfbC{rQ#Eo|e@LEApB}^>#@$5? zZY<7?RV!&jSbf$+8;7Y^V?ugJgPuD~odw^_RI~JRpSoKH*u=rhU#d;y!Nnj?xztigv z1|4|thriR9l;~O0))<)+Ev=i|I=Q*AqqOgUL3l>je~hy%u`?Rd(s~0jF}K5>7tXi4 z91c%0CMCf4wD@es~4&jiX@T5$~&1cV&P$hVuV;298DW1 z7S=`6MwxNo`r2XkN#lptPaQmQSP4#|6ds<58hu1-%O7H|4t93TZE3R)ZE0$3ZVcP& zJ41LTY9ADdf0uNK-_;#0CE=E)N})F!7IUsX@c`bCTBOY_i{aZ%T!u|Z@cP>FvZKwy zRU~?7sT*xR;a76H@44i?re%; zCfiFa-(F?Ui!EpgcI4Z8>6hDkTd}dJG2GVD(byEt>uBqY=G)8TS^xT#3KQ_hr5MRi zD3zr8MP4Q#!NWPYMqF7Wdq$dV-D{O9Nh5U4!(?R39SSA%m~0AlA78M3u^|asovcB* zAR2AW%Wj7QX3Xt>PXtbX!>SZ<1o(DRvIRG_eG@CJu;(>43p0SXJ8(zPdNxT(=(-Gb zXM4OyCrr4A+nnE%Wcym%h1~`UZ;wQ276gU#vOC-DrFOg&5dJ{cT)c6t)N>$On)xb&zo1=~3X+&Oj ztfj3f*ii&4xAI9){~cbT@e)R%LbbJb1e;pn?SHEA5ObMP#*5!*FLBBpS1Hf>J5soZ z>+3BHq@UCDyY~ODp;G@q?CQZ5z9>(PhsU1hq;knpSTP@0gl*e&N;u|Xcz$l1XtF5j zadQz?29QbvL^ z+gsbv{9<_naw4LR;>LJo7(8@oZik>$ZSl^mtF4#qtM>`j*_ud@1HT??ca-m633s$*1&Sa3mmbSWH2vspw*q_uanb;SJ_ zOL$me&lWT!NT&$wGjQ?ad5sx2&3$_OU#;MJ+b!LT}l9gX4gaxwf}CFJZTd{Q5cj1%-UqrEePJjZ*t7ug*}aQG&? zqr49EVM(%4?1~qSGiTPL{kG4XIRF-Zm6p^PS2A{--4?}TxNtP@DijePy-4J!{f`F{ zy@SuVPGB)Hdb2n*a@^L2&mZ!Te4I!=OgOAavSPhh-OElNGvB_FWG(xT6ceaEbmm^7 zy}fZ3`Dm0rIKyBFZ1_~d>U&ApgYAMDk-;CBVa*$<28}S$5}d!F26#APP6qp%O!mC! zqTqtOL4yVj8;_>O3I{`YA`^}ZeNoV{&gO6j-pkrW<>j+WMEh=wc67Ei+h@+q?)7+# z_b8oZS9Q1&zh?FZFwJu+>+-%%|Ble{2NLmUjD!5Qajzi!e(Xe~o{3Spw`=dP-twy( zf8R}vMKgQjo_*$3R({}lRr0uA8s+~T@eeadgrxsYb66kE{~PKbs3xM7AlF2=(mtoM zjOruxZ|#5Rk7ktc@tIe=``@PP>7)0*;*0b}1A_JYlI+m61^0A)S?!ffmSQH`rhwEv zoQ~?RRX-|&w@O$&ZJ*5lCWGzos*7peN%cS-TyiLN;Lw>fY3NS%RtX)&v#oepa3>;E zuT#IOggYLT>EMoOS}jbv7dN9mP+x|h-jEsKtt^d(V%^OH=m8~ry%J`vv1p)Vb(#W} z=-DK==VePWysBq!1MMnIx{oq!3S7pMBigiD{e(1L*>}(eb*nT6q1h&!^eUmHN1Z}T z-czgOfE?k4K#EBQ^G>PKu543i{~q-lnkySRisx4ycs006?Um5>zp2MCbay`%?_F@V zY4jMweuNv;qbfViQD}ECSIyxEl@_lsD-Fk`&~S^| zg}?m4`R=+)(^3MnUeM&xSw78^3PC)2NUPAC?JJeRmJbaom{O_9f|-of2>fE4^pBOA z{1g}uMh%r-r}5wc;yymPI|t9|Zi#Bf!!N(F_}jTw4elo%mdIhj_jococ8;bL-*K1} zr1b>qOxPV&&c{98x;eO8sc+R7y4$g!ZbZTLn2kLBY>uV|kEN$G`u|rVkq+E!SG>uy z@WdcIN)r#DxOtjXdSj!;rQCRdk<*9TH4(h}5wz2HN<&{eq|qzrzdAJ+h`xWs%Pu-&N#7i$8VqGFO9dN5=gB+0X2i-+@ zHn?|{CLJy;(u{?YziE`TahHY|;GeZhOfZ(GSgGeN&2+rWKdQ>2>&ENL@GS5n)hZY{ zN1sctjq2}_#&w#Vt=Xs%4hL9Tcu8|Y4fabK9hLux9K+`RdL=DS(=S#59*n9%I#@q7 ze*Lk^rO9Udu0Pt~?K-@~|HJ*qqi$sHSGPvjcM0+&qvUxWp<6~znU|kIXBV9 z!|dl0C_AMZOF#Nd^-UoSoKjtj&n%9rlBhZ%X1GR9^|$DEW(yu;pnrc%zeXN+wekD){b9v!e4R4tJ(U*f zzQuD2-5#`}^lf-qm$yehsQYRCt~j^B=k&8_#x{MM$KC`DJ8=@$J$fGA z*sBlIJ9_j(q_E&MeGXiB8K>-c9o4qw&xmvPD|oct)uPwJ%N=-&{NXFu1@Sb{ZwV?M zk(0skDjs^@{D!^~PT#A~hbLY|WbA>*n0mZ?e&bcWhO299X$|6~C+1?%wN1YWjx^(8 z>-mHFJm`8F4_h6V@lwM69=iR7iTILi-9i25@pDCb>oNUoMw|lu@*O>wE}RC-LAP43 zrAII7zlbkZ&%Me&pAf-HhW|+lr3zjNTNQZa>v)=z(_a-lz8k=MYz;-8CQIp?Mt-{l zs?3OW*v$Lku_Rtg80=&DxTF*O`6!b^fB+3cD)_u3rxP&`c2Q-$n# z(JnbU>nOV-VGD>*Mf<n`^__Vsw_%yGORz5QJ_g%-chJ}uFS>%*d8 zn|MsIlmwq}(DV=3I%|B$_HS8FLUvDGWHS=Qw|`*YFp>T{4N#lJWl8d2kD40+6DHx} z;7GwJdA*9W(w{l*S3J?L*U0F*N!!>v?-EQH2mQk*TV&_)6J7&GBXz;HU{n1Ktx;I{kvxTts^{t@Fn^OqOP5dK3=(j- zIF-0t7c%_;*NG9fzHgVe{%+PnpPtJ7LrS~zxprLO%z6uT7jm2gCKPeEz~@EWVzz2b z%bYRMMbQOzI;)uDCEYGu6`m{M=D@UX@CO&CcNsZ6EmiB`oBnuS+_P1$hpq;bf(~?W zNqBQ_<1Dmi26vu~FP~&OKRAtI#Q9kIhX)uGA7D(x4Dk-Ni@tJ;+Q~uz__=WfKlToPK5i}a!T0%_`M8l_u^868 zk0<1)r2uT5!*leZFL=CBdT11Xkfo3Oz)xW*=3*C-vz;=I>Xxh1B`|h{`VpuaEaAG} zmz&`7VJ*7%`%)gZeUq97$1?RpDSsPl7P(OhGa4j39|=GmUQ6H)wpFyNNVk}giEoe& z9OFzhqf|GC5mPwY?bN-kgKvAAGQ8xzG?#8Ulac!EK{%Nr8J866Z zn8p-9*WZoFka?IbgJZYg6$t-1!?IT{bZN{_bWKKMY#GQ)WZY zG`$HHtmaF=_$?-5!tzPEHGH9*;={u=GH5xPq@miWNhwOI-Dlo!f#pY&Z1lz@Ndx=Q z!;d7zG<3zLB&(eM_Gwaw9H#v_m51^FG|KV7B}qYD@0lMhfh9+ApMX7 zk{-&W@5z$pjs@(+(&AZ3&U85Ru6Z<^T9TAX5$mIDSlVf_P#nE08J2HLlG7m*lOB`N z1(#FHtKjbBR5y&hD8<|6!c;x|+x*nPc=4O!_YHnXFHB9P4X0B7VWD>&PyJ9qUrSD% zYNoqFsf?OV`7t$F3BMMkmII>9ql@;WUbH1<+bS`k^gPCL*#9@RicUx|et`K}iZLJT z6O}UJ*vQdo9^)r?&*w23X+eLZ$^iIwF<*Ejm?kvCzjhh$Nx~|8K{D@>;ZYl%c!Sx^ zKy`{~uz;8+JQhTUUS+`FIyh5UsEe3Vp!$+Q4%LfH`P~Pw-viGZzbt|+|1`>IoyUBb zrMG@!w4>AhWa_47bS+%EuNqMS`z{$&WW`1!yr?#r=;Kx9gL3*)hk3dTdY&_~6#KdH zUw!E14~MCtRWr=HF!jM9pzafs4Vp)r4RmIK$&xP?uM7ay5flC+0LUN3j{R%tf=^7Z zm?1-F#;f6vl>@|QkT70n=IE63#-T=vlm_aBb|b79Z8nP!AL+?|8Z%kAcDU6Hby(=|jWJ&&u(&s@av>htI=>efawqq^F_B)TSHo7j+5tHo|ynG*iuf)9cxNNLqS+ zlBtC6L)!Md%v{R;LBteAJi!oW8Q*ix69lcIhf++_dEi$Wbkw`c@MA!D^=YJ2Z!;X1 zQN+4eMK{kj{3VBGpe9S{@nz;s1HtwqW@cz1GCC+=ylpAHZHc*z0kp^h`r}}0y$q^8 zw4h;Kw3sOU&@wU^a}|q`PBB{-7sK~IT9(r!+ z(m;P$W@#u9od$YFSY-5Q#PYh8u4_rYkOKI(ihgiy^7F~CZU+`iYb}`H9U5U-2-}uf z@CVgtmTmNhPm_0hVR=uo3XbhcX6e!QlgDUjYQ1H@{7NlgtrF(gEH--Jtz?}BW>r`; z^s`;b_bKSMG)qGkMFMz@j%5?&b|&vtQhkNxAPaxmkvy4xFwL@wrA^t%5f3zHCv#Mh zlsr}s_{cbqZrWvz$YAzY)(XK!l3?9FyjpXduqvqJWosU0#IsWh1XEYSHiN+|+WWGP zm0J4Et=6d~x_w7VsSH*)QxwmSwcc+QOEmw4bqKyw#>(!oRvmGi)xefdlM4g_3VQFE zlw`cxelBGi%${L3LBSDT1N8Bfe)KPYO2I4k6}RF~%dmMeMQcq?{|^){|B!;N)AfF` zg`S$1GB)GCj0A}1q#q2oW+?=E-IV#-daH>dTb2@v6$3G6zSYWJJwTzLfn@r`z1F|8 zu|k@=A&@0RE;bJ6TEB{mJUfyea}d`Sc{aY#(>!x|*9nfyUaWj(++UwDJQG@+nk0Vd|6C;{ z=f4y~oaGtE#^ZXj`L7)L{Za-uR`WHMR8a`JGeV5{&JLvS$e;vHx@W#@|uTw^SH1eWi g;e~=*>R;dcuZNS<_Al!9&@ud{R<0RQGq&dc04zL@ga7~l diff --git a/bin/sentry-agent.sig b/bin/sentry-agent.sig index b86f4b4..3f96e06 100644 --- a/bin/sentry-agent.sig +++ b/bin/sentry-agent.sig @@ -1 +1 @@ -D26D8A2A30DB87C8FA3D701A2F8D9931ABD4020314DF4355028FF21937683CE0CFFBC979CD952FA95D076536B764BC0671F02A8354C7BDFBA1161BBF76229ED0 +C5A1B020D608BDEF9E7D690A7DA18DF1BE0F3FF534304B3CED4734096A415F63B448F8156224E80F530CF203582C124CE04F4BABF968F5A905DA83199B5F6EF9 From 5d8f6dc5966eba9918e461ae73f2895ad5c8544f Mon Sep 17 00:00:00 2001 From: Martin Linzmayer Date: Wed, 29 Apr 2026 23:41:28 +0200 Subject: [PATCH 3/3] simplify CI task --- .github/workflows/phar.yaml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/workflows/phar.yaml b/.github/workflows/phar.yaml index c033ed2..5b1bde6 100644 --- a/.github/workflows/phar.yaml +++ b/.github/workflows/phar.yaml @@ -55,19 +55,11 @@ jobs: - name: Test PHAR run: php bin/sentry-agent help - - name: Test PHAR refuses mismatched signature + - name: Test PHAR signature mismatch run: | cp bin/sentry-agent /tmp/sentry-agent echo "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" > /tmp/sentry-agent.sig - - if php /tmp/sentry-agent help > /tmp/sentry-agent-output 2>&1; then - cat /tmp/sentry-agent-output - echo "Expected the PHAR to reject the mismatched signature." - exit 1 - fi - - cat /tmp/sentry-agent-output - grep -q "PHAR signature mismatch" /tmp/sentry-agent-output + ! php /tmp/sentry-agent help - name: Commit PHAR uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9.1.4