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

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

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

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

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

Категории

Все категории
Loading categories
fzy — язык системного программирования, отдающий приоритет проверяемой корректности, детерминизму и производительности | Kitploit
Инструменты/GitHubGitHub/saint0x/fzy
Статический анализДинамический анализ (песочница)Анализ КодаОбратная инженерияОтладчикиВеб-безопасностьФаззингКриптографияАнализ Бинарных ФайловБезопасность Цепочки ПоставокОбучение и Образование
1661 месяц назадЕщё не проверено
GitHub
saint0x/fzy

fzy

язык системного программирования, отдающий приоритет проверяемой корректности, детерминизму и производительности

Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

fzy (fozzylang)

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

fzy поставляет один производственный CLI, fz, как для рабочих процессов компилятора, так и для детерминированной валидации. Корректность, детерминизм, воспроизведение, артефакты инцидентов и производственные доказательства являются частью обычного рабочего процесса, а не второстепенной мыслью. Для быстрого визуального обзора языка откройте прилагаемый FZL showcase в браузере с помощью open fzl-showcase.html. Краткое обоснование, почему вы можете выбрать его, см. в WHYFZY.md.

Политика архитектуры репозитория типизирована внутри и JSON только на реальных границах.

Начните здесь

  • Установка: INSTALL.md
  • Полное руководство: USAGE.md
  • Почему fzy: WHYFZY.md
  • Синтаксис и примеры команд: CODE.md
  • Производственный рабочий процесс: docs/production-workflow-v1.md
  • Программирование и валидация GPU: docs/gpu-v1.md
  • Модель безопасности и доверия: docs/system-safety-trust-model-v1.md
  • Небезопасное авторство: docs/unsafe-contract-authoring-v1.md
  • Уровни стабильности: docs/language-stability-v1.md
  • Наследование политик рабочей области: docs/workspace-policy-v1.md
  • Операционные инсайты: docs/operational-insights-v1.md
  • fzyllm: saint0x/fzyllm
  • Установка

    Рекомендуемая установка:

    root@kitploit:~
    curl -fsSL https://raw.githubusercontent.com/saint0x/fzy/main/install.sh | sh
    

    Это устанавливает fz в ~/.local/bin, обновляет PATH при необходимости и проверяет установку с помощью fz version и fz env.

    Запасной вариант из исходников:

    root@kitploit:~
    curl -fsSL https://raw.githubusercontent.com/saint0x/fzy/main/install.sh | sh -s -- --from-source
    

    Быстрый взгляд

    Хотите самый быстрый обзор? Откройте fzl-showcase.html с помощью open fzl-showcase.html, просмотрите WHYFZY.md для аргументации продукта, затем используйте пример ниже как компактный исполняемый набросок.

    root@kitploit:~
    use core.log;
    use core.path;
    use core.process;
    use core.time;
    
    enum Mode {
        Fast,
        Safe,
    }
    
    trait Scorer {
        fn score(endpoint: Url) -> i32;
    }
    
    struct HttpScorer {}
    
    impl Scorer for HttpScorer {
        fn score(endpoint: Url) -> i32 {
            discard endpoint;
            return 7;
        }
    }
    
    struct Config<TEndpoint> {
        retries: i32,
        endpoint: TEndpoint,
        mode: Mode,
    }
    
    fn weight(mode: Mode) -> i32 {
        match mode {
            Mode::Fast => return 3,
            Mode::Safe => return 1,
            _ => return 1,
        }
    }
    
    async fn boost(v: i32) -> i32 {
        checkpoint()
        return v + 1
    }
    
    fn normalize<T: Scorer>(cfg: Config<Url>) -> i32 {
        return weight(cfg.mode) + T.score(cfg.endpoint)
    }
    
    async fn run_once(cfg: Config<Url>) -> i32 {
        let base = normalize<HttpScorer>(cfg)
        return await boost(base)
    }
    
    fn main() -> i32 {
        let cfg = Config { retries: 4, endpoint: url.parse("https://example.test"), mode: Mode::Fast }
        let now = time.now()
        let out_path = path.join("tmp", "score.log")
        let mode = process.argv_or(1, "showcase")
        let score = normalize<HttpScorer>(cfg)
        log.info("snippet.run", out_path)
        discard mode
        discard run_once
        if score + now > 0 then return score
        return score
    }
    

    Для более широкого охвата языка используйте CODE.md, examples/ и удобный для браузера FZL showcase.

    Пакеты фреймворков следуют обычным правилам для пакетов: объявите их в fozzy.toml в разделе [deps], затем импортируйте их в исходном коде с помощью use fzbounds;, use fzweb; и аналогичных имен пакетов. Прямые проверки исходного кода, такие как fz check src/services/mod.fzy --json, теперь выполняются в контексте владеющего пакета, поэтому импорт зависимостей и модули-соседи ведут себя так же, как и в полных проверках проекта.

    Что содержит fzy

    • fz: CLI компилятора для сборки, запуска, тестирования, проверки, документации, IR, RPC, заголовков, проверок ABI и многого другого
    • встроенное форматирование и генерация документации: fz fmt, fz doc gen
    • конвейер фронтенда и IR: crates/parser, crates/ast, crates/hir, crates/fir
    • верификатор и обеспечение безопасности: crates/verifier
    • детерминированные примитивы времени выполнения: crates/runtime
    • драйвер и оркестрация артефактов: crates/driver
    • исполняемые сценарии Fozzy: tests/*.fozzy.json

    Текущее состояние

    Реализовано и подтверждено на сегодня:

    • область применения универсального системного языка, а не нишевого одноцелевого инструмента
    • безопасен по умолчанию, с явными небезопасными островками, генерируемым компилятором перечнем и документацией небезопасных мест, а также дополнительным ручным управлением памятью через alloc(...) / free(...)
    • реальная семантика defer времени выполнения как в обычном коде, так и в островках unsafe { ... }, поэтому детерминированная очистка обеспечивается принудительно, а не просто документируется
    • правила владения, заимствования, возможностей, FFI и проверяемые верификатором возможности понижения до нативного кода
    • явное ручное управление памятью поддерживается в рамках этой модели, с учетом владения потоками alloc(...) / free(...) и проверками жизненного цикла, видимыми верификатору
    • детерминированная трассировка, воспроизведение и валидация планировщика как обычные производственные шлюзы
    • доверительные пути с поддержкой хоста для поведения файловой системы, процессов и HTTP
    • детерминированные режимы планировщика: fifo, random, coverage_guided
    • артефакты решений для асинхронного, потокового и RPC-выполнения
    • события RPC-кадров: rpc_send, rpc_recv, rpc_deadline, rpc_cancel
    • метаданные исследования и сжатия для рабочих процессов воспроизведения/минимизации
    • генерация сценариев на родном языке из разобранных блоков test
    • рекурсивная загрузка многофайловых модулей из объявлений mod
    • генерация заголовков C из экспортированных сигнатур pubext c fn
    • генерация схемы RPC, клиента и заглушек сервера через fz rpc gen
    • современная поверхность языка/среды выполнения: ADT, сопоставление с образцом, трейты, обобщения, типизированное доменное моделирование, процессы, терминал, логирование, файловая система/пути, граничный JSON и потоковый исходящий HTTP
    • производственная поверхность криптографии/безопасности через core.crypto и core.security, включая безопасный случайный, хеширование, HMAC, сравнение за постоянное время и URL-безопасные кодировки
    • производственные веб-модули фреймворка fzweb для маршрутизации приложений, куки, сессий, многокомпонентных загрузок, персистентности, SSE, веб-сокетов и экспорта OpenAPI
    • fz run выполняет нативный вывод напрямую с живой потоковой передачей текста или захватом JSON
    • нативные бэкенды LLVM и Cranelift с паритетной валидацией
    • шлюзы прямого доступа к памяти:
      • python3 scripts/direct_memory_architecture_gate.py
      • python3 scripts/direct_memory_perf_gate.py
    • производственная поверхность GPU через core.gpu, с живым выполнением Metal на Apple плюс общие контракты адаптеров spirv/nvptx

    Производственные утверждения

    fzy настроен на поддержку следующих производственных утверждений сегодня:

    • поставляемая безопасная поверхность языка безопасна по памяти по умолчанию в рамках задокументированной области правил верификатора/компилятора, с явными проверенными небезопасными границами и дополнительным ручным управлением памятью с отслеживанием владения
    • внутренняя семантика компилятора/среды выполнения/инструментария остается типизированным источником истины, при этом JSON зарезервирован для внешних границ, сгенерированных артефактов и машинного вывода, ориентированного на оператора
    • alloc(...) / free(...) остаются в безопасном коде, когда компилятор все еще может проверить владение, происхождение и выполнение очистки
    • проверяемая корректность через верификатор, диагностику, детерминированное тестирование, воспроизведение и артефакты CI
    • детерминированное выполнение через записанные трассы, воспроизведение и управление планировщиком
    • покрытие универсального системного обеспечения: асинхронные задачи, RPC, ADT, трейты/обобщения, управление процессами, терминальный ввод-вывод, логирование, файловая система/пути, типизированное внутреннее состояние, граничный JSON и потоковый HTTP
    • покрытие производственных веб/сервисов через fzweb плюс примитивы безопасности, которые поддерживают потоки сессий/куки/аутентификации в рамках поддерживаемой поверхности среды выполнения

    См. также:

    • docs/system-safety-trust-model-v1.md
    • docs/production-memory-model-v1.md
    • docs/production-workflow-v1.md

    Сборка и тестирование

    root@kitploit:~
    cargo check --workspace
    cargo test --workspace
    

    Основной CLI

    root@kitploit:~
    # Scaffold a project in the current directory or a target path
    fz init [path] [--name package] [--template minimal|rust|ts] [--with run,fuzz,explore,memory,host|all] [--force]
    
    # Build source/project
    fz build [path] [--release] [--lib] [--threads N] [--backend llvm|cranelift] [--pgo-generate|--pgo-use file] [-l lib] [-L path] [-framework name] [--json]
    
    # Run source/project or .fozzy scenario
    fz run [path] [--det] [--strict-verify] [--seed N] [--record path] [--host-backends] [--backend llvm|cranelift] [--max-seconds N] [--exit-on-healthcheck URL] [--smoke-http URL] [-- <args>] [--json]
    
    # Test source/project or .fozzy scenario
    fz test [path] [--det] [--strict-verify] [--sched fifo|random|coverage_guided] [--seed N] [--record path] [--backend llvm|cranelift] [--filter substring] [--json]
    
    # Verify/check/docs/tooling
    fz fmt [path ...] [--check] [--json]
    fz check [path] [--json]
    fz verify [path] [--json]
    fz lint [path] [--tier production|pedantic|compat] [--json]
    fz dx-check [project] [--strict] [--json]
    fz spec-check [--json]
    fz emit-ir [path] [--json]
    fz perf [--artifact artifacts/bench_core_rust_vs_fzy.json] [--json]
    fz stability-dashboard [--json]
    fz parity [path] [--seed N] [--json]
    fz audit unsafe [path] [--workspace] [--json]
    fz vendor [project] [--json]
    fz abi-check <current.abi.json> --baseline <baseline.abi.json> [--json]
    fz debug-check [path] [--json]
    fz pgo merge [path] [--out file] [--json]
    fz lsp diagnostics [path] [--json]
    fz lsp definition <path> <symbol> [--json]
    fz lsp hover <path> <symbol> [--json]
    fz lsp rename <path> <from> <to> [--json]
    fz lsp smoke [path] [--json]
    fz lsp serve [--path <workspace>] [--json]
    fz map suites [--root dir] [--scenario-root dir] [--profile pedantic|production|compat] [--json]
    fz artifacts ls latest [--json]
    fz report show latest [--format json|text] [--json]
    fz usage [--json]
    fz env [--json]
    fz version [--json]
    fz inspect stdlib <module> [--json]
    fz schema [--json]
    fz validate <scenario> [--json]
    fz trace verify <trace> [--strict] [--json]
    fz replay <trace> [--json]
    fz shrink <trace> [--json]
    fz ci <trace> [--json]
    fz trace-native <trace.fozzy> [--out path] [--json]
    
    # FFI / RPC / docs outputs
    fz headers [path] [--out path] [--json]
    fz rpc gen [path] [--out-dir dir] [--json]
    fz doc gen [path] [--format json|html|markdown] [--out path] [--reference path] [--json]
    

    Интеграция с VS Code находится в tooling/vscode и нацелена на fz lsp serve.

    Поведение по умолчанию и отображаемое поведение среды выполнения:

    • хост по умолчанию: 127.0.0.1
    • порт по умолчанию: 8787
    • эффективная цель привязки выводится при успешном listen
    • .env или FZ_DOTENV_PATH загружается один раз перед операциями env/HTTP
    • текстовые логи используются по умолчанию; JSON-логи включаются через log.set_json(1)
    • поверхность стандартной библиотеки включает core.process, core.term, core.thread, core.log, core.text, core.io, core.path и core.util
    • безопасные для терминала экранирования строк, структурированные поля логов, типизированные строители коллекций, вспомогательные функции для граничного JSON и литералы объектов на основе карт являются первоклассными
    • вспомогательные функции процессов поддерживают построители argv/env, а также потоки spawn/run с проверкой wait/stdout/stderr/exit
    • core.crypto и core.security охватывают безопасный случайный, дайджесты, HMAC, URL-безопасные кодировки и сравнения за постоянное время для производственных потоков аутентификации/сессий
    • fzweb поставляет модули фреймворка, сгруппированные по задачам, плюс встроенные маршруты для health, readiness, metrics, inspect, search, cookies, sessions, uploads, events, websockets, CRUD элементов, OpenAPI и статических ресурсов

    Детерминированные артефакты

    С помощью fz test <file.fzy> --det --record artifacts/name.trace.json --json драйвер выдает:

    • *.trace.json: трасса детерминированного выполнения
    • *.timeline.json: решения планировщика
    • *.report.json: сводка, выводы и группировка сбоев
    • *.explore.json: кандидаты расписания и приоритеты сценариев
    • *.shrink.json: детерминированные подсказки для сжатия
    • *.scenarios/ и *.scenarios.json: сгенерированные сценарии на родном языке
    • *.manifest.json: карта артефактов, включая основной путь сценария

    Нативная поверхность CLI

    Каноническое разделение авторства:

    • core.process, core.term, core.text: argv и терминальный UX
    • core.log: политика логирования и структурированный вывод
    • core.io, core.path: обнаружение файловой системы и сборка путей
    • proc.*: выполнение дочерних процессов

    Пример:

    root@kitploit:~
    use core.log;
    use core.process;
    use core.term;
    use core.text;
    
    fn main() -> i32 {
        let mode = process.argv_or(1, "serve")
        discard log.set_sink_name("stderr")
        discard log.set_level_name("warn")
        discard term.transcript_kv("mode", mode, 8)
        if term.is_interactive() == 1 {
            discard term.eprint_line(str.concat("interactive=", str.from_i32(term.is_interactive())))
        }
        discard term.print_line(text.indent("ready\nwaiting", "  "))
        return 0
    }
    

    EOF явный:

    • пустая строка: term.read_line() == "" и term.stdin_eof() == 0
    • EOF: term.read_line() == "" и term.stdin_eof() == 1

    Для серьезной работы с CLI/средой выполнения используйте как встроенный в компилятор лаунчер, так и собранный бинарник, когда важно точное поведение терминала.

    Политика нативных бэкендов

    • поддерживаемые бэкенды: cranelift и llvm
    • порядок выбора: явный --backend, затем FZ_NATIVE_BACKEND, затем профиль по умолчанию
    • значения по умолчанию для профилей: dev -> cranelift, release -> llvm

    Блокировка зависимостей + Vendor

    • сборки проектов обеспечивают проверки рассинхронизации fozzy.lock для путей зависимостей
    • обновите состояние блокировки с помощью fz vendor [project] --json
    • вывод vendor включает fozzy.lock и vendor/fozzy-vendor.json
    • спецификация: docs/dependency-locking-v1.md

    Шлюз совместимости ABI

    fz abi-check обеспечивает:

    • корректность схемы
    • идентичность пакета
    • совместимость границы паники
    • наличие базового экспорта и неизменность сигнатур
    • неизменность базового контракта
    • нерегрессию версии символа

    Добавочные экспорты разрешены.

    C Interop

    • руководство: docs/c-interop-production-v1.md
    • каждый экспортированный pubext c fn требует #[ffi_panic(abort|error)]
    • предпочитайте ext unsafe c fn для небезопасных импортов C и вызывайте их только внутри unsafe { ... }
    • fz build --lib выдает статические/разделяемые библиотеки плюс устанавливаемый заголовок и манифест ABI
      • текущий контракт бэкенда — только Cranelift для сборок библиотек; явный --backend llvm отклоняется с подсказкой по миграции

    Артефакты документации Unsafe

    • unsafe является первоклассным через unsafe fn и unsafe { ... }
    • fz audit unsafe --workspace --json выдает .fz/unsafe-map.workspace.json, .fz/unsafe-docs.workspace.json, .fz/unsafe-docs.workspace.md и .fz/unsafe-docs.workspace.html
    • поля метаданных, такие как reason, invariant, owner, scope, risk_class и proof_ref, генерируются компилятором и определяются политикой
    • стандартный производственный поток не блокируется при отсутствии метаданных, если только не включена строгая политика unsafe
    • дополнительные средства контроля области действия находятся в fozzy.toml

    Детерминированный контракт валидации

    Используйте эту последовательность для строгой уверенности:

    root@kitploit:~
    # 1) Сначала аудит детерминизма
    fz doctor --deep --scenario tests/run.pass.fozzy.json --runs 5 --seed 42 --json
    
    # 2) Строгие детерминированные тесты
    fz test --det --strict-verify tests/run.pass.fozzy.json tests/memory.pass.fozzy.json --json
    
    # 3) Записать одну реальную трассу
    fz run tests/run.pass.fozzy.json --det --record artifacts/trace.fozzy --json
    
    # 4) Проверить конвейер воспроизведения
    fz trace verify artifacts/trace.fozzy --strict --json
    fz replay artifacts/trace.fozzy --json
    fz ci artifacts/trace.fozzy --json
    
    # 5) Проход доверия с поддержкой хоста
    fz run tests/host.pass.fozzy.json --host-backends --json
    

    Строгий шлюз релиза:

    root@kitploit:~
    ./scripts/ship_release_gate.sh
    

    Это включает проверки целостности утверждений документации, блокирующие релиз, через scripts/safety_claim_integrity_gate.py.

    Пример: Жизненный цикл нативного теста

    root@kitploit:~
    cat >/tmp/demo.fzy <<'FZY'
    test "alpha" {}
    test "beta" nondet {}
    rpc Ping(req: PingReq) -> PingRes;
    async fn worker() -> i32 {}
    fn main() -> i32 {
        timeout(1)
        return 0
    }
    FZY
    
    fz test /tmp/demo.fzy --det --sched random --seed 13 --record artifacts/demo.trace.json --json
    

    Проверьте выданные артефакты нативного теста напрямую:

    • artifacts/demo.trace.native.trace.json
    • artifacts/demo.trace.report.json
    • artifacts/demo.trace.timeline.json если включены расширенные артефакты
    • artifacts/demo.trace.manifest.json

    Манифесты нативных тестов являются первоклассными входными данными trace verify / replay / ci для записанных запусков нативных тестов. Они не являются входными данными сценариев и не участвуют в shrink сценариев.

    Примеры проектов

    Все поставляемые примеры следуют соглашению v1 повествовательного DX:

    • src/main.fzy предназначен только для оркестрации и размещает fn main последним
    • тесты находятся в src/tests/*
    • корни доменных модулей используют mod.fzy

    Доступные проекты:

    • examples/agent_runtime
    • examples/context_runtime
    • examples/minimal_runtime
    • examples/service_app
    • examples/fullstack
    • examples/robust_cli
    • examples/live_server

    Валидация и потоки проекта:

    root@kitploit:~
    fz dx-check examples/fullstack --strict --json
    
    fz check examples/fullstack --json
    fz build examples/fullstack --backend cranelift --json
    fz build examples/fullstack --release --backend llvm --json
    fz run examples/fullstack --backend cranelift --json
    fz test examples/fullstack --det --seed 41 --backend llvm --json
    fz headers examples/fullstack --json
    fz abi-check examples/fullstack/include/fullstack.abi.json --baseline examples/fullstack/include/fullstack.abi.json --json
    
    fz dx-check examples/robust_cli --strict --json
    fz build examples/robust_cli --backend cranelift --json
    fz run examples/robust_cli --backend llvm --json
    fz test examples/robust_cli --det --seed 55 --backend cranelift --json
    
    fz dx-check examples/live_server --strict --json
    fz build examples/live_server --backend cranelift --json
    fz run examples/live_server --backend llvm --json
    fz test examples/live_server --det --seed 77 --backend cranelift --record artifacts/live_server.stats.trace.json --rich-artifacts --json
    
    fz run tests/live.server.interhttp.fozzy.json --host-backends --json
    

    Если вы вносите вклад из репозитория, а не устанавливаете релизную сборку, используйте cargo run -q -p fz -- <args> в качестве запасного варианта только из исходников.

    Отслеживание плана

    Поддерживайте эти версионные документы доставки в актуальном состоянии во время реализации:

    • PLAN.md
    • FEATURES-TO-SHIP.md
    Скачать инструмент