Бяспека¶
Гэты праект — масток для аўтаматызацыі браўзера. Разглядайце яго як інфраструктуру для выканання даверанага кода.
Мэжа даверу¶
Знешні сервер падтрымлівае stdio і Streamable HTTP. Ён запускае upstream Playwright MCP у якасці даччынага працэсу і перадае выклікі інструментаў. Аўтаматызацыя браўзера, вывад файлаў, сеткавы доступ і паводзіны пры небяспечнай ацэнцы рэгулююцца upstream Playwright MCP.
Не падключайце сервер stdio праз неаўтэнтыфікаваны сеткавы адаптар. Любы кліент, які можа выклікаць утыліты, кіраваць браўзерам, чытаць старонкавыя даныя, даступныя для назірання ў браўзеры, і запытваць артыфакты.
Streamable HTTP па змаўчанні звязваецца з 127.0.0.1 праз HTTP для лакальных кліентаў. Калі вы падключаеце яго да 0.0.0.0 або публікуеце за межамі loopback, патрабуйце CLOAK_PLAYWRIGHT_MCP_HTTP_AUTH_TOKEN або эквівалентную аўтэнтыфікацыю зваротнага праксі, выкарыстоўвайце прамы HTTPS з CLOAK_PLAYWRIGHT_MCP_HTTP_PROTOCOL=https і TLS-файламі або завяршайце TLS на даверным краі сеткі і абмяжоўвайце доступ да даверных кліентаў.
Небяспечныя інструменты¶
У рэпазіторый Playwright MCP уваходзяць такія інструменты, як browser_evaluate і browser_run_code_unsafe. Яны могуць выконваць JavaScript у кантэксце браўзера або сервера Playwright. Злучайце гэты сервер з кліентамі MCP, якім вы давяраеце.
Канфігурацыя¶
Выкарыстоўвайце апстрым-опцыі для кантролю доступу і ахоўных механізмаў:
PLAYWRIGHT_MCP_ALLOWED_ORIGINSPLAYWRIGHT_MCP_BLOCKED_ORIGINSPLAYWRIGHT_MCP_ALLOW_UNRESTRICTED_FILE_ACCESSPLAYWRIGHT_MCP_SECRETS_FILE
Гэта дапаможныя агароджы, а не замена ізаляцыі працэсаў, кантэйнераў, сетак і файлавых сістэм.
Выкарыстоўвайце спісы дазволаў для даверлівых мэт, калі гэта магчыма. Разглядайце неабмежаваны доступ да файлаў і файлы са скрытымі данымі як адчувальныя магчымасці і не ўключайце іх у агульныя профілі кліентаў MCP.
Рэжым пясочніцы¶
Па змаўчанні Docker-абраз выкарыстоўвае CLOAK_PLAYWRIGHT_MCP_NO_SANDBOX=true, таму што ізаляцыя ў браўзеры часта недаступная ў кантэйрызаваных асяроддзях CI і MCP. Гэта кампраміс з пункту гледжання сумяшчальнасці. Калі ваш хост і асяроддзе запуску кантэйнераў падтрымліваюць ізаляцыю Chromium, усталюйце:
Пры запуску без песочніцы Chromium выкарыстоўвайце Docker або іншую мяжу ізаляцыі працэсаў і пазбягайце мантавання шырокіх каталогаў хоста.
Артэфакты і таямніцы¶
Скрыншоты, здымкі экрана, спампоўкі, сеткавыя логі, логі кансолі і трэйсы могуць утрымліваць уліковыя даныя або змесціва прыватных старонак. Маўнтайце толькі неабходны каталог артыфактаў, ачышчайце яго пасля выкарыстання і пазбягайце публічнага абмену пакетамі артыфактаў.
Калі ваш кліент MCP уводзіць убраныя даныя ў сесіі браўзера, аддавайце перавагу кароткатэрміновым убраным даным, абмежаваным мэтавым сайтам. Не захоўвайце доўгатэрміновыя токены на скрыншотах, у сеткавых адказах або ў пастаянных профілях браўзера.
Докер¶
Docker рэкамендуецца, калі вам патрэбна ізаляцыя і рэпрадукцыйныя залежнасці браўзера. Мацуйце толькі неабходны каталог артыфактаў і выкарыстоўвайце --init, каб дзіцячыя працэсы браўзера правільна ачышчаліся.
Пры публікацыі Streamable HTTP з Docker аддавайце перавагу -p 127.0.0.1:3000:3000. Публікацыя непасрэдна на публічны інтэрфейс дае любому даступнаму кліенцкаму браўзеру магчымасць аўтаматызацыі, калі вы не дадасце аўтэнтыфікацыю і сеткавыя кантролі.
Добраў Docker-абраза з дапамогай Trivy ў CI і перад публікацыяй рэлізу. Сканер правярае сур'ёзныя і крытычныя ўразлівасці АС/бібліятэк і загружае вынікі SARIF у GitHub для сканавання кода, калі гэта ўключана.
Праверкі ланцужка паставак¶
Рэпазіторый выкарыстоўвае бясплатныя ўласныя праверкі GitHub і праверкі з адкрытым зыходным кодам:
- CodeQL для статычнага аналізу JavaScript і TypeScript.
- Dependency Review для змен у залежнасцях у pull-запытах.
npm audit --omit=dev --audit-level=highдля залежнасцей npm у часе выканання.- OpenSSF Scorecard для сігналаў аб ланцужку паставак рэпазіторыяў.
- zizmor для лінтынгу бяспекі GitHub Actions.
- Trivy для сканавання ўразлівасцей Docker-абразоў.
Гэтыя праверкі не замяняюць ручнога агляду паводзін аўтаматызацыі браўзера або выпушчаных змен.
Справаздачнасць¶
Паведамляйце пра ўразлівасці з дапамогай SECURITY.md.