市值: $2.6065T 1.56%
體積(24小時): $68.1613B 6.30%
恐懼與貪婪指數:

42 - 中性的

  • 市值: $2.6065T 1.56%
  • 體積(24小時): $68.1613B 6.30%
  • 恐懼與貪婪指數:
  • 市值: $2.6065T 1.56%
加密
主題
加密植物
資訊
加密術
影片
頂級加密植物

選擇語言

選擇語言

選擇貨幣

加密
主題
加密植物
資訊
加密術
影片

如何審計智能合約? (安全基礎知識)

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),我們將及時刪除。

相關知識

什麼是 DAI?它與 USDT 有何不同?

什麼是 DAI?它與 USDT 有何不同?

2026-09-08 17:00:22

市場波動模式1. 自2021年以來,Bitcoin超過68%的交易日在24小時窗口內價格波動超過15%。 2. 在流動性較低的時期,尤其是在 02:00 至 06:00 UTC 期間,以太坊表現出比 Bitcoin 更高的日內波動性。 3. 穩定幣脫鉤事件(例如 2023 年 3 月的 USDC 事...

USDT、USDC 和 DAI:這些穩定幣有何不同?

USDT、USDC 和 DAI:這些穩定幣有何不同?

2026-09-20 05:59:44

Bitcoin 減半機制1. Bitcoin 的協議強制執行固定的發行時間表,其中大約每 210,000 個區塊,區塊獎勵就會減少一半。 2. 該事件大約每四年發生一次,直接減少了新進入流通的 BTC 數量。 3.截至2020年減半,礦工每區塊獲得6.25 BTC;下次減少將達到 3.125 BTC...

為什麼穩定幣會失去 1 美元的掛鉤?

為什麼穩定幣會失去 1 美元的掛鉤?

2026-09-08 02:00:03

儲備組成和透明度差距1. 許多穩定幣聲稱完全由現金或短期美國國債支持,但儲備揭露往往缺乏即時驗證機制。 2. 第三方證明可能僅每季進行一次,從而留下較長的窗口,使不匹配的資產負債結構仍未被發現。 3. 一些發行人持有的商業票據或逆回購協議存在未反映在公共資產負債表中的交易對手風險。 4. 鏈下銀行關...

什麼是加密穩定幣 Depeg?

什麼是加密穩定幣 Depeg?

2026-09-24 16:39:41

脫鉤的定義與機制1. 當穩定幣的市場價格顯著偏離其預期錨定價值(對於與美元掛鉤的代幣來說,最常見的是 1.00 美元)時,就會發生加密穩定幣脫鉤。 2. 這種偏差不是短暫的波動,而是持續的信心喪失,體現在訂單簿失衡、流動性撤回和級聯贖回上。 3. 脫鉤源自於結構性缺陷,包括儲備不足或不透明、演算法再...

什麼是加密貨幣中的自我託管以及為什麼它很重要?

什麼是加密貨幣中的自我託管以及為什麼它很重要?

2026-09-10 04:19:32

定義和核心機制1. 自我保管是指個人保留對其私鑰的完全控制權,而不將該權力委託給任何第三方服務的做法。 2. 自我託管錢包的伺服器上不持有資產;相反,它提供了一個使用本地儲存的加密金鑰與區塊鏈網路互動的介面。 3. 使用者的裝置(無論是智慧型手機、桌上型電腦或硬體模組)託管種子短語和私鑰,並且在正常...

託管錢包與非託管錢包:有什麼區別?

託管錢包與非託管錢包:有什麼區別?

2026-09-17 03:19:46

託管錢包定義1. 託管錢包是一種由第三方服務提供者持有和管理用戶私鑰的數位資產儲存解決方案。 2. 使用者透過電子郵件、密碼和雙重認證等登入憑證存取資金,而不是直接加密控制。 3. 簡化帳戶恢復-忘記密碼或失去裝置存取權限的使用者可以透過平台管理的身份驗證協定重新獲得存取權限。 4. 這些錢包通常作...

什麼是 DAI?它與 USDT 有何不同?

什麼是 DAI?它與 USDT 有何不同?

2026-09-08 17:00:22

市場波動模式1. 自2021年以來,Bitcoin超過68%的交易日在24小時窗口內價格波動超過15%。 2. 在流動性較低的時期,尤其是在 02:00 至 06:00 UTC 期間,以太坊表現出比 Bitcoin 更高的日內波動性。 3. 穩定幣脫鉤事件(例如 2023 年 3 月的 USDC 事...

USDT、USDC 和 DAI:這些穩定幣有何不同?

USDT、USDC 和 DAI:這些穩定幣有何不同?

2026-09-20 05:59:44

Bitcoin 減半機制1. Bitcoin 的協議強制執行固定的發行時間表,其中大約每 210,000 個區塊,區塊獎勵就會減少一半。 2. 該事件大約每四年發生一次,直接減少了新進入流通的 BTC 數量。 3.截至2020年減半,礦工每區塊獲得6.25 BTC;下次減少將達到 3.125 BTC...

為什麼穩定幣會失去 1 美元的掛鉤?

為什麼穩定幣會失去 1 美元的掛鉤?

2026-09-08 02:00:03

儲備組成和透明度差距1. 許多穩定幣聲稱完全由現金或短期美國國債支持,但儲備揭露往往缺乏即時驗證機制。 2. 第三方證明可能僅每季進行一次,從而留下較長的窗口,使不匹配的資產負債結構仍未被發現。 3. 一些發行人持有的商業票據或逆回購協議存在未反映在公共資產負債表中的交易對手風險。 4. 鏈下銀行關...

什麼是加密穩定幣 Depeg?

什麼是加密穩定幣 Depeg?

2026-09-24 16:39:41

脫鉤的定義與機制1. 當穩定幣的市場價格顯著偏離其預期錨定價值(對於與美元掛鉤的代幣來說,最常見的是 1.00 美元)時,就會發生加密穩定幣脫鉤。 2. 這種偏差不是短暫的波動,而是持續的信心喪失,體現在訂單簿失衡、流動性撤回和級聯贖回上。 3. 脫鉤源自於結構性缺陷,包括儲備不足或不透明、演算法再...

什麼是加密貨幣中的自我託管以及為什麼它很重要?

什麼是加密貨幣中的自我託管以及為什麼它很重要?

2026-09-10 04:19:32

定義和核心機制1. 自我保管是指個人保留對其私鑰的完全控制權,而不將該權力委託給任何第三方服務的做法。 2. 自我託管錢包的伺服器上不持有資產;相反,它提供了一個使用本地儲存的加密金鑰與區塊鏈網路互動的介面。 3. 使用者的裝置(無論是智慧型手機、桌上型電腦或硬體模組)託管種子短語和私鑰,並且在正常...

託管錢包與非託管錢包:有什麼區別?

託管錢包與非託管錢包:有什麼區別?

2026-09-17 03:19:46

託管錢包定義1. 託管錢包是一種由第三方服務提供者持有和管理用戶私鑰的數位資產儲存解決方案。 2. 使用者透過電子郵件、密碼和雙重認證等登入憑證存取資金,而不是直接加密控制。 3. 簡化帳戶恢復-忘記密碼或失去裝置存取權限的使用者可以透過平台管理的身份驗證協定重新獲得存取權限。 4. 這些錢包通常作...

看所有文章

User not found or password invalid

Your input is correct