ねぇうしくんうしくん

今週のまとめ (一週間で自分が見た技術系サイトのログ)が今のところメインです。プログラミング言語、人工知能、セキュリティ 等

Docker 内で radare2 を使うとき ptrace-traceme: Operation not permitted が出る問題

TL;DR: You must pass --security-opt seccomp:unconfined when running a container.

クールなリバースエンジニアリングフレームワーク radare は、公式で docker イメージを提供しているので手軽に試すことが出来る。

しかし、デバッグモードで実行しようとすると以下のようなエラーが発生することがある。

r2@39573811ef24:~$ ls
hello  hello.c
r2@39573811ef24:~$ r2 -d hello
ptrace-traceme: Operation not permitted
Cannot open 'dbg://./hello' for writing.

結論から言うと Docker のセキュリティ機構 *1 が影響しているので docker run 時に無効にする必要がある。

docker run --security-opt seccomp:unconfined --rm -it radare/radare2

参考: https://github.com/moby/moby/issues/20064