From c5e1c16e194dd05440ea5cdfc5fdd572d9f92297 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Wed, 26 Jan 2022 16:02:07 +0100 Subject: [PATCH 01/15] try connect grid --- .markdownlint.json | 2 +- Document/Images/slack_logo.png | Bin 0 -> 18096 bytes Document/Images/twitter_logo.png | Bin 0 -> 41163 bytes README.md | 24 ++++++++++++++++++++++++ 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 Document/Images/slack_logo.png create mode 100644 Document/Images/twitter_logo.png diff --git a/.markdownlint.json b/.markdownlint.json index 6f424bebd7..560b47c687 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -3,7 +3,7 @@ "MD013": false, "MD014": false, "MD024": false, - "MD033": {"allowed_elements": ["img", "br", "div"]}, + "MD033": {"allowed_elements": ["img", "br", "div", "a"]}, "MD036": { "punctuation": ".,;:!。" }, diff --git a/Document/Images/slack_logo.png b/Document/Images/slack_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6967050a09ae4b037f7cc93e53939a6d1b9d9590 GIT binary patch literal 18096 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 literal 0 HcmV?d00001 diff --git a/Document/Images/twitter_logo.png b/Document/Images/twitter_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b52f159649390879a2f2a8580d0382eeea47fe50 GIT binary patch literal 41163 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 z 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 z zCe~@5!0zRHUevm&1Z{)C1ofj)|!6u&BVM9a$MMwD)CG}z| z8K=KST~r12+;GBK){Jl>xfmsAXY7WqP$?Kfq)+PmFAKy2JY_1!q^ipsk9om5!eRh2 z015=@8m8PCx>z$#DWy1u+E3xpvNCR1&0nIB;xvDkNGsVG~zyot|6iOs!0f_v#qQjv@h;RW%%CNLj|8N@U?Ns8}!{SBZLo;aJXvRSWHIa&peB{;kxyH9{+UC z7VUxX=I0mOb&)t+aQysS*;mhfRfo}kabL#Q&(G;??=#3V>T5;+K`!o+y~41ri$EB= zk6FD7N!*+XJDXXcU&v)1M69X@`lJHQ1&9I6hnR~QD0LEB5@AA;|2%`Tx{`EjhA9s8 zU3>MAxB$wYED)90YF#tTZ-c8xEt2Rk(aQ%O`MQIBzQUItt&#=y3!A(^EsUlhL_qk# z!Atz_+aztl5&=vamDOptlL%MmT!??a{tV{mEe3vD^&~ygdS3jRcbG2z>=)ee$d{Oy zKCbUW#D*8!Mu@hsnn>(dM0ERD6w672e~HC+&mXYu_3!KEAvo?i5CWv@YEt)U1^EepSIZN)#5WG^M& z!bPZp*Y#T5?gxT26gEJg$mSD&WLP8_A%_zUaFQ{pb&V>&A5Jfea8J-aq?Xtm*EqVO)Yu|?KSK34@)p%>EAl2KiLcDv<5sst z!;Hg!BQA!G7XP42D&A*!6aEKtLo$;Kd*p`}sp+R6FV5W{TJ|hR=0!8oHSQiEp%eL| zO>Vxp2}Y*m54Udn$EF&;C(G*QAF{Jh8Q{}3Xaa#(1c-p*PVtbR2m=of_N`|8kVNr_ zHj(7GCrrLU7}m=^bK&Olu^%;w8vqfU`&6Yga&}f60-3;p=afNbEMULyA0P(#tXdUm z;)^*{#8&+)_3sUm&Jlw9W{F$-&Mulsn$^Yqhs`az07g?~%x|~=NZJ)L?x3HYw=7{@ za|=9wvNEv)flMTHZhLj2Nl>)xVvxN)9{pc4zaE$z;i)M%arW5aZg>Q4I%dt}PQFf8 z@Gqb*{z%GG8L%@^8TkL;Iq0zu{m=X*?L7O@@+Y+HH1KzL8zJA_{(stju@TWdA#HvF zTy3bCr=}&3q$VL&R^l#Pb#YQP{YLBuD+NxIrp4aLvc71Klj6F>|Gn5NS7s4E>+sJI z;9#L;wn=_i@&;5zc$8?OOrqZ9&xCJ_%&H!l#WEWmxhF6!{;!LB>dT*I7RKO5 zm9`Zxb7de+`??#18{hs9s!mX)&zBo(bNw6o5LXVt7k9RSk~}BC*RApVKuh#L3iAD^ z+#wnwDH_Phb1e3YUSLx@@^2os)|J8g*(GQTf>Y5-Us$D73Y02H?YPUHI%OCe)FZKG zHU5Wfu#I`|4+vlkx()Rd;#S1y$VC2k>D7Nk#$WMRXAk2sj9%(8(n9R0R{lYCn5s4`3>ELL=p{pdr%JiX^vLSR}6lq=%>_5Bpb+h*hXs}WlM4F=!8Ib{Klqyg^?$4FwfN6gi0@~vz{EvL(>02b77@2pblz7Ml zf#VuGEG&NY@Y?SKi#t4}EiVW5NmalEU!z&}#(&Wq2=xEEcM@H(BWhF{V2O&%`5w9Z zw0TdJWI+*=-h5#_6;)#mBA^pQ)K zEyI7jPfL6?fh!oj`#j8q1C zQK(s{Q4w5+@F>%LuaJ@ZV5Tza}Cat?KO(d=N~K&V2G$e-cn5%aa0TTvHW{;q*Lx( zhMW^G#cQyfK3fvoS@f9B|M%|cSA9mz_5YB!mzkjyXLz3_R)ZuNGdb4;&t+IE>w>kJ z2SUOfgcbhJf+zU2IWQ4Q+g>?v5svjEI=7P6{3|}_$!{SAV#-@rKK4Fg| z8MY$a?M({hSN+w9Z&g3ad6XtXZQp;RG76ex(U1EvM!>q;f}v$m)lZ4E?tB)eo8l}C zdb9EH;j<4MZ7)>B&O~OurSy_7pM!n8$$TE zb_!2YQ$Fr)0mXnTWn?6N6Go0te=BTytEs?6H%&P_LG^kA;X0jzT84bt64rfWiSo zp2KhG6s=Ne5pNyKL}UqkqfIP`Txuz-k~M1CLl<%;X$w&txg$OmXm7eor`%vaz}Pla zRIw6k{a2EBlyOVl10&1(`?Q%XU}QZbBT-_bXbI(EC%`QTJCeefT1_+)XZQ)B!4vKp zjZ+E+<`Z}vP@u{=&Iv_)0W62L)Y;8P%~o=s>Bj}RMwdJ!t}26$i#}RE?+{t(BMd7i z9~we;a6TG;5~?7Ci|=`L&0Bh3b1y_z<4VI|J$S`kRV}wL$?Q>?Bl+ zXYudIm*4EoA`)EAc@lL>MPf=rKn={T4F;6$;=9D{!@1G!TK+8$Sag+JIji|=RAqmv z<=?hXBhV5TGR0PWcd@OEkSs2fLFI4=vd?%ods@1)Bz+4B-Nf?**Z(8kC0IWb7(~(% zO<N3ZXVLlgCd1|0$R3gti@yheZ$XUkJ#Bh zG;=Jhiy4`6_ok6hyXE%e^G9x0gZn|Zdtc5PjTN~{%ul2(aD!L?I*3dv~3 z#i1_oC59PxtRv|l>>gc##AzOJc5@4r9LM&-8QUvW+doNwu|Lme=S9+n&_D*?BmX}! zpF#!ZHHm=Z9)$+k>RR;PPDO>HhuPln zeFz6+V`YPFSZQ7OzX-gEc%v}!l(4F3+6aAuJ7r19%FBmV`xI;V+Y@fPs7zouFeWUj3F|RYuIYgn^5r%5)kvS z^LWnJM3GiCm6A;xa~sWFBcKHl?)(vsOcEBpbO9 zIufz>`OR@b-xJXCmYuU1FQ?O2`O}Dt#I4A-y1RDQar|bKvitKp+*9bs4F;%cU&PIx zz;+Uwq%_iwvTHn%Y3fk~m!(f71s&-B`W=yioSTRA`BK)qDC9l8Z&&jsZD0uo=7oKPcg_>kPERJ!?%14h( zk|+%S(1uIQ$^}39apu)k@H*KhB17R!AM?`{Wo`=l2g7Ri~B@ zn&;EMw{FJh=tQTbPJ2eOY7w!GX6ERau3dmQDS|SXm&k(Oz?T&6OzHa~9c={OQj|icInLk*Y-%rJ+fTntDb7w)6!kZE( z*};0F>3Hyhy2iR6)=L-V1<76gh208pFzoSBFz%e>#z=aj)hOpq7JP4wQT5{_E_hgE zQdVW$S(z6ZsM+Wn5}ze5>&#cK^~1s3LXdecqkn zm|lN|kDrZQJ?#arqo{`|UrK#th*mHhL%U5(4tqnfWMKTA47|lL zH<=z~C0xV@U|Ic!g!D*-U6`M`yik22*imHFcrZ2|E>)75U z77!`jYsv6$NB~zRtbG!<;fpi}TUI#fbBA70ufq3LI2JYQ zJ<5XiKFrrNnG1+cOU82vPLJ+=AH}zi-$FTPNvMp~u%rDaJ=>2)5LybLSbj40-WdB{ zoMOd_bhEmt>?YNQ`9p}piRx!>;yU`WX#760K#tnLJ;-SCvfD{NttcROT(7Xg!h9b^ z-f6sig{+xvt9!D9{m1ol6X<=2dz|02Lx3HqxgRq(o~uGes}F^*&)MFaw!Bq?07|Ie2qsmNfWK`0JH{xxA~l)c7gwF* z9e*LjcVECBs8f_ovT0oY+|u@jOi~(^$MTk>N$rL5G6n-9T>0vhBwZaj zZK_6u7UC=Nb&ro+5(->Oy4$)izAZriHn+Z4o|m?qZ;f1jj+#Gz5N5<9Wl1_cdyHC2 zSH>44j2=*HLQ~+>*Bwc~+`dQ88rltC+Gp+wq7&^W7FiS+F5pN>RA4Y|%`f1EOcp=s z>hOP2J4=Mh)n;i&fW-;0Odr!#Y*VYCU206{Y4tYA4&w@eD1}l+Ji`3wF^|lByL2wM zIMfQ28^nXvYY| zcp_hT`hPs`A#fPCTnlermjw)a%X^W)>G%H)ITNPoxUXT&nKCT)ztnv7BSge;6kDye z?FXnNp95V6i3Zx~<54Jr;aV09GgdGmbfH&$W`9%@QQ(fBGeWE8c3{{8VP*0l_HMh; zxR;24@~63+N70&i3~HW}Janb|=MxkX_jTjF?g2$n&Hd(hO}ML?e-=} zglneF)O-47wCy{Tf(Kx*ocbFP zvk=k@4+BTuZe?Yq<{`2;$SaW?ed-*)7vYK4G6Z@0&!lff|rQlKzZpXv)~e@yxYKd#7`j!<}8bjIL}x7imB+SqI}hT z!;E>L1DHy36Mdzyec+f9(Qu4ABFmnx&BaTubqw&xQaPx|^JMZJ^g$e2gHZiL@ZTF^ z2-U1MaZ6;fh&!uxZ~hd*=)$e0QR(KebQ?=dLWa`j<%)%9;cN!wHCQhKYFvn{2t-56 zA)dXBP|YG^zrc&h2K_19GS5ytW{YI(WUyG6vU4odQ^n}Ak)P15hk2CLv=KJ}?pKj3 zi{TO16mqQq+5#=P&6t+GrZpxaCLu@l0~vY(q8OBAC2LglZYC-6|8ss^oO76bPYl4_ z#|;*;)a(`5ll%ceL_~P4^>{kJVyU>#z?&JW^o8w%*h?gUI4zfq)gRv6hUgnk_{P$^ znz;ZXQ)_vpyR!Co1oBWYh|v}>93XPlZ$1)5SYuCq$0?pa!0iXpsWen;wo{uSTJ3Q& z#@tY+&d$1A5W~B0v%7EbEexU?+YZ_Mr!zl z=Gc$^IdK?w3p@;}YVxu#C8oKEbC8TM-u>^H9cMu_qjHH9C^bWc->DvGWnhmG&49Qk z<{c8Dkk$U0f&pmFa1-6FYJX)(xZ>v3rpc`l2XgWg7Y*Ud8(eso6e8m-TQ6`mOEl-C zQfP4is{Ln9ltjfOlmrnsPeWttrp6Qp^xFshOd*5(nFbfpIf1(^$y`}RT=Xv3JDCR{ za3iBR5Dk}wt73fbTW8N7`7=l<_^KQlerOH3$DSn3PiQDIyZP>YTIG2-NE4RP^u{kc zq(zdXPGx?VgO+c_bV1Tkrf~hc2Cn9$$71OIVb5w)navrA#AE`owLIvTT2A9#NIW*W zyieO}R|-ahZRLP&qa2yQ3_@!cic5iJx(xd9GsvO>VrxaB3B`7-AOD%}YKF^y*P>Up z5T*+ZkeN3(V{YnKY|j!2UchEUM;8zdsKQbtc$>#<7GMKOLw@$?d>oq5J`Ggc3ZuyM zB7JY<2KKN6I%YV3Y@XOV!i&hmFOFd>p%g*pomoSfjpq3zya*8~Zu`U_2PZkf*YC-8GI6f)>>ih!%pBm5ME&qItTX*U2(9jPD0MEy?<@o8cbF zf$}UaJKTfj{q8;yc5+sc8|fcLR|Tt|p(lW{jYpZIe}B4-Fh*CL>V$5Ir{;Pd5QGa*t_CX$8Qv)ujsmK1mefwf7wlj!C5@~x^{<*&q(N%OAd!8-1MMK{CI(110 z`+fU zZ(>g&N2ABog|lA}-GhKnw1)p!Ab<5gOPX@LyX#O<(SooF()|!aqj$WsXXz@|HI@_v z+7$Lyv~ze#;t`TfL(ZD5oi27KqtTVPGqrAT4#+6{7MDi4A45OUp`IoC_&}n!MERyr zdEcZ_etgA4X5}>tI6Rw6PTp0{t0wx~wE8vvD!-Fk9*IJ-nETii|*(jl6 zt_-FpaCc>z(i-66?fe-<1p?yH&92aKIsX*3Q!XxkUtMAX76eXO;k^Ha1c#YVH*eDjzqdR8i1F{_&%jVa|6q}4Dkrx zNJ2i*P|mJ@lWt(35m6qaKJlYIcf&v=dFw&5I8^=u-F50gGn?JOk==*P2!CD;ndzXm zXgX8lB!1`;8gydb67XP|x~5pl9J5v2^)&wCjvl^;xFy(Sl-_FcD{4?7?F~4}qhGW| zZT%Q?ZD$0DP-na;UWohqX3<5E)fC@8c;bh7xzXy(pfld&0ugMFghjesQw=X?*{rK2$OpW>|kZM0+Amd!ltv}shH6p%N=q?c}C2 z5j)cd19XXJ@Jf6XxQF%U3UG&FX4*=te&58(5nsP*PRq9)z(ZtlP3jM*`|&7k0RNVG zS^;~Sc(k<#RGcWLmqt$M0&Jl#CH&PtFZoAftI=AjPzC=8{dG_KcXEYE%m_UTIjf{v zk*m6b;Y)@j@o6R0@`iJ;TjB6GoZ(8Lz|{i&VXt3Jt_8%us$-NNIzhDi;j$F~qBacHdH0&3O_34gs-29V3 zU?PqoQc(N;&y43*$zv?$hw2imiaG6CNv~3o-K}4;@gIp6MBP*J`ZVJ#xQH59ol{t^ zpZzA4S34-sDW;I^Tu2w&gnh?;0G1~#($mOYFXXjSWK=3TN0F9;GUuKoenHF$lIEE4 z%#5_%`w0x!@V^C!omHG}$li@VlMA@<1(h+73Gj9g1*SE-#L5Ptc6A}0T5W@u_KAP_ zv=MeJfR76CG^#Zze2~n)sY#rl`-Dqit1qRwtQ#e(mcyBIuM(2{tDA=O~!xcU)}nnH(+Q>t4&^W>xbAQ+WM=>pM%~+_;lJYX2$AeL)krC#(V4v~(>hm-zebdpE`Lpme>c%> zjYx9(((q_mz)iGwT896c)W+=9BT!BiL7vC;y_jWsGJ61HK1hFo9}&^-Od7B?QrNwY zZLT*5BR8)0tmB};iOU)5-d(PIRJi4{%$Q8ytkQ=P2ZKHxZ=Ewnnc@e-oLf+5v9nGf zmKqs~X9dA|Ho_h8tN>qn)0A zaJkgNvcA%{lQuL`NL0`00pwL$p`*E zr#w`y`o0((5ww@S1aL(93o3@gT{MTUP$Ov}7@8VP>tg>ap|}s-VwKldE~Asu<^JFL zXl1h(AV;Gp%l_7-_74i2UpI|>o&hVM9OM?D(D~{v7Y`C84fsAz?|h@HvsdxoykO*q zU~YghiJn*fjIo)Wa5R(J(~R}feaTbhr~EIhf&)wFp%p7~ zG=56Xh$Gj)BPcO1y6YlJAN0Se&l&$Lr*sV ztSIhY+-o<#bg!9wn7px@`vG%Z*}TK2#8(PFtv|a-#|(#*(1BXpGslM#-X{Z`0|4i` zTtI72Wn=1;bgWrcfPBDDs0xHgnhxq)_j4#hKJ#QS6Be;bhXp&&{E5ZIJBV-xg~MJO zskHHeFuC4h~vq9t;q%J2ARt4P+z=4@AN*(!Cf zumBnOR?O-P9B;c`85h?^gzRVy;FKBkQWR$1YN!5B{A97bnwl1H!H@838=T&qvqia2 z=1UN*^((TBh>#Zz813%fGk-DxQU31;%z8jEdZA;w3Li3@4P%%Q5tOP$k%ozh`LAOr zHa7*0coz}@*pgE~gk}Cv*NqJhZ6uQ!#%wa|6pQb_r8YFp)4}K=7Eux+0%!Bn`IDh- zYGplpj{p`**{9MQZMzjbdA(Tl>rh_Pr?O!NBG*G�R?){?H2}x<`O*SmuA7-Dh_# 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 GEbDJ?6d-2+ literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 68bba94892..0dbc1b54c5 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,30 @@ This is the official GitHub Repository of the OWASP Mobile Security Testing Guid The MSTG and the MASVS are being adopted by many companies, standards, and various organizations. Want to find out more? Check our [users' document listing some of the adopters](Users.md). +## Connect with Us + +
+
+ +
+ +
+
+ ## Table-of-Contents ### Introduction From 85c4d18799ed65a281a990d1f5a067f3a85df14e Mon Sep 17 00:00:00 2001 From: cpholguera Date: Wed, 26 Jan 2022 16:19:48 +0100 Subject: [PATCH 02/15] try links under the cover --- README.md | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 0dbc1b54c5..c5202ce292 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# OWASP Mobile Security Testing Guide [![Twitter Follow](https://img.shields.io/twitter/follow/OWASP_MSTG.svg?style=social&label=Follow)](https://twitter.com/OWASP_MSTG) [![Open in Visual Studio Code](https://open.vscode.dev/badges/open-in-vscode.svg)](https://open.vscode.dev/OWASP/owasp-mstg) +# OWASP Mobile Security Testing Guide [![Creative Commons License](https://img.shields.io/github/license/OWASP/owasp-mstg)](https://creativecommons.org/licenses/by-sa/4.0/ "CC BY-SA 4.0") @@ -10,6 +10,14 @@ [![Document Build](https://github.com/OWASP/owasp-mstg/workflows/Document%20Build/badge.svg)](https://github.com/OWASP/owasp-mstg/actions?query=workflow%3A%22Document+Build%22) [![Check Markdown Links](https://github.com/OWASP/owasp-mstg/workflows/Check%20Markdown%20Links/badge.svg)](https://github.com/OWASP/owasp-mstg/actions?query=workflow%3A%22Check+Markdown+Links%22) +
+
+ #project-mobile_omtg +
+ @OWASP_MSTG +
+
+ This is the official GitHub Repository of the OWASP Mobile Security Testing Guide (MSTG). The MSTG is a comprehensive manual for mobile app security testing and reverse engineering. It describes technical processes for verifying the controls listed in the [OWASP Mobile Application Verification Standard (MASVS)](https://github.com/OWASP/owasp-masvs "MASVS"). - 📖 [Read it on Gitbook](https://mobile-security.gitbook.io/mobile-security-testing-guide/) @@ -21,24 +29,9 @@ The MSTG and the MASVS are being adopted by many companies, standards, and vario ## Connect with Us
+ #project-mobile_omtg
- -
- - - - -
-
Follow us on Twitter
-
- @OWASP_MSTG -
-
- + @OWASP_MSTG

From 33399ef1bc2d1bc5cdd974d27cd3b05f248fb6f7 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Wed, 26 Jan 2022 16:24:06 +0100 Subject: [PATCH 03/15] rm links --- README.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/README.md b/README.md index c5202ce292..9f49d5b2eb 100644 --- a/README.md +++ b/README.md @@ -10,14 +10,6 @@ [![Document Build](https://github.com/OWASP/owasp-mstg/workflows/Document%20Build/badge.svg)](https://github.com/OWASP/owasp-mstg/actions?query=workflow%3A%22Document+Build%22) [![Check Markdown Links](https://github.com/OWASP/owasp-mstg/workflows/Check%20Markdown%20Links/badge.svg)](https://github.com/OWASP/owasp-mstg/actions?query=workflow%3A%22Check+Markdown+Links%22) -
-
- #project-mobile_omtg -
- @OWASP_MSTG -
-
- This is the official GitHub Repository of the OWASP Mobile Security Testing Guide (MSTG). The MSTG is a comprehensive manual for mobile app security testing and reverse engineering. It describes technical processes for verifying the controls listed in the [OWASP Mobile Application Verification Standard (MASVS)](https://github.com/OWASP/owasp-masvs "MASVS"). - 📖 [Read it on Gitbook](https://mobile-security.gitbook.io/mobile-security-testing-guide/) From 24bf73c8062188d9eda5234b9c2046ddf9575951 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Thu, 10 Feb 2022 19:13:16 +0100 Subject: [PATCH 04/15] add GitHub Discussions --- Document/Images/GitHub_logo.png | Bin 0 -> 4268 bytes README.md | 3 +++ 2 files changed, 3 insertions(+) create mode 100644 Document/Images/GitHub_logo.png diff --git a/Document/Images/GitHub_logo.png b/Document/Images/GitHub_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ea6ff545a246caa64074ba809bbc86fcb8589071 GIT binary patch literal 4268 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 XLyRvu{aX3a{{tgEGu={c*U0|?Dtn-9 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 9f49d5b2eb..92c49aa61f 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,9 @@ The MSTG and the MASVS are being adopted by many companies, standards, and vario @OWASP_MSTG

+ GitHub Discussions +
+
## Table-of-Contents From cc48d1f55d502392ff7282248b54113dde557bd8 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Thu, 10 Feb 2022 19:16:05 +0100 Subject: [PATCH 05/15] add slack invite --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 92c49aa61f..38edabfdb4 100644 --- a/README.md +++ b/README.md @@ -21,11 +21,10 @@ The MSTG and the MASVS are being adopted by many companies, standards, and vario ## Connect with Us
- #project-mobile_omtg + #project-mobile_omtg (Get Invitation)
@OWASP_MSTG
-
GitHub Discussions

From d9705d0d34658568a644e9aa98165d13bad61cd3 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Thu, 10 Feb 2022 19:18:44 +0100 Subject: [PATCH 06/15] add twitters --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 38edabfdb4..a92a2e7f97 100644 --- a/README.md +++ b/README.md @@ -21,11 +21,11 @@ The MSTG and the MASVS are being adopted by many companies, standards, and vario ## Connect with Us
- #project-mobile_omtg (Get Invitation) + GitHub Discussions
- @OWASP_MSTG + #project-mobile_omtg (Get Invitation)
- GitHub Discussions + @OWASP_MSTG @bsd_daemon @grepharder

From 4898257513b0c807c57bfb5476fbdb4689cf0174 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Thu, 10 Feb 2022 19:20:53 +0100 Subject: [PATCH 07/15] fix names --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a92a2e7f97..ee3c738404 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ The MSTG and the MASVS are being adopted by many companies, standards, and vario
#project-mobile_omtg (Get Invitation)
- @OWASP_MSTG @bsd_daemon @grepharder + @OWASP_MSTG (Official Account) @bsd_daemon (Sven Schleier) @grepharder (Carlos Holguera)

From 9ebb97454f7c00916c92f4ffe11522d04d0a0d55 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Thu, 10 Feb 2022 19:22:59 +0100 Subject: [PATCH 08/15] add titles --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ee3c738404..f7371d008b 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ The MSTG and the MASVS are being adopted by many companies, standards, and vario
#project-mobile_omtg (Get Invitation)
- @OWASP_MSTG (Official Account) @bsd_daemon (Sven Schleier) @grepharder (Carlos Holguera) + @OWASP_MSTG (Official Account) @bsd_daemon (Sven Schleier, Project Lead) @grepharder (Carlos Holguera, Project Lead)

From adfa90210622c4583e0bcbddee0b71e526252394 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Thu, 10 Feb 2022 19:23:41 +0100 Subject: [PATCH 09/15] add br --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f7371d008b..1682b7f2e8 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,9 @@ The MSTG and the MASVS are being adopted by many companies, standards, and vario
#project-mobile_omtg (Get Invitation)
- @OWASP_MSTG (Official Account) @bsd_daemon (Sven Schleier, Project Lead) @grepharder (Carlos Holguera, Project Lead) + @OWASP_MSTG (Official Account) +
+ @bsd_daemon (Sven Schleier, Project Lead) @grepharder (Carlos Holguera, Project Lead)

From b38c9f111c59a331675f15039fdb11f21c47b23a Mon Sep 17 00:00:00 2001 From: cpholguera Date: Thu, 10 Feb 2022 20:34:35 +0100 Subject: [PATCH 10/15] improve overall UI/UX --- README.md | 106 +++++++++++++++++++++++------------------------------- 1 file changed, 45 insertions(+), 61 deletions(-) diff --git a/README.md b/README.md index 1682b7f2e8..bb38c55a2e 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,8 @@ This is the official GitHub Repository of the OWASP Mobile Security Testing Guid - 📖 [Read it on Gitbook](https://mobile-security.gitbook.io/mobile-security-testing-guide/) - ⬇️ [Download the latest PDF](https://github.com/OWASP/owasp-mstg/releases/latest) - ✅ [Get the latest Mobile App Security Checklists](https://github.com/OWASP/owasp-mstg/releases/latest) +- ⚡ [Contribute!](#how-to-contribute) +- 💥 [Play with Crackmes](https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/README.md) The MSTG and the MASVS are being adopted by many companies, standards, and various organizations. Want to find out more? Check our [users' document listing some of the adopters](Users.md). @@ -31,6 +33,49 @@ The MSTG and the MASVS are being adopted by many companies, standards, and vario

+## How to Contribute + +The MSTG is an open source effort and we welcome contributions and feedback. If you want to contribute with additional content, or improve existing content, we suggest that you [first contact us](#connect-with-us). + +- 🐞 [Report an error (typos, grammar)](https://github.com/OWASP/owasp-mstg/issues) or [fix it on a Pull Request](https://github.com/OWASP/owasp-mstg/pulls). +- 💡 [Propose ideas or suggest improvements](https://github.com/OWASP/owasp-mstg/discussions/categories/ideas) (if it qualifies we'll promote it to an [Issue](https://github.com/OWASP/owasp-mstg/issues "Github issues")) +- 💬 [Give feedback](https://github.com/OWASP/owasp-mstg/discussions/categories/general). +- 🙏 [Ask questions](https://github.com/OWASP/owasp-mstg/discussions/categories/q-a) +- 📄 [Create a Pull Request](https://github.com/OWASP/owasp-mstg/pulls) for concrete fixes (e.g. grammar/typos) or content already approved by the [core team](#connect-with-us). + +Before you start contributing, please check our [contribution guide](https://github.com/OWASP/owasp-mstg/blob/master/CONTRIBUTING.md "Contribution Guide") which should get you started. + +### Contribution Credit / Acknowledgments + +Contributors are added to the acknowledgments section based on their contributions logged by GitHub and/or by applying to a certain role and consistenly demonstrating their commitment. Acknowlegements are visible in the [official owasp.org Project Page](https://owasp.org/www-project-mobile-security-testing-guide/#div-acknowledgements), in [GitHub](https://github.com/OWASP/owasp-mstg/blob/master/Document/0x02-Frontispiece.md#acknowledgments), [GitBook](https://mobile-security.gitbook.io/mobile-security-testing-guide/0x02-frontispiece#acknowledgments) and in the [printed versions](https://www.lulu.com/shop/sven-schleier-and-jeroen-willemsen-and-bernhard-m%C3%BCller/owasp-mobile-security-testing-guide/paperback/product-24198359.html). + +Contributors are categorized as follows: + +- **Project Leader / Author**: Manage the development of the guide continuously and write a large amount of new content. Project Leadership cannot be achieved if any violations of the Code of Conduct occurred in the past. Be aware that you'll be expected to invest lots of time over several months. +- **Reviewer**: People that continuously monitor and review our [Pull Requests](https://github.com/OWASP/owasp-mstg/pulls) or given useful feedback and suggesting changes. +- **Most Helpful Discussions contributor**: actively participate in our GitHub Discussions. Contributors with the most answers marked as "The Answer" will get recognized as "Most Helpful" in our official repos. +- **Co-Author**: Consistently contribute quality content, [at least 2,000 additions logged](https://github.com/OWASP/owasp-mstg/graphs/contributors "Co-author"). +- **Top Contributor**: Consistently contribute quality content, [at least 500 additions logged](https://github.com/OWASP/owasp-mstg/graphs/contributors "Top Contributor"). +- **Contributor**: Any form of contribution, [at least 50 additions logged](https://github.com/OWASP/owasp-mstg/graphs/contributors "Contributor"). +- **Mini-contributor**: Everything below 50 additions, e.g. committing a single word or sentence. + +[Contact us](#connect-with-us) (Sven Schleier (Slack: *Sven*) or Carlos Holguera (Slack: *Carlos*)) if you are planning to become an Author/Co-Author/Reviewer, are missing from the acknowledgements (note that we make updates frequently, but not in realtime). + +## MSTG Translations + +The MSTG is a living document that changes and adapts to the most recent security recommendations every day. While we do want to reach the maximum audience possible, our past experience shows that **maintaining translations has proven to be an extremely challenging task**. Therefore, please understand that **any PRs containing MSTG translations will be declined**, but you're free to do them on your own forks. + +> 🇯🇵 A translation of the MSTG into Japanese is available on Github: . Thanks to @coky-t for pushing this forward! + +That said, we **strongly encourage [further translations of the MASVS](https://github.com/OWASP/owasp-masvs/blob/master/README.md#masvs-translations)** as it is much easier to maintain and you'll get a translated [Mobile App Security Checklists](https://github.com/OWASP/owasp-mstg/releases/latest) mapping to the MSTG for free. + + +## Other Formats + +- Get the [printed version via lulu.com](https://www.lulu.com/shop/sven-schleier-and-jeroen-willemsen-and-bernhard-m%C3%BCller/owasp-mobile-security-testing-guide/paperback/product-24198359.html) +- Get the [e-book on leanpub.com](https://leanpub.com/mobile-security-testing-guide-preview) (please consider purchasing it to support our project or [make a donation](https://owasp.org/www-project-mobile-security-testing-guide/#div-donate)) +- Check our [Document generation scripts](tools/docker/README.md) + ## Table-of-Contents ### Introduction @@ -81,67 +126,6 @@ The MSTG and the MASVS are being adopted by many companies, standards, and vario - [Testing Tools](Document/0x08-Testing-Tools.md) - [Suggested Reading](Document/0x09-Suggested-Reading.md) -## Reading the Mobile Security Testing Guide - -The release 1.0 of the MSTG was published in June 2018. You can get intermediate builds in multiple formats. - -1. Read it on [Gitbook](https://mobile-security.gitbook.io/mobile-security-testing-guide/ "Gitbook"). The book is automatically synchronized with the main repo. - -2. Check the [releases](https://github.com/OWASP/owasp-mstg/releases "Our releases"). Here you can find a PDF, an archive containing the sources, and a DocX document for any given tagged version. Please note that the documents are generated automatically per tag. - -3. Get the book as a printed version. A hardcopy of the book can be ordered via [lulu.com](https://www.lulu.com/shop/sven-schleier-and-jeroen-willemsen-and-bernhard-m%C3%BCller/owasp-mobile-security-testing-guide/paperback/product-24198359.html "MSTG on Lulu.com"). This version of the book is not completely aligned with book printing standards, but we are improving each version. If you recognize any issues or mistakes, even small ones, please raise an [issue](https://github.com/OWASP/owasp-mstg/issues "our issues section") so we can fix it in the next version. - -4. Get the [e-book](https://leanpub.com/mobile-security-testing-guide-preview "MSTG as an e-book"). The book is available for free, but you can choose to purchase it at a price of your choice if you wish to support our project. All funds raised through sales of the e-book go directly into the project budget and will be used to fund the production of future releases. - -5. Clone the repository and run the [document generator](https://github.com/OWASP/owasp-mstg/blob/master/tools/docker/pandoc_makedocs.sh "The document generator") (requires [Docker](https://www.docker.com "Docker")). This produces the PDF, Epub, Mobi, and DOCX in the root of the MSTG folder. - - ```shell - $ git clone https://github.com/OWASP/owasp-mstg/ - $ cd owasp-mstg/ - $ ./tools/docker/pandoc_makedocs.sh Document MyVersion - ``` - -6. Just check the latest build of the repository at [Github actions](https://github.com/OWASP/owasp-mstg/actions?query=workflow%3A%22Document+Build%22 "Document build"). This offers you the latest SNAPSHOT version of the document to download. - -## Contributions, Feature Requests, and Feedback - -**We are searching for additional authors, reviewers, and editors.** - -You can start contributing in many different ways: - -- [Filing or reporting issues](https://github.com/OWASP/owasp-mstg/issues/new/choose "New Issue"), -- [Choosing one of the existing issues and working on them](https://github.com/OWASP/owasp-mstg/issues "our issues section") or -- Browsing the [existing content](https://mobile-security.gitbook.io/mobile-security-testing-guide/ "existing content") and proofreading it. - -Please check our [Contribution Guide](https://github.com/OWASP/owasp-mstg/blob/master/CONTRIBUTING.md "Contribution Guide") for ideas before you get started. - -Please let us know if you'd like to work on an existing open issue before you start working on it. To do so simply write a comment in the issue itself or drop us a line on the [Slack channel](https://owasp.slack.com/messages/project-mobile_omtg/details/ "Come to our Slack!"). This helps us to keep track of what everyone is doing and prevent conflicts. - -You can create an OWASP Slack account here: [https://owasp.slack.com/join/shared_invite/zt-g398htpy-AZ40HOM1WUOZguJKbblqkw#//](https://owasp.slack.com/join/shared_invite/zt-g398htpy-AZ40HOM1WUOZguJKbblqkw#// "Join OWASP Slack") - -> The MSTG is a living document that changes and adapts to the most recent security recommendations every day. While we do want to reach the maximum audience possible, our past experience shows that maintaining translations has proven to be an extremely challenging task. You're free to do forks for your own translations but please understand that any PRs containing them will be declined due to the previously mentioned reasons. However, we strongly encourage further translations of the MASVS as it is much easier to maintain. -> -> A translation of the MSTG into Japanese is available on Github: . Thanks to @coky-t for pushing this forward! - -## Authoring Credit - -Contributors are added to the acknowledgments table based on their contributions logged by GitHub. The list of names is sorted by the number of lines added. Authors are categorized as follows: - -- Project Leader / Author: Manage the development of the guide continuously and write a large amount of new content. Project Leadership cannot be achieved if any violations of the Code of Conduct occurred in the past. -- Co-Author: Consistently contribute quality content, [at least 2,000 additions logged](https://github.com/OWASP/owasp-mstg/graphs/contributors "Co-author"). -- Top Contributor: Consistently contribute quality content, [at least 500 additions logged](https://github.com/OWASP/owasp-mstg/graphs/contributors "Top Contributor"). -- Contributor: Any form of contribution, [at least 50 additions logged](https://github.com/OWASP/owasp-mstg/graphs/contributors "Contributor"). -- Mini-contributor: Everything below 50 additions, e.g. committing a single word or sentence. -- Reviewer: People that haven't submitted their own pull requests, but have created issues or given useful feedback in other ways. - -Please ping us or create a pull request if you are missing from the table or in the wrong column (note that we update the table frequently, but not in realtime). - -If you are willing to write a large portion of the guide and help consistently drive the project forward, you can join as an author. Be aware that you'll be expected to invest lots of time over several months. Contact Sven Schleier (Slack: *Sven*) or Carlos Holguera (Slack: *Carlos*) for more information. - -## Crackmes - -In the [Crackmes folder](https://github.com/OWASP/owasp-mstg/blob/master/Crackmes "Crackmes folder"), you can find a set of mobile apps to hack. Are you able to find the secrets? For more details check the [Crackmes README file](https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/README.md "Crackmes readme"). - ## About Hybrid Apps Please note that the MSTG focuses primarily on native apps. These are apps built with Java or Kotlin using the Android SDK for Android or built with Swift or Objective-C using the Apple SDKs for iOS. Apps using frameworks such as Nativescript, React-native, Xamarin, Cordova, etc. are not within the main focus of the MSTG. However, some essential controls, such as certificate pinning, have been explained already for some of these platforms. From ab160e2a332901f2e5918a55da2f632861c84fee Mon Sep 17 00:00:00 2001 From: cpholguera Date: Thu, 10 Feb 2022 20:49:31 +0100 Subject: [PATCH 11/15] fix word --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index bb38c55a2e..f8a1612c2f 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ - + -# OWASP Mobile Security Testing Guide +# OWASP Mobile Security Testing Guide (MSTG) [![Creative Commons License](https://img.shields.io/github/license/OWASP/owasp-mstg)](https://creativecommons.org/licenses/by-sa/4.0/ "CC BY-SA 4.0") [![OWASP Flagship](https://img.shields.io/badge/owasp-flagship%20project-48A646.svg)](https://owasp.org/projects/) -[![Check Markdown Markup](https://github.com/OWASP/owasp-mstg/workflows/Check%20Markdown%20Markup/badge.svg)](https://github.com/OWASP/owasp-mstg/actions?query=workflow%3A%22Check+Markdown+Markup%22) [![Document Build](https://github.com/OWASP/owasp-mstg/workflows/Document%20Build/badge.svg)](https://github.com/OWASP/owasp-mstg/actions?query=workflow%3A%22Document+Build%22) +[![Check Markdown Markup](https://github.com/OWASP/owasp-mstg/workflows/Check%20Markdown%20Markup/badge.svg)](https://github.com/OWASP/owasp-mstg/actions?query=workflow%3A%22Check+Markdown+Markup%22) [![Check Markdown Links](https://github.com/OWASP/owasp-mstg/workflows/Check%20Markdown%20Links/badge.svg)](https://github.com/OWASP/owasp-mstg/actions?query=workflow%3A%22Check+Markdown+Links%22) This is the official GitHub Repository of the OWASP Mobile Security Testing Guide (MSTG). The MSTG is a comprehensive manual for mobile app security testing and reverse engineering. It describes technical processes for verifying the controls listed in the [OWASP Mobile Application Verification Standard (MASVS)](https://github.com/OWASP/owasp-masvs "MASVS"). @@ -16,9 +16,9 @@ This is the official GitHub Repository of the OWASP Mobile Security Testing Guid - ⬇️ [Download the latest PDF](https://github.com/OWASP/owasp-mstg/releases/latest) - ✅ [Get the latest Mobile App Security Checklists](https://github.com/OWASP/owasp-mstg/releases/latest) - ⚡ [Contribute!](#how-to-contribute) -- 💥 [Play with Crackmes](https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/README.md) +- 💥 [Play with our Crackmes](https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/README.md) -The MSTG and the MASVS are being adopted by many companies, standards, and various organizations. Want to find out more? Check our [users' document listing some of the adopters](Users.md). +> The MSTG and the MASVS are being adopted by many companies, standards, and various organizations. Want to find out more? Check our [users' document listing some of the adopters](Users.md). ## Connect with Us From d810dd59765fbe53da96a7add687d999f3cf69b9 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Thu, 10 Feb 2022 20:51:50 +0100 Subject: [PATCH 12/15] group badges --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index f8a1612c2f..4b2c1ceeb6 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,8 @@ # OWASP Mobile Security Testing Guide (MSTG) -[![Creative Commons License](https://img.shields.io/github/license/OWASP/owasp-mstg)](https://creativecommons.org/licenses/by-sa/4.0/ "CC BY-SA 4.0") - [![OWASP Flagship](https://img.shields.io/badge/owasp-flagship%20project-48A646.svg)](https://owasp.org/projects/) +[![Creative Commons License](https://img.shields.io/github/license/OWASP/owasp-mstg)](https://creativecommons.org/licenses/by-sa/4.0/ "CC BY-SA 4.0") [![Document Build](https://github.com/OWASP/owasp-mstg/workflows/Document%20Build/badge.svg)](https://github.com/OWASP/owasp-mstg/actions?query=workflow%3A%22Document+Build%22) [![Check Markdown Markup](https://github.com/OWASP/owasp-mstg/workflows/Check%20Markdown%20Markup/badge.svg)](https://github.com/OWASP/owasp-mstg/actions?query=workflow%3A%22Check+Markdown+Markup%22) From 85c54de00e9d5c6b85bf50bd543c1efbca3e6a05 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Thu, 10 Feb 2022 20:56:28 +0100 Subject: [PATCH 13/15] add ul li --- README.md | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 4b2c1ceeb6..81aa4c9512 100644 --- a/README.md +++ b/README.md @@ -21,16 +21,12 @@ This is the official GitHub Repository of the OWASP Mobile Security Testing Guid ## Connect with Us -
- GitHub Discussions -
- #project-mobile_omtg (Get Invitation) -
- @OWASP_MSTG (Official Account) -
- @bsd_daemon (Sven Schleier, Project Lead) @grepharder (Carlos Holguera, Project Lead) -
-
+ ## How to Contribute From b769bfdb54ba54f1552a49a9e92e451dd374752a Mon Sep 17 00:00:00 2001 From: cpholguera Date: Thu, 10 Feb 2022 20:58:16 +0100 Subject: [PATCH 14/15] rm link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81aa4c9512..39e594cd6b 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ The MSTG is an open source effort and we welcome contributions and feedback. If - 💡 [Propose ideas or suggest improvements](https://github.com/OWASP/owasp-mstg/discussions/categories/ideas) (if it qualifies we'll promote it to an [Issue](https://github.com/OWASP/owasp-mstg/issues "Github issues")) - 💬 [Give feedback](https://github.com/OWASP/owasp-mstg/discussions/categories/general). - 🙏 [Ask questions](https://github.com/OWASP/owasp-mstg/discussions/categories/q-a) -- 📄 [Create a Pull Request](https://github.com/OWASP/owasp-mstg/pulls) for concrete fixes (e.g. grammar/typos) or content already approved by the [core team](#connect-with-us). +- 📄 [Create a Pull Request](https://github.com/OWASP/owasp-mstg/pulls) for concrete fixes (e.g. grammar/typos) or content already approved by the core team. Before you start contributing, please check our [contribution guide](https://github.com/OWASP/owasp-mstg/blob/master/CONTRIBUTING.md "Contribution Guide") which should get you started. From 82399b4bec9e251ae4096abd3e21fab631962a0a Mon Sep 17 00:00:00 2001 From: cpholguera Date: Fri, 11 Feb 2022 12:11:52 +0100 Subject: [PATCH 15/15] improve how to contribute --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 39e594cd6b..b741bc4876 100644 --- a/README.md +++ b/README.md @@ -30,15 +30,20 @@ This is the official GitHub Repository of the OWASP Mobile Security Testing Guid ## How to Contribute -The MSTG is an open source effort and we welcome contributions and feedback. If you want to contribute with additional content, or improve existing content, we suggest that you [first contact us](#connect-with-us). +The MSTG is an open source effort and we welcome all kinds of contributions and feedback. + +**Help us improve & join our community:** - 🐞 [Report an error (typos, grammar)](https://github.com/OWASP/owasp-mstg/issues) or [fix it on a Pull Request](https://github.com/OWASP/owasp-mstg/pulls). -- 💡 [Propose ideas or suggest improvements](https://github.com/OWASP/owasp-mstg/discussions/categories/ideas) (if it qualifies we'll promote it to an [Issue](https://github.com/OWASP/owasp-mstg/issues "Github issues")) - 💬 [Give feedback](https://github.com/OWASP/owasp-mstg/discussions/categories/general). - 🙏 [Ask questions](https://github.com/OWASP/owasp-mstg/discussions/categories/q-a) + +**Contribute with content:** + +- 💡 [Propose ideas or suggest improvements](https://github.com/OWASP/owasp-mstg/discussions/categories/ideas) (if it qualifies we'll promote it to an [Issue](https://github.com/OWASP/owasp-mstg/issues "Github issues")) - 📄 [Create a Pull Request](https://github.com/OWASP/owasp-mstg/pulls) for concrete fixes (e.g. grammar/typos) or content already approved by the core team. -Before you start contributing, please check our [contribution guide](https://github.com/OWASP/owasp-mstg/blob/master/CONTRIBUTING.md "Contribution Guide") which should get you started. +Before you start contributing, please check our [contribution guide](https://github.com/OWASP/owasp-mstg/blob/master/CONTRIBUTING.md "Contribution Guide") which should get you started. If you have any doubts [please contact us](#connect-with-us). ### Contribution Credit / Acknowledgments @@ -64,7 +69,6 @@ The MSTG is a living document that changes and adapts to the most recent securit That said, we **strongly encourage [further translations of the MASVS](https://github.com/OWASP/owasp-masvs/blob/master/README.md#masvs-translations)** as it is much easier to maintain and you'll get a translated [Mobile App Security Checklists](https://github.com/OWASP/owasp-mstg/releases/latest) mapping to the MSTG for free. - ## Other Formats - Get the [printed version via lulu.com](https://www.lulu.com/shop/sven-schleier-and-jeroen-willemsen-and-bernhard-m%C3%BCller/owasp-mobile-security-testing-guide/paperback/product-24198359.html)
+ + + + +
+
Follow us on Twitter
+
+ @OWASP_MSTG +
+