Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
FlatScan — Статический движок триажа вредоносного ПО на Go: вычисляет хеши файлов, извлекает строки и IOC, разбирает PE/ELF/Mach-O/APK, оценивает возможности и формирует отчёты в форматах JSON, YARA, Sigma, STIX и PDF. | Kitploit
Инструменты/GitHubGitHub/masriyan/flatscan
Оборонительные ИнструментыУправление индикаторами компрометации (IOC)Статический анализОбратная инженерияАнализ вредоносных программЦифровая криминалистикаАнализ Бинарных ФайловРазведка угрозРеагирование на Инциденты
GitHubmasriyan/flatscan

FlatScan

Статический движок триажа вредоносного ПО на Go: вычисляет хеши файлов, извлекает строки и IOC, разбирает PE/ELF/Mach-O/APK, оценивает возможности и формирует отчёты в форматах JSON, YARA, Sigma, STIX и PDF.

151332 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
РепозиторийСайт
Поделиться

FlatScan

Баннер FlatScan

Движок статического анализа вредоносного ПО — без внешних зависимостей, без cgo, статическая компоновка

Go Version License Tests Rules Score

Репозиторий: https://github.com/Masriyan/FlatScan


FlatScan — это готовый к промышленной эксплуатации движок статического анализа и отчётности по вредоносному ПО, написанный на чистом Go. Он предназначен для аналитиков, которым нужны быстрая сортировка, извлечение IOC, обнаружение подозрительных возможностей, отчётность для руководства и передача правил охоты — и всё это без запуска образца.

FlatScan читает файл, вычисляет его хеш, определяет формат, извлекает строки, декодирует подозрительные закодированные данные, извлекает и сортирует IOC, анализирует метаданные исполняемых файлов и контейнеров, оценивает находки, обогащает их в профиль вредоносного ПО и формирует выводы в форматах text, JSON, PDF, HTML, IOC, YARA, Sigma, STIX 2.1, базы данных кейсов и пакетов отчётов.


Содержание

  • Зачем существует FlatScan
  • Обзор архитектуры
  • Конвейер анализа
  • Возможности
  • Быстрый старт
  • Типы вывода
  • Веб-интерфейс
  • Пример отчёта
  • Режимы сканирования
  • Логика оценки
  • Система плагинов
  • Архитектура производительности
  • Карта модулей
  • Примечание по безопасности
  • Ограничения
  • Документация
  • URL проекта

Зачем существует FlatScan

У сортировки вредоносного ПО часто бывает две аудитории:

АудиторияЧто нужно
Специалисты по безопасностиТехнические доказательства: хеши, строки, импорты, IOC, энтропия, секции, декодированные данные, TTP, правила охоты
CISO / руководствоКонтекст риска: что это вероятно такое, почему это важно, влияние на бизнес, рекомендуемые действия

FlatScan обслуживает обе. Он выполняет статический анализ ради безопасности и скорости, а затем преобразует результат как в машиночитаемый вывод, так и в отчётность, готовую для руководства.

graph LR
    A[Malware Sample] --> B[FlatScan Engine]
    B --> C[Analyst Reports]
    B --> D[Executive Reports]
    B --> E[Machine-Readable]
    B --> F[Hunting Rules]
    
    C -->|HTML, Full Text| G[SOC Team]
    D -->|PDF, Executive MD| H[CISO / Board]
    E -->|JSON, STIX 2.1| I[SIEM / SOAR]
    F -->|YARA, Sigma| J[EDR / Hunt Team]

Обзор архитектуры

FlatScan построен как многоэтапный конвейер анализа с параллельным выполнением, системой плагинов и без внешних зависимостей — go.mod ничего не требует, а чистый Go-движок дизассемблирования встроен в дерево исходников как internal/x86asm (немодифицированная копия golang.org/x/arch/x86/x86asm, BSD-3-Clause). Без cgo, без зависимостей времени выполнения или системных зависимостей, для сборки сеть не требуется.

graph TB
    subgraph "Input Layer"
        CLI[CLI Parser] --> CFG[Config]
        INT[Interactive Mode] --> CFG
        SHL[Shell Mode] --> CFG
        WCH[Watch Mode] --> CFG
    end
    
    subgraph "I/O Layer"
        CFG --> MMP{File > 100MB?}
        MMP -->|Yes| MMAP[Memory-Mapped I/O]
        MMP -->|No| BUF[Buffered Read]
        MMAP --> DATA[Raw Bytes + Hashes]
        BUF --> DATA
    end
    
    subgraph "Analysis Pipeline"
        DATA --> DET[File Type Detection]
        DET --> ENT[Entropy Analysis]
        ENT --> STR[String Extraction]
        STR --> IOC[IOC Extraction]
        IOC --> DEC[Decoder Pass]
        DEC --> CRP[Corpus Build]
        CRP --> PAT[Pattern Matching]
        
        PAT --> PG["Parallel Group"]
        
        subgraph PG["⚡ Parallel Stages"]
            FMT[Format Analysis]
            CRV[Safe Carving]
            CRY[Crypto/Config]
            SIM[Similarity Hash]
        end
        
        PG --> SEQ[Sequential Stages]
        SEQ --> PLG[Plugin Engine]
        PLG --> SCR[Risk Scoring]
    end
    
    subgraph "Output Layer"
        SCR --> TXT[Text Report]
        SCR --> JSN[JSON]
        SCR --> PDF[PDF Report]
        SCR --> HTM[HTML Report]
        SCR --> YAR[YARA Rule]
        SCR --> SIG[Sigma Rule]
        SCR --> STX[STIX 2.1]
        SCR --> RPK[Report Pack]
    end
    
    style PG fill:#1a1a2e,stroke:#e94560,stroke-width:2px
    style SCR fill:#0f3460,stroke:#e94560,stroke-width:2px

Ключевые принципы проектирования

ПринципРеализация
Ноль внешних зависимостейgo.mod ничего не требует, и go.sum отсутствует. Стандартная библиотека Go плюс один вендоренный, неизменённый пакет — internal/x86asm, копия golang.org/x/arch/x86/x86asm (BSD-3-Clause, движок дизассемблирования), хранимая в дереве проекта, чтобы сборка не требовала загрузки и сети. Без cgo, без нативных библиотек, без зависимостей времени выполнения
Только статический анализНикогда не выполняет образец — читает байты и метаданные
ПотокобезопасностьparallelRun() с находками, защищёнными мьютексом, проверено детектором гонок. Этапы анализа индивидуально перехватывают паники, поэтому один повреждённый образец не может прервать пакетную обработку
КроссплатформенностьСборка для Linux, macOS, Windows; mmap в Linux с прозрачным запасным вариантом
РасширяемостьИнтерфейс плагинов + JSON-манифесты для пользовательских детекций без перекомпиляции

Статус проверки

ПроверкаРезультат
go build / go vet / gofmt -lЧисто
go test ./...189 тестов (344 случая, включая подтесты), все проходят
go test -race ./...Чисто
go test -cover ./...50.6% операторов
golangci-lint run0 проблем (errcheck, govet, staticcheck, gosec, errorlint, ineffassign, unused, bodyclose, nilerr, misspell, unconvert, wastedassign)
govulncheck ./...Уязвимостей не найдено

Тестовая среда. Проверено на Fedora Linux 44 (x86_64, ядро 7.1.7) с Go 1.26.5. Минимальная версия в go.mod — Go 1.25. CI дополнительно запускает тот же набор тестов на ubuntu-latest. Linux — единственная платформа, на которой измерены эти результаты: macOS и Windows являются поддерживаемыми целями, и код кросс-компилируется для них, но приведённые выше цифры там независимо не воспроизводились, а mmap_linux.go по своей конструкции только для Linux (на других платформах используется запасной вариант с буферизованным чтением).


Конвейер анализа

Движок обрабатывает файлы через 18 этапов с параллельным выполнением независимых операций:

Скачать инструмент