Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
fzy — un linguaggio di programmazione di sistema che dà priorità alla correttezza verificabile, al determinismo e alle prestazioni | Kitploit
Strumenti/GitHubGitHub/saint0x/fzy
Analisi StaticaAnalisi Dinamica (Sandboxing)Analisi del CodiceReverse EngineeringDebuggerSicurezza WebFuzzingCrittografiaAnalisi di BinariSicurezza della Supply ChainApprendimento e Formazione
1661 mese faNon ancora revisionato
GitHub
saint0x/fzy

fzy

un linguaggio di programmazione di sistema che dà priorità alla correttezza verificabile, al determinismo e alle prestazioni

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

fzy (fozzylang)

Linguaggio per sistemi di uso generale e toolchain di produzione con una superficie linguistica sicura di default, correttitudine verificabile, esecuzione deterministica e debugging basato su replay integrato.

fzy fornisce una CLI di produzione, fz, sia per i flussi di lavoro del compilatore che per la validazione deterministica. Correttitudine, determinismo, replay, artefatti di incidente ed evidenze di produzione fanno parte del normale flusso di lavoro, non sono un ripensamento. Per una rapida panoramica visiva del linguaggio, apri la vetrina FZL nel tuo browser con open fzl-showcase.html. Per la breve argomentazione sul perché potresti sceglierlo, vedi WHYFZY.md.

La politica di architettura del repository è tipizzata internamente e JSON solo ai confini reali.

Inizia Qui

  • Installazione: INSTALL.md
  • Manuale completo: USAGE.md
  • Perché fzy: WHYFZY.md
  • Esempi di sintassi e comandi: CODE.md
  • Flusso di lavoro di produzione: docs/production-workflow-v1.md
  • Programmazione GPU e validazione: docs/gpu-v1.md
  • Modello di sicurezza e fiducia: docs/system-safety-trust-model-v1.md
  • Authoring non sicuro: docs/unsafe-contract-authoring-v1.md
  • Livelli di stabilità: docs/language-stability-v1.md
  • Ereditarietà delle policy del workspace: docs/workspace-policy-v1.md
  • Approfondimenti operativi: docs/operational-insights-v1.md
  • fzyllm: saint0x/fzyllm
  • Installa

    Installazione consigliata:

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

    Questo installa fz in ~/.local/bin, aggiorna PATH se necessario e verifica l'installazione con fz version e fz env.

    Fallback dal sorgente:

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

    Panoramica Rapida

    Vuoi la panoramica più veloce? Apri fzl-showcase.html con open fzl-showcase.html, sfoglia WHYFZY.md per l'argomentazione del prodotto, poi usa l'esempio qui sotto come schizzo eseguibile compatto.

    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
    }
    

    Per una copertura linguistica più ampia, usa CODE.md, examples/ e la vetrina FZL ottimizzata per browser.

    I pacchetti framework seguono le normali regole dei pacchetti: dichiarali in fozzy.toml sotto [deps], poi importali nel sorgente con use fzbounds;, use fzweb; e nomi di pacchetto simili. I controlli diretti sul sorgente come fz check src/services/mod.fzy --json ora convalidano attraverso il contesto del pacchetto proprietario, quindi le importazioni delle dipendenze e i moduli fratelli si comportano allo stesso modo dei controlli sull'intero progetto.

    Cosa Contiene fzy

    • fz: CLI del compilatore per build, esecuzione, test, verifica, documentazione, IR, RPC, header, controlli ABI e altro
    • formattazione e generazione documentazione integrate: fz fmt, fz doc gen
    • pipeline front-end e IR: crates/parser, crates/ast, crates/hir, crates/fir
    • verificatore e applicazione della sicurezza: crates/verifier
    • primitive runtime deterministico: crates/runtime
    • driver e orchestrazione artefatti: crates/driver
    • scenari Fozzy eseguibili: tests/*.fozzy.json

    Stato Attuale

    Implementato e validato oggi:

    • ambito di linguaggio per sistemi di uso generale, non uno strumento di nicchia per singolo dominio
    • sicuro di default, con isole unsafe esplicite, inventario/documentazione unsafe generati dal compilatore e gestione manuale della memoria con opt-in tramite alloc(...) / free(...)
    • semantica runtime reale defer sia nel codice normale che nelle isole unsafe { ... }, quindi la pulizia deterministica è imposta anziché solo documentata
    • regole di proprietà, prestito, capacità, FFI e abbassabilità nativa imposte dal verificatore
    • gestione manuale esplicita della memoria è supportata all'interno di quel modello, con flussi alloc(...) / free(...) consapevoli della proprietà e controlli del ciclo di vita visibili al verificatore
    • traccia deterministica, replay e validazione dello scheduler come normali porte di produzione
    • percorsi di fiducia basati su host per filesystem, processi e comportamento HTTP
    • modalità scheduler deterministico: fifo, random, coverage_guided
    • artefatti decisionali per esecuzione asincrona, thread e RPC
    • eventi frame RPC: rpc_send, rpc_recv, rpc_deadline, rpc_cancel
    • metadati di esplorazione e riduzione per flussi di lavoro replay/minimizzazione
    • generazione nativa di scenari dal linguaggio a partire dai blocchi test analizzati
    • caricamento ricorsivo di moduli multi-file dalle dichiarazioni mod
    • generazione di header C dalle firme pubext c fn esportate
    • generazione di schema RPC, stub client e server tramite fz rpc gen
    • superficie moderna linguaggio/runtime con ADT, pattern matching, trait, generici, modellazione del dominio tipizzata, processi, terminale, logging, filesystem/path, JSON ai confini e HTTP in streaming in uscita
    • superficie crittografica/di sicurezza di produzione tramite core.crypto e core.security, inclusi random sicuro, hashing, HMAC, confronto tempo costante e codifiche URL-safe
    • moduli framework web di produzione fzweb per routing applicazioni, cookie, sessioni, upload multipart, persistenza, SSE, websocket ed export OpenAPI
    • fz run esegue direttamente l'output nativo con streaming di testo live o cattura JSON
    • backend nativi LLVM e Cranelift con validazione orientata alla parità
    • porte di rilascio di memoria diretta:
      • python3 scripts/direct_memory_architecture_gate.py
      • python3 scripts/direct_memory_perf_gate.py
    • superficie GPU di produzione tramite core.gpu, con esecuzione Metal live su Apple più contratti adattatore spirv/nvptx condivisi

    Affermazioni di Produzione

    fzy è configurato per supportare queste affermazioni di produzione oggi:

    • la superficie linguistica sicura fornita è memory-safe di default entro l'ambito documentato delle regole del compilatore/verificatore, con confini unsafe espliciti e verificati e gestione manuale della memoria tracciata dalla proprietà con opt-in
    • la semantica interna del compilatore/runtime/tooling rimane una fonte di verità tipizzata, con JSON riservato per confini esterni, artefatti generati e output macchina per operatori
    • alloc(...) / free(...) rimangono in codice sicuro quando il compilatore può ancora verificare proprietà, provenienza ed esecuzione della pulizia
    • correttezza verificabile tramite verificatore, diagnostica, test deterministici, replay e artefatti CI
    • esecuzione deterministica tramite tracce registrate, replay e controllo dello scheduler
    • copertura di sistemi di uso generale su async/task, RPC, ADT, trait/generici, controllo processi, I/O terminale, logging, filesystem/path, stato interno tipizzato, JSON ai confini e HTTP in streaming
    • copertura web/servizi di produzione tramite fzweb più primitive di sicurezza che mantengono i flussi sessione/cookie/auth all'interno della superficie runtime supportata

    Vedi anche:

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

    Build e Test

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

    CLI Principale

    root@kitploit:~
    # Scaffolda un progetto nella directory corrente o in un percorso di destinazione
    fz init [path] [--name package] [--template minimal|rust|ts] [--with run,fuzz,explore,memory,host|all] [--force]
    
    # Compila sorgente/progetto
    fz build [path] [--release] [--lib] [--threads N] [--backend llvm|cranelift] [--pgo-generate|--pgo-use file] [-l lib] [-L path] [-framework name] [--json]
    
    # Esegui sorgente/progetto o scenario .fozzy
    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]
    
    # Testa sorgente/progetto o scenario .fozzy
    fz test [path] [--det] [--strict-verify] [--sched fifo|random|coverage_guided] [--seed N] [--record path] [--backend llvm|cranelift] [--filter substring] [--json]
    
    # Verifica/controllo/documentazione/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]
    
    # Output FFI / RPC / documentazione
    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]
    

    L'integrazione con VS Code si trova in tooling/vscode e ha come target fz lsp serve.

    Valori predefiniti del runtime e comportamento esposto:

    • binding host predefinito: 127.0.0.1
    • porta predefinita: 8787
    • il target di binding effettivo viene stampato su listen riuscito
    • .env o FZ_DOTENV_PATH viene caricato una volta prima delle operazioni env/HTTP
    • i log di testo sono predefiniti; i log JSON sono opt-in tramite log.set_json(1)
    • la superficie della libreria standard include core.process, core.term, core.thread, core.log, core.text, core.io, core.path e core.util
    • escape di stringhe sicure per terminale, campi di log strutturati, costruttori di collezioni tipizzate, helper JSON ai confini e letterali oggetto basati su mappe sono di prima classe
    • gli helper di processo supportano costruttori argv/env più flussi spawn/run con ispezione wait/stdout/stderr/exit
    • core.crypto e core.security coprono random sicuro, digest, HMAC, codifiche URL-safe e confronti a tempo costante per flussi di produzione auth/sessione
    • fzweb fornisce moduli framework raggruppati per competenza più route integrate per health, readiness, metriche, inspect, search, cookie, sessioni, upload, eventi, websocket, CRUD di elementi, OpenAPI e asset statici

    Artefatti Deterministici

    Con fz test <file.fzy> --det --record artifacts/name.trace.json --json, il driver emette:

    • *.trace.json: traccia di esecuzione deterministica
    • *.timeline.json: decisioni dello scheduler
    • *.report.json: riepilogo, risultati e raggruppamento dei fallimenti
    • *.explore.json: candidati scheduler e priorità degli scenari
    • *.shrink.json: suggerimenti di riduzione deterministica
    • *.scenarios/ e *.scenarios.json: scenari nativi del linguaggio generati
    • *.manifest.json: mappa degli artefatti inclusa il percorso dello scenario principale

    Superficie CLI Nativa

    Suddivisione di authoring canonica:

    • core.process, core.term, core.text: argv e UX terminale
    • core.log: politica di logging e output strutturato
    • core.io, core.path: scoperta del filesystem e assemblaggio percorsi
    • proc.*: esecuzione di processi figli

    Esempio:

    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 è esplicito:

    • riga vuota: term.read_line() == "" e term.stdin_eof() == 0
    • EOF: term.read_line() == "" e term.stdin_eof() == 1

    Per lavoro CLI/runtime serio, usa sia il launcher integrato nel compilatore che il binario compilato quando il comportamento esatto del terminale è importante.

    Politica Backend Nativo

    • backend supportati: cranelift e llvm
    • ordine di selezione: --backend esplicito, poi FZ_NATIVE_BACKEND, poi predefinito del profilo
    • predefiniti del profilo: dev -> cranelift, release -> llvm

    Blocco delle Dipendenze + Vendor

    • le build del progetto impongono controlli di deriva del fozzy.lock per le dipendenze di percorso
    • aggiorna lo stato del lock con fz vendor [project] --json
    • l'output del vendor include fozzy.lock e vendor/fozzy-vendor.json
    • specifica: docs/dependency-locking-v1.md

    Porta di Compatibilità ABI

    fz abi-check impone:

    • validità dello schema
    • identità del pacchetto
    • compatibilità dei confini di panic
    • presenza dell'esportazione di base e immutabilità della firma
    • immutabilità del contratto di base
    • non regressione della versione del simbolo

    Le esportazioni aggiuntive sono consentite.

    Interoperabilità C

    • guida: docs/c-interop-production-v1.md
    • ogni pubext c fn esportata richiede #[ffi_panic(abort|error)]
    • preferisci ext unsafe c fn per import C non sicuri e chiamali solo all'interno di unsafe { ... }
    • fz build --lib emette librerie statiche/condivise più un header installabile e un manifest ABI
      • il contratto backend corrente è solo Cranelift per le build di librerie; --backend llvm esplicito viene rifiutato con un suggerimento di migrazione

    Artefatti Documentazione Unsafe

    • unsafe è di prima classe tramite unsafe fn e unsafe { ... }
    • fz audit unsafe --workspace --json emette .fz/unsafe-map.workspace.json, .fz/unsafe-docs.workspace.json, .fz/unsafe-docs.workspace.md e .fz/unsafe-docs.workspace.html
    • campi metadati come reason, invariant, owner, scope, risk_class e proof_ref sono generati dal compilatore e guidati da policy
    • il flusso di produzione predefinito è non bloccante per metadati mancanti, a meno che non sia abilitata la policy unsafe rigorosa
    • controlli di ambito opzionali rafforzati risiedono in fozzy.toml

    Contratto di Validazione Deterministico

    Usa questa sequenza per una fiducia rigorosa:

    root@kitploit:~
    # 1) Audit del determinismo prima
    fz doctor --deep --scenario tests/run.pass.fozzy.json --runs 5 --seed 42 --json
    
    # 2) Test deterministici rigorosi
    fz test --det --strict-verify tests/run.pass.fozzy.json tests/memory.pass.fozzy.json --json
    
    # 3) Registra una traccia reale
    fz run tests/run.pass.fozzy.json --det --record artifacts/trace.fozzy --json
    
    # 4) Convalida la pipeline di replay
    fz trace verify artifacts/trace.fozzy --strict --json
    fz replay artifacts/trace.fozzy --json
    fz ci artifacts/trace.fozzy --json
    
    # 5) Passaggio di fiducia basato su host
    fz run tests/host.pass.fozzy.json --host-backends --json
    

    Porta di rilascio rigorosa:

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

    Questo include controlli di integrità delle affermazioni nella documentazione bloccanti per il rilascio tramite scripts/safety_claim_integrity_gate.py.

    Esempio: Ciclo di Vita del Test Nativo

    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
    

    Ispeziona direttamente gli artefatti del test nativo emessi:

    • artifacts/demo.trace.native.trace.json
    • artifacts/demo.trace.report.json
    • artifacts/demo.trace.timeline.json quando gli artefatti ricchi sono abilitati
    • artifacts/demo.trace.manifest.json

    I manifest dei test nativi sono input di prima classe per trace verify / replay / ci per le esecuzioni di test nativi registrate. Non sono input di scenario e non partecipano alla shrink dello scenario.

    Progetti di Esempio

    Tutti gli esempi forniti seguono la convenzione narrativa DX v1:

    • src/main.fzy è solo orchestrativo e pone fn main per ultimo
    • i test risiedono sotto src/tests/*
    • le radici dei moduli di dominio usano mod.fzy

    Progetti disponibili:

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

    Validazione e flussi di progetto:

    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
    

    Se stai contribuendo da un checkout invece di installare una build di rilascio, usa cargo run -q -p fz -- <args> come fallback solo sorgente.

    Tracciamento del Piano

    Mantieni aggiornati questi documenti di consegna con versione durante l'implementazione:

    • PLAN.md
    • FEATURES-TO-SHIP.md
    Scarica lo strumento