T

algorand-vulnerability-scanner

作者 trailofbits

algorand-vulnerability-scanner 是一個針對 Algorand TEAL 與 PyTeal 的安全稽核技能。它可協助找出 11 類常見問題,包括 rekeying 攻擊、fee 驗證缺口、欄位檢查與存取控制缺陷。建議在正式人工稽核前,先用 algorand-vulnerability-scanner 技能做一輪實用的初步檢查。

Stars4.9k
收藏0
評論0
加入時間2026年4月30日
分類安全稽核
安裝指令
npx skills add trailofbits/skills --skill algorand-vulnerability-scanner
編輯評分

這個技能的評分為 84/100,表示它對需要 Algorand 專屬安全掃描器的目錄使用者來說,是相當值得收錄的選項。這個 repository 提供了足夠的結構、觸發條件與漏洞涵蓋範圍,讓 agent 在應用時比起通用提示詞更少猜測;不過若能補上更明確的執行方式與工具整合細節,採用體驗還會更好。

84/100
亮點
  • 針對 TEAL/PyTeal 稽核、稽核前檢查,以及驗證 Algorand 合約修補結果,提供清楚且具體的觸發範圍。
  • 實務內容相當完整:包含 11 種漏洞模式、偵測模式,以及隨附清單中的緩解建議。
  • 適合 agent 使用的 repository 深度不錯,包含多個標題、程式碼區塊,並提到 Tealer 與 repo/file 標記。
注意事項
  • 未提供安裝指令或可執行腳本,因此使用者可能需要自行推敲如何把流程落地。
  • 佐證內容偏向文件而非自動化,對於追求即裝即用與可重複執行的 agent 而言,可能會受限。
總覽

algorand-vulnerability-scanner 技能概覽

algorand-vulnerability-scanner 是一個專注於 Algorand 智慧合約安全稽核的技能,適用於 TEAL 和 PyTeal。它能幫你抓出一般程式碼審查常常漏掉的平台特定問題,特別是在交易驗證、rekeying、手續費,以及有狀態應用邏輯這幾個面向。當你需要在手動稽核前先做一輪實用的安全初篩,或是想拿已知的 Algorand 攻擊模式來驗證修補是否到位時,algorand-vulnerability-scanner 技能就很適合。

這個技能適合誰

最適合的使用者:審計人員、智慧合約工程師,以及正在審查 Algorand 專案的安全團隊。當程式碼庫包含 .teal 檔案、PyTeal imports、Beaker-based 應用,或是大量依賴 TxnGtxnGlobalInnerTxnBuilder 的交易邏輯時,這個技能特別有用。

這個技能擅長什麼

這個技能是圍繞 11 種常見的 Algorand 漏洞模式設計,因此它在平台特定偵測上比廣泛的架構審查更強。也正因如此,它很適合找出像是缺少 RekeyTo 檢查、不安全的交易假設、以及薄弱的欄位驗證這類問題。

什麼情況下不要只靠它

它不是完整稽核,也不能取代協定知識、不變量推理,或第二位人工審查。如果你的合約依賴非典型交易群組、自訂授權邏輯,或複雜的跨合約流程,請把輸出當成安全檢查清單,而不是最後結論。

如何使用 algorand-vulnerability-scanner 技能

安裝並載入技能

在安裝 algorand-vulnerability-scanner 的步驟中,先從 Trail of Bits skills repo 加入它,接著把 skill files 開啟到上下文裡:

npx skills add trailofbits/skills --skill algorand-vulnerability-scanner

安裝完成後,先讀技能說明,再搭配支援的 pattern reference,理解 scanner 實際在看什麼。

先從正確的檔案開始

先讀這些:

  • SKILL.md:範圍、工作流程與平台偵測
  • resources/VULNERABILITY_PATTERNS.md:11 項模式檢查清單,以及具體的脆弱/安全範例

這兩者要一起看,因為 SKILL.md 會告訴你什麼情況該用這個技能,而 resources/VULNERABILITY_PATTERNS.md 則會展示在 algorand-vulnerability-scanner 使用流程中,你應該期待看到哪些具體檢查。

給這個技能一個偏安全稽核的提示詞

想拿到最好結果,提示詞要清楚寫出合約類型、程式碼範圍,以及審查目標。好的輸入會明確指出你是在審單一檔案、整個應用,還是某個修補。

範例提示詞:

Review this PyTeal approval program for Algorand security issues. Focus on rekeying, fee validation, transaction group assumptions, and access control. Flag concrete lines or patterns that match the algorand-vulnerability-scanner checklist and explain the exploit path.

如果你已經知道疑慮點,也可以直接說:

Audit this TEAL smart signature for unchecked fee exposure and missing sender validation. Prioritize issues that could drain funds or allow unauthorized execution.

會產生更好結果的工作流程

  1. 先判斷目標是 TEAL、PyTeal、smart signature,還是有狀態應用。
  2. 確認程式碼裡有這個技能預期的 Algorand 標記,例如 TxnGtxnGlobalInnerTxnBuilder
  3. 要求以漏洞模式為主的 checklist 式審查,而不是泛泛的程式碼評論。
  4. 如果已經出現發現結果,就用實際的 function 或 transaction group 重新提示,鎖定那條風險路徑。

algorand-vulnerability-scanner 技能 FAQ

這能取代完整的安全稽核嗎?

不能。algorand-vulnerability-scanner 技能最適合當作高訊號的稽核前篩選與分流工具。它能快速浮現已知的 Algorand bug 類型,但不能證明合約一定安全。

新手也適合用嗎?

適合,只要你的目標是理解在 Algorand 程式碼裡該檢查什麼。這份 pattern list 可以教你在這個生態裡,什麼情況通常才算「安全」,尤其是在 RekeyTo、手續費,以及 grouped transactions 這些地方。

它和一般提示詞有什麼不同?

一般提示詞可能只會給你泛用的程式碼審查建議。這個技能則是以 Algorand 專屬的漏洞模式為核心,因此更能指出對安全稽核真正重要的交易欄位與合約行為。

什麼情況下這個技能不適合用?

如果你不是在審查 Algorand 合約、程式碼庫裡沒有 TEAL/PyTeal 邏輯,或者你只需要知道某個合約在做什麼,這個技能就不適合。它也不太適合非安全性任務,例如功能設計或 UX 審查。

如何改善 algorand-vulnerability-scanner 技能的效果

先把合約脈絡說清楚

提升品質最大的一步,是先說明你正在審查哪一種合約,以及它採用什麼執行模型。例如,標明它是 smart signature、有狀態應用,還是 grouped transaction workflow。這樣能幫 algorand-vulnerability-scanner 技能把重點放在正確的檢查項目上。

直接說出具體的安全問題

如果你已經知道風險區域,就不要只問「幫我 review」。更具體的問法通常會得到更精準的發現:

  • “Check for unprotected rekeying in all payment paths.”
  • “Look for missing fee caps in this smart signature.”
  • “Verify that grouped calls cannot bypass authorization through Gtxn ordering.”

提供相關的程式碼片段

如果可以,請提供 approval program、可疑的 function,或 transaction-handling branch,而不是整個 repo。algorand-vulnerability-scanner 技能在能直接檢視決定「誰可以呼叫什麼、使用哪些欄位、以及順序如何」的精確邏輯時,效果最好。

針對第一輪結果再迭代

如果輸出太廣,請求第二輪並縮小到單一漏洞類型、單一進入點,或單一 transaction group。如果輸出太窄,就再要求 pattern list 裡相鄰的檢查項,特別是 rekeying、transaction fields 和 state validation 這幾類。

評分與評論

尚無評分
分享你的評論
登入後即可為這項技能評分並留言。
G
0/10000
最新評論
儲存中...