DarthMiaul/WasmQuay
Offline WebAssembly component inspection and capability-policy toolkit: decode, classify, gate and compare .wasm components. Rust workspace + TypeScript explorer, zero runtime dependencies.
🛠️ WasmQuay — "Xưởng khô" cho WebAssembly component: inspect, classify, gate, compare 100% offline
Công cụ tĩnh phân tích capability của
.wasmcomponent, đối chiếu với policy deny-by-default, xuất JSON cho CI/CD — không chạy, không sandbox, zero dependency.
WasmQuay (micchr/WasmQuay) là một toolkit đa ngôn ngữ (Rust workspace + TypeScript explorer) được thiết kế để trả lời một câu hỏi cốt lõi: component .wasm này có thể làm gì với thế giới bên ngoài, và có được phép không? Nó giải mã binary WebAssembly thuần túy, phân loại mọi host import thành các capability domain (fs, env, clock, network, random, stdio, unknown), sau đó đánh giá chống lại policy văn bản đơn giản. Điểm thiết kế quan trọng: WasmQuay không execute, không instantiate, không sandbox — nó là static analyzer hoàn toàn, deterministic, offline, có thể audit. Exit code khác 0 khi vi phạm policy khiến nó trở thành candidate tự nhiên cho pre-commit hook hay CI step.
✨ Điểm nổi bật
- Decode binary WASM thuần: Parse header
\0asm, section table, import/export, customnamesection — không cần runtime. - Phân loại capability tự động: Bucket từng import vào
fs · env · clock · network · random · stdio · unknown, hỗ trợ cả WASI preview1 function names và preview2/component-model interface paths. - Policy deny-by-default: File policy văn bản đơn giản, per-domain allow-list; vi phạm = exit code != 0 (ví dụ:
networkbị DENY trả về exit code 3). - So sánh component (compat): Kiểm tra B có thể thay thế A an toàn không (substitutability) dựa trên capability set.
- Đọc WIT-like manifest: Hỗ trợ subset interface manifest dạng WIT.
- Xuất JSON ổn định + text đọc được: Dùng cho automation và đọc nhanh bởi người.
- TypeScript explorer (
wasmquay-explore): Library + CLI consume JSON report, tính risk score, reconcile findings — chỉ cầntsc, zero runtime dep. - Zero third-party crate (Rust) / zero runtime dep (TS):
std-onlyvàtsc-only— supply-chain risk tối thiểu.
💡 Vì sao đáng chú ý
WasmQuay giải quyết bài toán "trust but verify" cho WebAssembly component ở tầng build-time thay vì runtime. Thay vì tin vào sandbox hay capability-based runtime enforcement (thường phức tạp, nặng, khó audit), nó đưa việc kiểm tra capability lên static analysis — nhanh, deterministic, chạy offline, dễ nhúng vào CI/CD. Kiến trúc tách biệt rõ ràng: Rust core làm heavy-lifting decode/classify/policy/compat, TypeScript explorer làm presentation/risk scoring. Điều này phù hợp đặc biệt cho các team đang adopt WebAssembly Component Model / WASI preview2 và cần guardrail policy ở PR level mà không muốn kéo runtime dependency vào pipeline. Việc không execute code cũng loại bỏ toàn bộ attack surface liên quan đến malicious payload tại thời điểm inspect.
#WebAssembly #WASI #StaticAnalysis #Security #SupplyChainSecurity #Rust #TypeScript #CI #TiniX
Similar Projects
Discover other similar projects and AI models.
Reverse engineer anything with agents, from app behavior down to native binaries.
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
all-MiniLM-L6-v2 This is a sentence-transformers(https://www.SBERT.net) model: It maps sentences & paragraphs to a 384 dimensional dense vector space and can be used for tasks like clustering or semantic search. Usage (Sentence-Transformers) Using t...
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
🙃 A delightful community-driven (with 2,500+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool that makes it easy to keep up with the latest updates from the community.