SherlockChain:基于高級AI實現的智能合約安全分析框架

關于SherlockChain

SherlockChain是一款功能強大的智能合約安全分析框架,該工具整合了Slither工具(一款針對智能合約的安全工具)的功能,并引入了高級人工智能模型,旨在輔助廣大研究人員針對Solidity、Vyper和Plutus智能合約執行安全分析。

核心功能

1、全面的漏洞檢測:SherlockChain的檢測器可以識別各種不同類型的漏洞,包括重入漏洞和無保護升級等高危安全問題;

2、AI驅動的安全分析:集成的人工智能模型提高了漏洞檢測的精準度,為開發人員提供了高價值的安全實踐建議;

3、無縫集成:SherlockChain支持與流行的開發框架(如Hardhat、Foundry和Brownie)無縫集成,使其易于融入現有的工作流程;

4、直觀的分析報告:SherlockChain可以生成包含有清晰解釋和代碼段的詳細報告,能夠幫助開發人員快速理解和解決已發現的安全問題;

5、自定義分析:框架提供了靈活的API,允許用戶編寫自定義分析和檢測器,并根據實際需求對SherlockChain進行自定義開發;

6、持續性監控:我們可以將SherlockChain集成到自己的CI/CD管道中,為智能合約代碼庫提供持續監控和警報服務;

AI驅動功能

1、智能漏洞優先級確認:人工智能模型分析檢測到的漏洞上下文和潛在影響,為開發人員提供一個需要解決的問題優先級列表;

2、自動修復建議:人工智能組件會提供漏洞修復和代碼修改方案,以解決已識別的漏洞,加快修復過程;

3、主動安全審計:SherlockChain的人工智能模型會持續監控目標代碼庫,主動識別新出現的威脅并提供預警信號;

4、自然語言交互:用戶可以使用自然語言與SherlockChain進行交互,從而查詢工具、請求特定分析并收到詳細響應;

工具安裝

由于該工具基于Python 3開發,因此我們首先需要在本地設備上安裝并配置好最新版本的Python 3環境。

接下來,廣大研究人員可以直接使用下列命令將該項目源碼克隆至本地:

git clone https://github.com/0xQuantumCoder/SherlockChain.git

然后切換到項目目錄中,執行安裝腳本即可:

cd SherlockChainpip install .

工具使用

1、漏洞檢測:--detect和--exclude-detectors選項允許用戶指定要執行的漏洞檢測器,包括內置的和AI驅動的檢測器;

2、分析報告:--report-format、--report-output和各種--report-*選項可以控制分析報告的形式,支持以不同格式生成報告,例如JSON、Markdown和SARIF等;

3、過濾器:--filter-*選項可以對報告的問題根據嚴重性、影響程度、可信度和其他標準進行過濾;

4、AI集成:--ai-*選項允許用戶配置和控制SherlockChain的AI功能,例如優先考慮高影響漏洞、啟用特定的人工智能檢測器和管理人工智能模型配置等;

5、與開發框架的集成:--truffle和--truffle-build-directory選項允許我們將SherlockChain集成到Truffle之類的流行開發框架中;

6、雜項:提供了用于編譯智能合約、枚舉檢測器和自定義分析過程的附加選項;

下列命令可以查看工具的幫助選項:

sherlockchain --help

執行上述命令后,即可查看到SherlockChain框架可提供的全部參數選項以及對應的描述信息:

usage: sherlockchain [-h] [--version] [--solc-remaps SOLC_REMAPS] [--solc-settings SOLC_SETTINGS][--solc-version SOLC_VERSION] [--truffle] [--truffle-build-directory TRUFFLE_BUILD_DIRECTORY][--truffle-config-file TRUFFLE_CONFIG_FILE] [--compile] [--list-detectors][--list-detectors-info] [--detect DETECTORS] [--exclude-detectors EXCLUDE_DETECTORS][--print-issues] [--json] [--markdown] [--sarif] [--text] [--zip] [--output OUTPUT][--filter-paths FILTER_PATHS] [--filter-paths-exclude FILTER_PATHS_EXCLUDE][--filter-contracts FILTER_CONTRACTS] [--filter-contracts-exclude FILTER_CONTRACTS_EXCLUDE][--filter-severity FILTER_SEVERITY] [--filter-impact FILTER_IMPACT][--filter-confidence FILTER_CONFIDENCE] [--filter-check-suicidal][--filter-check-upgradeable] [--filter-check-erc20] [--filter-check-erc721][--filter-check-reentrancy] [--filter-check-gas-optimization] [--filter-check-code-quality][--filter-check-best-practices] [--filter-check-ai-detectors] [--filter-check-all][--filter-check-none] [--check-all] [--check-suicidal] [--check-upgradeable][--check-erc20] [--check-erc721] [--check-reentrancy] [--check-gas-optimization][--check-code-quality] [--check-best-practices] [--check-ai-detectors] [--check-none][--check-all-detectors] [--check-all-severity] [--check-all-impact] [--check-all-confidence][--check-all-categories] [--check-all-filters] [--check-all-options] [--check-all][--check-none] [--report-format {json,markdown,sarif,text,zip}] [--report-output OUTPUT][--report-severity REPORT_SEVERITY] [--report-impact REPORT_IMPACT][--report-confidence REPORT_CONFIDENCE] [--report-check-suicidal][--report-check-upgradeable] [--report-check-erc20] [--report-check-erc721][--report-check-reentrancy] [--report-check-gas-optimization] [--report-check-code-quality][--report-check-best-practices] [--report-check-ai-detectors] [--report-check-all][--report-check-none] [--report-all] [--report-suicidal] [--report-upgradeable][--report-erc20] [--report-erc721] [--report-reentrancy] [--report-gas-optimization][--report-code-quality] [--report-best-practices] [--report-ai-detectors] [--report-none][--report-all-detectors] [--report-all-severity] [--report-all-impact][--report-all-confidence] [--report-all-categories] [--report-all-filters][--report-all-options] [--report-all] [--report-none] [--ai-enabled] [--ai-disabled][--ai-priority-high] [--ai-priority-medium] [--ai-priority-low] [--ai-priority-all][--ai-priority-none] [--ai-confidence-high] [--ai-confidence-medium] [--ai-confidence-low][--ai-confidence-all] [--ai-confidence-none] [--ai-detectors-all] [--ai-detectors-none][--ai-detectors-specific AI_DETECTORS_SPECIFIC] [--ai-detectors-exclude AI_DETECTORS_EXCLUDE][--ai-models-path AI_MODELS_PATH] [--ai-models-update] [--ai-models-download][--ai-models-list] [--ai-models-info] [--ai-models-version] [--ai-models-check][--ai-models-upgrade] [--ai-models-remove] [--ai-models-clean] [--ai-models-reset][--ai-models-backup] [--ai-models-restore] [--ai-models-export] [--ai-models-import][--ai-models-config AI_MODELS_CONFIG] [--ai-models-config-update] [--ai-models-config-reset][--ai-models-config-export] [--ai-models-config-import] [--ai-models-config-list][--ai-models-config-info] [--ai-models-config-version] [--ai-models-config-check][--ai-models-config-upgrade] [--ai-models-config-remove] [--ai-models-config-clean][--ai-models-config-reset] [--ai-models-config-backup] [--ai-models-config-restore][--ai-models-config-export] [--ai-models-config-import] [--ai-models-config-path AI_MODELS_CONFIG_PATH][--ai-models-config-file AI_MODELS_CONFIG_FILE] [--ai-models-config-url AI_MODELS_CONFIG_URL][--ai-models-config-name AI_MODELS_CONFIG_NAME] [--ai-models-config-description AI_MODELS_CONFIG_DESCRIPTION][--ai-models-config-version-major AI_MODELS_CONFIG_VERSION_MAJOR][--ai-models-config-version-minor AI_MODELS_CONFIG_VERSION_MINOR][--ai-models-config-version-patch AI_MODELS_CONFIG_VERSION_PATCH][--ai-models-config-author AI_MODELS_CONFIG_AUTHOR][--ai-models-config-license AI_MODELS_CONFIG_LICENSE][--ai-models-config-url-documentation AI_MODELS_CONFIG_URL_DOCUMENTATION][--ai-models-config-url-source AI_MODELS_CONFIG_URL_SOURCE][--ai-models-config-url-issues AI_MODELS_CONFIG_URL_ISSUES][--ai-models-config-url-changelog AI_MODELS_CONFIG_URL_CHANGELOG][--ai-models-config-url-support AI_MODELS_CONFIG_URL_SUPPORT][--ai-models-config-url-website AI_MODELS_CONFIG_URL_WEBSITE][--ai-models-config-url-logo AI_MODELS_CONFIG_URL_LOGO][--ai-models-config-url-icon AI_MODELS_CONFIG_URL_ICON][--ai-models-config-url-banner AI_MODELS_CONFIG_URL_BANNER][--ai-models-config-url-screenshot AI_MODELS_CONFIG_URL_SCREENSHOT][--ai-models-config-url-video AI_MODELS_CONFIG_URL_VIDEO][--ai-models-config-url-demo AI_MODELS_CONFIG_URL_DEMO][--ai-models-config-url-documentation-api AI_MODELS_CONFIG_URL_DOCUMENTATION_API][--ai-models-config-url-documentation-user AI_MODELS_CONFIG_URL_DOCUMENTATION_USER][--ai-models-config-url-documentation-developer AI_MODELS_CONFIG_URL_DOCUMENTATION_DEVELOPER][--ai-models-config-url-documentation-faq AI_MODELS_CONFIG_URL_DOCUMENTATION_FAQ][--ai-models-config-url-documentation-tutorial AI_MODELS_CONFIG_URL_DOCUMENTATION_TUTORIAL][--ai-models-config-url-documentation-guide AI_MODELS_CONFIG_URL_DOCUMENTATION_GUIDE][--ai-models-config-url-documentation-whitepaper AI_MODELS_CONFIG_URL_DOCUMENTATION_WHITEPAPER][--ai-models-config-url-documentation-roadmap AI_MODELS_CONFIG_URL_DOCUMENTATION_ROADMAP][--ai-models-config-url-documentation-blog AI_MODELS_CONFIG_URL_DOCUMENTATION_BLOG][--ai-models-config-url-documentation-community AI_MODELS_CONFIG_URL_DOCUMENTATION_COMMUNITY]

許可證協議

本項目的開發與發布遵循AGPL-3.0開源許可協議。

項目地址

SherlockChain:【GitHub傳送門】

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/36577.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/36577.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/36577.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

前端 Array.sort() 源碼學習

源碼地址 V8源碼Array 710行開始為sort()相關 Array.sort()方法是那種排序呢&#xff1f; 去看源碼主要是源于這個問題 // In-place QuickSort algorithm. // For short (length < 22) arrays, insertion sort is used for efficiency.源碼中的第一句話就回答了我的問題…

Potato(土豆)一款輕量級的開源文本標注工具(二)

示例項目&#xff08;模版&#xff09; Potato 旨在提高數據標注的可復制性&#xff0c;并降低研究人員設置新標注任務的成本。因此&#xff0c;Potato 提供了一系列預定義的示例項目&#xff0c;并歡迎公眾向項目中心貢獻。如果您使用 Potato 進行了自己的標注工作&#xff0…

海思平臺使用ITTP_Stream調試sensor

目錄 相關資料1.ISP相關資料2.MIPI RX相關資料3.sensor資料4.MIPI標準 準備工作1.準備sensor驅動2.準備sample vio3.準備上位機和下位機程序 運行1.只運行HiPQTool1.1.板端運行1.2.PC端運行HiPQTool 2.使用ITTP_Stream2.1.板端運行2.2.打開上位機軟件 相關資料 1.ISP相關資料 …

uniapp開發手機APP、H5網頁、微信小程序、長列表插件

ml-list 插件地址&#xff1a;https://ext.dcloud.net.cn/plugin?id18928 ml-list介紹 1、ml-list 列表組件&#xff0c;包含基本列表樣式、可擴展插槽機制、長列表性能優化、多端兼容。 2、ml-list 低代碼列表&#xff0c;幫助使用者快速構建列表&#xff0c;簡單配置&…

秋招突擊——6/26~6/27——復習{二維背包問題——寵物小精靈之收服}——新作{串聯所有單詞的字串}

文章目錄 引言復習二維背包問題——寵物小精靈之收服個人實現重大問題 滾動數組優化實現 新作串聯所有單詞的字串個人實現參考實現 總結 引言 今天應該是舟車勞頓的一天&#xff0c;頭一次在機場刷題&#xff0c;不學習新的東西了&#xff0c;就復習一些之前學習的算法了。 復…

百度Apollo的PublicRoadPlanner一些移植Ros2-foxy的思路(持續更新)

如今的PublicRoadPlanner就是之前耳熟能詳的EM planner 計劃 —— ROS2與CARLA聯合仿真 結構化場景: 規劃算法:EM-planner 控制算法:MPC和PID 非結構化場景: 規劃算法采用Hybrid A* (1)小車模型搭建(計劃參考Github上Hybrid上的黑車,比較炫酷) (2)車輛里程計: 位…

深入比較:Batch文件與Shell腳本的異同

在操作系統中&#xff0c;自動化腳本是一種常見的工具&#xff0c;用于執行一系列自動化命令或程序。Windows和類Unix系統都提供了各自的腳本解決方案&#xff1a;Batch文件&#xff08;在Windows中&#xff09;和Shell腳本&#xff08;在類Unix系統中&#xff09;。本文將詳細…

有哪些方法可以恢復ios15不小心刪除的照片?

ios15怎么恢復刪除的照片&#xff1f;在手機相冊里意外刪除了重要的照片&#xff1f;別擔心&#xff01;本文將為你介紹如何在iOS 15系統中恢復已刪除的照片。無需專業知識&#xff0c;只需要按照以下步驟操作&#xff0c;你就能輕松找回寶貴的回憶。 一、從iCloud云端恢復刪除…

SRC公益上分的小技巧一

前言 之前發布的文章&#xff0c;例如SRC中的一些信息收集姿勢- Track 知識社區 - 掌控安全在線教育 - Powered by 掌控者 里面就有提到若依系統&#xff0c;默認賬號密碼非常簡單 是 admin / admin123 但是&#xff0c;往往我們去挖掘的時候很容易出現 這說明了若依系統的門…

Viewer.js 圖片預覽插件使用

參考&#xff1a;Viewer.js 圖片預覽插件使用 demo鏈接&#xff1a;viewerjs_demo

【Linux:文件描述符】

文件描述符&#xff1a; 文件描述符的分配原則&#xff1a;最小未分配原則 每一個進程中有一個task_struct結構體&#xff08;PCB)&#xff0c;而task_struct中含有struct file_sturct*file的指針&#xff0c;該指針指向了一個struct files_struct的結構體該結構體中含有一個f…

PHP框架詳解- symfony框架

Symfony框架是一個開源的PHP框架&#xff0c;由SensioLabs公司開發并維護&#xff0c;最早發布于2005年。它旨在為Web應用程序的開發提供一個高效且結構化的環境。Symfony框架的設計理念是減少Web應用程序的創建和維護時間&#xff0c;并避免重復性任務。 Symfony框架采用MVC&…

PG最大連接數

在 PostgreSQL 數據庫中&#xff0c;您可以使用 SQL 查詢來獲取最大連接數、當前連接數以及每個數據庫的連接數。以下是一些常用的查詢&#xff1a; 查看最大連接數&#xff1a; PostgreSQL 的最大連接數由配置參數 max_connections 決定。您可以在 postgresql.conf 文件中設置…

使用IMAP服務獲取163郵箱的未讀郵件

使用IMAP服務獲取163郵箱的未讀郵件 整體的邏輯思路如下&#xff1a; 開啟163郵箱的IMAP服務&#xff0c;拿到授權碼用于登錄IMAP服務登錄IMAP服務&#xff0c;獲取郵箱的未讀郵件列表遍歷未讀郵件列表&#xff0c;獲取郵件內容 # 導入必要的庫 import os import imaplib im…

三大工作流引擎技術Activiti、Flowable、Camunda選型指南

文章目錄 前言1 流程引擎發展歷程2 流程引擎主要概念BPM (Business Process Management)BPMN (Business Process Model and Notation)CMMN (Case Management Model and Notation)DMN (Decision Model and Notation)事件&#xff08;Event&#xff09;順序流&#xff08;Sequenc…

從靜電到浪涌,全面防護:雷卯多電壓等級電源保護設計方案匯總

在當今數字化、電氣化日益加速的時代&#xff0c;電子設備和電力系統面臨著前所未有的挑戰&#xff0c;其中靜電放電(ESD)、浪涌以及雷擊等瞬態事件成為了威脅設備穩定性和壽命的關鍵因素。從精密的消費電子產品到工業級控制系統&#xff0c;從智能家居到新能源汽車&#xff0c…

區塊鏈技術的核心要素:共識機制、加密技術與分布式賬本

區塊鏈聽起來像個非常高大上的技術&#xff0c;其實它的核心原理并不難理解。今天我們要聊的就是區塊鏈的三個核心要素&#xff1a;共識機制、加密技術和分布式賬本。想象一下區塊鏈是一個巨大的數字筆記本&#xff0c;我們要弄清楚大家如何共同寫這個筆記本&#xff0c;又如何…

用一個實例看如何分享大量照片 續篇二,關于Exif (Exchangeable Image File) - 可交換圖像文件

續篇二&#xff1a;說說關于照片隱含的 Exif (Exchangeable Image File) 可交換圖像文件 數碼照片的Exif 參數有很多&#xff0c;重要的Exif信息&#xff1a;拍攝日期、時間、拍攝器材、GPS信息。 當然這主要對自己的檔案有意義&#xff0c;如果放到網上還是建議抹去這些信息。…

Bad owner or permissions on C:\\Users\\username/.ssh/config > 過程試圖寫入的管道不存在。

使用windows連接遠程服務器出現Bad owner or permissions 錯誤 問題&#xff1a; 需要修復文件權限 SSH 配置文件應具有受限權限以防止未經授權的訪問 確保只有用戶對該.ssh/config文件具有讀取權限 解決方案&#xff1a; 在windows下打開命令行&#xff0c;通過以下命令打開文…

C++編程(四)this指針 常函數 常對象 靜態成員

文章目錄 一、this指針&#xff08;一&#xff09;概念&#xff08;二&#xff09;顯式使用this指針的場景1. 當形參和成員變量名一致時2. 返回對象自身的時候必須要使用this指針3. 在類中銷毀一個對象 二、常函數和常對象&#xff08;一&#xff09;常函數1. 概念2. 語法格式 …