-
bitcoin $87959.907984 USD
1.34% -
ethereum $2920.497338 USD
3.04% -
tether $0.999775 USD
0.00% -
xrp $2.237324 USD
8.12% -
bnb $860.243768 USD
0.90% -
solana $138.089498 USD
5.43% -
usd-coin $0.999807 USD
0.01% -
tron $0.272801 USD
-1.53% -
dogecoin $0.150904 USD
2.96% -
cardano $0.421635 USD
1.97% -
hyperliquid $32.152445 USD
2.23% -
bitcoin-cash $533.301069 USD
-1.94% -
chainlink $12.953417 USD
2.68% -
unus-sed-leo $9.535951 USD
0.73% -
zcash $521.483386 USD
-2.87%
如何審計智能合約? (安全基礎知識)
Smart contract security requires combining static analyzers (Slither, MythX), manual review for reentrancy/access control, and rigorous testing—automated tools alone can’t catch logic flaws or novel attacks.
2026/02/25 19:00
了解智能合約漏洞
1. 當惡意合約在狀態變更完成之前反覆回呼易受攻擊的合約時,就會發生重入攻擊,從而意外耗盡資金。
2. 當算術運算超過 uint256 的最大值或最小值時,會發生整數上溢和下溢,導致不正確的平衡或邏輯旁路。
3. 如果傳回值未經驗證,未經檢查的外部呼叫可能會導致靜默失敗,從而允許執行在傳輸或函數呼叫失敗的情況下繼續進行。
4. 不當的存取控制使未經授權的使用者能夠呼叫特權功能,例如僅限所有者的升級或代幣鑄造。
5. 當關鍵狀態轉換依賴可預測的交易順序時,搶先交易就成為可能,從而暴露了拍賣或閃電貸套利等敏感操作。
靜態分析工具及其作用
1. Slither 無需執行合約即可分析 Solidity 原始碼中的常見反模式和漏洞,從而提供快速且可擴展的檢測。
2. MythX 與 IDE 和 CI/CD 管道集成,以執行符號執行和基於模糊測試的分析,識別更深層的邏輯缺陷。
3. Solhint 透過標記不一致的可見性說明符、缺少 require 語句和不安全的低階呼叫來強制執行編碼標準和最佳實務。
4. Crytic 的 Echidna 使用以 Solidity 編寫的自訂斷言進行基於屬性的測試,驗證數千個產生輸入的不變量。
5.並行使用多個靜態分析器可以顯著增加覆蓋範圍-沒有一個工具可以捕捉所有類別的錯誤。
手動程式碼審查要點
1. 追蹤所有外部呼叫並驗證它們是否發生在狀態更新之後,特別是在提現或轉帳功能中。
2. 確認所有使用者提供的輸入在影響儲存或發出事件之前都經過 require 或 revert 語句。
3. 檢查回退和接收函數是否有意外行為,特別是在處理 ETH 傳輸以及複雜邏輯時。
4. 檢查硬編碼地址、幻數或未版本化的庫鏈接,這些鏈接可能會影響再現性或引入隱藏的依賴項。
5.每個修飾符都必須經過可重入安全性、副作用以及與其他修飾符的可組合性審核。
單元檢查以外的測試方法
1. 整合測試模擬多個已部署合約之間的交互,以暴露介面不匹配和意外的 Gas 消耗模式。
2. 模糊測試將隨機輸入註入公共函數,以觸發單元測試經常遺漏的邊緣情況行為。
3. 基於屬性的測試定義了高級不變量,例如“總供應量永遠不會減少”或“餘額不能為負”,並在不同的場景中驗證它們。
4.像Sepolia和Arbitrum Goerli這樣的測試網提供了真實的環境,可以觀察現實世界的氣體動態和網路擁塞。
5. 必須在模擬區塊時間戳記操作下測試與時間相關的邏輯,以確保延遲或未來調度期間的正確性。
常見問題解答
Q:我可以只依靠自動化工具進行智慧合約審計嗎?答:不能。自動化工具可以偵測已知的模式,但無法評估業務邏輯的正確性、經濟誘因或需要人類直覺和領域知識的新穎攻擊向量。
Q:在零知識證明合約的背景下,「可信設定」意味著什麼? A:指初始產生zk-SNARK驗證所需的密碼參數;如果受到損害,它就會破壞健全性保證並允許偽造的證明通過驗證。
Q:為什麼我應該避免使用 tx.origin 進行授權檢查?答:因為 tx.origin 傳回啟動交易鏈的原始 EOA,因此很容易透過中間合約進行網路釣魚,這些合約在保留原點的同時轉送呼叫。
Q:委託呼叫漏洞與常規呼叫漏洞有何不同?答:Delegatecall 在呼叫合約的上下文中執行程式碼,這表示目標中的儲存佈局不符或未初始化的變數可能會直接破壞呼叫者的狀態。
免責聲明:info@kdj.com
所提供的資訊並非交易建議。 kDJ.com對任何基於本文提供的資訊進行的投資不承擔任何責任。加密貨幣波動性較大,建議您充分研究後謹慎投資!
如果您認為本網站使用的內容侵犯了您的版權,請立即聯絡我們(info@kdj.com),我們將及時刪除。
- 比特幣、eCash 分叉和空投動態:深入探討加密貨幣的最新爭議
- 2026-05-03 12:55:01
- 2026 年邁阿密共識:Web3、區塊鏈、加密貨幣、NFT、Metaverse,會議,5 月 5 日 — 華爾街與數位前沿相遇的地方
- 2026-05-02 12:45:01
- 聯準會維持利率穩定,地緣政治緊張局勢引發比特幣價格下跌
- 2026-05-01 06:45:01
- 比特幣礦工為電網供電:收購俄亥俄州天然氣廠開啟數位黃金新時代
- 2026-05-01 00:45:01
- MegaETH的MEGA代幣登陸紐約:為即時區塊鏈設定新的效能基準
- 2026-05-01 00:55:01
- Solana 的滑坡:價格預測顯示阻力損失和潛在的進一步下跌
- 2026-05-01 06:45:01
相關知識
什麼是區塊鏈安全?用戶如何避免加密貨幣詐騙?
2026-07-26 04:40:10
了解區塊鏈安全基礎知識1. 區塊鏈安全依賴加密哈希來確保鏈中每個區塊的資料完整性。 2. 每個區塊包含一個唯一的雜湊值,該值源自於其內容和前一個區塊的雜湊值,形成一個不可變的序列。 3.分散式帳本架構意味著不存在單點故障-每個節點都維護帳本的完整副本。 4. 工作量證明和權益證明等共識機制在添加新區...
什麼是代幣銷毀?為什麼專案要銷毀代幣?
2026-07-22 10:39:51
定義和技術執行1. 代幣銷毀是指透過將數位代幣發送到不可存取的地址(通常稱為銷毀地址或吞噬者地址)來不可逆轉地從流通中刪除數位代幣。 2. 這些地址沒有私鑰,使得任何轉移的代幣永久無法使用,並從功能性供應指標中有效刪除。 3. 在基於以太坊的網路上,經常使用零位址(0x000…dead);在 BSC...
什麼是循環供應?為什麼代幣供應很重要?
2026-07-21 13:40:08
什麼是循環供應? 1. 流通量是指目前可在公開市場上交易和使用的代幣數量。 2. 這些代幣已分發給用戶、交易所或公共錢包,並且沒有被鎖定、保留或保存在不可訪問的合約中。 3. 如果分配給團隊成員、顧問或基金會的代幣仍處於歸屬計畫或智慧合約鎖定狀態,則不包括這些代幣。 4. 循環供應是一個動態指標-它...
什麼是加密貨幣市值?它是如何計算的?
2026-07-24 21:40:18
市場波動模式1. Bitcoin的價格波動通常與美國通膨報告和聯準會利率決策等宏觀經濟指標相關。 2. 山寨幣的走勢經常跟隨Bitcoin的走勢,但在低流動性時期表現出更大的波動性。 3. 交易所交易基金(ETF)的流入和流出直接影響現貨市場深度,並改變短期價格發現機制。 4. 鯨魚錢包活動(以超過...
什麼是去中心化交易所(DEX)?比CEX安全嗎?
2026-07-21 14:00:18
DEX核心架構1. 去中心化交易所完全在區塊鏈基礎設施上運行,不依賴中心化伺服器或託管中介機構。 2. 智能合約控制所有交易執行、訂單撮合和資產結算,無需人工幹預。 3. 使用者使用 MetaMask 或 Trust Wallet 等自助錢包直接與協定互動。 4. 流動性池取代了大多數現代 DEX ...
什麼是自我託管加密貨幣?為什麼人們說「不是你的鑰匙,不是你的硬幣」?
2026-07-26 08:19:37
自我保管的核心原則1. 自我託管是指使用者持有並管理自己的私鑰,而不將控制權委託給任何第三方。 2. 私鑰是授權鏈上交易的密碼學秘密;如果遺失則無法再生。 3. 加密貨幣的所有權只能透過擁有這些金鑰來證明,而不是透過交易所顯示的帳戶餘額來證明。 4. 當資金駐留在中心化交易所時,平台控制底層金鑰;用...
什麼是區塊鏈安全?用戶如何避免加密貨幣詐騙?
2026-07-26 04:40:10
了解區塊鏈安全基礎知識1. 區塊鏈安全依賴加密哈希來確保鏈中每個區塊的資料完整性。 2. 每個區塊包含一個唯一的雜湊值,該值源自於其內容和前一個區塊的雜湊值,形成一個不可變的序列。 3.分散式帳本架構意味著不存在單點故障-每個節點都維護帳本的完整副本。 4. 工作量證明和權益證明等共識機制在添加新區...
什麼是代幣銷毀?為什麼專案要銷毀代幣?
2026-07-22 10:39:51
定義和技術執行1. 代幣銷毀是指透過將數位代幣發送到不可存取的地址(通常稱為銷毀地址或吞噬者地址)來不可逆轉地從流通中刪除數位代幣。 2. 這些地址沒有私鑰,使得任何轉移的代幣永久無法使用,並從功能性供應指標中有效刪除。 3. 在基於以太坊的網路上,經常使用零位址(0x000…dead);在 BSC...
什麼是循環供應?為什麼代幣供應很重要?
2026-07-21 13:40:08
什麼是循環供應? 1. 流通量是指目前可在公開市場上交易和使用的代幣數量。 2. 這些代幣已分發給用戶、交易所或公共錢包,並且沒有被鎖定、保留或保存在不可訪問的合約中。 3. 如果分配給團隊成員、顧問或基金會的代幣仍處於歸屬計畫或智慧合約鎖定狀態,則不包括這些代幣。 4. 循環供應是一個動態指標-它...
什麼是加密貨幣市值?它是如何計算的?
2026-07-24 21:40:18
市場波動模式1. Bitcoin的價格波動通常與美國通膨報告和聯準會利率決策等宏觀經濟指標相關。 2. 山寨幣的走勢經常跟隨Bitcoin的走勢,但在低流動性時期表現出更大的波動性。 3. 交易所交易基金(ETF)的流入和流出直接影響現貨市場深度,並改變短期價格發現機制。 4. 鯨魚錢包活動(以超過...
什麼是去中心化交易所(DEX)?比CEX安全嗎?
2026-07-21 14:00:18
DEX核心架構1. 去中心化交易所完全在區塊鏈基礎設施上運行,不依賴中心化伺服器或託管中介機構。 2. 智能合約控制所有交易執行、訂單撮合和資產結算,無需人工幹預。 3. 使用者使用 MetaMask 或 Trust Wallet 等自助錢包直接與協定互動。 4. 流動性池取代了大多數現代 DEX ...
什麼是自我託管加密貨幣?為什麼人們說「不是你的鑰匙,不是你的硬幣」?
2026-07-26 08:19:37
自我保管的核心原則1. 自我託管是指使用者持有並管理自己的私鑰,而不將控制權委託給任何第三方。 2. 私鑰是授權鏈上交易的密碼學秘密;如果遺失則無法再生。 3. 加密貨幣的所有權只能透過擁有這些金鑰來證明,而不是透過交易所顯示的帳戶餘額來證明。 4. 當資金駐留在中心化交易所時,平台控制底層金鑰;用...
看所有文章














