安全性與測試56安全性與測試找到的資源: 56 / 56安全性與測試(56)除錯與檢查(31)CodeTracerCodeTracer 是一個使用者友善的時間旅行除錯器,旨在支援廣泛的 web3 程式語言。EDB: The Ethereum Project DebuggerEDB 是一個用於 Solidity 執行的原始碼層級除錯器,提供單步執行、區域變數、監看式和中斷點功能,當您需要對鏈上或測試中的合約行為進行 IDE 等級的檢視時,它會是您的理想選擇。Simbolik - Solidity DebuggerSimbolik 是一個強大的 Solidity 除錯器,它將傳統的中斷點除錯與符號執行相結合,使開發人員能夠探索每個可能的執行路徑並精確地發現漏洞。Simbolik 作為 VSCode 擴充功能提供,可無縫整合到現有工作流程中,提供中斷點風格的除錯、Solidity 和 EVM 級別的檢查以及形式化驗證功能。Abi NinjaAbi Ninja 是一個瀏覽器使用者介面,用於透過已知 ABI、貼上的 ABI 或反編譯的位元組碼來呼叫合約,並支援跨多個網路(包括您本地運行的 Hardhat 或 Anvil 節點)進行具備代理感知 (proxy-aware) 的讀取。4byte4byte.directory maps four-byte function selectors and 32-byte event-signature hashes to their human-readable signatures. Builders query it when decoding calldata or logs from contracts without a published ABI.ABI Calldata Layout VisualizerThe ABI Calldata Layout Visualizer decodes ABI calldata and draws its byte layout, showing where heads, tails, and offsets sit in the encoded payload. Builders open it when a plain decoder does not explain why an encoding is wrong.evm-storageevm-storage turns a transaction hash into readable state diffs and can list a contract's full storage. Builders install the command line tool when they need to see exactly which storage slots a call changed.EVMConnectorEVMConnector is a browser workspace for calling contract functions on any EVM chain, with saved contracts and shareable call links. Builders use it to drive a contract without writing a script.forkyforky is a fork choice viewer for the Ethereum beacon chain. Consensus client developers self-host it or use the public instances to see and debug fork choice behavior on mainnet and testnets.geas (Good Ethereum Assembler)geas, the Good Ethereum Assembler, is an assembler for writing raw EVM bytecode by hand, maintained by a go-ethereum core developer. It is used for EIP test cases and other low-level contract work.hardhat-tracerhardhat-tracer is a Hardhat plugin that prints internal calls, events, and storage operations for a transaction in the console. Hardhat users install it to see what actually happened inside a failing test transaction.HashEx ABI EncoderThe HashEx ABI Encoder is a web form that ABI-encodes constructor and function arguments from a pasted signature and values. Builders use it when they need encoded arguments and are not at a terminal.heimdall-rsheimdall-rs is a Rust EVM toolkit that disassembles bytecode, decompiles contracts, generates control flow graphs, and decodes calldata and traces. Builders reach for it when they need to understand a contract that has no published source.pyevmasmpyevmasm is a Python disassembler and assembler for EVM bytecode from Trail of Bits. Analysis scripts import it to turn bytecode into instructions and back.Radar (Auditware)Radar, from Auditware, is a static analysis tool that covers Solidity as well as Rust, Anchor, and Stylus contracts. Auditors run it to get findings across a mixed contract codebase.recursive calldata decoderA calldata decoder that also unwraps nested function calls. Builders open it when a flat decoder leaves the inner calls of a batched or forwarded transaction unreadable.scopelintscopelint is an opinionated formatter and linter for Foundry Solidity projects. Builders install it to hold a codebase to the ScopeLift conventions.Semgrep (smart-contracts rules)Semgrep is a pattern-based static analysis tool with rulesets for Solidity vulnerabilities. Builders run those rules over a codebase to catch known vulnerable patterns and style issues before review.SmartContractGUISmartContractGUI turns an uploaded ABI into an interface for reading from and writing to that contract on any EVM chain. Builders use it when they have an ABI but no frontend.sol-profilersol-profiler is a command line tool that lists a Solidity contract's methods with their visibility, mutability and modifiers. Reviewers run it to see the surface of a contract at a glance.sol2umlsol2uml generates UML class and storage-layout diagrams from Solidity source or from verified contracts. Builders run it to see contract relationships and how state variables are packed into storage.TenderlyTenderly provides transaction simulation, trace debugging, alerting, and Virtual TestNets for contracts. Builders use it to replay a failing transaction, watch deployed contracts, and test against a forked network.Tenderly CLIThe Tenderly CLI is the command line client for Tenderly, pushing contracts for verification and driving error tracking, monitoring, and alerting. Builders install it to run those steps from a terminal or a continuous integration job.tracoortracoor is an explorer for beacon states and execution traces. Client and protocol developers self-host it to inspect block and state traces on devnets and testnets.Web3ClientWeb3Client is a browser tool for creating, testing, and sharing contract ABIs and the calls made against them. Builders use it to work out a call and hand the result to someone else.Walnut適用於 EVM 的網頁版交易除錯器和模擬器。開源且可自行託管。在每個步驟檢查變數狀態,在部署前模擬交易,並分析燃料使用情況。支援任何 RPC 供應商。viem-tracerviem-tracer 增強了 Viem 客戶端,使失敗的 ethestimateGas 和 ethsendTransaction 呼叫自動包含使用 sourcify.dev 解碼的人類可讀追蹤輸出,並在 debug_traceCall 周圍新增了類型化輔助工具,讓開發人員無需離開現有的 RPC 堆疊即可檢查執行情況。EVMoleEVMole extracts function selectors, arguments, and control flow from raw EVM bytecode, including contracts with no verified source. Builders point it at an unknown contract to work out what its functions take.revm-inspectorsrevm-inspectors is a Rust crate of EVM execution hooks and tracing built on revm, and it powers call tracing in Reth and Foundry. Rust builders import it to build their own tracers and debuggers.hardhat-gas-reporter一個 hardhat 外掛程式,為智能合約測試套件提供 Gas 使用量分析。它專門支援 OP Stack 鏈,是超過 15 萬個 Github 儲存庫中的依賴項,每週從 NPM 下載量超過 10 萬次。SlippySlippy is a Solidity linter for static analysis of smart contracts. Teams install the npm package to lint contracts as part of a build.模糊/屬性測試(18)ChimeraChimera 是一個在 foundry 中編寫 Solidity 測試的框架,並能夠與 Echidna、Medusa、Halmos 和 Kontrol 等其他開源工具重複使用Slither斯立瑟 (Slither) 是 Trail of Bits 針對 Solidity 和 Vyper 的 Python 靜態分析引擎:在 CI 中執行它以觸發偵測器、列印合約的結構視圖,或編寫腳本對整個程式碼庫進行自訂檢查。SynpressSynpress 將 Playwright 與具備以太坊感知能力的瀏覽器自動化相結合,讓您可以在 CI 中對去中心化應用程式 (dapp) 進行端到端測試,包括錢包彈出視窗和鏈切換。AderynAderyn 是 Cyfrin 基於 Rust 的開源 Solidity 智能合約靜態分析器,旨在幫助協定工程師和安全研究人員在 Solidity 程式碼庫中尋找漏洞。TitanoboaTitanoboa 是一個互動式 Vyper 直譯器和測試工具,當您在完整的 Foundry 迴圈之外試驗合約時,可提供快速的回饋迴圈。MedusaMedusa 是一個受 Echidna 啟發的有狀態智能合約模糊測試工具。它提供智能合約的平行化模糊測試以及進階智能合約不變數的驗證。solidity-coveragesolidity-coverage 為 Hardhat 開發人員平台提供智能合約程式碼覆蓋率。它非常準確,支援完整的 viaIR Solidity 編譯以及大量特定於 Solidity 的程式碼分支模式。它安裝在約 23 萬個 Github 專案上,每週從 NPM 下載約 10 萬次。hevmhevm 是一個開源、最先進、快速的符號和具體 EVM 執行引擎,可以發現智能合約中的問題。透過其符號執行和分析系統,hevm 可以符號化、半具體化或具體化地執行合約以尋找錯誤,或者比較兩個不同的合約以找出差異,從而執行等價性檢查。Crytic-PropertiesCrytic-Properties 是一套可重複使用的安全測試套件,適用於一些最廣泛使用的代幣標準,例如 ERC-20、ERC-721、ERC-4626 等。bulloak一個基於分支樹技術 (Branching Tree Technique) 的智能合約測試產生器。AssertoorAssertoor runs configurable checks and assertions against a live Ethereum devnet to validate its behavior. Client and devnet teams use it to confirm a running network is healthy, in the same family as Hive.contender (Flashbots)contender from Flashbots is a load-testing tool that floods EVM execution nodes over JSON-RPC and benchmarks the results. Teams benchmarking a client point it at an endpoint to generate load and measure throughput.EchidnaEchidna is a property-based and grammar fuzzer for Ethereum smart contracts. Builders and auditors write properties with it to find inputs that break contract invariants.eth-testereth-tester is a pluggable in-memory Ethereum backend used by web3.py for fast unit tests. Python builders import it when tests should run against a simulated chain instead of a node.ItyFuzzItyFuzz is a bytecode-level smart-contract fuzzer that combines fuzzing with symbolic analysis. Builders and auditors run it against EVM bytecode when source-level fuzzing is not enough or no source is available.spamoorspamoor is a configurable Ethereum transaction generator for load-testing testnets and devnets with realistic traffic. Teams point it at a network to see how it behaves under sustained transaction volume.goevmlabgoevmlab is an EVM fuzzing and differential testing lab built by a go-ethereum core developer. EVM implementers use it to fuzz their own implementation and compare its behavior against others to find divergences.HiveHive is an end-to-end integration test harness that runs Ethereum clients in Docker across simulator scenarios. Client teams use it to check that implementations agree with each other.形式化驗證(7)K Semantics of the Ethereum Virtual Machine (EVM)KEVM 是 EVM 的 K 框架可執行語意:當您需要一致性檢查執行、符號探索、燃料推論或密切追蹤以太坊規則的證明時,可以將其指向位元組碼。haxhax 是一個工具,用於將大部分 Rust 高保證地翻譯成 F* 或 Rocq 等形式化語言。Kontrol - formal verification tool based on Foundry and KEVMKontrol 將 Foundry 屬性測試提升為由 KEVM 支援的證明,因此您可以追求形式化保證,而所需的手寫規範工作比單獨使用原始 KEVM 更少。ActAct 是以太坊的宣告式規範語言和工具鏈,用於描述 EVM 程式的所有行為,以便 SMT 求解器、定理證明器或經濟分析工具能夠推論位元組碼層級的正確性和誘因相容性,包括針對具體實作的自動精煉證明。Certora AutoProverCertora AutoProver is an AI bot that automates parts of formal verification for smart contracts. Verification engineers use it to generate and run checks with less manual specification work.VerifereumVerifereum 將以太坊智能合約連接到由 HOL4 支援的定理證明,因此當自動化 SMT 方法不足時,您可以追求非常強大的正確性聲明。Certora ProverCertora Prover is a cloud formal-verification service that checks specifications written in CVL against deployed contract code. Verification engineers use it to prove that a contract holds stated properties for all inputs.建議資源知道有什麼很棒的建構者資源應該被列出嗎?請開啟 Issue 並與我們分享。建議資源 (在新分頁開啟)