Короткий ответ
Аудит manifest, зависимостей, permissions, API, store listing, build pipeline и тестов. Разбираем практический порядок работ, риски, стоимость и то, как принять результат без новых проблем.
Ниже — конкретные проверки, команды, таблицы и контроль результата. Выполняйте изменения только после резервной копии, если действие затрагивает рабочую систему.
Аудит чужого расширения
| Проверка | Что фиксируем |
|---|---|
| manifest | permissions/host_permissions |
| Сборка | npm scripts/bundler/version |
| Dependencies | lockfile и уязвимости |
| Remote code | недопустимые загрузчики/eval |
| Content scripts | сайты и DOM-зависимости |
| Background | service worker lifecycle |
| Backend | API, auth, environments |
| Store listing | privacy/permissions description |
Инвентаризация проекта
node --version
npm --version
npm ci
npm audit --omit=dev
# Найти потенциально опасные конструкции
grep -R "eval\|new Function\|http://" -n src . --exclude-dir=node_modulesСначала соберите текущую версию из исходников
Если package из Web Store нельзя воспроизвести из repository, любая доработка рискованна. До изменения добейтесь повторяемой сборки и зафиксируйте hash/версию исходного состояния.
Перед первой правкой
| Шаг | Результат |
|---|---|
| Backup/repository | |
| ранён | |
| npm ci/build | сборка воспроизводится |
| Load unpacked | текущая версия работает |
| Тестовые сайты | сценарии описаны |
| Permissions | понятны |
| Публикация | есть доступ к аккаунту разработчика |
Как проверить результат
После изменений повторите исходный сценарий, зафиксируйте результат и убедитесь, что соседние функции работают так же, как до правки. Если проблема проявляется не всегда, проведите несколько повторов в одинаковых условиях и сохраните диагностические данные.