React์ ์คํ์ ๊ธฐ๋ฅ์ธ taintObjectReference, ๊ฐ์ฒด ๋ณด์์ ๋ฏธ์น๋ ์ํฅ, ๊ทธ๋ฆฌ๊ณ ์ฒ๋ฆฌ ์๋๊ฐ ์ต์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ํ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ์ด๋ป๊ฒ ์ํฅ์ ๋ฏธ์น๋์ง ์์๋ณด์ธ์.
React์ experimental_taintObjectReference: ์ฒ๋ฆฌ ์๋๋ฅผ ํตํ ๊ฐ์ฒด ๋ณด์ ๊ฐํ
๋น ๋ฅด๊ฒ ์งํํ๋ ์น ๊ฐ๋ฐ ํ๊ฒฝ์์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ์ ๋ณด์์ ๋ณด์ฅํ๋ ๊ฒ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์
์ด ๋ณต์กํด์ง์๋ก ์ ์ฌ์ ์ธ ๊ณต๊ฒฉ ๋ฒกํฐ์ ๊ฐ๋ ฅํ ๋ณด์ ์กฐ์น์ ํ์์ฑ๋ ์ปค์ง๋๋ค. ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๊ตฌ์ถ์ ์ํ ์ ๋์ ์ธ ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ React๋ ๊ฐ๋ฅํ ๊ฒ์ ๊ฒฝ๊ณ๋ฅผ ๊ณ์ ๋ํ๊ณ ์์ผ๋ฉฐ, ๊ทธ ์คํ์ ๊ธฐ๋ฅ๋ค์ ์ข
์ข
์ฑ๋ฅ๊ณผ ๋ณด์์ ๋ฏธ๋ ํ์ ์ ์ํ ๊ธธ์ ์ด์ด์ค๋๋ค. ์ ๋งํ์ง๋ง ์คํ์ ์ธ ๊ธฐ๋ฅ ์ค ํ๋๊ฐ ๋ฐ๋ก experimental_taintObjectReference์
๋๋ค. ์ด ๋ธ๋ก๊ทธ ํฌ์คํธ์์๋ ์ด ๊ธฐ๋ฅ์ ๊น์ด ํ๊ณ ๋ค์ด ๊ฐ์ฒด ๋ณด์์ ๋ฏธ์น๋ ์ํฅ๊ณผ, ๊ฒฐ์ ์ ์ผ๋ก ์ฒ๋ฆฌ ์๋๊ฐ ๊ทธ ํจ๊ณผ์ ์ด๋ป๊ฒ ์ค์ํ ์ญํ ์ ํ๋์ง์ ๋ํด ์ค์ ์ ์ผ๋ก ๋ค๋ฃน๋๋ค.
์ต์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์์์ ๊ฐ์ฒด ๋ณด์ ์ดํดํ๊ธฐ
React์ ํน์ ๊ธฐ๋ฅ์ ์ดํด๋ณด๊ธฐ ์ ์, ๊ฐ์ฒด ๋ณด์์ ๊ทผ๋ณธ์ ์ธ ๊ณผ์ ๋ฅผ ์ดํดํ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์์ ๊ฐ์ฒด๋ ๋์ ์ด๋ฉฐ ๋ณ๊ฒฝ ๊ฐ๋ฅํฉ๋๋ค. ์ฌ์ฉ์ ์๊ฒฉ ์ฆ๋ช ๊ณผ ๊ธ์ต ์ ๋ณด๋ถํฐ ๋ ์ ์ ์ธ ๋น์ฆ๋์ค ๋ก์ง์ ์ด๋ฅด๊ธฐ๊น์ง ๊ด๋ฒ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ฐ์ฒด๋ค์ด ์ ๋ฌ๋๊ฑฐ๋, ๋ณ๊ฒฝ๋๊ฑฐ๋, ์ ๋ขฐํ ์ ์๋ ํ๊ฒฝ(์: ์๋ํํฐ ์คํฌ๋ฆฝํธ ๋๋ ๋์ผํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค๋ฅธ ๋ถ๋ถ)์ ๋ ธ์ถ๋ ๋, ์ ์์ ์ธ ํ์์๋ค์ ์ ์ฌ์ ํ์ ์ด ๋ฉ๋๋ค.
์ผ๋ฐ์ ์ธ ๊ฐ์ฒด ๊ด๋ จ ๋ณด์ ์ทจ์ฝ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ฐ์ดํฐ ์ ์ถ: ๊ฐ์ฒด ๋ด์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๊ฐ ์น์ธ๋์ง ์์ ์ฌ์ฉ์๋ ํ๋ก์ธ์ค์ ๋ถ์ฃผ์ํ๊ฒ ๋ ธ์ถ๋๋ ๊ฒฝ์ฐ.
- ๋ฐ์ดํฐ ๋ณ์กฐ: ๊ฐ์ฒด ์์ฑ์ ์ ์์ ์ธ ์์ ์ผ๋ก ์ธํด ์ ํ๋ฆฌ์ผ์ด์ ๋์์ด ์๋ชป๋๊ฑฐ๋ ์ฌ๊ธฐ ๊ฑฐ๋๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ.
- ํ๋กํ ํ์ ์ค์ผ(Prototype Pollution): ์๋ฐ์คํฌ๋ฆฝํธ์ ํ๋กํ ํ์ ์ฒด์ธ์ ์ ์ฉํ์ฌ ๊ฐ์ฒด์ ์ ์์ ์ธ ์์ฑ์ ์ฃผ์ ํจ์ผ๋ก์จ ๊ณต๊ฒฉ์์๊ฒ ์์น๋ ๊ถํ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๊ถ์ ๋ถ์ฌํ ์ ์๋ ๊ฒฝ์ฐ.
- ํฌ๋ก์ค ์ฌ์ดํธ ์คํฌ๋ฆฝํ (XSS): ์กฐ์๋ ๊ฐ์ฒด ๋ฐ์ดํฐ๋ฅผ ํตํด ์ ์ฑ ์คํฌ๋ฆฝํธ๋ฅผ ์ฃผ์ ํ์ฌ ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ์์ ์คํ๋๊ฒ ํ๋ ๊ฒฝ์ฐ.
์ ํต์ ์ธ ๋ณด์ ์กฐ์น๋ ์ข ์ข ์๊ฒฉํ ์ ๋ ฅ ์ ํจ์ฑ ๊ฒ์ฌ, ์ญ์ (sanitization), ๊ทธ๋ฆฌ๊ณ ์ ์คํ ์ ๊ทผ ์ ์ด๋ฅผ ํฌํจํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ๋ฐฉ๋ฒ๋ค์ ํนํ ๋ฐ์ดํฐ ํ๋ฆ์ด ๋ณต์กํ ๋๊ท๋ชจ ์ ํ๋ฆฌ์ผ์ด์ ์์ ํฌ๊ด์ ์ผ๋ก ๊ตฌํํ๊ธฐ ๋ณต์กํ ์ ์์ต๋๋ค. ๋ฐ๋ก ์ด ์ง์ ์์ ๋ฐ์ดํฐ ์ถ์ฒ์ ์ ๋ขฐ์ ๋ํ ๋ ์ธ๋ฐํ ์ ์ด๋ฅผ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ด ๋งค์ฐ ์ค์ํด์ง๋๋ค.
React์ experimental_taintObjectReference ์๊ฐ
React์ experimental_taintObjectReference๋ 'ํ
์ธํธ๋(tainted)' ๊ฐ์ฒด ์ฐธ์กฐ๋ผ๋ ๊ฐ๋
์ ๋์
ํ์ฌ ์ด๋ฌํ ๊ฐ์ฒด ๋ณด์ ๋ฌธ์ ์ค ์ผ๋ถ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ๋ณธ์ง์ ์ผ๋ก, ์ด ๊ธฐ๋ฅ์ ๊ฐ๋ฐ์๊ฐ ํน์ ๊ฐ์ฒด ์ฐธ์กฐ๋ฅผ ์ ์ฌ์ ์ผ๋ก ์์ ํ์ง ์๊ฑฐ๋ ์ ๋ขฐํ ์ ์๋ ์ถ์ฒ์์ ์จ ๊ฒ์ผ๋ก ํ์ํ ์ ์๊ฒ ํด์ค๋๋ค. ์ด ํ์๋ ๋ฐํ์ ๊ฒ์ฌ ๋ฐ ์ ์ ๋ถ์ ๋๊ตฌ๊ฐ ์ด ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ์ค์ฉํ ์ ์๋ ์์
์ ํ๋๊ทธํ๊ฑฐ๋ ๋ฐฉ์งํ ์ ์๋๋ก ํฉ๋๋ค.
ํต์ฌ ์์ด๋์ด๋ ๋ณธ์ง์ ์ผ๋ก ์์ ํ ๋ฐ์ดํฐ์ ์ธ๋ถ์ ์ ์ฌ์ ์ผ๋ก ์ ์์ ์ธ ์ถ์ฒ์์ ๋น๋กฏ๋์์ ์ ์๊ธฐ ๋๋ฌธ์ ์ ์คํ ์ฒ๋ฆฌ๊ฐ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ณํ๋ ๋ฉ์ปค๋์ฆ์ ๋ง๋๋ ๊ฒ์ ๋๋ค. ์ด๋ ํนํ ๋ค์๊ณผ ๊ฐ์ ์๋๋ฆฌ์ค์ ๊ด๋ จ์ด ์์ต๋๋ค:
- ์ฌ์ฉ์ ์์ฑ ์ฝํ ์ธ : ์ฌ์ฉ์๊ฐ ์ ์ถํ ๋ฐ์ดํฐ๋ก, ์์ ํ ์ ๋ขฐํ ์ ์์ต๋๋ค.
- ์ธ๋ถ API ์๋ต: ๋์ผํ ๋ณด์ ํ์ค์ ์ค์ํ์ง ์์ ์ ์๋ ์๋ํํฐ ์๋น์ค์์ ๊ฐ์ ธ์จ ๋ฐ์ดํฐ.
- ๊ตฌ์ฑ ๋ฐ์ดํฐ: ํนํ ๊ตฌ์ฑ์ด ๋์ ์ผ๋ก ๋๋ ์ ๋ขฐํ ์ ์๋ ์์น์์ ๋ก๋๋๋ ๊ฒฝ์ฐ.
taintObjectReference๋ก ๊ฐ์ฒด ์ฐธ์กฐ๋ฅผ ํ์ํจ์ผ๋ก์จ, ๊ฐ๋ฐ์๋ ๋ณธ์ง์ ์ผ๋ก ํด๋น ์ฐธ์กฐ์ '๋ณด์ ๋ ์ด๋ธ'์ ์์ฑํ๋ ๊ฒ์
๋๋ค. ์ด ํ
์ธํธ๋ ์ฐธ์กฐ๊ฐ ๋ณด์ ์ทจ์ฝ์ ์ผ๋ก ์ด์ด์ง ์ ์๋ ๋ฐฉ์(์: ์ญ์ ์์ด HTML์ ์ง์ ๋ ๋๋ง, ์ ์ ํ ์ด์ค์ผ์ดํ ์์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ์ ์ฌ์ฉ)์ผ๋ก ์ฌ์ฉ๋ ๋, ์์คํ
์ด ๊ฐ์
ํ ์ ์์ต๋๋ค.
์๋ ๋ฐฉ์ (๊ฐ๋ ์ )
์คํ์ ํน์ฑ์ ์ ํํ ๊ตฌํ ์ธ๋ถ ์ฌํญ์ ๋ณ๊ฒฝ๋ ์ ์์ง๋ง, experimental_taintObjectReference์ ๊ฐ๋
์ ๋ชจ๋ธ์ ๋ค์์ ํฌํจํฉ๋๋ค:
- ํ ์ธํ (Tainting): ๊ฐ๋ฐ์๊ฐ ๋ช ์์ ์ผ๋ก ๊ฐ์ฒด ์ฐธ์กฐ๋ฅผ ํ ์ธํธ๋ ๊ฒ์ผ๋ก ํ์ํ์ฌ ์ ์ฌ์ ์ธ ๋ถ์ ์ถ์ฒ๋ฅผ ๋ํ๋ ๋๋ค. ์ด๋ ํจ์ ํธ์ถ์ด๋ ์ฝ๋ ๋ด ์ง์๋ฌธ์ ํฌํจํ ์ ์์ต๋๋ค.
- ์ ํ(Propagation): ์ด ํ ์ธํธ๋ ์ฐธ์กฐ๊ฐ ๋ค๋ฅธ ํจ์์ ์ ๋ฌ๋๊ฑฐ๋ ์ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋ ๋, ํ ์ธํธ๊ฐ ์ ํ๋์ด ๋ฐ์ดํฐ ํ๋ฆ ์ ์ฒด์ ๊ฑธ์ณ ๋ฏผ๊ฐ์ฑ์ด ์ ์ง๋๋๋ก ๋ณด์ฅํ ์ ์์ต๋๋ค.
- ๊ฐ์ /ํ์ง(Enforcement/Detection): ์ ํ๋ฆฌ์ผ์ด์ ์คํ์ ์ค์ํ ์ง์ (์: DOM์ ๋ ๋๋งํ๊ธฐ ์ , ๋ฏผ๊ฐํ ์์ ์ ์ฌ์ฉ๋๊ธฐ ์ )์์ ์์คํ ์ ํ ์ธํธ๋ ์ฐธ์กฐ๊ฐ ๋ถ์ ์ ํ๊ฒ ์ฌ์ฉ๋๊ณ ์๋์ง ํ์ธํฉ๋๋ค. ๋ง์ฝ ๊ทธ๋ ๋ค๋ฉด, ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ฑฐ๋ ๊ฒฝ๊ณ ๊ฐ ๊ธฐ๋ก๋์ด ์ ์ฌ์ ์ธ ์ ์ฉ์ ๋ฐฉ์งํฉ๋๋ค.
์ด ์ ๊ทผ ๋ฐฉ์์ ๋ณด์์ ์์ ํ ๋ฐฉ์ด์ ์ธ ์์ธ์์, ์ธ์ด์ ํ๋ ์์ํฌ ์์ฒด๊ฐ ๊ฐ๋ฐ์๊ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ๊ด๋ จ๋ ์ํ์ ์๋ณํ๊ณ ์ํํ๋ ๋ฐ ๋์์ ์ฃผ๋ ๋ณด๋ค ๋ฅ๋์ ์ธ ์์ธ๋ก ์ ํ์ํต๋๋ค.
์ฒ๋ฆฌ ์๋์ ์ค์ํ ์ญํ
๋ชจ๋ ๋ณด์ ๋ฉ์ปค๋์ฆ, ํนํ ๋ฐํ์์ ์๋ํ๋ ๋ฉ์ปค๋์ฆ์ ํจ๊ณผ๋ ์ฑ๋ฅ ์ค๋ฒํค๋์ ํฌ๊ฒ ์์กดํฉ๋๋ค. ๋ง์ฝ ํ
์ธํธ๋ ๊ฐ์ฒด ์ฐธ์กฐ๋ฅผ ํ์ธํ๋ ๊ฒ์ด ์ ํ๋ฆฌ์ผ์ด์
๋ ๋๋ง์ด๋ ์ค์ํ ์์
์ ํ์ ํ ๋๋ฆฌ๊ฒ ํ๋ค๋ฉด, ๊ฐ๋ฐ์๋ค์ ๊ทธ๊ฒ์ ์ฑํํ๊ธฐ๋ฅผ ์ฃผ์ ํ ์ ์๊ฑฐ๋, ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ์ฅ ๋ฏผ๊ฐํ ๋ถ๋ถ์๋ง ์ ์ฉ ๊ฐ๋ฅํ ์ ์์ต๋๋ค. ๋ฐ๋ก ์ด ์ง์ ์์ ๊ฐ์ฒด ๋ณด์ ์ฒ๋ฆฌ ์๋๋ผ๋ ๊ฐ๋
์ด experimental_taintObjectReference์ ์์ด ๊ฐ์ฅ ์ค์ํด์ง๋๋ค.
๊ฐ์ฒด ๋ณด์ ์ฒ๋ฆฌ ์๋๋ ๋ฌด์์ธ๊ฐ?
๊ฐ์ฒด ๋ณด์ ์ฒ๋ฆฌ ์๋๋ ๊ฐ์ฒด์ ๋ํ ๋ณด์ ๊ด๋ จ ์์
์ด ์ํ๋๋ ๊ณ์ฐ ํจ์จ์ฑ์ ์๋ฏธํฉ๋๋ค. experimental_taintObjectReference์ ๊ฒฝ์ฐ, ์ด๋ ๋ค์์ ํฌํจํฉ๋๋ค:
- ๊ฐ์ฒด๋ฅผ ํ ์ธํธ๋ ๊ฒ์ผ๋ก ํ์ํ๋ ์๋.
- ํ ์ธํธ ์ ํ์ ํจ์จ์ฑ.
- ๋ฐํ์์ ํ ์ธํธ ์ํ๋ฅผ ํ์ธํ๋ ์ฑ๋ฅ ๋น์ฉ.
- ๋ณด์ ์ ์ฑ ์ด ์๋ฐ๋์์ ๋ ์ค๋ฅ ์ฒ๋ฆฌ ๋๋ ๊ฐ์ ์ ์ค๋ฒํค๋.
์ด์ ๊ฐ์ ์คํ์ ๊ธฐ๋ฅ์ ๋ชฉํ๋ ๋จ์ง ๋ณด์์ ์ ๊ณตํ๋ ๊ฒ์ด ์๋๋ผ, ์ฉ๋ฉํ ์ ์๋ ์ฑ๋ฅ ์ ํ๋ฅผ ์ ๋ฐํ์ง ์์ผ๋ฉด์ ๋ณด์์ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค. ์ด๋ ๊ธฐ๋ณธ ๋ฉ์ปค๋์ฆ์ด ๊ณ ๋๋ก ์ต์ ํ๋์ด์ผ ํจ์ ์๋ฏธํฉ๋๋ค.
์ฒ๋ฆฌ ์๋์ ์ํฅ์ ๋ฏธ์น๋ ์์ธ
experimental_taintObjectReference๊ฐ ์ผ๋ง๋ ๋นจ๋ฆฌ ์ฒ๋ฆฌ๋ ์ ์๋์ง์ ์ํฅ์ ๋ฏธ์น๋ ์ฌ๋ฌ ์์ธ์ด ์์ต๋๋ค:
- ์๊ณ ๋ฆฌ์ฆ ํจ์จ์ฑ: ํ ์ธํธ๋ฅผ ํ์, ์ ํ, ํ์ธํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์๊ณ ๋ฆฌ์ฆ์ด ์ค์ํฉ๋๋ค. ์๋ง๋ ๊ธฐ๋ณธ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง ์ต์ ํ๋ฅผ ํ์ฉํ๋ ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ด ๋ ๋น ๋ฅผ ๊ฒ์ ๋๋ค.
- ์๋ฃ ๊ตฌ์กฐ ์ค๊ณ: ํ ์ธํธ ์ ๋ณด๊ฐ ๊ฐ์ฒด์ ์ด๋ป๊ฒ ์ฐ๊ด๋๊ณ ์ด๋ป๊ฒ ์ฟผ๋ฆฌ๋๋์ง๋ ์๋์ ํฐ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ํจ์จ์ ์ธ ์๋ฃ ๊ตฌ์กฐ๊ฐ ํต์ฌ์ ๋๋ค.
- ๋ฐํ์ ํ๊ฒฝ ์ต์ ํ: ์๋ฐ์คํฌ๋ฆฝํธ ์์ง(์: Chrome์ V8)์ด ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ๋ง์ฝ ํ ์ธํธ ํ์ธ์ด ์์ง์ ์ํด ์ต์ ํ๋ ์ ์๋ค๋ฉด, ์ฑ๋ฅ ํฅ์์ ์๋นํ ๊ฒ์ ๋๋ค.
- ํ ์ธํ ์ ๋ฒ์: ๋ ์ ์ ์์ ๊ฐ์ฒด๋ฅผ ํ ์ธํ ํ๊ฑฐ๋ ํ ์ธํธ์ ์ ํ๋ฅผ ํ์ํ ๊ฒฝ๋ก๋ก๋ง ์ ํํ๋ฉด ์ ์ฒด ์ฒ๋ฆฌ ๋ถํ๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
- ๊ฒ์ฌ์ ๋ณต์ก์ฑ: ํ ์ธํธ๋ ๊ฐ์ฒด์ '์์ ํ์ง ์์' ์ฌ์ฉ์ ๊ตฌ์ฑํ๋ ๊ท์น์ด ๋ณต์กํ ์๋ก ๊ฒ์ฌ์ ๋ ๋ง์ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ด ํ์ํฉ๋๋ค.
ํจ์จ์ ์ธ ์ฒ๋ฆฌ์ ์ฑ๋ฅ ์ด์
experimental_taintObjectReference๊ฐ ๋น ๋ฅธ ์๋์ ๋ฎ์ ์ค๋ฒํค๋๋ก ์ฒ๋ฆฌ๋ ๋, ๋ค์๊ณผ ๊ฐ์ ์ฌ๋ฌ ์ด์ ์ ์ป์ ์ ์์ต๋๋ค:
- ๊ด๋ฒ์ํ ์ฑํ: ๊ฐ๋ฐ์๋ค์ ๋ณด์ ๊ธฐ๋ฅ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์์ฑ์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค๋ฉด ๋ ๋ง์ด ์ฌ์ฉํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
- ํฌ๊ด์ ์ธ ๋ณด์: ๋น ๋ฅธ ์ฒ๋ฆฌ ์๋๋ ํ ์ธํธ ๊ฒ์ฌ๋ฅผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์ ๋ ๋๊ฒ ์ ์ฉํ์ฌ ๋ ๋ง์ ์ ์ฌ์ ์ทจ์ฝ์ ์ ์ปค๋ฒํ ์ ์๊ฒ ํฉ๋๋ค.
- ์ค์๊ฐ ๋ณดํธ: ๋น ๋ฅธ ๊ฒ์ฌ๋ ๋ฐฐํฌ ํ ๋ถ์์๋ง ์์กดํ๋ ๋์ , ๋ณด์ ๋ฌธ์ ์ ์ค์๊ฐ ํ์ง ๋ฐ ๋ฐฉ์ง๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
- ๊ฐ์ ๋ ๊ฐ๋ฐ์ ๊ฒฝํ: ๊ฐ๋ฐ์๋ค์ ํ๋ ์์ํฌ๊ฐ ๊ฐ๋ฐ ๋ณ๋ชฉ ํ์ ์์ด ๋ณด์์ ์ ์งํ๋ ๋ฐ ๋์์ ์ค๋ค๋ ๊ฒ์ ์๊ณ ์์ ๊ฐ์ ๊ฐ๊ณ ๊ธฐ๋ฅ ๊ตฌ์ถ์ ์ง์คํ ์ ์์ต๋๋ค.
์ค์ฉ์ ์๋ฏธ์ ์ฌ์ฉ ์ฌ๋ก
ํจ์จ์ ์ธ ์ฒ๋ฆฌ์ ๊ฒฐํฉ๋ ๋ experimental_taintObjectReference๊ฐ ํ๋๋ฅผ ๋ฐ๊ฟ ์ ์๋ ๋ช ๊ฐ์ง ์ค์ฉ์ ์ธ ์๋๋ฆฌ์ค๋ฅผ ๊ณ ๋ คํด ๋ณด๊ฒ ์ต๋๋ค:
1. ๋ ๋๋ง์ ์ํ ์ฌ์ฉ์ ์ ๋ ฅ ์ญ์ (Sanitizing)
์๋๋ฆฌ์ค: ์์ ๋ฏธ๋์ด ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ์ฉ์ ๋๊ธ์ ํ์ํฉ๋๋ค. ์ฌ์ฉ์ ๋๊ธ์ ๋ณธ์ง์ ์ผ๋ก ์ ๋ขฐํ ์ ์์ผ๋ฉฐ ์ ์์ ์ธ HTML์ด๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํฌํจํ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ธ ์ทจ์ฝ์ ์ ์ด๋ฌํ ๋๊ธ์ด DOM์ ์ง์ ๋ ๋๋ง๋ ๊ฒฝ์ฐ ๋ฐ์ํ๋ XSS์ ๋๋ค.
experimental_taintObjectReference ์ฌ์ฉ ์:
- ์ฌ์ฉ์ ๋๊ธ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ ๊ฐ์ฒด๋ API์์ ๊ฒ์ ์ ํ ์ธํธ๋ ๊ฒ์ผ๋ก ํ์๋ ์ ์์ต๋๋ค.
- ์ด ํ ์ธํธ๋ ๋ฐ์ดํฐ๊ฐ ๋ ๋๋ง ์ปดํฌ๋ํธ๋ก ์ ๋ฌ๋ ๋, React๊ฐ ์๋์ผ๋ก ์ด๋ฅผ ๊ฐ๋ก์ฑ ์ ์์ต๋๋ค.
- ๋ ๋๋งํ๊ธฐ ์ ์ React๋ ๋ณด์ ๊ฒ์ฌ๋ฅผ ์ํํฉ๋๋ค. ๋ง์ฝ ํ ์ธํธ๊ฐ ๊ฐ์ง๋๊ณ ๋ฐ์ดํฐ๊ฐ ์์ ํ์ง ์์ ๋ฐฉ์(์: HTML๋ก ์ง์ )์ผ๋ก ๋ ๋๋ง๋๋ ค๊ณ ํ๋ฉด, React๋ ์๋์ผ๋ก ์ด๋ฅผ ์ญ์ (์: HTML ์ํฐํฐ ์ด์ค์ผ์ดํ)ํ๊ฑฐ๋ ์ค๋ฅ๋ฅผ ๋ฐ์์์ผ XSS ๊ณต๊ฒฉ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
์ฒ๋ฆฌ ์๋ ์ํฅ: ์ด๊ฒ์ด ์ํํ๊ฒ ์๋ํ๋ ค๋ฉด, ํ ์ธํธ ๊ฒ์ฌ์ ์ ์ฌ์ ์ธ ์ญ์ ๊ฐ ๋ ๋๋ง ํ์ดํ๋ผ์ธ ๋์ ๋งค์ฐ ๋น ๋ฅด๊ฒ ์ผ์ด๋์ผ ํฉ๋๋ค. ๋ง์ฝ ๊ฒ์ฌ ์์ฒด๊ฐ ๋๊ธ ํ์์ ๋์ ๋๋ ์ง์ฐ์ ์ ๋ฐํ๋ค๋ฉด, ์ฌ์ฉ์๋ค์ ์ ํ๋ ๊ฒฝํ์ ํ๊ฒ ๋ ๊ฒ์ ๋๋ค. ๋์ ์ฒ๋ฆฌ ์๋๋ ์ด ๋ณด์ ์กฐ์น๊ฐ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ์ ๋์ฑ์ ์ ํดํ์ง ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
2. ๋ฏผ๊ฐํ API ํค ๋๋ ํ ํฐ ์ฒ๋ฆฌ
์๋๋ฆฌ์ค: ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ธ๋ถ ์๋น์ค์ ์ ๊ทผํ๊ธฐ ์ํด API ํค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฌํ ํค๋ ๊ด๋ฒ์ํ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํ ๋งํผ ๋ฏผ๊ฐํ๋ค๋ฉด ํด๋ผ์ด์ธํธ ์ธก์ ์ ๋ ๋ ธ์ถ๋์ด์๋ ์ ๋ฉ๋๋ค. ๋๋ก๋ ์ข์ง ์์ ์ํคํ ์ฒ ๋๋ฌธ์ ์๋์น ์๊ฒ ํด๋ผ์ด์ธํธ ์ธก ์ฝ๋์ ํฌํจ๋ ์ ์์ต๋๋ค.
experimental_taintObjectReference ์ฌ์ฉ ์:
- ๋ง์ฝ API ํค๊ฐ ํ ์ธํธ๋ ๊ฒ์ผ๋ก ํ์๋ ํด๋ผ์ด์ธํธ ์ธก ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด์ ์ค์๋ก ๋ก๋๋๋ค๋ฉด, ๊ทธ ์กด์ฌ๊ฐ ํ๋๊ทธ๋ ์ ์์ต๋๋ค.
- ์ด ๊ฐ์ฒด๋ฅผ ์ ๋ขฐํ ์ ์๋ ์ปจํ ์คํธ๋ก ๋ค์ ๋ณด๋ผ ์ ์๋ JSON ๋ฌธ์์ด๋ก ์ง๋ ฌํํ๊ฑฐ๋, ๋น๋ฐ์ ์ฒ๋ฆฌํ๋๋ก ์๋๋์ง ์์ ํด๋ผ์ด์ธํธ ์ธก ์คํฌ๋ฆฝํธ์์ ์ฌ์ฉํ๋ ค๋ ๋ชจ๋ ์๋๋ ๊ฒฝ๊ณ ๋ ์ค๋ฅ๋ฅผ ํธ๋ฆฌ๊ฑฐํ ์ ์์ต๋๋ค.
์ฒ๋ฆฌ ์๋ ์ํฅ: API ํค๋ ์ข ์ข ์๋ฒ ์ธก์์ ์ฒ๋ฆฌ๋์ง๋ง, ํ์ด๋ธ๋ฆฌ๋ ์ํคํ ์ฒ๋ ๊ฐ๋ฐ ์ค์ ์ด๋ฌํ ์ ์ถ์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ๋น ๋ฅธ ํ ์ธํธ ์ ํ์ ๊ฒ์ฌ๋ ๋ฏผ๊ฐํ ๊ฐ์ด ์ฌ๋ฌ ์ปดํฌ๋ํธ๋ฅผ ํต๊ณผํ๋ ๊ฐ์ฒด์ ์ค์๋ก ํฌํจ๋๋๋ผ๋, ๋ ธ์ถ๋์ด์๋ ์ ๋๋ ์ง์ ์ ๋๋ฌํ์ ๋ ๊ทธ ํ ์ธํธ๋ ์ํ๋ฅผ ํจ์จ์ ์ผ๋ก ์ถ์ ํ๊ณ ํ๋๊ทธํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
3. ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ์ ์์ ํ ๋ฐ์ดํฐ ์ ์ก (๊ฐ๋ ์ ํ์ฅ)
์๋๋ฆฌ์ค: experimental_taintObjectReference๋ ์ฃผ๋ก ํด๋ผ์ด์ธํธ ์ธก React ๊ธฐ๋ฅ์ด์ง๋ง, ํ
์ธํธ ๋ถ์์ ๊ธฐ๋ณธ ์์น์ ๋ ๋๊ฒ ์ ์ฉ๋ ์ ์์ต๋๋ค. ์ฌ๋ฌ ๋ง์ดํฌ๋ก์๋น์ค๊ฐ ํต์ ํ๊ณ ๊ทธ๋ค ์ฌ์ด์ ์ ๋ฌ๋๋ ์ผ๋ถ ๋ฐ์ดํฐ๊ฐ ๋ฏผ๊ฐํ ์์คํ
์ ์์ํด ๋ณด์ญ์์ค.
ํ ์ธํธ ๋ถ์ ์ฌ์ฉ ์ (๊ฐ๋ ์ ):
- ํ ์๋น์ค๊ฐ ์ธ๋ถ ์์ค๋ก๋ถํฐ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ๋ค๋ฅธ ๋ด๋ถ ์๋น์ค๋ก ์ ๋ฌํ๊ธฐ ์ ์ ํ ์ธํธ๋ ๊ฒ์ผ๋ก ํ์ํ ์ ์์ต๋๋ค.
- ์ด ํ ์ธํธ์ ๋ฏผ๊ฐํ๊ฒ ์ค๊ณ๋ ์์ ์๋น์ค๋ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ๋ํด ์ถ๊ฐ์ ์ธ ๊ฒ์ฌ๋ ์ ํ์ ์ํํ ์ ์์ต๋๋ค.
์ฒ๋ฆฌ ์๋ ์ํฅ: ์๋น์ค ๊ฐ ํต์ ์์ ์ง์ฐ ์๊ฐ์ ์ค์ํ ์์์ ๋๋ค. ๋ง์ฝ ํ ์ธํธ ๊ฒ์ฌ๊ฐ ์์ฒญ์ ์๋นํ ์ง์ฐ์ ์ถ๊ฐํ๋ค๋ฉด, ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์ ํจ์จ์ฑ์ ์ ํ๋ ๊ฒ์ ๋๋ค. ๊ณ ์์ ํ ์ธํธ ์ฒ๋ฆฌ๋ ์ด๋ฌํ ์์คํ ์ด ์ฑ๋ฅ์ ์ ์งํ๋ ๋ฐ ํ์์ ์ผ ๊ฒ์ ๋๋ค.
๊ณผ์ ์ ๋ฏธ๋ ๊ณ ๋ ค์ฌํญ
์คํ์ ๊ธฐ๋ฅ์ผ๋ก์ experimental_taintObjectReference๋ ์์ฒด์ ์ธ ๊ณผ์ ์ ๋ฏธ๋ ๊ฐ๋ฐ ์์ญ์ ๊ฐ์ง๊ณ ์์ต๋๋ค:
- ๊ฐ๋ฐ์ ์ดํด ๋ฐ ์ฑํ: ๊ฐ๋ฐ์๋ค์ ํ ์ธํ ์ ๊ฐ๋ ๊ณผ ์ธ์ ์ด๋ป๊ฒ ํจ๊ณผ์ ์ผ๋ก ์ ์ฉํ ์ง ์ดํดํด์ผ ํฉ๋๋ค. ๋ช ํํ ๋ฌธ์์ ๊ต์ก ์๋ฃ๊ฐ ์ค์ํ ๊ฒ์ ๋๋ค.
- ์คํ(False Positives)๊ณผ ๋ฏธํ(False Negatives): ๋ค๋ฅธ ๋ณด์ ์์คํ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ์คํ(์์ ํ ๋ฐ์ดํฐ๋ฅผ ์์ ํ์ง ์์ ๊ฒ์ผ๋ก ํ๋๊ทธ) ๋๋ ๋ฏธํ(์์ ํ์ง ์์ ๋ฐ์ดํฐ๋ฅผ ํ๋๊ทธํ์ง ๋ชปํจ)์ ์ํ์ด ์์ต๋๋ค. ์ด๋ฅผ ์ต์ํํ๋๋ก ์์คํ ์ ์กฐ์ ํ๋ ๊ฒ์ ์ง์์ ์ธ ๊ณผ์ ์ด ๋ ๊ฒ์ ๋๋ค.
- ๋น๋ ๋๊ตฌ ๋ฐ ๋ฆฐํฐ์์ ํตํฉ: ์ต๋์ ํจ๊ณผ๋ฅผ ์ํด, ํ ์ธํธ ๋ถ์์ ์ด์์ ์ผ๋ก ์ ์ ๋ถ์ ๋๊ตฌ์ ๋ฆฐํฐ์ ํตํฉ๋์ด ๊ฐ๋ฐ์๋ค์ด ๋ฐํ์ ์ด์ ์๋ ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ํฌ์ฐฉํ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค.
- ์ฑ๋ฅ ํ๋: ์ด ๊ธฐ๋ฅ์ ์ฝ์์ ์ฑ๋ฅ์ ๋ฌ๋ ค ์์ต๋๋ค. ๊ธฐ๋ณธ ์ฒ๋ฆฌ ์๋์ ์ง์์ ์ธ ์ต์ ํ๊ฐ ์ฑ๊ณต์ ์ด์ ๊ฐ ๋ ๊ฒ์ ๋๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ์ React์ ์งํ: ์ธ์ด์ ํ๋ ์์ํฌ๊ฐ ์งํํจ์ ๋ฐ๋ผ, ํ ์ธํธ ์ถ์ ๋ฉ์ปค๋์ฆ์ ์๋ก์ด ๊ธฐ๋ฅ๊ณผ ํจํด์ ์ ์ํด์ผ ํฉ๋๋ค.
experimental_taintObjectReference์ ์ฑ๊ณต์ ๊ฐ๋ ฅํ ๋ณด์ ๋ณด์ฅ๊ณผ ์ต์ํ์ ์ฑ๋ฅ ์ํฅ ์ฌ์ด์ ์ฌ์ธํ ๊ท ํ์ ๋ฌ๋ ค ์์ ๊ฒ์
๋๋ค. ์ด ๊ท ํ์ ํ
์ธํธ ์ ๋ณด์ ๊ณ ๋๋ก ์ต์ ํ๋ ์ฒ๋ฆฌ๋ฅผ ํตํด ๋ฌ์ฑ๋ฉ๋๋ค.
๊ฐ์ฒด ๋ณด์์ ๋ํ ๊ธ๋ก๋ฒ ๊ด์
์ ์ธ๊ณ์ ์ธ ๊ด์ ์์ ๋ณผ ๋, ๊ฐ๋ ฅํ ๊ฐ์ฒด ๋ณด์์ ์ค์์ฑ์ ๋์ฑ ์ปค์ง๋๋ค. ์ง์ญ๊ณผ ์ฐ์ ๋ณ๋ก ๋ค์ํ ๊ท์ ์๊ฑด๊ณผ ์ํ ํ๊ฒฝ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด:
- GDPR (์ ๋ฝ): ๊ฐ์ธ ๋ฐ์ดํฐ์ ํ๋ผ์ด๋ฒ์์ ๋ณด์์ ๊ฐ์กฐํฉ๋๋ค. ํ ์ธํธ ์ถ์ ๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ๋ฏผ๊ฐํ ๊ฐ์ธ ์ ๋ณด๊ฐ ์๋ชป ์ฒ๋ฆฌ๋์ง ์๋๋ก ๋ณด์ฅํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
- CCPA/CPRA (๋ฏธ๊ตญ ์บ๋ฆฌํฌ๋์): GDPR๊ณผ ์ ์ฌํ๊ฒ, ์ด ๊ท์ ๋ค์ ์๋น์ ๋ฐ์ดํฐ ํ๋ผ์ด๋ฒ์์ ๊ถ๋ฆฌ์ ์ด์ ์ ๋ง์ถฅ๋๋ค.
- ์ฐ์ ๋ณ ๊ท์ (์: ์๋ฃ ๋ถ์ผ์ HIPAA, ๊ฒฐ์ ์นด๋์ PCI DSS): ์ด๋ค์ ์ข ์ข ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ, ์ฒ๋ฆฌ, ์ ์ก๋๋ ๋ฐฉ์์ ๋ํด ์๊ฒฉํ ์๊ฑด์ ๋ถ๊ณผํฉ๋๋ค.
experimental_taintObjectReference์ ๊ฐ์ ๊ธฐ๋ฅ์ ๋ฐ์ดํฐ ์ ๋ขฐ๋ฅผ ๋ณด๋ค ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํจ์ผ๋ก์จ, ๊ธ๋ก๋ฒ ์กฐ์ง์ด ์ด๋ฌํ ๋ค์ํ ๊ท์ ์ค์ ์๋ฌด๋ฅผ ์ถฉ์กฑํ๋ ๋ฐ ๋์์ ์ค ์ ์์ต๋๋ค. ํต์ฌ์ ๊ทธ ์ฑ๋ฅ ์ค๋ฒํค๋๊ฐ ๋น ๋ฏํ ๋ง์ง์ผ๋ก ์ด์๋๊ฑฐ๋ ์์์ด ์ ํ๋ ํ๊ฒฝ์ ์๋ ๊ธฐ์
๋ค์ ์ฑํ์ ์ฅ๋ฒฝ์ด ๋์ด์๋ ์ ๋๋ค๋ ๊ฒ์ด๋ฉฐ, ์ด๋ ์ฒ๋ฆฌ ์๋๋ฅผ ๋ณดํธ์ ์ธ ๊ด์ฌ์ฌ๋ก ๋ง๋ญ๋๋ค.
๊ธ๋ก๋ฒ ์ ์์๊ฑฐ๋ ํ๋ซํผ์ ์๊ฐํด ๋ณด์ญ์์ค. ์ฌ์ฉ์ ๊ฒฐ์ ์ธ๋ถ ์ ๋ณด, ๋ฐฐ์ก ์ฃผ์, ๊ฐ์ธ ์ ๋ณด๊ฐ ์ฒ๋ฆฌ๋ฉ๋๋ค. ์ ๋ขฐํ ์ ์๋ ํด๋ผ์ด์ธํธ ์ ๋ ฅ์ผ๋ก๋ถํฐ ์ด๋ฅผ ์์ ํ ๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก 'ํ ์ธํธ๋' ๊ฒ์ผ๋ก ํ์ํ๊ณ , ์์คํ ์ด ์ด๋ฅผ ์ค์ฉํ๋ ค๋ ์๋(์: ์ํธํ๋์ง ์์ ์ํ๋ก ๋ก๊น )๋ฅผ ์ ์ํ๊ฒ ํ๋๊ทธํ ์ ์๋ ๋ฅ๋ ฅ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ด๋ฌํ ๊ฒ์ฌ๊ฐ ๋ฐ์ํ๋ ์๋๋ ํ๋ซํผ์ด ๋ค์ํ ์๊ฐ๋์ ์ฌ์ฉ์ ๋ถํ์ ๊ฑธ์ณ ๊ฑฐ๋๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ๋ฅ๋ ฅ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
๊ฒฐ๋ก
React์ experimental_taintObjectReference๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ํ๊ณ ๋ด์์ ๊ฐ์ฒด ๋ณด์์ ๋ํ ๋ฏธ๋ ์งํฅ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ๋ํ๋
๋๋ค. ๊ฐ๋ฐ์๊ฐ ๋ฐ์ดํฐ์ ์ ๋ขฐ ์์ค์ ๋ช
์์ ์ผ๋ก ๋ ์ด๋ธ๋งํ ์ ์๊ฒ ํจ์ผ๋ก์จ, ๋ฐ์ดํฐ ์ ์ถ์ด๋ XSS์ ๊ฐ์ ์ผ๋ฐ์ ์ธ ์ทจ์ฝ์ ์ ๋ฐฉ์งํ๋ ๊ฐ๋ ฅํ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ค์ฉ์ ์ธ ์คํ ๊ฐ๋ฅ์ฑ๊ณผ ๊ด๋ฒ์ํ ์ฑํ์ ์ฒ๋ฆฌ ์๋์ ๋ถ๊ฐ๋ถํ๊ฒ ์ฐ๊ฒฐ๋์ด ์์ต๋๋ค.
๋ฐํ์ ์ค๋ฒํค๋๋ฅผ ์ต์ํํ๋ ํจ์จ์ ์ธ ๊ตฌํ์ ๋ณด์์ด ์ฑ๋ฅ์ ํฌ์์ํค์ง ์๋๋ก ๋ณด์ฅํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ด ์ฑ์ํจ์ ๋ฐ๋ผ, ๊ฐ๋ฐ ์ํฌํ๋ก์ฐ์ ์ํํ๊ฒ ํตํฉ๋๊ณ ์ค์๊ฐ ๋ณด์ ๋ณด์ฆ์ ์ ๊ณตํ๋ ๋ฅ๋ ฅ์ ํ
์ธํธ๋ ๊ฐ์ฒด ์ฐธ์กฐ๊ฐ ์ผ๋ง๋ ๋นจ๋ฆฌ ์๋ณ, ์ ํ, ํ์ธ๋ ์ ์๋์ง์ ๋ํ ์ง์์ ์ธ ์ต์ ํ์ ๋ฌ๋ ค ์์ ๊ฒ์
๋๋ค. ๋ณต์กํ๊ณ ๋ฐ์ดํฐ ์ง์ฝ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ถํ๋ ์ ์ธ๊ณ ๊ฐ๋ฐ์๋ค์๊ฒ, ๋์ ์ฒ๋ฆฌ ์๋๋ก ๊ตฌ๋๋๋ ๊ฐํ๋ ๊ฐ์ฒด ๋ณด์์ ์ฝ์์ experimental_taintObjectReference๋ฅผ ๋ฉด๋ฐํ ์ฃผ์ํด์ผ ํ ๊ธฐ๋ฅ์ผ๋ก ๋ง๋ญ๋๋ค.
์คํ์ ์ธ ๊ฒ์์ ์์ ์ ์ธ ๊ฒ์ผ๋ก์ ์ฌ์ ์ ์ข
์ข
๊ฐ๋ฐ์ ํผ๋๋ฐฑ๊ณผ ์ฑ๋ฅ ๋ฒค์น๋งํน์ ์ํด ์ถ์ง๋๋ ์๊ฒฉํ ๊ณผ์ ์
๋๋ค. experimental_taintObjectReference์ ๊ฒฝ์ฐ, ๊ฐ๋ ฅํ ๋ณด์๊ณผ ๋์ ์ฒ๋ฆฌ ์๋์ ๊ต์ฐจ์ ์ด ์์ฌํ ์ฌ์ง ์์ด ๊ทธ ์งํ์ ์ต์ ์ ์ ์๊ฒ ๋ ๊ฒ์ด๋ฉฐ, ์ ์ธ๊ณ ๊ฐ๋ฐ์๋ค์ด ๋ ์์ ํ๊ณ ์ฑ๋ฅ์ด ๋ฐ์ด๋ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ถํ ์ ์๋๋ก ํ์ ์ค์ด์ค ๊ฒ์
๋๋ค.