Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
fzy — 검증 가능한 정확성, 결정론적 동작, 그리고 성능을 우선시하는 시스템 프로그래밍 언어 | Kitploit
도구/GitHubGitHub/saint0x/fzy
Static AnalysisDynamic Analysis (Sandboxing)Code AnalysisReverse EngineeringDebuggersWeb SecurityFuzzingCryptographyBinary AnalysisSupply Chain SecurityLearning & Education
1661개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
GitHub
saint0x/fzy

fzy

검증 가능한 정확성, 결정론적 동작, 그리고 성능을 우선시하는 시스템 프로그래밍 언어

저장소 보기
공유

fzy (fozzylang)

범용 시스템 언어 및 프로덕션 툴체인으로, 기본적으로 메모리 안전한 안전 언어 표면, 검증 가능한 정확성, 결정적 실행, 그리고 재생 우선 디버깅이 내장되어 있습니다.

fzy는 컴파일러 워크플로와 결정적 검증을 위한 단일 프로덕션 CLI인 fz를 제공합니다. 정확성, 결정성, 재생, 인시던트 아티팩트, 프로덕션 증거는 사후 고려사항이 아닌 정상 워크플로의 일부입니다. 언어에 대한 빠른 시각적 둘러보기를 원하시면 open fzl-showcase.html을 사용하여 브라우저에서 제공된 FZL 쇼케이스를 열어보세요. 이 언어를 선택해야 하는 간략한 이유는 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
    

    빠른 개요

    가장 빠른 개요를 원하시나요? open fzl-showcase.html로 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 쇼케이스를 사용하세요.

    프레임워크 패키지는 일반 패키지 규칙을 따릅니다. fozzy.toml의 [deps]에 선언하고, 소스에서 use fzbounds;, use fzweb; 등과 같은 패키지 이름으로 가져옵니다. fz check src/services/mod.fzy --json과 같은 직접 소스 검사는 이제 소유 패키지 컨텍스트를 통해 검증되므로, 의존성 가져오기 및 형제 모듈은 전체 프로젝트 검사와 동일하게 동작합니다.

    fzy의 구성 요소

    • fz: 빌드, 실행, 테스트, 검증, 문서, IR, RPC, 헤더, ABI 검사 등을 위한 컴파일러 CLI
    • 내장된 포매팅 및 문서 생성: 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(...)를 통한 선택적 수동 메모리 관리 지원
    • 일반 코드와 unsafe { ... } 섬 전반에 걸친 실제 런타임 defer 의미론으로, 결정적 정리가 문서화에 그치지 않고 강제됨
    • 검증기로 강제되는 소유권, 대여, 기능, FFI 및 네이티브 하위 가능성 규칙
    • 명시적 수동 메모리 관리를 해당 모델 내에서 지원하며, 소유권 인식 alloc(...) / free(...) 흐름 및 검증기 가시적 수명 주기 검사 제공
    • 결정적 추적, 재생 및 스케줄러 검증을 일반 프로덕션 게이트로 사용
    • 파일 시스템, 프로세스 및 HTTP 동작을 위한 호스트 기반 신뢰 경로
    • 결정적 스케줄러 모드: fifo, random, coverage_guided
    • async, 스레드 및 RPC 실행에 대한 결정 아티팩트
    • RPC 프레임 이벤트: rpc_send, rpc_recv, rpc_deadline, rpc_cancel
    • 재생/최소화 워크플로를 위한 탐색 및 축소 메타데이터
    • 구문 분석된 test 블록에서 언어 네이티브 시나리오 생성
    • mod 선언에서 재귀적 다중 파일 모듈 로딩
    • 내보낸 pubext c fn 시그니처로부터 C 헤더 생성
    • fz rpc gen을 통한 RPC 스키마, 클라이언트 및 서버 스텁 생성
    • 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
    • core.gpu를 통한 프로덕션 GPU 표면 (Apple에서 라이브 Metal 실행 및 공유 spirv/nvptx 어댑터 계약)

    프로덕션 주장

    fzy는 오늘날 다음과 같은 프로덕션 주장을 지원하도록 설정되어 있습니다:

    • 제공된 안전 언어 표면은 문서화된 검증기/컴파일러 규칙 범위 내에서 기본적으로 메모리 안전하며, 명시적인 감사된 안전하지 않은 경계와 옵트인 소유권 추적 수동 메모리 관리가 포함됩니다.
    • 내부 컴파일러/런타임/도구 의미론은 타입화된 진실의 원천으로 유지되며, JSON은 외부 경계, 생성된 아티팩트 및 운영자 대상 머신 출력에 예약됩니다.
    • alloc(...) / free(...)는 컴파일러가 소유권, 출처 및 정리 실행을 여전히 검증할 수 있는 경우 안전 코드에 유지됩니다.
    • 검증기, 진단, 결정적 테스트, 재생 및 CI 아티팩트를 통한 검증 가능한 정확성.
    • 기록된 추적, 재생 및 스케줄러 제어를 통한 결정적 실행.
    • async/작업, RPC, ADT, 트레이트/제네릭, 프로세스 제어, 터미널 I/O, 로깅, 파일 시스템/경로, 타입화된 내부 상태, 경계 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:~
    # 현재 디렉토리 또는 대상 경로에 프로젝트 스캐폴드
    fz init [path] [--name package] [--template minimal|rust|ts] [--with run,fuzz,explore,memory,host|all] [--force]
    
    # 소스/프로젝트 빌드
    fz build [path] [--release] [--lib] [--threads N] [--backend llvm|cranelift] [--pgo-generate|--pgo-use file] [-l lib] [-L path] [-framework name] [--json]
    
    # 소스/프로젝트 또는 .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]
    
    # 소스/프로젝트 또는 .fozzy 시나리오 테스트
    fz test [path] [--det] [--strict-verify] [--sched fifo|random|coverage_guided] [--seed N] [--record path] [--backend llvm|cranelift] [--filter substring] [--json]
    
    # 검증/확인/문서/도구
    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 / 문서 출력물
    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 빌더와 wait/stdout/stderr/exit 검사를 포함한 spawn/run 흐름을 지원합니다.
    • core.crypto 및 core.security는 보안 난수, 다이제스트, HMAC, URL 안전 인코딩, 상수 시간 비교를 포함하여 프로덕션 인증/세션 흐름을 지원합니다.
    • fzweb은 관심사별로 그룹화된 프레임워크 모듈과 헬스, 준비 상태, 메트릭, 검사, 검색, 쿠키, 세션, 업로드, 이벤트, 웹소켓, 항목 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

    의존성 잠금 + 벤더

    • 프로젝트 빌드는 경로 의존성에 대해 fozzy.lock 드리프트 검사를 강제합니다.
    • fz vendor [project] --json으로 잠금 상태를 새로 고칩니다.
    • 벤더 출력에는 fozzy.lock 및 vendor/fozzy-vendor.json이 포함됩니다.
    • 사양: docs/dependency-locking-v1.md

    ABI 호환성 게이트

    fz abi-check는 다음을 강제합니다:

    • 스키마 유효성
    • 패키지 정체성
    • 패닉 경계 호환성
    • 기준선 내보내기 존재 및 시그니처 불변성
    • 기준선 계약 불변성
    • 심볼 버전 비회귀

    추가 내보내기는 허용됩니다.

    C 상호운용

    • 가이드: docs/c-interop-production-v1.md
    • 모든 내보낸 pubext c fn에는 #[ffi_panic(abort|error)]가 필요합니다.
    • 안전하지 않은 C 가져오기를 위해서는 ext unsafe c fn을 선호하고, unsafe { ... } 내에서만 호출하세요.
    • fz build --lib는 정적/공유 라이브러리와 설치 가능한 헤더 및 ABI 매니페스트를 생성합니다.
      • 현재 백엔드 계약은 라이브러리 빌드에 대해 Cranelift 전용입니다. 명시적 --backend llvm은 마이그레이션 힌트와 함께 거부됩니다.

    안전하지 않은 문서 아티팩트

    • 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와 같은 메타데이터 필드는 컴파일러 생성 및 정책 기반입니다.
    • 기본 프로덕션 흐름은 엄격한 안전하지 않은 정책이 활성화되지 않는 한 누락된 메타데이터에 대해 비차단입니다.
    • 선택적 강화된 범위 제어는 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
    도구 다운로드