Сьогодні ми запускаємо AfterPack Site Security Scanner — безкоштовний інструмент, який сканує ваш вебсайт за допомогою реального браузера та показує, що саме ви відкриваєте для всього світу. Спробуйте його в браузері або запустіть npx afterpack audit <url> з терміналу.
Що ваш вебсайт показує всім
Ось те, про що більшість розробників не замислюються: кожен JavaScript-файл, який ви поставляєте, є публічним. Кожен вбудований скрипт, кожен сторонній тег, кожна source map, яку ваш інструмент збірки тихо генерує. Все це там, готове до прочитання.
І це не просто читабельне — воно доступне для пошуку. Автоматизовані сканери постійно обходять інтернет у пошуках API-ключів, залишених у клієнтських бандлах, source map, які розкривають усе дерево вашого проєкту, незахищеної бізнес-логіки, яку конкурент може вивчити за одну годину. AI-моделі тепер можуть узагальнювати та пояснювати мініфікований код за лічені секунди, перетворюючи «безпеку через неясність» на повну відсутність безпеки.
Ми бачили AWS-ключі в продакшн-бандлах. JWT-токени, жорстко закодовані в потоках автентифікації. Рядки підключення до баз даних, вбудовані в клієнтські конфігураційні файли. Повні source map, що розкривають оригінальні назви файлів, структури каталогів та коментарі, які ніколи не мали покидати сервер збірки.
Можливо, ви не знаєте, що це відбувається на вашому сайті. Ми створили інструмент, щоб ви могли це з'ясувати.
Що перевіряє сканер
Сканер аналізує ваш сайт за сімома напрямками, кожен з яких виявляє конкретні знахідки з оцінкою серйозності. Ось що шукає кожен модуль — з прикладами реальних знахідок.
Виявлення секретів
Сканує кожен JavaScript-файл та source map на предмет відкритих облікових даних — AWS access keys, секрети Stripe, токени GitHub, URL-адреси баз даних, JWT та 18 інших типів шаблонів. Знахідки автоматично редагуються, тому ділитися результатами безпечно.
Рівень захисту
Класифікує кожен скрипт як обфускований, мініфікований, незахищений або з відкритим вихідним кодом. Якщо ваша збірка поставляє читабельний код з оригінальними назвами змінних, ви побачите це тут.
Читабельність коду
Вимірює, наскільки легко AI може зрозуміти ваш код, оцінюючи щільність ключових слів, відкритість рядків, читабельність ідентифікаторів, структурну ясність та сигнали форматування. Високий показник читабельності означає, що ваша логіка — як відкрита книга.
Небезпечні патерни
Виявляє використання eval(), конструкторів Function(), document.write(), пряме присвоєння innerHTML та інші патерни, що розширюють поверхню атаки. Також виявляє публічно доступні source map та відкриті конфігураційні файли.
Визначення технологічного стеку
Ідентифікує фреймворки та бібліотеки — React, Angular, Vue, Next.js, jQuery та інші — включаючи номери версій, де це можливо. Знати, що ви використовуєте — це перший крок; знати, що всі інші можуть бачити, що ви використовуєте — це другий.
Аналіз сторонніх ресурсів
Відображає кожен зовнішній домен, з якого ваш сайт завантажує ресурси — скрипти, шрифти, стилі, пікселі відстеження, API-ендпоінти. Кожен з них — це залежність, яку ви не писали і не можете контролювати.
Склад бандлу
Виявляє вбудовані бібліотеки та перевіряє їх на відомі CVE. Якщо ви поставляєте версію jQuery або lodash з опублікованою вразливістю, сканер це позначить.
Як це працює
Це не статичний аналізатор, який просто завантажує ваш HTML і на цьому зупиняється. Сканер використовує Cloudflare Browser Rendering для завантаження вашого сайту в реальному браузері, виконання JavaScript та захоплення кожного ресурсу, що завантажується — включаючи динамічно вбудовані скрипти та бандли з відкладеним завантаженням.
Результати передаються в реальному часі через SSE. Ви побачите знахідки, як тільки кожен модуль завершить аналіз, з поточною оцінкою безпеки, яка прогресивно оновлюється від 0 до 100. Не потрібно чекати генерації повного звіту — ви спостерігаєте за скануванням наживо.
Це безкоштовно. Без реєстрації.
Введіть URL. Отримайте результати. Ось і все.
Без облікового запису, без електронної пошти, без API-ключа. Сканер повністю безкоштовний. Ми створили його, бо вважаємо, що кожен розробник повинен мати можливість побачити, що розкриває його сайт — без зайвих перешкод.
Або використовуйте CLI
Віддаєте перевагу терміналу? CLI afterpack включає той самий сканер — одна команда, без потреби у браузері. Вам знадобиться встановлений Node.js (npx йде в комплекті):
| npx afterpack audit https://example.com |
| 1 | AfterPack v0.3.0 — Security Analyzer |
| 2 | |
| 3 | Scanning https://example.com ... |
| 4 | |
| 5 | ✓ Fetching page |
| 6 | ✓ Rendering JavaScript |
| 7 | ✓ Analyzing resources |
| 8 | |
| 9 | ⚠ CRITICAL: AWS Access Key Detected |
| 10 | ⚠ HIGH: Source Map Publicly Accessible |
| 11 | |
| 12 | ┌─────────────────────────────────────────────┐ |
| 13 | │ Score: 38/100 │ |
| 14 | │ │ |
| 15 | │ Resources 12 found (4 unprotected, 2 source exposed) │ |
| 16 | │ Findings 7 issues (1 critical, 2 high, 4 medium) │ |
| 17 | │ Tech Stack React, Next.js, Webpack │ |
| 18 | │ Readability 74/100 │ |
| 19 | └─────────────────────────────────────────────┘ |
| 20 | |
| 21 | ⚠ 1 critical finding: |
| 22 | AWS Access Key Detected (AKIA...7X9Q in app/page-a3f8.js) |
| 23 | |
| 24 | Full report: https://afterpack.dev/security-scanner/abc123 |
Додайте його до CI або запускайте перед кожним деплоєм — виявляйте витоки секретів до того, як вони потраплять у продакшн.
Скануйте свій сайт
Серйозно — спробуйте в браузері або запустіть npx afterpack audit <your-url> у терміналі. Перевірте вкладку секретів. Подивіться на рівні захисту. Побачте, скільки сторонніх доменів завантажують скрипти на ваших сторінках.
Якщо все виглядає чисто — чудово. Ви попереду більшості.
Якщо вам не подобається те, що ви бачите — саме для цього ми створили AfterPack. Сканер показує проблему. AfterPack — це рішення для частини з вихідним кодом: він переписує ваш бандл так, що читати його, клонувати чи згодовувати моделі стає значно дорожче, ніж сьогодні, і приховує технологічний стек та бізнес-логіку, які щойно показав сканер. Найлегший пресет додає лише невеликий оверхед бандлу; виміряні цифри — на сторінці продуктивності.
Сканер вже працює на afterpack.dev/security-scanner. Або запустіть npx afterpack audit <url> з будь-якого терміналу — він є на npm.
Якщо ви хочете захистити те, що знаходить сканер, AfterPack уже працює: почніть з короткого старту.
— Nikita
