<aside> ๐ก
Magma/Moonlight ๋ฒค์น๋งํฌ ํ์ด์ง
</aside>
Dependencies ์ค์น
apt-get update && apt-get install -y util-linux inotify-tools docker.io git
Magma ๋ ํฌ์งํ ๋ฆฌ ํด๋ก ํ๊ธฐ
git clone --branch v1.2.1 <https://github.com/HexHive/magma.git>
tools/captain
๋ด์ ์คํฌ๋ฆฝํธ๋ฅผ ํตํด build, start, manage fuzz campaign์ ์ฌ์ฉํ ์ ์๋ค.captain/run.sh
์คํฌ๋ฆฝํธ๋ฅผ ํตํด ํผ์ง ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๊ณ ์ฌ๋ฌ ๊ฐ์ ํผ์ง์ ๋ณ๋ ฌ๋ก ์คํํ ์ ์๋ค. ์ค์ ๋ณ๊ฒฝ์ captainrc
ํ์ผ์์ ํ๋ฉด ๋๋ค.captainrc
์คํ
./run.sh
workdir/log
๋๋ ํ ๋ฆฌ์์ ๋น๋, ์คํ ๋ก๊ทธ๋ฅผ ํ์ธํ ์ ์๋ค.workdir/afl/libpng/libpng_read_fuzzer/0/findings
๋๋ ํ ๋ฆฌ์์ ํผ์ ๋ก๊ทธ์ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ ์ ์๋ค.workdir/afl/libpng/libpng_read_fuzzer/0/monitor
๋๋ ํ ๋ฆฌ์ name-timestamp
ํ์ผ์์ Magma instrumentation์ ํ์ธํ ์ ์๋ค. Timestamp๋ campaign์ด ์์๋ ์ดํ์ ์ด๊ฐ ๊ธฐ๋ก๋๋ค. ๊ฐ ๋ชจ๋ํฐ ํ์ผ์ ํ์์คํฌํ์ ๋ฐ๋ฅธ CSV ํค๋์ ๋ฐ์ดํฐ ํ์ ๋ณด์ฌ์ค๋ค.
์๋ฅผ ๋ค์ด, monitor/43200
ํ์ผ์ด ๋ค์๊ณผ ๊ฐ์ด ์์ ๋,
AAH001_R, AAH001_T, AAH007_R, AAH007_T
1245, 342, 45324, 6345
ํผ์ง 12์๊ฐ ์ง๋ ํ์ด๋ฐ์ AAH001 ๋ฒ๊ทธ์ 1245๋ฒ ๋๋ฌ(reached)ํ์๊ณ , 342๋ฒ ์คํ(triggered)๋์์ผ๋ฉฐ, AAH007 ๋ฒ๊ทธ๋ 45324๋ฒ ๋๋ฌ, 6345๋ฒ ์คํ๋์์์ ์๋ฏธํ๋ค.
์คํ ๊ฒฐ๊ณผ ์์ฝ
tools/benchd/exp2json.py workdir bugs.json