ํฌ๋กฌ 74 ๋ฆด๋ฆฌ์Šค

Google ์ œ์‹œ ์›น ๋ธŒ๋ผ์šฐ์ € ๋ฆด๋ฆฌ์Šค ํฌ๋กฌ 74... ๋™์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋‹ค. ๋ฌด๋ฃŒ ํ”„๋กœ์ ํŠธ์˜ ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค Chromium, Chrome์˜ ๊ธฐ์ดˆ์ž…๋‹ˆ๋‹ค. ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ € ๋‹ค๋ฅธ Google ๋กœ๊ณ  ์‚ฌ์šฉ, ์š”์ฒญ ์‹œ ํ”Œ๋ž˜์‹œ ๋ชจ๋“ˆ ๋‹ค์šด๋กœ๋“œ ๊ธฐ๋Šฅ, ์ถฉ๋Œ ์‹œ ์•Œ๋ฆผ ์ „์†ก ์‹œ์Šคํ…œ ์กด์žฌ, ๋ณดํ˜ธ๋œ ๋น„๋””์˜ค ์ฝ˜ํ…์ธ  ์žฌ์ƒ ๋ชจ๋“ˆ, ๊ฒ€์ƒ‰ ์ค‘ ์—…๋ฐ์ดํŠธ ๋ฐ ์ „์†ก ์ž๋™ ์„ค์น˜ ์‹œ์Šคํ…œ RLZ ๋งค๊ฐœ๋ณ€์ˆ˜. Chrome 75์˜ ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค๋Š” 4์›” XNUMX์ผ๋กœ ์˜ˆ์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ๋ณ€๊ฒฝ ะฒ ํฌ๋กฌ 74:

  • ์ด์ œ ํŽ˜์ด์ง€๊ฐ€ ๋‹ซํž ๋•Œ ํ˜ธ์ถœ๋˜๋Š” onUnload ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๊ทธ๊ฒƒ์€ ๊ธˆ์ง€ ์˜์‹ฌ์Šค๋Ÿฌ์šด ์‚ฌ์ดํŠธ๋ฅผ ๋‹ซ์€ ํ›„ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ•์ œ๋กœ ๊ด‘๊ณ  ํŽ˜์ด์ง€๋ฅผ ์—ด์ง€ ์•Š๋„๋ก ๋ณดํ˜ธํ•˜๋Š” ํŒ์—… ์ฐฝ(window.open() ํ˜ธ์ถœ์ด ์ฐจ๋‹จ๋จ)์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์—์„œ ๊ตฌํ˜„ ์ƒˆ๋กœ์šด ๋ชจ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค JIT๊ฐ€ ์—†๋Š” (โ€œโ€”jitlessโ€ ํ”Œ๋ž˜๊ทธ), ์ด๋ฅผ ํ†ตํ•ด JIT๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ (์ธํ„ฐํ”„๋ฆฌํ„ฐ๋งŒ ์‚ฌ์šฉ๋จ) ์ฝ”๋“œ ์‹คํ–‰ ์ค‘์— ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜์ง€ ์•Š๊ณ  JavaScript๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. JIT๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ์ž ์žฌ์ ์œผ๋กœ ์œ„ํ—˜ํ•œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ž‘์—…ํ•  ๋•Œ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๊ณ  JIT ์‚ฌ์šฉ์„ ๊ธˆ์ง€ํ•˜๋Š” ํ”Œ๋žซํผ(์˜ˆ: iOS, ์ผ๋ถ€ ์Šค๋งˆํŠธ TV ๋ฐ ๊ฒŒ์ž„ ์ฝ˜์†”)์—์„œ ๋นŒ๋“œ๋ฅผ ๋ณด์žฅํ•˜๋Š” ๋ฐ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. JIT๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋˜๋ฉด JavaScript ์‹คํ–‰ Speedometer 40 ํ…Œ์ŠคํŠธ์—์„œ๋Š” ์„ฑ๋Šฅ์ด 2.0%, Web Tooling Benchmark ํ…Œ์ŠคํŠธ์—์„œ๋Š” 80% ๊ฐ์†Œํ–ˆ์ง€๋งŒ YouTube๋กœ ์ž‘์—…์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•œ ๊ฒฐ๊ณผ ์„ฑ๋Šฅ์€ 6% ๊ฐ์†Œ์— ๊ทธ์ณค๊ณ , ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์€ 1.7%๋กœ ์†Œํญ ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค.
  • V8์€ ๋˜ํ•œ ์ƒˆ๋กœ์šด ์ตœ์ ํ™”์˜ ์ƒ๋‹น ๋ถ€๋ถ„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‹ค์ œ๋กœ ์ „๋‹ฌ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ˆ˜๊ฐ€ ํ•จ์ˆ˜ ์ •์˜ ์‹œ ์ง€์ •ํ•œ ์ธ์ˆ˜์˜ ์ˆ˜์™€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ํ•จ์ˆ˜ ํ˜ธ์ถœ์˜ ์‹คํ–‰์ด 60% ๊ฐ€์†ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. get ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DOM ์†์„ฑ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๊ฐ€ ๊ฐ€์†ํ™”๋˜์—ˆ์œผ๋ฉฐ ์ด๋Š” Angular ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์„ฑ๋Šฅ์— ๊ธ์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. JavaScript ๊ตฌ๋ฌธ ๋ถ„์„์ด ๊ฐ€์†ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. UTF-8 ๋””์ฝ”๋” ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด ์ŠคํŠธ๋ฆฌ๋ฐ ๋ชจ๋“œ(๋กœ๋“œ ์‹œ ๊ตฌ๋ฌธ ๋ถ„์„)์—์„œ ๊ตฌ๋ฌธ ๋ถ„์„๊ธฐ ์„ฑ๋Šฅ์„ 8% ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์—ˆ๊ณ , ๋ถˆํ•„์š”ํ•œ ์ค‘๋ณต ์ œ๊ฑฐ ์ž‘์—…์„ ์ œ๊ฑฐํ•˜์—ฌ ์ถ”๊ฐ€๋กœ 10.5% ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • JavaScript ์—”์ง„์˜ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•œ ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    ์ „์ฒด ํž™ ํฌ๊ธฐ์˜ ์•ฝ 15%๋ฅผ ์ฐจ์ง€ํ•˜๋Š” ๋ฐ”์ดํŠธ์ฝ”๋“œ ์บ์‹œ๋ฅผ ์ง€์šฐ๋Š” ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ๋˜๋Š” ํ•จ์ˆ˜ ๋˜๋Š” ์ดˆ๊ธฐํ™” ์‹œ์—๋งŒ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜์— ๋Œ€ํ•ด ์ž์ฃผ ์ปดํŒŒ์ผ๋˜์ง€ ์•Š๋Š” ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ์บ์‹œ์—์„œ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ์— ๋‹จ๊ณ„๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ •๋ฆฌ ๊ฒฐ์ •์€ ๋ฐ”์ดํŠธ์ฝ”๋“œ์— ๋งˆ์ง€๋ง‰์œผ๋กœ ์•ก์„ธ์Šคํ•œ ์‹œ๊ฐ„์„ ๊ณ ๋ คํ•œ ์ƒˆ ์นด์šดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์ด ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด ์„ฑ๋Šฅ์— ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๊ฐ€ 5~15% ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฐ”์ดํŠธ์ฝ”๋“œ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด return ๋˜๋Š” break(Jump ์ „ํ™˜์ด ์—†๋Š” ๊ฒฝ์šฐ) ๋’ค์— ์˜ค๋Š” ๋ช…๋ฐฑํžˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ์˜ ์ƒ์„ฑ์„ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค.

    ํฌ๋กฌ 74 ๋ฆด๋ฆฌ์Šค

  • ์›น์–ด์…ˆ๋ธ”๋ฆฌ์˜ ๊ฒฝ์šฐ ๊ตฌํ˜„ ์Šค๋ ˆ๋“œ ๋ฐ ์›์ž์  ์ž‘์—… ์ง€์›(API WebAssembly ์Šค๋ ˆ๋“œ ๋ฐ WebAssembly Atomics)
  • ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ณ„๋„๋กœ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์‹คํ–‰ํ•  ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” "#!" ํ—ค๋” ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค๋ฅธ ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด์™€ ์œ ์‚ฌํ•˜๊ฒŒ JavaScript ํŒŒ์ผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    #!/usr/bin/env ๋…ธ๋“œ
    console.log(42);

  • CSS์— ์ƒˆ๋กœ์šด ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.์„ ํ˜ธํ•˜๋Š” ๊ฐ์†Œ๋œ ์›€์ง์ž„'๋ฅผ ํ†ตํ•ด ์‚ฌ์ดํŠธ์—์„œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ ๋น„ํ™œ์„ฑํ™”์™€ ๊ด€๋ จ๋œ ์šด์˜ ์ฒด์ œ ์„ค์ • ์ƒํƒœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ์•ˆ๋œ ์š”์ฒญ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์ดํŠธ ์†Œ์œ ์ž๋Š” ์ˆ˜ ์‚ฌ์šฉ์ž๊ฐ€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ–ˆ์œผ๋ฉฐ ์‚ฌ์ดํŠธ์˜ ๋‹ค์–‘ํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ธฐ๋Šฅ๋„ ๋น„ํ™œ์„ฑํ™”ํ–ˆ์Œ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ด€์‹ฌ์„ ๋Œ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ฒ„ํŠผ์˜ ํ”๋“ค๋ฆฌ๋Š” ํšจ๊ณผ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
  • Chrome 72์— ๋„์ž…๋œ ๊ณต๊ฐœ ํ•„๋“œ๋ฅผ ์ •์˜ํ•˜๋Š” ๊ธฐ๋Šฅ ์™ธ์—๋„ ์ง€์› ๊ตฌํ˜„ ํ•„๋“œ๋ฅผ ๋น„๊ณต๊ฐœ๋กœ ํ‘œ์‹œํ•˜๋ฉด ํ•ด๋‹น ๊ฐ’์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๊ฐ€ ํด๋ž˜์Šค ๋‚ด์—์„œ๋งŒ ์—ด๋ฆฝ๋‹ˆ๋‹ค. ํ•„๋“œ๋ฅผ ๋น„๊ณต๊ฐœ๋กœ ํ‘œ์‹œํ•˜๋ ค๋ฉด ํ•„๋“œ ์ด๋ฆ„ ์•ž์— "#" ๊ธฐํ˜ธ๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ๊ณต๊ฐœ ํ•„๋“œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋น„๊ณต๊ฐœ ์†์„ฑ์—๋Š” ์ƒ์„ฑ์ž๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
  • API์˜ ๋™์ž‘์„ ์ œ์–ดํ•˜๊ณ  ํŠน์ • ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ์ •์ฑ… HTTP ํ—ค๋”๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: XMLHttpRequest์˜ ๋™๊ธฐ ์ž‘์—… ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ Geolocation API๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Œ). ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ API ํŠน์ • ๊ธฐํšŒ์˜ ํ™œ๋™์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž์—๊ฒŒ๋Š” ์„ธ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” document.featurePolicy ๋ฐ Frame.featurePolicy๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
    allowedFeatures()๋Š” ํ˜„์žฌ ๋„๋ฉ”์ธ์— ํ—ˆ์šฉ๋˜๋Š” ๊ธฐ๋Šฅ ๋ชฉ๋ก์„ ๊ฐ€์ ธ์˜ค๊ณ , allowedFeature()๋Š” ํŠน์ • ๊ธฐ๋Šฅ์ด ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๋Š”์ง€ ์„ ํƒ์ ์œผ๋กœ ํ™•์ธํ•˜๋ฉฐ, getAllowlistForFeature()๋Š” ํ˜„์žฌ ํŽ˜์ด์ง€์—์„œ ์ง€์ •๋œ ๊ธฐ๋Šฅ์ด ํ—ˆ์šฉ๋˜๋Š” ๋„๋ฉ”์ธ ๋ชฉ๋ก์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ชจ๋“œ์— ๋Œ€ํ•œ ์‹คํ—˜์ ("chrome://flags#enable-text-fragment-anchor") ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์Šคํฌ๋กค-ํ…์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด "a name" ํƒœ๊ทธ๋‚˜ "id" ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์„œ์— ๋ ˆ์ด๋ธ”์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š๊ณ ๋„ ๊ฐœ๋ณ„ ๋‹จ์–ด๋‚˜ ๊ตฌ๋ฌธ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ํ˜•์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งํฌ๋ฅผ ๋ณด๋‚ด๋ ค๋ฉด ์ „ํ™˜ ํ…์ŠคํŠธ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜ "#targetText="๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์‰ผํ‘œ๋ฅผ ๊ตฌ๋ถ„ ๊ธฐํ˜ธ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ๊ฐ์˜ ์‹œ์ž‘๊ณผ ๋์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ๊ตฌ๊ฐ€ ํฌํ•จ๋œ ๋งˆ์Šคํฌ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: "example.com#targetText=start%20words, end%20words").
  • AudioContext ์ƒ์„ฑ์ž์— ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒ˜ํ”Œ๋ ˆ์ดํŠธ, Web Audio API๋ฅผ ํ†ตํ•ด ์˜ค๋””์˜ค ์ž‘์—…์— ๋Œ€ํ•œ ์ƒ˜ํ”Œ๋ง ์†๋„๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํด๋ž˜์Šค ์ง€์› ์ถ”๊ฐ€ ๊ตญ์ œ ๋กœ์ผ€์ผ๋Š” ๋กœ์ผ€์ผ์— ์˜ํ•ด ์„ค์ •๋œ ์–ธ์–ด, ์ง€์—ญ ๋ฐ ์Šคํƒ€์ผ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ ๋ฐ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์œ ๋‹ˆ์ฝ”๋“œ ํ™•์žฅ ํƒœ๊ทธ๋ฅผ ์ฝ๊ณ  ์“ฐ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๊ณ  ์‚ฌ์šฉ์ž ๋กœ์ผ€์ผ ์„ค์ •์„ ์ง๋ ฌํ™”๋œ ํ˜•์‹์œผ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ๊ตฌ ์„œ๋ช…๋œ HTTP ๊ตํ™˜ (SXG)๋ฅผ ์œ„ํ•œ ๋„๊ตฌ๋กœ ํ™•์žฅ๋จ ์•Œ๋ฆฌ๋Š” ์ธ์ฆ์„œ ํ™•์ธ ๋ฌธ์ œ ๋“ฑ ์„œ๋ช…๋œ ์ฝ˜ํ…์ธ  ๋‹ค์šด๋กœ๋“œ ์˜ค๋ฅ˜์— ๋Œ€ํ•ด ์ฝ˜ํ…์ธ  ๋ฐฐํฌ์ž์—๊ฒŒ ๋ฌธ์˜ํ•˜์„ธ์š”. ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ๋Š” API ํ™•์žฅ์„ ํ†ตํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜ ๋กœ๊น…. SXG๋ฅผ ๊ธฐ์–ตํ•ด ๊ทธ๊ฒƒ์€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ํ•œ ์‚ฌ์ดํŠธ์˜ ์†Œ์œ ์ž๋Š” ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ์— ํŠน์ • ํŽ˜์ด์ง€์˜ ๋ฐฐ์น˜๋ฅผ ์Šน์ธํ•œ ํ›„ ๋‘ ๋ฒˆ์งธ ์‚ฌ์ดํŠธ์—์„œ ํ•ด๋‹น ํŽ˜์ด์ง€์— ์•ก์„ธ์Šคํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์›๋ณธ ์‚ฌ์ดํŠธ์˜ URL์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ํŽ˜์ด์ง€๊ฐ€ ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ์—์„œ ๋กœ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • TextEncoder ํด๋ž˜์Šค์— ๋ฉ”์„œ๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ธ์ฝ”๋”ฉ์ธํ† (), ์ด๋ฅผ ํ†ตํ•ด ์ธ์ฝ”๋”ฉ๋œ ๋ฌธ์ž์—ด์„ ๋ฏธ๋ฆฌ ํ• ๋‹น๋œ ๋ฒ„ํผ์— ์ง์ ‘ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. encodeInto() ๋ฉ”์„œ๋“œ๋Š” ์•ก์„ธ์Šคํ•  ๋•Œ๋งˆ๋‹ค ๋ฒ„ํผ ํ• ๋‹น ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” encode() ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ๊ณ ์„ฑ๋Šฅ ๋Œ€์•ˆ์ž…๋‹ˆ๋‹ค.
  • ์„œ๋น„์Šค ์›Œ์ปค ์ค‘ ์ œ๊ณต๋œ ๋ฌธ์„œ๊ฐ€ ์ค€๋น„๋  ๋•Œ๊นŒ์ง€ client.postMessage() ํ˜ธ์ถœ์„ ๋ฒ„ํผ๋งํ•ฉ๋‹ˆ๋‹ค. client.postMessage()๋ฅผ ํ†ตํ•ด ์ „์†ก๋œ ๋ฉ”์‹œ์ง€๋Š” DOMContentLoaded ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ onmessage๊ฐ€ ์„ค์ •๋˜๊ฑฐ๋‚˜ startMessages()๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ๊นŒ์ง€ ๋ณด๊ด€๋ฉ๋‹ˆ๋‹ค.
  • CSS ์ „ํ™˜ ์‚ฌ์–‘์˜ ์š”๊ตฌ์— ๋”ฐ๋ผ ์ถ”๊ฐ€ CSS ์ „ํ™˜์ด ๋Œ€๊ธฐ์—ด์— ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜, ์ทจ์†Œ๋˜๊ฑฐ๋‚˜, ์‹œ์ž‘๋˜๊ฑฐ๋‚˜, ์‹คํ–‰์ด ์™„๋ฃŒ๋  ๋•Œ ์ƒ์„ฑ๋˜๋Š” Transitionrun, Transitcancel, TransitionStart ๋ฐ Transitionend ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค.
  • XMLHttpRequest์— ๋Œ€ํ•œ overrideMimeType() ๋˜๋Š” MIME ์œ ํ˜•์„ ํ†ตํ•ด ์ž˜๋ชป๋œ ๋ฌธ์ž ์ธ์ฝ”๋”ฉ์„ ์ง€์ •ํ•  ๋•Œ ์ด์ œ Latin-8 ๋Œ€์‹  UTF-1๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค.
  • iframe์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ํŒŒ์ผ์„ ์ž๋™์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” "์‚ฌ์šฉ์ž ํ™œ์„ฑํ™” ์—†์ด ๋‹ค์šด๋กœ๋“œ ํ—ˆ์šฉ" ์†์„ฑ์€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค์—์„œ ์ œ๊ฑฐ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋Š” ๋ช…์‹œ์ ์ธ ์‚ฌ์šฉ์ž ์กฐ์น˜ ์—†์ด ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ๊ธˆ์ง€๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์•…์šฉ, ๊ฐ•์ œ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์‚ฌ์šฉ์ž ์ปดํ“จํ„ฐ์— ์•…์„ฑ ์ฝ”๋“œ ์ผ๋ถ€ ์‚ฝ์ž…์— ์ ๊ทน์ ์œผ๋กœ ์‚ฌ์šฉ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œ๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ๋™์ผํ•œ ํŽ˜์ด์ง€๋ฅผ ํด๋ฆญํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์†์„ฑ์€ ์›๋ž˜ Chrome 74์—์„œ ์ œ๊ฑฐ๋  ์˜ˆ์ •์ด์—ˆ์ง€๋งŒ ์ œ๊ฑฐ๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ธฐ ํฌ๋กฌ 76๊นŒ์ง€.
  • Windows ํ”Œ๋žซํผ์—๋Š” ์ธํ„ฐํŽ˜์ด์Šค ๋””์ž์ธ์„ ์œ„ํ•œ ์„ ํƒ์  ๋‹คํฌ ํ…Œ๋งˆ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค(์ด์ „ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” macOS์šฉ์œผ๋กœ ๋‹คํฌ ํ…Œ๋งˆ๊ฐ€ ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค). ์–ด๋‘์šด ๋””์ž์ธ์€ ์‹œํฌ๋ฆฟ ๋ชจ๋“œ์˜ ๋””์ž์ธ๊ณผ ๊ฑฐ์˜ ๋™์ผํ•˜๋ฏ€๋กœ ๊ฐœ์ธ ์ž‘๋™ ๋ชจ๋“œ๋ฅผ ๊ฐ•์กฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž ํ”„๋กœํ•„ ์•„์ด์ฝ˜ ๋Œ€์‹  ํŠน์ˆ˜ ํ‘œ์‹œ๊ธฐ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธฐ์—… ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ๊ธฐํšŒ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Chrome ๋ธŒ๋ผ์šฐ์ € ํด๋ผ์šฐ๋“œ ๊ด€๋ฆฌ Google ๊ด€๋ฆฌ ์ฝ˜์†”์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž ๋ธŒ๋ผ์šฐ์ € ์„ค์ •์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

    ํฌ๋กฌ 74 ๋ฆด๋ฆฌ์Šค

ํ˜์‹  ๋ฐ ๋ฒ„๊ทธ ์ˆ˜์ • ์™ธ์—๋„ ์ƒˆ ๋ฒ„์ „์€ ๋‹ค์Œ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. 39๊ฐœ์˜ ์ทจ์•ฝ์ . ๋งŽ์€ ์ทจ์•ฝ์ ์ด ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ ๋„๊ตฌ์˜ ๊ฒฐ๊ณผ๋กœ ์‹๋ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์†Œ์„ธ๋‹ˆํƒ€์ด์ €, ๋ฉ”๋ชจ๋ฆฌ์„ธ๋‹ˆํƒ€์ด์ €, ์ œ์–ด ํ๋ฆ„ ๋ฌด๊ฒฐ์„ฑ, LibFuzzer ะธ AFL. ๋ชจ๋“  ์ˆ˜์ค€์˜ ๋ธŒ๋ผ์šฐ์ € ๋ณดํ˜ธ๋ฅผ ์šฐํšŒํ•˜๊ณ  ์ƒŒ๋“œ๋ฐ•์Šค ํ™˜๊ฒฝ ์™ธ๋ถ€์˜ ์‹œ์Šคํ…œ์—์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๋Š” ํ™•์ธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋ฆด๋ฆฌ์Šค์˜ ์ทจ์•ฝ์ ์„ ๋ฐœ๊ฒฌํ•œ ๋Œ€๊ฐ€๋กœ ํ˜„๊ธˆ ๋ณด์ƒ์„ ์ง€๊ธ‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์ผํ™˜์œผ๋กœ Google์€ 19๊ฐœ ๋ณด์ƒ์— $26837($3000 ๋ณด์ƒ 2000๊ฐœ, $1337 ๋ณด์ƒ 1000๊ฐœ, $500 ๋ณด์ƒ 4๊ฐœ, $XNUMX ๋ณด์ƒ XNUMX๊ฐœ, $XNUMX ๋ณด์ƒ XNUMX๊ฐœ)์„ ์ง€๋ถˆํ–ˆ์Šต๋‹ˆ๋‹ค. XNUMX๊ฐœ ๋ณด์ƒ์˜ ๊ทœ๋ชจ๋Š” ์•„์ง ๊ฒฐ์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€