From b833ac63fe96320b7c90434e4854bc0cb5feb43c Mon Sep 17 00:00:00 2001 From: Alexis-Maurer Fortin Date: Wed, 24 Jul 2024 17:08:30 -0400 Subject: [PATCH] ADO Pwn Request (#169) --- docs/content/en/rules/img.png | Bin 0 -> 19757 bytes docs/content/en/rules/img_1.png | Bin 0 -> 84176 bytes .../en/rules/untrusted_checkout_exec.md | 17 +++++++ models/azure_pipelines.go | 35 ++++++++++++-- models/azure_pipelines_test.go | 4 +- opa/rego/rules/debug_enabled.rego | 4 +- opa/rego/rules/untrusted_checkout_exec.rego | 43 ++++++++++++++++++ scanner/inventory_test.go | 22 +++++++++ scanner/testdata/azure-pipelines-1.yml | 1 + scanner/testdata/azure-pipelines-2.yml | 14 ++++++ scanner/testdata/azure-pipelines-3.yml | 14 ++++++ scanner/testdata/azure-pipelines-4.yml | 11 +++++ 12 files changed, 158 insertions(+), 7 deletions(-) create mode 100644 docs/content/en/rules/img.png create mode 100644 docs/content/en/rules/img_1.png create mode 100644 scanner/testdata/azure-pipelines-2.yml create mode 100644 scanner/testdata/azure-pipelines-3.yml create mode 100644 scanner/testdata/azure-pipelines-4.yml diff --git a/docs/content/en/rules/img.png b/docs/content/en/rules/img.png new file mode 100644 index 0000000000000000000000000000000000000000..87c31fcdb953cee1c7200aee9bc5e5079eec253e GIT binary patch literal 19757 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 TG;Jxc?FVRQFDIr$@U_1IM>KxA literal 0 HcmV?d00001 diff --git a/docs/content/en/rules/img_1.png b/docs/content/en/rules/img_1.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec121f3f8bc6a29f183ee0ab92cf9084451b69f GIT binary patch literal 84176 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

b@f z$1z0U=Is*c06fQ=tJ6MQNy&889K440k%@;W~>ugmngc)9uK8~bgBZV~1- z9J_PPb$3P=C9=g`VE}a5mF^g3b3?>$SrT#66%w7y+RCqpriZt`-?l4&ox83GF#}zoI2Q7^j@!eAd%)%$YJ+Kx__LCmrp-5QZ?Qvu^K%TD3^bi|xez2fP z{D?m$NYG-gz9t?h*ijj*R3%XpwE~j9;6DcilqwLJb4jD9s`sG@nP|` z>Tgcu$8g4jU-?c0l=y9!bDVyQw>uDqnoJz`HwzN%!~q192>b5xYVK~dXYBxbHfNH- z$D+{^!}&^3SLx*A0SV0aB7o1Gz7Zqga(*4M(z<1` z<+XK{_JQGj;x-!!CJkJ2`;{ZDDkmhSA9m-?r#mlU(yw$%vqB$c62SgM&)$ZG*B983 za-7(B0QWb-o(Ta1-yRN3W`nJn6Z4EqrklBsT9jy%Y^YL04*UxtdkXlYtH=_oeP_h}sm9ve293q;}A-Gf_;nr^vC}t;^ z^T=K5x}`8K<;}*Rt?q+pNzGA^a88+&ClYALd>*OV=emU5tmsH0$Mgwa#_n(u`F@aB z+SlLcN-_-1^AGX5NeJ=bP05nO)jsObARruthUr9pujW^V=dSR`kaP&q`1pN77ubgp z?8()}3ewqvia<wH87|4Gw9#n#XacjdIEk z$Tw{A$q(r9P47lZm0G@A$dFqPctE0F{_pztb_(obMRo7LF~RhtmZSSNMGx}~711#R zG>Hln>x>ws5>rYCxoU;IdcZ*xQ90u}ZNnz;St?c=dAk?3WWC$#xsqD=OjFT$!d5QY=;?QbB`(Kpr_sqVe{oL4NJd#&6ir%cCzQcWc^6*gDHqxS~fvYywb*@ha(uQNRghd6MNFHsGYW$8ia1%<*2h8?4Bp&YFJ1`$G1Wnm$jf)P z3?%igp&prT(80ThhZhrAS&zC~etupVj8vKPiOid_dyC5?Gg|&Q@QYrJqu<}{P_j6! zgc#-=7nn#&b=W}W$4ySMNg4^S>KH7rWp{Lh7}@d9jV@|j2f6kbK|;#xH*! z!A*n6-{+)fXZZ-uQj@*~r(YAWwDz7K?@W)^%g2&F(o7ZR0mi+jiH#8b6U@B z^MyWwXu6j4_m^l?Mk3USA-2{!D9OcrzRKnubA+BGxCQxnR>*R42D_4dIiO}2$*{$^ zsEycwW{Gc~Gf!N4^9fTQKVbcWl-!sY^&_ShNm{o6|CkAbpp95ltX_l=cNKV_`{I-j zG)QeqPRAMVQo;ouU6QRh@QkJp)KI{xLl>-YAn@$}&Wh3e4ktdJ*uBnDw~O3ktU2T4 z1rvptx650&>h{EC!I>5u^X7bqNIIa3G_Sx9GUIB3)wc#I&<=6eJ+-V;m_C4|tHF?d zhzeijCpl76#Sv1qOZ{i&c_im$j8&s8y;P2&%4D1@xD*@jy`Bvz1_nNRd(*C+=aA`y z5?*tuUQ+fP3Kl$!FufJ<*%UwbgUs@B?|PK`_XcXhKE6CSk)37=5S$`Vpf<^p4TVHY zsQgXcvJ{0`7ZEYfhbs8OW3g zxr%#6xzPf@xp)UMX6!lnV_a0+cvbXEAnHWkM4_TWqOV;UX=?Xum~G+BZ~#u4Bwft|EI zg0uK5u$n}IB-rA?!|<;AbxZvY2-L&pa#W%FOgS((HABQYV={~;=E+K+0(XogEY=Jb zP(&CT@JY)MC=Ka+6)cbAHI$$hvPBBhABL4aEc#_q5u?#L2M(vD+{o6q{wla6|3v&@ z_lW}KG}xFnZk<~oRA-pDTWshIC@Nm@tEPHalmMpMRB}VuK>EQHiE($ean9FnPMh}g z=oTpqKFxA?_`{xjTiPgoR3#Z&DFjFMZn9tMmBtz>-Ad%?S=vjha7anbn@i3yZKQ|F zM-h-$G36<{zjA{l5MS){l&ZM-?Bi6jU>5NV#HYvYybBX$rHVN?wT82yk=0EZbm!kw zzK7R3J_T7%1*~p_LeMP@u<3ob-V^6)KBkOEaPSIHvZ}PjN%KtTZrTykbR_=o_6Be9 z^U<4kER9>@j#*|7lhdVnZxj_^M|CX4o-Uy~nv-5t18+_Q_Y;5Bs2MZ-VAn|J>dUz3 znclI}lvxr@Oe~rII7f!gEs7-jZi??<-p^Md_ilsrLs|^Opj5f%!1mq*-E8Rx`5{ajNakl0enBHD85aUo67C`J47k6&{Fjx876 zBtug`#urr)%ckO2k&QB#x-d_lMXrpFN`du|us$CJ)WyZeiK`8%NR-j{Q}AS4i&Z3#8EeUp8UzTp>dki<26lbqSKr!`elgR zU@`JG&1kw;jO$`1-Z?r#|Nn6I)=^Qmd;jR;W1ylS4bm+jT|=uh5&}wxQbP?mbfcoe z(A}YQH$#IcG1MR(LrCX<)C@2ToEx9L_xtp8wF$~i}#N3JMkE*yI_pwdG${BA#I((uBb1+tqHKVb&S@Vec^LjZB zls^us@kc%Fd!*n;!qiNhoz^3aOc8sUT6Xf690My0%int>a+%6uPewcxg38>OA`p-5 zigV9NGnC96XF$tYb3P=7R)L3WL&8JD?AdmV9Ur|&u35{eP;53|^bVa+soF^N$oIuq z6CTT}z)Wy&vQ+qv6-q;7Nf+zhnn+%Y*4XM4jFG)igd2ReB^|E&BssNyo$M7yb?c!h$`8eE)e_EGoUD47Ok zaVEssH6aCoh`-$xZ0ww863~FEeDFQA5-szL<8#zs6%qteiNKZQEKKC3#g%btE>iYS?gTWA_%kPv((rJvD#Lv3W z^V43DY2AWK1u6*HE z=MFn;hd}U7UHh^GL*@PI-dt^`&Ig526vfMnUhu(0E8)PKmw&5wY## zg(GJslKV0-@M6Dn(Si|Wh3#++r9luon>b z=5wJ_?bCpl1gF+&{HIViFsyJL2E{+CZZ~6wZR=?Vc)Nb|6VJ;!zgV=A0F{>Ql<2Ck z(2~ba*?eN#TzwBrwkl&QfDgVt(r;x*^NG=`E0lt8Cus7bhl~rTQPHsSbkST>`kbON zg#404S^A^NG3Ve5N>);2TDINu{x{KI~8!h(L!I2>X=bux7*XNxL+ietVyDRUqi1U_CaJgL$xepy7m zITK!gU%WMLzg8MG)hZ`G`-Kztwr_3bT7#ry$-i z5x2HNifa0JF0}dP6uJ^bs*SUU6$a5!#TVu)vcp{sB_zKlowr(jrt@xV-l_1eo8~B< zuOl7({ZKW1gkKpZ%r!pX7XJGnnJs%r-`u|rrqI*foeHa;tx5n=fsv7l&UvRX!+N;mXAfa;;7Vo70{WJ>pIIL>4aU`17UN%ehJt%y z-&COzx6Z##6^V+gw{WeTamKa7TOWYReKiY&7iTLB0jN%3bH{GYz%Q$d2=2a3C169& zk*)ijvNxGsgO$1_=-*XQKV&)h@q6L`{q9yKwK>-??{gK4iiZbtCz%K9%KW_xVPJ&w zo;0Uw>$X?_VHzZR%Lg^i&jjN?8U$X8d$HK>$MZbp4bQGJ@~uggkkHAT?Q5$lOUKzuVQ^D*>R zXT5GFZ0T|$PXphxjL#tB>;-{kUgMB+k_9utU1p3F>v8fv5UL%YwHxP?+$C=>k>rYZ zvH)zQkHibkEQQJa8x49c5+PO`)JgoYAU4I8cd;sy7-2jX!cS_b!( zyTa_w^DRP7vkjGui>}-%4*6^01M%q-0l;$86fFn>6;Mb>rMP$tfnpd}cj274*>fRE z$A!lQ5kac7*%ONvTIq~x{`94#nyCV+U8ig@W~kMdP>;R+QYNXfr`j&uG^FbrMoHf6 zSqkGVCM>O_bEP5YfQk62|M2#~LZ0yIP*gr*xN465E7-c`akfnWtPt90DEGqN8#RvP zyc3uCyYsa9WzQYGYWZULO&UJardkugnQV=wTG~8${q~`>sXj<`+#~N4V6?>Rl^Lb1 zKVsysy|Y{bSv;+yNzm^$AtUkJz6TUwt8m&Xg@i+sgB$xm8Cvt!)&GquuR4~*vGui% z^=QkSEzkB~rk5pC^&s(1GpC;|oXg9Q)6nZtUHr5PPu_1sGV9$QQ{7(v5$DM}?DAs% z<5?e^Rxvq{!@s$<=zc^zL_rEIjbhPBy!s5F#0U`r2jymTA|x(|&liE)aR4_TtqfU2 z^E zcAINGF}y9%{Gz?_^<|cdgTG=g4HKFPj5hiom`jW-LgqviXKju0_t=D{8F1B6V zkA(onSI@(%egCdcwO@*U?4&CpO4*nF&C;@jPI}BDz&+{J5TCOeDFezmya4=NWO)7c zNnVQb!dQv^P_8Wj*~HuFX3vV4V+2A)cWHT9_;Gn|Lg3kE!P6|x0k566Z~U+$dC#>r z{D9RJnKb$|-Bbcv)j#*B*xX`g`%=+FSM3wUEq$SLxwRn3@@0%;&oxw2Q;bV}0N<|n z4BC|Ih|sc<@i?H!{V62_-qx(xr?RYle%FPkLMjMhP#8(5-}medYCdq+(P1IW5lZBt zAwNe|x+lkJJo&auqRe3hKKZrG_=l5Jy~Yj{k8|CQoo{S#AKbw2z##&&n7i=%S*P2J z43lcb{?0c+W8Mu7sG2q&^o57ZUL7!px9i%nSH!+kuFGeFlwUPJ$u2f$iy7xj#3%5_ zU#H)TYZvE@UC?jg^etYA!@uHBL=->P;?rI;*MhfNEY!%bzj;;x0KI^e34RVhXgQ4f z4b}mpF!Q_Qk6vfqq`k*8SUOo|EY6zB$(>^Ef1ChxDWs!0AbB**1p`@f3y2nfF*E?> zvhMhBQ^;ZBF&Pa(=PAJZ5vgfLX3C%xA|&`LfwBv*n+;`8eq9I9POT|_-B%F=>xkSP z`fdt$oW7G4m;I=3|I1RkOQSjH++{KJ)`|6S0`=Rd?NAkgMrfcF0ji)mg8g`3hp;p- zYj?kBfxxsmmy1vD*@z_nTP!`d5&Cjg#@v(f>)ZOEqjJ+i48n)}Sh3H01-<V3aH8U0d+KW1)5F8%#;q_t+67Pji1b{NWkPRHDy0d*@AgoRaMnSE<||! zvpT<7%amhqA?vCiQr2T{9ugV!g$yrixSkIH=t(pQpdNvxO%2uRGXmRZfnz9@7~^M( zmrOZwl^yu^dkjMnrDv-CEn|Pb-rmeVItw%AlgRhz7Qfke0k=p}glQ z^}9cq2limAp#wP-h3dAOqguFS7kFDg9qr(`aN%GTwWnk{>Hw_V4;h|)O}YMj9q{1r z*&!$68$V2Y{27ZgFC2E9mM_zSU*IYmP|fHSEya4^a>1HuIR9(s8&9fPb+wQho|;VS zGgr_(y!gU)AHwR(ZT47d7s1-jAE?EWHvbsMlVLfb%C}CB!}=}wR(Nf9M)`w!!fF_? z+Ak?-yJS+BkeJi2DpeWr_n;i4LWn}>pnQm5GPQ`AN z0~MA)F!%U6?T21qOMc>$iTNFO=2bL=GS`Y+4b}8%SpRDm+F?3GAqt1;w#|v%n~?1Q zmgGP8$gUQm-tP~**svPkf&XLTcBH=rI(pJ# zAKt<>?=L%LRcDMKXWs6OA5G}T&nf}o@zVPmw(oK4{;NZ=6$B!QK|>xfA!p)<%q{)i zOWuG{U;m7q3NN@Jr)`nj&ca>r^VwvEMzwTdG63{dO_=S#2&Et+v+O(tx*{ADz5uO8 zsdB;ZaPS={t}Vjg`rnaEK@{M~4p}T31iiR7P0DpyPGR|RKnYo6K&Taidivrt&7Kw>rvmECi@`D*eOmHSc>mlbmBFkp z-H6fE#s$h1iK3+17Yj<6*d#e!7JI7b9BCcsq zifsu!-2VU?%8;5=ze`C4aHA?a_>p2u>Sv-K!bKRR-F`}k&4dbXPUo7`5Ra7Mi)KOu z>}CY}RO>trHzd$M!b^dSIZ^d@opnvG zArv!GKNI<6EBGwzM$Nqt5oHC1WJX(sFp}3g&E6j=<39TXeI6S+5zAcF4yBI}BMB0# z*FpjuWb%l~Qd3KYH#g7wr@#!Kx-ODerE+R~fSe=!UbRj-Iyxo%yO?9iqX%kA)jZ{n zYcD_C$$9Q1p$|k&L~p_l7n2{U`Z=_8wu8R$T-Sgdn)PUU>nydzo_iayd(*0YFZr?h zYn^AsSZjB7`34U+l2fx#5b!*-N4>}b9$`fZ1j}wONhOp%{(wo>5N%gSpjTd!Q>>SE zXuv!cn{p}k^~hI`SRJ8aH-}{mSB=%8EpKrBgDMaJMtAKRhfnxDVJC^Q?~#5m-NUZVZ}Wqo{2n#DO$?`CuK8tez`t23Srmsd3}~RFeM#2DSWmH(wYbxKvs+ z10*(~VgF9@{{o~&kU^?{JZ6N@6RvsbpM%^4m(~XKtZqX z?CMIv>$0%0tN=C}yY_YmfRKD2;G@XS&E3}m*a1XY11Qh~z#O2lg!@XrAP#7Z_O`4^ zjz*dUzrF%IRND+bGz1)l8=ZQ70PtNN*R=tt96*C5_)io3tr4)uegx+My>=adg2VNy zIR2_l<^r^wRV&O|R{+_2H+|wh{`Pa0EBp1l=Sh7P?HAlv`q(W1U92FtE#>~fCD22< zYL=-NeCu5U(Av>byA3~DuDl=JHhw+@dZohPGOK`#Q?NGxa9^$JVGt(GV2Fu{IRLDe z`+%={a8e5J=!L8h4;G97CXAa9H*&$$*dPp`^w-)ByM#V>T8R&Fb#x2|CPc;W;iuKo zbtl@=bZ#gBHHbYs-tPas_+u4d>lgTlWsahoeO^2OPng%*#(2*GzVtLw z9;N3Pl=E(}1QBu(uuB*I?#+!{zd~Mo{}gvw8STa<9{+_Ed4(u(+n(Tk4COdjXnBn?WJ41AqG%wRklH<+jYJL2rvi0)s;JiNpo(CxoWv~ zaK@^sNoc>m5$gsvt06uCl4ysCud;Nbe_$FixUWIqh}XOK3GP2+yTWRohGWbC7l5(i zSI@a$7BXF7-R;m9P0%)g>=*;QX`$aVZ!`B=v67Vp`5Fyk#`RA3AM2B|`vQC9&n(wk zwa3y*6fM!wP_XXthb1Zfi2c-P_An0_9dvNUIjx&cq75Xidu_r+eZbljvrOi#Xge#O z1q|%2nn?pwn{EEMK43{c0w%WoWr-dDe~k59P0;THyh=FBjO!Dx==r&!u8sz6evO6! zfG&92DzN<%2^jre7y(cN;ACr+2IK?Q>L85Wmn;`Mmq2i#1o&7+_Im(;j#!6^RxyDI zPe3n4r_IlsOTRoF!2XPf>|7_7ehtqMc=JKkl3yn`M8tXC!~;E(@GKqn0K2!akX}PS z8u87QFGPr?Pf$Y4oii^Z{se%;q`3p_Tq##x74P8b8gPGJk{LI^JOb^1Xuz_LLIw*%nEV;n;wBgIHIN!itsn_`3l02*OR zJk-~3Ce_1nrnYFT)Npi`Oc>}<^iwGIGNgz6bC9|mAkYg{oEquGUe<$DRU__xv11J9 zb)4PizLy-{vFRHyw``H$7pwkg=H7mL@9hD^I}k3XfRm7|1VFI}*$hyVm06h_0*4W# zdzg~@C89LwC$n_`Gys4ug`fYet<|k$47EvjdISvsPNs-i66h_qdZmbmN*fpZALFZ? z<|K>ETAOIH`X%(sjK&oV-><50#!lvI(6S;GtVrbALG1vJ$)+7~W#K#^2w_WmrhM(0 zS_XixERQ6=9F|QQ>_1+m^v731VJ~e;$T%~fefNjG_jxsSTvZY}666<^5t!s`< z(Y(*}{GF}DhkNPb^w-_Ye*26SYU@;($y_DjhD70>U|Pv*Q<+WvfT#KUUIcZ!8E|xc zI|D9ZnSZX1SebuKFm^X8hQygoCE|T1Iq?CT&FgFtZw_q+-&0!eGc@bS<@k@0gK33B z@3N<=I-|yWbvF$GbUb+s`^Y;$_?H844+lgX(n9^KyJ+@nn0ysp6{x3J=wvoh0?se7 zY6;vliwa84jjM^|ML%<2vDPTO86^WJ>QX7B%j8gb8yk ztm?>(AbS;XI4C~o+pQpOH`3VxRA^r+&~b6xr|sp?(K1F&BLHT@jMmc^csmq;M=L8L zAOUX$tGhZg{jALZOn#_FNWtZbzzw89i|cvLiof!!Q606x0cf)u*~{N#VgSvWmqkaw zWYGVglkq0Z)x>cl_5ma7-s8x)CVA;M3{O-KRzPOAhR*fo4KQH?MyDk$HCy^La#(^Q zaki($zWpUKDS}YhS4A@lPgGxV$fT+W7Y*HJXHtZ1T>r{=QCE9ul_c`e;x4WvX8 zLY0l@>r6U*+L3Q(x$7!}c;geU&H7R*50HAxVO6v&@18`O8(hlWK2q_=iVxlU~ zbnEQEohiQ1`4(@EytFgp!Xe;7(wLJ_UP*#4+{!yW>i>hjF}3#rRti^bNwg? zWG_=<`O%waf2m+6CaulkcM{Z6cdqY!XpmC1LbWNd=1?@kuU&j}X=H{6ZFkW~`0RI4 z%_&}^J`9aMy&0;)u5AY*fv(j6D6^DWN0uf8b9HiZvh9W9S@N&YZA)f+Dnhi{k+o0d zOGNs?-b!!W^(A#9v6xXAUraI{Wht;pVWHm4l0BB;9z75A?R(OR`$_hIws%ADl{b-2 zr39tj%(su03UHvY(@i(2gauml&juV=kYZi5L=4ilE7aQgaqpmW2wC@hKq)+TAygRB z*I6`d8r5$3gLK`Wgka^u zi8k*g?mkx^nmB;3zRr+yl>v670OESV?Q1c6vZ+8LzE0r%gUrU*%=kR4mL`EM;fzBi zFF^I6PZ`LeiqyuHA|DLC060l2uW!>F^n?$GZz?8U+dn9<2P>qL2(T0?RHU$l3x3Ph z6i!SexB5tF$d*C()QVC4yvxeeFH(TTOZ}0O2>GdvluixF%L#CMIFv!grbrWyefhDQM;DvDQmVr7W|ye`TOhlwzq3Z{^^29BoQbA-u+MGqs8I z4(A6afc#So=}Hkq-j@0s`OzwbAB}8MDWhLjcS{$0G9p1-&Wr}=Q?+k}Zibkl&J3Wp zax>z+I8<|-0L1q-n)QwwU_S=+^dSHz_`jDFFOnVQ9lOJyDU#&as@dl@%|(IZ@DU1s zz?m|+=AY%|eZKnRps%1EF<{-hbUuJm&Qn_e)wDdzVoS-q-bu6hj3H(mFsm9xJhYor zH@jI5DiH0SrT~8-QgDFTvu1{0vsvP{A^~}Bg^*X@JGEp~NT22u3g01VtUG3HO||8T zb7X!mJ(_%5q+fzaXApdw$wGx&v`0zAFj%!QdNT0hv?n)=bw0dKsqb{)6aIHYF+g_g zt_|`Rp#*k1-@!oX+`#T&u2s6Z(bB!#n9*x5TD+jbndigGjQ7I?KJB}CGh4SNLpSh?Y zcdpZPa;Q=5lUsvTa(0Bg{WK5Lxqx|bVZG8%>!0m`>;ze~8T|L7Rfo%`IQ1C3zLRas z!VaG7v89N~`9WnVie_#~MRf4_IPaQ}|_ zaH)L8ROYg<=5(N6Gw*uVgy?IU<9+44A}KU2Ev>`de?JRQ9ytfgQ&N$fix2nS`6(&q^`N=_ygc^+5egt zMdPw0i?S$+J@;W7htx+@0n9dGNlAc?IauSz@6H z*lvB>gt68FtuDo#5}Y4?3OY3ck=?Z`s+ELk@BO87&k^4d0WHf@0YP`AC?H$QULmhu z_T1@ZlV39VIO38qJK`8IJ0B1{i+$vhZrkVIYLVx%aKlb`P1z2eV1J#c51;uMwF+k% z5+z_m{1#ub>e(IZxvQu7s@OyGBVq@DSF5KAlDq_3dZQ@=u|BTbeZ9Y)TV|KzGaU<#VB`baTzdaH~uBtQ%%5mK%Yhi$Q$Jl zcOsTVae15XG)7K(%SHlT*3K^QbjPhJ*e$BM)@aMAbhW9vC}XJ`OTaDh`?;y#w@EWF zy;5P8?2?j77Q&AP$^RKJ^|WgGWsI|xO%0)Lu8Y=ew9aR=tmBMlfgyn|>`<;+`}3-V zl;XpNG>+X}{j1(-bt>6u%jqBBZa{-3cHd&=p4_N0o*i=Vj7M>q!%c-4m zlID)d3%V#rc{Ls`-q7_juN~BEEbow%h$m084_y2wqi3g{R!lG3IZI;gJU%?{M^ts) ztu*(;FFCHF+Otlusr?!eU|7cJWrfC2(Vs|mI`ZESuc|Vus%WitTz*P}nTQ&Jevfk5 z%h`7^o}}g)moZcG)Dp<^3dZXc_Hs1BFTgrqcI{6kwf~eCBpR*Ypys$B!w&b=iKPIf z?CfzVXh=iSDtFp6GqLijW31+}sL*EV`u7`{>(P6Il)5DX!`emElj38{-2Ooyr?U0% z8JoB5&NZ&-!MOF{r97)7YOYy}U=w5KG86Qj!&k@p&ja=ra&P>Z;?3ZRYf%j%ymNjN8 z=NeS@R|2BYK;kWvl9+Q;Y&N7l)`Fg8rRglIKcP-f?R`^8?vvK>d=u^UPFAF32^`pF zOR>hCG=fgErO?!_r@}9Y=y(>}>a$K42yg>)e6858 zq0MGKduVV6X1PtvL2eiK8h0C$(roIpCr{zodNhw3`hf27&zcCB#dcswc7#2pu>O^h z5B_UTN%Q}opKU&x59Z$W*=()Px`~Ry$(G?8_JYu?Q{Y{X%~s-9v&SR8&T@osMy$UP z4!ZEqN28=3HUY3;58Y~ce+Ea!3qj;#t>>9&>W$a2hQ0qxFy%Ux?1kaH>3+se zSa_TaNiVQX69XGLjru%H_wF2W_v-VwH|CzHNqBu&qVwMX!}bH%>;R>%u*A`lhU#>B zpb6I7aZcua6BR5~0_PcW$fTk1x~iT6QLw(|ij)}V12{+v(@EnEw;oZJ>rbp89Xyzt zqMoi~*Rhv|cOVY)MD=>DMdJvE*Gjg^5>LD+z<=r?vHMGXE*|9I$^%DEBEm!+dPl}` z5RTE|lUq$h;4`7Cx*R#Xl*_*l8N@;QP-L6} z)^W+>&*7NRu7 z^0;YsOmn-{_}ZLKkv;FJ)ws9Nu;O61r$5hZnR4Wy16h4^nBnpZ!C1W& z)>_Ren5W_*OQ`1*Z-)PjST|=-sjEmg02SOf?^20NM6V>&%ZZSp%j06cUr<)eadbKJ zunz|ZCeaTssH`(Y^+v}mv+V|7<{FuYCGMF0_q@q=e4wkCI!YKgfBjxs99n$DcvdPc z_&WKX*O>$j_F($}d7f7t0Cp=zYnq+*hs0hAU;3Ik&yexsvmSCez!gE;`STOxm*A%u zdbhNDk3Hp3)pDvc9=m*XTcTnvT4MuEozgQ zM$SE7qM~8%(lQcv@gX7K36)Kh>I2=mZ{CggK5mZq@G31bVbI1L#X_7K{%+hD*rqCuOsD@;RwRZctYE{U#XR!@cn77hu9pyCU&nl+} z;eD&!^UL=FY6nmO^1m`A-mZAMW*B6N{o1oO?tE%k=@NHJdobyYFSi}t<$QQN>EaUh zzgCF$$@{@5+}&69YCy88%HH46M{!zl^s%Cuq-JVQ>+y(a4_St$3`3kUjwo@0zFGBD zZM+5B8cr?-8J`c4WRb*l(I~wX+l`DfI;KrSh`TE<`Cu3xjXO*x-O?~tJ(j$`a!O?; zXmN7P&r+Yz_WbM~17F>?cua5>HIoBe89|WwL=F$_mojfJ_O^j{UJ95%F=XrPz2`5GdlSiZT)&9OK!*Q!6 ze19fLWc7scf|bARBC~dHM%T!5!(Odsf<9Mmu!%$J-S#&jwgEWL`f#N;Eo)uK3fc9n zL_T6UKHeGk*oW>9eU>O8R^=#Ge|5K(H-{5z4Hdq}b6EEcT%1_y1;)g?^zs3XkVUx2 zLF7~1SSjj7ev4TDZ7E16e!tDrk!7T{)lzQ8x$=nSDBNz(e!kA$dSuEo`PhyydmrO7 z=Dd{Q8|+lQQNz2ItdtG|`7Wsgs&b%;GSa}a9uwfLE35PbGl-%Oo~&+}H3K}iSiBJB z+2$}=-ursza__vYx&aJ)**b-@pf*DS?#VZ9KQ3OKnklUtMKtG=dOQvH2;vZe&d_qO zXa;{5*h{A1o)kc<;oN?21-H2JDr==Wl`Bsw`=ogkn>D`|fy|l79?vi}USF*2#S|{q zak;Nax-R^@^L^o)@Q@Y;gAJ+ms|;)O2$ATak@5EVqWexWez*0kk8ob}t7~Ujdtxci zf8Q10%HOR12RzPc`#I%w1^P&tJ-?zY{1?uLYrEpC*4@60y%FM63G%cG4bHe>< z{etMuU#XiGt<%=X#jMhL^u``bNi*B6+_7{fvu0`_MXV&?38}qv zLiIDL9?qulUrZa}llTECj^Sw~-kHA2b&llaHc_lDYjxByqdi+P^hXHWdI(ef_UwMJe3c@;J0?AA}`_i<<66^ptApr7E?|heXfZn6A^K%G$aV`dFS*TtHVUM>gfX83-&-*y>QyM0h;r-l6F8gNh){w|ZZHZ6S%3<$9kPCy?UlsQoGX^}=qkNw@@V{5y zmuO10R8A7Zk=KV*4Qio2*{gS}jW3S(gjd(H>-)NrOgOH*%|-UvZh5<68J(V{?{VRt zJUKgwi8^7?w8>x%Og;jNnr9E8ZEev2SUJzoY;E2}NhQSO;G*PYPyL4HVdf2q6XR-- zoVcA4Q}yXmxTlP25oCqUJFQ)P27@PlnYd`lL2IY*gxa&^@QI66@|e*`h-!qQ0pn3_ zuhRa5gdT!>!sw*m%W^;*5-)M0!}G}ddW1m zIs;TI+A93mQ!XaxTL`+|MWXZl@Dx+!(hP7oex99i0n+ zVs>L#xlgkQ*?p%99jaU+<47IhqGU zhKEVXM;6)MfK1i1a)kMl`Q%msMf1&Ok1#zC!hYNVR2FY7>8Ae zt9bmj&ctn>eI81S*fyhwk*6MF;Pidr$hPHS8#>N|pZwRL0o;Y4ihCg(MGL0V*H}Uk zz7zP@i`>998MB$(uyfF_fr{med^}@`4wqn|@;UagTf@Caz5~Sk;vQ{T^@IwSCrO(7 zc*`~(6g#LlE=^5&AfwRyZ7U<>863H+HS{FlUHZV*hAbn`9d7z&xm30EG%xhi8x!UI zU`9Se*80R2Q(3ddVG}Zp^Y+umlac-wvF1)I`jZ||0V#OTJ*o$n=H`acNc-LPo^v#O zkNy7H_b@)qsy$bvl)2Mmzp%}C=H*}W)f8;b^RDVX_-GQ#L0Qnmn7FJ8^y2bjvfUb) zJ$|qWHXiiFg*-Oi@$aegJI*-eh`@EHg(bT#8nGY;^t4i?j^|x>oNv*rWy!AvL>{M8H(0B{e4GepKCpfrUtNsUmVI}8+^DGT@O}+_bW^spMgXYybJ|=-v$Mgb@SlPmf*A_anT9$l=;0QuX zH8gzEG%$!JY@2~Io%F%_D;g?rqN(SP2%B?fZYU;{VqLrp6o{=4r+wsXJp2UW~Zld(zI<9BYWO^5~%#Ss>PC^?OS8LRrj% zh;d6TB2h~{edlR#7sj6%81F+eZ5eVb|> z@uNLOl1!9+n0*CkI#ftGIFw(x$K#x4Rr> zehc90jk-Mh;gPhopwwp1cj1Em6Q3*P=Jb)-l(hYoH-5O-iurwv<(aYFB{GfR$mjQ?s4cNN*Wv zba4b<6~Cm;OrJ64yBiGLu*tRVmoB{1Iscsk)7dZ|C*S@em#S3!=z-R@F?X?@W|yf2oyzDKu=C8woAQ?IN{SP7S4O z*WhTE>_;Gac*Lnm6k=mJr|ltd=9!s880TQ8X)QD9k0~pK({kUwhtpS#!&=xpDZ7#_ z$&;00_h2WWRp{+&KXyYaG4xiXYHfV&+eio)X+tX7tu@N^Eg)LJDni7rn_L)4HOyvl z+S{iQyBB({v=sz9oNNzO9o!ptE}Ry}u?{ASDTP3e#(3Sz1@v&K+jmppD+aYvo6A<* z;r{!g)7AWWAo0Upite(Csgnf5q~&8;q3w}h0l`Wb!q2hRC42LFd#($aH{P>m6&iaLd_vBu6KVOnr z=3l~hsE)1W)Hk|rn7e(8uXrgcKnTjXrY<&FZCdbUX(tNg8YTFKZko7vbLJ9^Y#ht5 z9-#mON~7f|3g!NjPx=}YcV7K>Do#`*a4Y#vS?N)1`EzollKd#oZGsPO^QY?s80|Wn z)^E$fLOPmkuhQI8(qXVxA6daCN?Ms5_fzYH;#l^*nDo=9CwD(G4s@CVa&zwM!$#q} zkR2HN!656qWYsjotQ2;im6N30PIR92M&Z7VukfbM>Xwpbcl&vh{?G+Sng4FA=o)pd zYx9zNV}*&Lus3c9;vy$#ixw#Dx6Hs{-673~fjWle{>IQ5UTjhP_4M&nlM zwiN;a&HU94>E^mPwYPfXOC?Z?g{ePJk9pPE*rrc4vJG2tElWvA zg)@ryg>SOGS>m&qwb64bUq|forwxVd=>48Yg#=VSTl*Ww?c<<2sw(f_YrvF{A$Z_M zEs*c~Z8T?PHDxdD&4X~&^-MLb^hSbBg~b4xqk+Txn$@pn{;iTp>Rd?8VzHZ>N(~iF zYer;f*|#EI>%oboy#Ev5FJDgk5(`L#3SVZ`+{Z|q`***)?3P^??rxK+jOgtaqZa4} zXZLp8Qn(eT@IXTO=7ZP=q+dR=#k1bMz4|!5t~vIFQT!WF+c#ITtEKPmUSw{`g=D@yKX*PKv!JEIKc917YR2)p(jDdov8d&X?RC|? zme2PMM5zhYo`TR~erC77zpgiXQ$%&^{a%V;EjO z(TsblJAc1^)-Jzu=0ctk08i}6G!wHh%^FnRWqpreBn*EuhKd;7!E5HrCg1<9w!Ah{ zj^jL-LGfBzv~Y328GDZf_s?*3;ty5jzo|&+S&8XJaOx)q6BLrcEkpM#1)p{m@><=i z4x`9pc7jWXbIWH|eWRT5>1k(3yq1%n+~yh;L%XyzJ0gvELc71o84uH*Ajty0;N}Az z1jvTuwFv$CBzs_c_v4eBugc>R+VgJacGC=rdoGg~Ua#E&&g z(yaKe;ZG~m(v@B@rqiIfcP`A9PN&hNp0#2Untlmy#M>fh&AULdAJPy!9QsWVF*$Yo zC&b42lJ`zn*r4P}*7=K$U9I@_vGIwXvUZK2rk8qXG1hehulpsofkiXdz6Q-^4|vJ$ zSMLjtaDLJtAhkyM{CfHU5{2T+ojk5Z?N{Ix5_fs%e>y*STIzLwUy+8o3nTRzP89tr zq>Y!*zZ};y(G>z#|4YN4cnyq0Mu10g$8{*@{iA)5SJE7vFJ~K`-ntvtnm_B-(cKjy zcs8LCd{E^gsq_s(uRA_HW;xm+$ygfKi+w#enkT+zHe~Rc;lZzKgLLfU_qxbxA5(>a z03?>9=bAmY=NKLkKw~~1sNZJJ9Yd^&!l}Q4g6}2U;KwThM44NOW%m7S4J)q^ ziZ9|V(g@nN!xIwRr9ZFy74v<`Jeh+?bqp6K^JHq?`;wIveBu{BUva(j6z|hP}84)HylkwC*q3Na;em!F~b9X}YA|udUIJ`Sz1_??|j$CLP-C=<41b-U!oM ztg)hoPU763oDYw#r@ZQHuDLq1AqHv*a*V{?Cm z31U!eUFO!jU2yP&@j`$^v#qthbd==!RC`m_?AaX3`e(8IA?_f+vv*n}zt})D7iCUc zY~3Vsf&J~y<^I;uNn*|5v^S=n{Vexq!}{b8|A`I21!4?3E7jUqv_3@a%x&#cK)ksn zTD7^)g{2Zc+e?kMU`m>tvS0%*Ne5o|c>{2wJV36d+Nzgy=wjxh#RG6lT-e^!L^x%j zE=PPIjZx-$*^JG+HhxRLJrQx8hgbn$w-r{oWs$(x(8ATelpxZeby>}X$ z?uK)a=L&U&Lw@!gzlee0O=`*eCC!{bKqZ90g;Ap_$^& znbOB&x+8$~O)U9(l`vJG`Gtq~Gar)QXd}N8kLk6ocXpZko&ti$@aOGc4}vZ)r*e;? zWDi5VgU8Y$-vd7#w|M*AP1B!3J~Elk00Rh0O!G^8^{5&Wv>PUWQ^~Z(|F&f>oLGoC zgZk_k%)IsLaqc$bv%63EDyq6}cS%@%1KaSm4jWw3IGG(ybJ@%B^RnvtWV^Yi=HuV0t%`(oW#9#%tnqn*}9pW4ljm(1g= zB;#*X$z{g->h}%F9Bm`2%bK(m5K|LJLz&czfp|+)l!%l6T(wReyXo9tTaz0IM$Ut` zpGGQ7R0`(SCWhyB#mnY3hdq{G(n}+G&oF{GM@du8`a#UBt*E~d3lYG4YbQ#*Rc?Om z?Q$bT@hz@nuYrwm*{cnH(Ny-7b*E@+nL!_=L}mJ!7d6o@!*G_|v~KgW%JXTe@cb@h z>){x9S5OTre%)>QtOe7L!W-Y+%6jQeepugyI7*0YqJC-%&*g&Wr96?` z`PJbZX-6ZBdJXL+9(#%7jQp>JB$HX5%{K##_ zU$=lWU;n4kuX{&)Y9tP)qd-kmo-e3s5CEQ~rIr4x$CvR8K}x-a zMXuJ_L(ksyi!uIIIpn{@vYmc$#f3!CU~6WUQtO(&~&W}8mw z<*3@5wl7BUc~}(JT!4GkhDZ_e`B+y4WOpGP$=|ks`}rixx2d%$@VxJ)Q`T7m+DYC7 zFRrM<{bx@KQ37P`dZ)P+fH)vNT9d?QYTxM%5Fpo@ezj*!SxZXOSC47)G(->9JcTn$nrz(+H-dLP=NDrnpEtpCOKAHDi^G6Olj+pu&O_cC zP5kGPHM`eohcH3rsWY$|ak*cZ2=f3qadguBI;oq}DLw74P~#VLVY^yiq9UBK=AAn* zUpzKMHvhd~D9Rq@U&m3OTzF;En<4ONT512>)1E< z%{;W6<~Ve6kiKdF&i7F6s|u$`(F|$6({2FOm}0$zimcudWDQZNzxLQC3pv@XdVEm= zOm&FxPkbS+i(jsu*u-0DW=(Tpqpf<%qXG9KQZ_Sy#da8f$IZK`eJ8+i@Bbm}tplR$ z-nCH>6%Y{+rE3I1q@;%yP(o5bI;2HPxv(|lI_jO;_aIR9eg12?mituJl){)_b*&gTD;~VLhYx>t-k%10I z#Gg%<=`AG~bgT825NU z!48Cb74>ZcwVM-tVSFwt0>6XYjuHFF9+vRlIHxdWA3+cP^~*6CCoWQ2e0#Ecwx0a*R8wzmlL-*Twoshs}*{V83|dtTs^b$#l}>QTdTX+ zV}dKjL_?)nHCgZ?eQr92pv$$c9n3wTkiygXB^#ePgV!>_?SdT7Pdpb*RImAiS_a0P zUl>})1F~Anx%55>%Kr#*INicBnJF$oK9>*UJPF^HF?MwQn^eRIA0yw*n`EL7Ba`$l zxBb0RG>~g5M9%4^D4z!7nOrWLFuM-xGoSCRTF=9lPAkVCAE?^q{1N1H@rSs#YD+8r z6>{TqIPu^>yL_fC&7F6}d?2oB`jD^)PK56nJchrnHwv)H_*K1ZQA!C(rsJf`RerW< zd-GX2JQsR(`o2i>IM`rD7fGm`hF&63+dc+Or_fe=%ESgOUu`YOPyi;-B%qY_*o+B?1yUZSsYZ@9xCw8#GvedZR z<K4Mp_)_z_hL0!7UhH{iy*1mSuH?djk~(6NII;9l?qK5uI>)!Xa?{+xm( z;uzez?`x;YD2V?Amo!8(h==hlUk0{nkQGLI-y_(+WnB%x1pb6+A6D^keFA2zb_wkbN5ic## zI`eHmlgt-t$)(I0C0s5rurZPPWX`T_jDQUs>2a%sE4_wn2b&snIh656*UngSY&)$O z<~ypUf#VW+75ro2JdujD3vc%5F1m)Gvr)?JEo@dmql$ zIS`(WL{B=HcDvsd@^*|M5f6z}fwh^j!f~R^J#*Z~D@;F0)(nI_wKIGD`gLIgdY?=N zp6AS>FHjVz@laAhW%NkN)@=UU_f;-`NERaaMk^mm3~r`X`V#g*@3ps|Q=@|jT!?=Z zB4?N$fW5v*N9GZl7JXak}2Un*qC=J<7SiE0R z;pxt**3ri1&Vjy=>x)GS%4a4mZp(`3D@U2Er9iheMI@K1zdbW+`djcUY5!L%@_FWJ zg%Qi;I8npg_i0hmy>oj4KA5^I5qBCBr9vMvIwl_! z25!1ldKFAbOc62SyLVI^>|KU*jGu&CC1%Ad^O!7XtH5YBZ>hCV-R_{1yF>rA7L0&xypC_^^4!=gNiTP>{^mC>{Rj3lIzUpb8#9+;v_ ztCZ-ul+Fz8+nZI{e?L61`q9~bK#UolyG4Zl{4=REfmf-(Iz0fffu9_-+k}MJBP)qb ze??`O`EU5IBUJUvrz2A8VvOd?91rFXtAoiNI6p3%zUa2pgM=l{zUg>Yckp`ReDh3t zl}^TcGWz24=w8&;{aAULPScj%S_>-=9>Q0tBfXU078ysUQ}5W@tj{MHpEA#I%l=gWIrxz(+P{M?9b<9B-bo-qnlY>o7mByQp5u8TsyLmQ6Qc-&hA1RD99C3PhRq{32bw8ogrI#wKU0;~KpDP&QtU$3+ugCYLfOy%|Dx8CQ?p zbyFHoaf&FP?NFrRMiZGU4uf@dOJ5&v z9uhxfyQduhj!Eq}Uv~a5sK=qlx>;AfpuUZA#_Bq8lzjuu zs2PW!l-Nh{+e_;jE*p^rI|t!XwUVO(gS&DCN{YmeHb*&&uA?J!bu|7%H?rNr@d?oT zfs9EJC4#lW4#`3zet=i0@2aJqcUJ1~7UJ-nQ{Hnff9D16-w@fy<>h1j)|4BMvJ(_3 z`M*Q`Tt%k(9fY`66M}vFJ7(6;)~yHgN+bD86mu2{zj=C z>$1N3@KN91{!Wcn!49!`gLQF_Mms}tmizG{uI~6CYD+`oHSOc0&I*HLUN4I6(ASvz z2?ddPHi4xMNkrzgcLcqZDduXLBh?UTZ)qWUFVxD)4L_mx!C+RW=V?DPiVanEUi^*Q zM5;@g?qa6Dh}HIQ4yv35vK~wP>3JEshwYHAw zj_2;MEjem~#InH#CmAQ3qxbVU(gV|Tvt|-65+4~DH$VMn7mI=ViM%p4QIsqb?z7<+ z^yk4U!!dsh51JjjKbnAWq#?CVoJ>aVASZEX0VIYj0xw(j>=p*w;{qkSxr z+QO)oj`V@s7O9#$7E*}YR(18l7kmuFY8=z*jW51w+_qd>tHJ#wHPg5$F3LwU5&mjo z+S5s2Jk;*JTD$&s?Q+PLT&-v)D!RV69=2B}jw7o8j)>K)eF4 z`yZoZF_YkXZ|@Vb6*9oS!f+ukv+tFb7yZ|#U#789n&ZdvuJ4bWNkp?yxrcCqeOoBc zF?>H~1o7Q<$4INjDjA67Oc5urY9WF%6)wNIlfxdm`^gufOSVz9skY5WEFn`4j-)Z| zP=`!WuZ79k^BT|n&j#^8K}Wagpt`J6qX~Im01-r=>y0{5QCDA*jkUPCkRJj-wf^_8 z^Sr}Ls-Z9-v5#yaR_XxV(WWPRtBi2~3IQGIRy9g#(EeD)!OO>hz`iMuP@18P@x zyBWJcYDwWoA5cYSakndt=w$b=Q!P+LuH;0b8;#8;20;Je@4Et4V^8WpKw%1cq}??} zdQy1h(1Pb^N5PrJZs1n_5O^bpfWOy6_>}VZC^+uTx=X#dZ1RTHsVp( z17drVU%kpa%ipG2&2C;O?>ybO76YBfx3O%+OZLJ74c`YPx*hkXCUJ<*ZjhbKpSQpecG8 zAT~+XWES4Q1$?1q(nhYOxe4??lSMx_upavgDJMXjrOuwU$&Y7n8VB5_7947+KGsqu zkt*n?4f-rj8BMYs5(#Yo&JSu~$rV3_id1_$zTL>#23Fazz?mXx76J!t;66rT`6=^c zbYgLVMYHUMlwFcupq<|YaRvs*=XO^jB(?5yjoiGFB@>)XyySvvPWu4B64lM#AYWR)_PB0uKyI;%rHp4V z6|?1-N$fcIJ7|4I_W7KvvNs(W(KklvrJAF=?9pZdsW$bprQZ;@>Of>_`sdfjVC0O) zw#cQS0f>lse|ZBap#zXZqR8ypJm!-`ZQdstzjXu34n5mIM?fx!yM>m3O_?Ch1ueMG zyaHtWU*ul=Z6;U*E%dyLpWskMrnGn0q|JFUlgmJ9pEN-z8q-+~w;?>1_yy=ICF=rZy^< zi<6rK+XEB|772Wg{BY6urrUDOSgYImNC^@QuEXbi+2^u(A9Th?%3j1U1h)mTw(PGK zWb)_E;p#u<$p6pkI+%6O@d=LYKuAUxSD!(ls z5^r1tG`xpDHDVwcEH8(d_hl?mzX?NXe?@}5uCljJ=2YxrS4@_^KFTO)A6Phsea&!R zD+=}k+VrANa(=#{oGCd!?(@mejHkRfSRYkV6hrN`s96U&0DFnMtI>B5VV=H1uTD{i zvx%YX^^b^1ft0~iSdwHKkWG6fuvs-2Ln78({;N=+;4QI=E^Fxovt$?0WLveo6Hq&&M}!l z^i~-6dGG4)iixr&RvKhlwUFbzPe)BG+gr*P^KVZv=@@-FjT^TAH8_8@(NX7v0}o`i zx#T(NWOZlY-M5x9E{6{DH|^jP(}hGWsVWMzZop2r8hX`i(v`-dIP69?fcuENLqMTK z0H)Ny1u_vd%-Z76C=z2<)^Fqa9kL z1~yl!TiNd|4pZYQ8Tl9-8I3NfiGC2_@xV-M5M&{Hi!#QK@{1a!xFp%0z zDrd)cPRZva)@oM2GKFD66)tgD0v#{2NsGHl|mYlRe z|0CH3fEBbZQ+BwrH_7_j8wR{pt2v+3;APaI0+ED2z=>}aA-(^T$mTCNZIT1&z z_!Uiri|Kvg4_rEjJ1h<*GRk)Uk;_~Bnuq+|?$C>a^#8cCI$_?3tovR>LQAQpZc2jf z2PMdC)Ni68Hcw3VIFLixc($Xn>Y{G+R?7nFo(v}Vq59PpgKa^y`PdDZlYh6kZQec^ zb_1Tb8J@oaJcGH_e~PYusqA^6<4Q|T509E|3#UvyjNq(x`{j>oHo?CaM+qoU@FhfM~cnJf08~fq@US6KR<*ip|_7A zGrO;woJFXeoSen2I}Qu0`gjXP`n!uo8N0na8%xazWSDIp-2_ew8D0bXyRYnr8@R)v zeY)SDH`&d;E1FQ*^_e*-@mPqsQ+WjjT)qzEq1;k0cF5_2ApUqca5DUTJl9#0P$TiP zzd};QPTqzRP5Ez)_cyR2BKuqAn$Z#>`7t)4c$4V64A58+ckuURy_PGQ}wW-ZU$&ST3;Hj*n#ybI@E za{+)9*am|!s*kB&jmmyrV8U^eT*Ldg$JK&oMUK8l$7PHAv*pEkc<0rLb4L}NIAN{ihQMS>>hIcU znQi|0$&HQ5Q(CtLB5qU4fs)-@#K?#6;o)Jk;sdnTsgxrmitsl)U5Kf%GR*dovB`7| z{^@3Ibh(TsklF}~(|(c?wmQRihlJQqUhHVjFQ22{W!vWZ=m)_pF-QyHJg0G62MAWv zlJvuC=tUT430Tnn7$j`X4V@TbXc3sRFh0Y6J{=nM!#3|j9k{FSdu*&Xc%nHUEe^;Y zw%?k&3a&PnJUWvrY<;TJW?hSg2Zm35zgUf{3ve*D(J$FVDNG)A?Q;e<)i27s)oe?+ zHT6kU+8^9!Gm~jW9u-eaGnFMc%%)k1n(s@%o+DLYAML$kiw52)KfH{Yi*l}BA1UAK zliPfOxZ^LlC7N2sZx{vlo4Qn6^fsYRV?idAX_TGHOlZ!EtbVP~>yDo=?LpA-1L>5@zH&AIumsfJ+7SCLSD8uR~h8`X04PNK?)cg z)B6HobBpr4yJ%@eRzb2X5g-wShMXwAdd@Xr@rL4@V7?cPVpMD@VnN)-47iOpu^N(8 zY7y7X{Ui*MNapJ=8`}atqH_y|ilO^Kkqvskf%VFidG|rGDx0OL_T+(z-8-$A zzg|>gHGJu`(3*5}vvXfYQh(b(u|f}p6UosLtVvj$;pRl%5oPdbi5@FFsVimQoC{*$ z#FSg}Y@dRXP!j0tuw}zY^zUSwlyTwd9(?hm}=3l)#kM?Vy3P z9p9rMxl%&T#0J!x#O)LbS_P)uR3^Qz9Ty5g>gb9`$G%=+T?sw8PwGkc zxlX5e#%$&%+$V}^1qm8OWCo^A>YPTsa%$_GWZ`03x12(dkG`S|+7Z ztw{XFxU-dkMl9p1Zpi-OyX7fN8?V^YpDb`2y?0imMKy@2Jr)h(Ax1Az*Ik?~CNEG2 z4F66-^M!UI&NB^hZ04?iH--R>X5d}HES>VVay(x4Ri(2h=amrM5exp+d#uP?9I$z? zBs_dtOGwN%texFhLB!-1XH%f|s&yMzWtqq}lm%k>n1xuS_&MQZmG8uXhxFap*4w9_ zM<%>Fzhnro6nWP)741$jhnlsl--=mJc#$?(Aa_?sCP5XOE&Hd}`t!)#2j2Fy9+82e z_f^;`OOwo4;2AYkadH<`4}^@c2g}k|Cl*BV^&Q1N;oD4~od;B5j8+NhHzlk*S$+sP z{@Jy*Br__HfXYGfk*sXWAHBM$X zJWL;0+}od15R*!)7N*Zgh(lVu4W}Dt9Huo2(_Fd@ejs35ofLa70bQLa~|`P zvE8FiO1$=IFDg{>Dsw69M(k8SNgMBP|L{`I>UZLwL_!g1Ye{v3qk3mZyU7KSCVdH! z*Fn{-Fg?2|BJ;++hlSz(3!#Pj#?2B}AQD&XuND0vZtDU$GmHIj&odX)o&0z#wp-2% z>Y?1FbKk~Cw|m|uA21y^>am50yRFn?98#OJ-7Afd}&wDB6|VYItpTCsuK^eN&7rTik0sFyV!*&ita~4zMdm207b%dI(Pk3jW+?W;%>s zo>H}_)kt_qJxO=0Fq*Gs!B(H?I4!&>4}t%PU;c_-kPpxs!+$_+MsDV?t><1{am;Ax zx2qc3pMC@t%+AHOshVnTX)2vW7_iN}1|w5FH6o^}eyS>24vcf{6&fqks7q{!PDapu zde?0?kENq1e37#HwZ6wBX8zc#tNTUTIRU1NHku^gq}IOD7powSNLh%(G6lE>Nr9 zN}`H8HQBSA4v;A~SsCvj(7DWd84*P1l?Lsifu&xGvXwk6i>L$;Pj>SEvvPWhCIHgS z1Heas+}KD(Kz6z`z7&iV4}K;(c&jG53P6-g+JfFicRAa46;j|fZD%0DHC%c{*KqEL2;z@d>hqifzHcE7G) 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%0D5UJ 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 literal 0 HcmV?d00001 diff --git a/docs/content/en/rules/untrusted_checkout_exec.md b/docs/content/en/rules/untrusted_checkout_exec.md index 1305a6c..9d91518 100644 --- a/docs/content/en/rules/untrusted_checkout_exec.md +++ b/docs/content/en/rules/untrusted_checkout_exec.md @@ -194,8 +194,25 @@ jobs: }) ``` +### Azure DevOps + +#### Caveat +False positives are likely given that static analysis of solely the pipeline file is not enough to confirm exploitability + +#### Recommended +##### Azure DevOps Settings +Organization Setting: +![img.png](img.png) + +Avoid activating the following settings to prevent issues: +![img_1.png](img_1.png) + + + ## See Also - [Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/) - [Erosion of Trust: Unmasking Supply Chain Vulnerabilities in the Terraform Registry](https://boostsecurity.io/blog/erosion-of-trust-unmasking-supply-chain-vulnerabilities-in-the-terraform-registry) - [The tale of a Supply Chain near-miss incident](https://boostsecurity.io/blog/the-tale-of-a-supply-chain-near-miss-incident) - [Living Off The Pipeline](https://boostsecurityio.github.io/lotp/) +- https://learn.microsoft.com/en-us/azure/devops/pipelines/repos/github?view=azure-devops&tabs=yaml#important-security-considerations +- https://learn.microsoft.com/en-us/azure/devops/pipelines/security/misc?view=azure-devops#dont-provide-secrets-to-fork-builds diff --git a/models/azure_pipelines.go b/models/azure_pipelines.go index 0c791b3..f5cc172 100644 --- a/models/azure_pipelines.go +++ b/models/azure_pipelines.go @@ -9,9 +9,9 @@ import ( type AzurePipeline struct { Path string `json:"path" yaml:"-"` - Stages []AzureStage `json:"stages"` - Pr AzurePr `json:"pr"` - Variables map[string]string `json:"variables"` + Stages []AzureStage `json:"stages"` + Pr AzurePr `json:"pr"` + Variables AzurePipelineVariables `json:"variables"` } func (o AzurePipeline) IsValid() bool { @@ -128,3 +128,32 @@ func (o *AzureStep) UnmarshalYAML(node *yaml.Node) error { *o = AzureStep(s) return nil } + +type AzurePipelineVariable struct { + Name string `yaml:"name"` + Value string `yaml:"value"` +} + +type AzurePipelineVariables struct { + Map map[string]string `json:"map"` +} + +func (v *AzurePipelineVariables) UnmarshalYAML(value *yaml.Node) error { + v.Map = make(map[string]string) + + var mapFormat map[string]string + if err := value.Decode(&mapFormat); err == nil { + v.Map = mapFormat + return nil + } + + var listFormat []AzurePipelineVariable + if err := value.Decode(&listFormat); err == nil { + for _, variable := range listFormat { + v.Map[variable.Name] = variable.Value + } + return nil + } + + return fmt.Errorf("variables must be either a map or a list of objects") +} diff --git a/models/azure_pipelines_test.go b/models/azure_pipelines_test.go index e7b58d3..aea4ed6 100644 --- a/models/azure_pipelines_test.go +++ b/models/azure_pipelines_test.go @@ -45,9 +45,9 @@ func TestAzurePipeline(t *testing.T) { }, }, }, - Variables: map[string]string{ + Variables: AzurePipelineVariables{map[string]string{ "system.debug": "true", - }, + }}, }, }, { diff --git a/opa/rego/rules/debug_enabled.rego b/opa/rego/rules/debug_enabled.rego index b988c49..810efb8 100644 --- a/opa/rego/rules/debug_enabled.rego +++ b/opa/rego/rules/debug_enabled.rego @@ -96,7 +96,7 @@ results contains poutine.finding(rule, pkg.purl, { }) if { pkg := input.packages[_] pipeline := pkg.azure_pipelines[_] - pipeline.variables[key] + pipeline.variables.map[key] key == "system.debug" - pipeline.variables[key] == "true" + pipeline.variables.map[key] == "true" } diff --git a/opa/rego/rules/untrusted_checkout_exec.rego b/opa/rego/rules/untrusted_checkout_exec.rego index b6f83be..373190a 100644 --- a/opa/rego/rules/untrusted_checkout_exec.rego +++ b/opa/rego/rules/untrusted_checkout_exec.rego @@ -91,3 +91,46 @@ _workflows_runs_from_pr contains [pkg.purl, workflow] if { utils.filter_workflow_events(parent, github.workflow_run.parent.events) } + +# Azure Devops + +results contains poutine.finding(rule, pkg_purl, { + "path": pipeline_path, + "job": job, + "step": s.step_idx, + "line": s.step.lines[attr], + "details": sprintf("Detected usage of `%s`", [cmd]), +}) if { + [pkg_purl, pipeline_path, s, job] := _steps_after_untrusted_checkout_ado[_] + regex.match( + sprintf("([^a-z]|^)(%v)", [concat("|", build_commands[cmd])]), + s.step[attr], + ) +} + +_steps_after_untrusted_checkout_ado contains [pkg.purl, pipeline.path, s, job] if { + pkg := input.packages[_] + pipeline := pkg.azure_pipelines[_] + pipeline.pr.disabled == false + stage := pipeline.stages[_] + + checkout := find_ado_checkout(stage)[_] + s := steps_after(checkout)[_] + job := stage.jobs[s.job_idx].job +} + +steps_after(checkout) := steps if { + steps := {{"step": s, "job_idx": checkout.job_idx, "step_idx": k} | + s := checkout.stage.jobs[checkout.job_idx].steps[k] + k > checkout.step_idx + } +} + +find_ado_checkout(stage) := xs if { + xs := {{"job_idx": j, "step_idx": i, "stage": stage} | + s := stage.jobs[j].steps[i] + s[step_attr] + step_attr == "checkout" + s[step_attr] == "self" + } +} diff --git a/scanner/inventory_test.go b/scanner/inventory_test.go index 382d90e..a252730 100644 --- a/scanner/inventory_test.go +++ b/scanner/inventory_test.go @@ -375,6 +375,28 @@ func TestFindings(t *testing.T) { Details: "system.debug", }, }, + { + RuleId: "untrusted_checkout_exec", + Purl: purl, + Meta: opa.FindingMeta{ + Path: "azure-pipelines-2.yml", + Line: 14, + Job: "", + Step: "2", + Details: "Detected usage of `npm`", + }, + }, + { + RuleId: "untrusted_checkout_exec", + Purl: purl, + Meta: opa.FindingMeta{ + Path: "azure-pipelines-4.yml", + Line: 11, + Job: "", + Step: "2", + Details: "Detected usage of `npm`", + }, + }, } assert.Equal(t, len(findings), len(results.Findings)) diff --git a/scanner/testdata/azure-pipelines-1.yml b/scanner/testdata/azure-pipelines-1.yml index b162eca..4b2f85c 100644 --- a/scanner/testdata/azure-pipelines-1.yml +++ b/scanner/testdata/azure-pipelines-1.yml @@ -7,3 +7,4 @@ steps: echo "Hello, pr!" - bash: | curl $(URL) | bash +- script: npm install diff --git a/scanner/testdata/azure-pipelines-2.yml b/scanner/testdata/azure-pipelines-2.yml new file mode 100644 index 0000000..794b2ef --- /dev/null +++ b/scanner/testdata/azure-pipelines-2.yml @@ -0,0 +1,14 @@ +pr: + - main + +pool: + vmImage: ubuntu-latest + +variables: + - name: trustedSourceUrl + value: https://gist.githubusercontent.com/fproulx-boostsecurity/fef312cd7d54b9420b10fd50d0793191/raw/a5f417b88fa2184a9726b274daf18d29da6c79ad/id + +steps: + - checkout: self + - script: bash script.sh + - script: npm install \ No newline at end of file diff --git a/scanner/testdata/azure-pipelines-3.yml b/scanner/testdata/azure-pipelines-3.yml new file mode 100644 index 0000000..080701c --- /dev/null +++ b/scanner/testdata/azure-pipelines-3.yml @@ -0,0 +1,14 @@ +pr: + - main + +pool: + vmImage: ubuntu-latest + +variables: + - name: trustedSourceUrl + value: https://gist.githubusercontent.com/fproulx-boostsecurity/fef312cd7d54b9420b10fd50d0793191/raw/a5f417b88fa2184a9726b274daf18d29da6c79ad/id + +steps: + - script: bash script.sh + - script: npm install + - checkout: self diff --git a/scanner/testdata/azure-pipelines-4.yml b/scanner/testdata/azure-pipelines-4.yml new file mode 100644 index 0000000..9503cd7 --- /dev/null +++ b/scanner/testdata/azure-pipelines-4.yml @@ -0,0 +1,11 @@ +pool: + vmImage: ubuntu-latest + +variables: + - name: trustedSourceUrl + value: https://gist.githubusercontent.com/fproulx-boostsecurity/fef312cd7d54b9420b10fd50d0793191/raw/a5f417b88fa2184a9726b274daf18d29da6c79ad/id + +steps: + - checkout: self + - script: bash script.sh + - script: npm install \ No newline at end of file