From f53aacd80f5f9220b942a29ade7a9cd0f9adbee3 Mon Sep 17 00:00:00 2001 From: Yavor Ivanov Date: Wed, 10 Apr 2024 10:02:11 +0300 Subject: [PATCH] fix: Respect src attribute --- src/linter/html/linter.ts | 6 +++++- .../rules/CSPCompliance/NoInlineJS.html | 8 +++++++ .../CSPCompliance/NoInlineJS_negative.html | 20 +++++++++++++++--- .../xml/snapshots/transpiler.ts.snap | Bin 5305 -> 5366 bytes .../rules/snapshots/CSPCompliance.ts.md | 11 +++++++++- .../rules/snapshots/CSPCompliance.ts.snap | Bin 748 -> 798 bytes .../rules/snapshots/NoDeprecatedApi.ts.snap | Bin 6292 -> 6697 bytes .../linter/rules/snapshots/NoGlobals.ts.snap | Bin 1505 -> 1596 bytes test/lib/linter/snapshots/linter.ts.snap | Bin 7662 -> 8091 bytes 9 files changed, 40 insertions(+), 5 deletions(-) diff --git a/src/linter/html/linter.ts b/src/linter/html/linter.ts index 6dd781aea..13ece38f8 100644 --- a/src/linter/html/linter.ts +++ b/src/linter/html/linter.ts @@ -13,8 +13,12 @@ export async function lintHtml(resourceName: string, contentStream: ReadStream): jsScriptTags.forEach((tag) => { const scriptContent = tag.textNodes?.map((tNode) => tNode.value).join("").trim(); + // Tags with src attribute do not parse and run inline code + const hasSrc = tag.attributes.some((attr) => { + return attr.name.value.toLowerCase() === "src"; + }); - if (scriptContent) { + if (!hasSrc && scriptContent) { report.addMessage({ node: tag, severity: LintMessageSeverity.Warning, diff --git a/test/fixtures/linter/rules/CSPCompliance/NoInlineJS.html b/test/fixtures/linter/rules/CSPCompliance/NoInlineJS.html index 234152a16..8bac7dfc0 100644 --- a/test/fixtures/linter/rules/CSPCompliance/NoInlineJS.html +++ b/test/fixtures/linter/rules/CSPCompliance/NoInlineJS.html @@ -43,6 +43,14 @@ }); sap.ui.xmlview({ viewContent: jQuery('#myXml').html() }).placeAt("content"); + + diff --git a/test/fixtures/linter/rules/CSPCompliance/NoInlineJS_negative.html b/test/fixtures/linter/rules/CSPCompliance/NoInlineJS_negative.html index 2433e0f52..9fd94ace4 100644 --- a/test/fixtures/linter/rules/CSPCompliance/NoInlineJS_negative.html +++ b/test/fixtures/linter/rules/CSPCompliance/NoInlineJS_negative.html @@ -16,7 +16,23 @@ - + + + + + + - - diff --git a/test/lib/detectors/transpilers/xml/snapshots/transpiler.ts.snap b/test/lib/detectors/transpilers/xml/snapshots/transpiler.ts.snap index 34cf2d7d26aebc9a249d718eefe6b2810be0d5f7..33cb3f6fcd6da4a9ce664d602461f0f2879a2658 100644 GIT binary patch literal 5366 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 LOvftQY+?WawRBjU diff --git a/test/lib/linter/rules/snapshots/CSPCompliance.ts.md b/test/lib/linter/rules/snapshots/CSPCompliance.ts.md index af1750ae8..8197d949f 100644 --- a/test/lib/linter/rules/snapshots/CSPCompliance.ts.md +++ b/test/lib/linter/rules/snapshots/CSPCompliance.ts.md @@ -51,8 +51,17 @@ Generated by [AVA](https://avajs.dev). ruleId: 'ui5-linter-csp-unsafe-inline-script', severity: 1, }, + { + column: 2, + fatal: undefined, + line: 47, + message: 'Use of unsafe inline script', + messageDetails: 'Content Security Policy (https://ui5.sap.com/1.120/#/topic/fe1a6dba940e479fb7c3bc753f92b28c)', + ruleId: 'ui5-linter-csp-unsafe-inline-script', + severity: 1, + }, ], - warningCount: 4, + warningCount: 5, }, ] diff --git a/test/lib/linter/rules/snapshots/CSPCompliance.ts.snap b/test/lib/linter/rules/snapshots/CSPCompliance.ts.snap index 4d46aa976006731f64f225362124ce7f2a5c7e79..181e5c5afefdc63c24a39a013341e444451d699b 100644 GIT binary patch literal 798 zcmV+(1L6EZRzV9D0I$4>LAGtK5JeIHByV`< zmku~ltRIUA00000000B+mb-5gK@i5j@x7gg9fD9$5E#<%i0#CQ35n96fFKkQDMAVY z39Zk2_QCnix?3ltpa4-)AVd`k6bjPu=qS?DP$3!$8mg513CI^aiq8o_NRb;~HM?`) z?(A=-_|~n0CL;2?eZIonX;%jcHpvVQ1(RdWW88q zg58Nflc1sgkxsEu0674Iqz;gB+4tEhQ8P*;5}-JUKs`jWO_8<&;4y&L05$>q0&s+Y zQED8d-YPucrl8nPm`o-?eIOOoPqaY5QIbH)0QH*QGWS`D&%2ffN??#;&0L)OzUR+* zHCKdNG9o`DEGC$9^?<*0%Xatz6XhLQgi=_Pv#Th*!h?X7cn~?McZK<`?Ur_3MhZx8 z;U~55(@9+?V1s~91Z)!Ug@A9=3SEvuS3>ANDTLlbbRvdkC+^n6SQxI=Ln#b@)I+&` zp*|!5CnaE30+u8|NWcdP$jN|^BTZ6To1~NeN(R*EU@XxF+MppZ55`>iGn$m zpRlHLh1@0cT$G7lbNGC*xg4q4`LtuZg8OMRsHV3ck=}kpde2Ab0bl0zDjR(05ZMoO z*>{Zn@hcsz9SsdVG_cg440OODQs*nr-0AogY$p8QV literal 748 zcmV~jj!F1lI|y&Fg<>xFc+)<}R{wZdfLUUu zk}q@$P9KX100000000B+mcdIDQ5?tLZ+2&AGIg~&7(z`5k>Kv?s+kf&XoVpqNT3kZ zo7p$+v)MPxytkT%f;x2R(z)oMox4YLs!Mc;F5T)9(Xqdw-;6urJ~bl{FD`tT-<$XQ zz4v?H_Z#-N=DR`Y-II^knc^y7_j|4}!6F(=I5)y+5pcn-&lRhx7H}zOT~r zgbYA)q1;V(iFpc)O|z@3i$Di~9Dz=NS#&%B83JZEw0q$)roPCgg&z{g;|fMP*T$kK zj3&c|P|2$-(H!zV9x1r8hnMa1fXz}>-3-%IN|Fk;BxTo_l$ev$R%&0Nk>Fx+%VxM8 z*e&{HTJ*EQe2FW+LS7?pkPpx*cvcrYn+X0H62Z~xFi3g}GqGtT=F`~B#5>rZ(ENh@ zM%prjoJA<|Gq$tZt(dL1g5g)uWd>P7o*?VUcjT^#wyA~ZwuQe(mygIV#K;kH3RytD z#kQq|Tie1fq01EFA`g-0$X8_EM%&iH?QJDxX?K+K!k|$T&D$}wSu?4aWMp+{bJ@5g znsG<8IjdO_>A3fnWKQTi4I!z|9G;YuBfW^%l@{9B44q<%@<67qZ%>9oF`=9}<~1U& zR-M@};NGfpuBudBPLxUwK3bHtUi89RX{b0<9xU~hR9NR;$!A0Ke8r{XBZF*YY}|Lp zykXZH8y)t?%WnCC*RN|5H3BwWNr!#7asd-oEGl@iUf4K9VdD^m9S>nkhMy^B+0+O2 zQTy&g?GH@*lZVJX}fb~hj!Cu1fd*%}XqyO2p)%gP$Nk2Nq3IG86@N!iE diff --git a/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.snap b/test/lib/linter/rules/snapshots/NoDeprecatedApi.ts.snap index 5f63420bcbdd47e248c3f1578c1c29dd405491c6..11120fef8024aaf7e7610ac6e8f1b433b1158c8e 100644 GIT binary patch literal 6697 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 literal 6292 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 K0_tYQ$N&Jw^!*M1 diff --git a/test/lib/linter/rules/snapshots/NoGlobals.ts.snap b/test/lib/linter/rules/snapshots/NoGlobals.ts.snap index 9401ec6ef3527c6b13c29abe3cff93ea3d65b63a..c0d1f72e1a43d6ecd084b90d647a64a45eef7079 100644 GIT binary patch literal 1596 zcmV-C2E+M5RzVR-@Gt++-) zs;JstG&|m1>@%syiekkUd-cva=Xc)uJ!f{#yL(<;Y+6q1d)^ZlrEmI{>>ZP~bPelk z`U&TlS z3-K?F;W{1~1EB@sxqdhngwOTE@gRJ+AI5_4lYSTv!h?OUi6DG1upQ({2Ms?TALe;~ ze3U018|66~8|8U4Hp=t6*eK7(u~D9d_$W^&zL6&_#IO3{hN-{y!&Dzx>_7rOpMcvE zU?kwNgz^B6Z+!rhA~v6dMiNdW!Aio@NktM1Ne)fG%@c5H0-Oo>>4YMQha|V8;2SA8 zmx4!A@N!C#Btnu~({M)`I%#+^4HwgjBpH&N%)qxZu$qAvGw?=6kxYan_f5jNNqBq` zUYUfqClyI5BzY(ci&=Ow3$JD2ovb2Bha~56(9Xe+a&R#Rf66J6j4DZ-%EP^R=;h(L zJp3jP|H;GQf+Ed^q^ApTUjbGN@O%M&TY!HS;HIJ?&4r|Q7U6Uex<$B9gx8Dk-y(de zq)782={+U5zXWTShrUpPOPAwMO3)}P(n3gjq6}xs;FjUpGW@y>u?ifiDAHm``alJm z75IJyUa7#_6)05Uj;bOpg`}M-*j2bth1aX_ZWRtp!I>#VS`JD5DR^WGUY>%trri*F(e7WSf>w{fLDE;x4WA#?-L9ePF zw@h0O`X-dV#9*r#Tx&n!tZg(csr!y@*oL+Kh}8X#>FF!d?>KF}WmuNplr5v@^*f~Q zuXm;HEb3-k+P=AHN>`ulNUJN|Z}se!Z#wp@Zrb{6tLOO*%WO8bcFx~8JFB;xp4HZE z$Jd)uZ%bdgE2b^myNn_mf#Qj4fx?v!_e@vbvu?LGICw_4(K8#H+OH#mTm*s(yMkcN zwA;?wcls!1AKW`I@)0n8yo)dzd+M<$M38u9S4b=c1@W1V>Fq5V#RwWt?aq5bT8n#& zL;1RJ@H>XTw>TWwo`ZP&+F{s0uzac~-Sq&%p#3_!*CX6}*TB8!_nL!mfoVH-qkkP~ zIlir>q|zG;ezyl#iOFs3syfwf<7lfTJ+JRzPfi z8`XPsdzL)j9$waZ=2sRh)ApsiU^@#N6M75F>i+;qPp(SW^oOgd?EpaODgmf}c&Gs8 zb_U=&I#-|OojQ-G55<>v&)_laF`AN5<{;8`!IZrif!%6<*r){mY%K6Jjhq@Pn}$_{3_UHXP;dBf(Z+drMj zm!7W=hHa1ThOOv6y_*H2YewN4obR3gT=;w5;hU@SiYI;InQMB|_XptbKuy5m uou2faz1ovL^$71O5Be%sWEI@n!&iUex7|VBmcH>#eg6Z`%J9vx9RL8EO&VAL literal 1505 zcmV<71s?iARzV`aVOURN010V96Ilu2Y=l7l2nX`K?=hB*ydC@v~g>jW@%-+s)W-8hv@`$lrGt!D? zrN%AQ(v^ahH@Nlk61Bqd}$^*V~|N{_P)r=d!iOeP6!Av8j0E2TS;*g+czmD*@? z#wcRmV{C_>GYCzfhfujK&P>xVw;Hz2-BV%OBxEFVs7ZTVNFzd4ET?L0RN?u`ptC)4 zr*v-ClwuRivM?h{=%#s6F?CfRs~#yv<3Bea39zls&=`d%Hx5x9yy=9J8{T%ph#RhVYK^+#A-8OIoF@0gyW#RUx5AZiB2s0XVW~3CF{v`n=Tc>y z-=)epLy^ij`ABITgdaL#si+^FFz#3;t;LOeH`odka6Bs9fZ^&J5R$~1432?|aX}LGNwzc*@+8QEQ{YOIAc^@Tqs@do z4T|6bxZW&C8hw%jEtnKI0WN_XErKNOlf2MMNDiC=SHU-}f~3hOIh-IQ3tk0Rz}E>u z(kx1%yOX%{fep@rkHOzyQ=1@d^-1?2;S=oCepxO|Z5bGwBwj9X=^X%299;dJg-!KB<8e8=MC- z;1=lXh3mb7w96+okun9|1D}HLLGNlpMpp~cZc!R5Af*T{fa~Bp(A9@p!8?6|yvO&J z3XAWLjKbNNVNQE*Au6;-GKOYP=w7R+4r{8;ytYQ6E$Y2$yyMWDWWTPYH70XIR&+(1 zK8i4}TJi+rc_S-l6it)UETh<#(*ULmOg3_|nq@jyb1F0C{yftP%zVPuGh8+Fep%J! z{)}z$l%}Rr)s2Je`upXKVQX1gH#mBhvy3xy0yECm*^1TxD^4zk6(&1kt0vn!t!GL; zSV|#ftEpM%m(YSlfCZ=PV!@=UXN}2c9V_||Egv(I0cN~WM>A5(>b7VLaN9*Se+P(JtjJ82 zm#=211_Rm`Xn^>GhiJe+Z3Zl1<>K93Yvlp!L;65Xl~+HuR-g?5YeYI2XhUgrfnEfxg=+BPKh`xX(2L&x?*pPQp!9p^DZR9+ zL-pSBP8nCGR-grI0xZ~2y9ITvK3bRRgT4!_-*36A+bk=X%vpnH<>ApC<;rI-=?8?K zTD_jOF|MeZRX*Ll?M_deSzPwg=C^K5wRLx9Go%#MAp5-iy{WtW8+^}?urYU7nIlXeHc4Xl@eq^4FysEbFthRpv&&u%4 Hu^j*a^i0W+ diff --git a/test/lib/linter/snapshots/linter.ts.snap b/test/lib/linter/snapshots/linter.ts.snap index 9fa4df8e141cff0fc703529cf04aa9e876f8d56a..d779a50b439750d559766ce69635011f052fb81f 100644 GIT binary patch literal 8091 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 mY2p{=)Q9SEy~rtBI8 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