تلاش برای اجرای Puppeteer ، یک کتابخانه گره برای کنترل یک Chromium بدون سر (به منظور انجام کارهایی مانند ایجاد PDF از وب سایت) ، در داکر یک چیز تعجب آور و بی پروا است.

مشکل این است که از درک من ، برای اجرای ریشه ، به گزینه - no sandbox ، که به درستی به عنوان یک راه حل ناامن و بد تعریف شده است ، نیاز دارید. مشکل این است که به نظر می رسد گزینه های دیگر به همان اندازه بد نیستند:

  • اجرای ظرف با CAP_ADD = SYS_ADMIN ، که فکر می کنم لازم نیست بیشتر نظر دهم ، یا

  • در حال اجرا به عنوان غیر -root ، اما برای اجرای Puppeteer در یک جعبه ماسه ای غیر ریشه ، باید گزینه هسته unprivileged_userns_clone را فعال کنید ، که یک بار من تحقیق را شروع کردم و دریافتم که گفته شده است:

"باز کنید [s] تا آسیب پذیری های شدید در هسته لینوکس "(پیوند)

و همچنین

" نام های نام کاربری نامعلوم فوق العاده خطرناک است "(پیوند)

تعجب می کنم که انجام کاری با سطح بسیار ساده و نسبتاً پایین به نظر می رسد که اجرای یک مرورگر وب به چنین مجوزهای گسترده ای نیاز دارد که ظاهراً بردارهای وسیعی از بردارهای حمله را باز می کند. نوع اخطارهایی که می خوانم همان چیزی است که انتظار دارم بخواهم بخوانم اگر بخواهم تلفن را ریشه کن کنم یا روال امنیتی سیستم های عامل را به خطر بیاندازم.

آیا من در اینجا وضعیت را اشتباه فهمیده ام یا اجرای Chromium در یک کانتینر Docker به اضافه است. برای باز کردن سرور من به نصف اینترنت؟