ํ™ˆ์œ ํŠœ๋ธŒ๋ธ”๋กœ๊ทธTop 10
๋‚ด ํ”„๋กœํ•„

๋ฐ๋ธŒํ—ˆ๋ธŒ ์•ˆ๋‚ด
์†Œ๊ฐœ์—…๋ฐ์ดํŠธ ์†Œ์‹

๋ฐ๋ธŒํ—ˆ๋ธŒ ์ปค๋ฎค๋‹ˆํ‹ฐ

Smash Your Rust Code with Fuzz Testing ๐Ÿ’ฅ | Find Bugs Before They Find You

Semicolon

2025. 8. 23.

0ํšŒ

#devops
#backend
  • ํผ์ฆˆ ํ…Œ์ŠคํŒ…์€ ์œ ํšจํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฌด์ž‘์œ„ ๋ฐ์ดํ„ฐ๋ฅผ ํ”„๋กœ๊ทธ๋žจ์— ์ž…๋ ฅํ•˜์—ฌ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ์‹๋ณ„ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํ…Œ์ŠคํŠธ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ๐Ÿ›ก๏ธ
  • ํผ์ฆˆ ํ…Œ์ŠคํŒ…์˜ ์ผ๋ฐ˜์ ์ธ ํ๋ฆ„์€ ๋ฌด์ž‘์œ„ ์ž…๋ ฅ ์ƒ์„ฑ, ํ”„๋กœ๊ทธ๋žจ์— ์ž…๋ ฅ, ํ”„๋กœ๊ทธ๋žจ ์ถฉ๋Œ ๋˜๋Š” ์˜ค์ž‘๋™ ์—ฌ๋ถ€ ํ™•์ธ, ๋ฒ„๊ทธ ๊ธฐ๋ก ๋ฐ ๊ณต์œ , ๊ฒฐ๊ณผ ๋ถ„์„ ๋ฐ ๋ฒ„๊ทธ ์ˆ˜์ •์˜ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์นฉ๋‹ˆ๋‹ค. ๐Ÿ”„
  • cargo-fuzz๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Rust ์ฝ”๋“œ์— ๋Œ€ํ•œ ํผ์ฆˆ ํ…Œ์ŠคํŒ…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ € cargo-fuzz๋ฅผ ์„ค์น˜ํ•˜๊ณ  cargo fuzz init ๋ช…๋ น์–ด๋กœ ํผ์ฆˆ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ› ๏ธ
  • ํผ์ฆˆ ํ…Œ์ŠคํŠธ ๋Œ€์ƒ ํŒŒ์ผ(์˜ˆ: target1.rs)์—์„œ ํ…Œ์ŠคํŠธํ•  ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ณ , cargo-fuzz๊ฐ€ ์ž๋™์œผ๋กœ ์ž…๋ ฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๐ŸŽฏ
  • cargo fuzz run <target> ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํผ์ฆˆ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ณ , ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ํ™•์ธํ•˜์—ฌ ๋ฒ„๊ทธ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ๐Ÿ›
  • ํผ์ฆˆ ํ…Œ์ŠคํŒ…์€ ๋‹ค์–‘ํ•œ ์ž…๋ ฅ์„ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋žจ์˜ ์•ˆ์ •์„ฑ์„ ๋†’์ด๊ณ , ํŠนํžˆ ์ค‘์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(์˜ˆ: ๊ฒฐ์ œ ๊ฒŒ์ดํŠธ์›จ์ด)์—์„œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๐Ÿฆ
  • ์˜ˆ์ œ์—์„œ๋Š” ์ž…๋ ฅ ํŒŒ์„œ์— ๋Œ€ํ•œ ํผ์ฆˆ ํ…Œ์ŠคํŒ…์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋นˆ ์ž…๋ ฅ ๋˜๋Š” ํŠน์ • ๋ฌธ์ž(์˜ˆ: '!')๊ฐ€ ํฌํ•จ๋œ ์ž…๋ ฅ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋ฅผ ์ฐพ์•„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ”
  • ํผ์ฆˆ ํ…Œ์ŠคํŒ…์€ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ž…๋ ฅ์œผ๋กœ ์ธํ•œ ํ”„๋กœ๊ทธ๋žจ์˜ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๊ณ , ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ์‚ฌ์ „์— ๋ฐœ๊ฒฌํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ๐Ÿ›ก๏ธ

Recommanded Videos