Creator · trailofbits
Last updated · Aug 24, 2026
algorand-vulnerability-scanner
Scans Algorand smart contracts for 11 common vulnerabilities including rekeying attacks, unchecked transaction fees, missing field validations, and access control issues. Use when auditing Algorand projects (TEAL/PyTeal).
Sandbox only
Install targets
Codex install prompt
Install the "algorand-vulnerability-scanner" agent skill from https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Scans Algorand smart contracts for 11 common vulnerabilities including rekeying attacks, unchecked transaction fees, missing field validations, and access control issues. Use when auditing Algorand projects (TEAL/PyTeal). After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"trailofbits-algorand-vulnerability-scanner","task":"Install algorand-vulnerability-scanner","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Coding and developer agents
Code review, repo analysis, testing, CI, GitHub, DevOps, and developer workflow skills.
Scenario
GitHub automation
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add trailofbits/skills --skill algorand-vulnerability-scanner
Maintenance
fresh
Pushed today
Risk
Risky
Permission surface may require sandboxing
GitHub quality
6.8K
86/100 Quality · 82/100 Trust
Coverage tags
Review notes
Permission surface may require sandboxing · Potential broker, wallet, exchange, or real-money execution surface; sandbox and explicit approval are required
Agent adoption scorecard
Trust, audit, and install readiness at a glance
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
ExcellentHigh-confidence pick with strong adoption and healthy maintenance signals.
Trust
Sandbox onlyUseful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
Audit
RiskyA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Sandbox only
Run only in a sandbox and compare close alternatives before using it for real work.
Stars
6.8K GitHub stars
Repo activity
6.8K stars, 585 forks
Maintenance
Pushed today
License
CC-BY-SA-4.0
Install
npx skills add trailofbits/skills --skill algorand-vulnerability-scanner
Install safety
standard package or runtime install path
Permission surface
shell or command execution, filesystem or document access
Agent outcomes
No agent outcome data yet
Docs
Strong README/SKILL.md context
Risk summary
Review before production
- This skill may touch real-money trading, broker, wallet, or exchange operations; use only in a sandbox with explicit approval.
- Quality score needs review
- Permission surface needs review: shell or command execution, filesystem or document access
- Permission surface: shell or command execution, filesystem or document access
Install readiness
Install path available
- Install path is available
- Repository evidence is available
- License is declared
- No Agent Proven outcome evidence yet
Agent-readable metadata
Machine-readable decision data for this skill.
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
View technical data+
Agent-readable metadata
Machine-readable decision data for this skill.
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
- GitHub automation workflows
- Claude Code teams
- teams that value GitHub adoption signals
- Inspect repository metadata
Suited agents
Install decision
- Command
- npx skills add trailofbits/skills --skill algorand-vulnerability-scanner
- Policy
- block
- Human review
- yes
Trust and risk
- Trust
- 74/100
- Audit
- 87/100
- Risk level
- Risky
Outcome loop
- Endpoint
- /api/agent/outcome
- Event ID
- resolve
- Outcomes
- 5
Install command
npx skills add trailofbits/skills --skill algorand-vulnerability-scannerDo not use when
- teams that need a vendor-supported SLA
- high-compliance environments without internal security review
- No OpenAgentSkill engagement data yet
- Audit risk risky exceeds max_risk=medium
- High-risk permission hints: Shell or command execution
Agent safety v2
55/100 · Avoid automatic install
This skill should not be selected by an agent without explicit human security review.
Do not auto-install. Inspect the source, dependencies, and permission surface first.
high
Shell or command execution
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Network access
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Filesystem access
Skill may read or write project files, documents, generated artifacts, or local workspace state.
medium
Database access
Skill may inspect schemas, query databases, or work with persistent stores.
- Audit risk risky exceeds max_risk=medium
- High-risk permission hints: Shell or command execution
- Permission surface may require sandboxing
Agent resolve plan
Let an agent verify fit before installing.
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20algorand-vulnerability-scanner%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20algorand-vulnerability-scanner%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/trailofbits-algorand-vulnerability-scanner/install
Agent should check
- Task fit and alternatives from Resolve API.
- Audit score, trust score, and safety policy warnings.
- Install target compatibility for Codex, Claude Code, Cursor, or CLI.
Copy prompt
Task: Use algorand-vulnerability-scanner in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20algorand-vulnerability-scanner%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/trailofbits-algorand-vulnerability-scanner/install
Install command: npx skills add trailofbits/skills --skill algorand-vulnerability-scanner
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Give an agent the install path, not another directory page.
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/trailofbits-algorand-vulnerability-scanner/install
LLM text format
/api/skills/trailofbits-algorand-vulnerability-scanner/install?format=text
Find alternatives
/api/skills/search?q=algorand-vulnerability-scanner&limit=3
Agent prompt
Use algorand-vulnerability-scanner for this task. Review https://www.openagentskill.com/api/skills/trailofbits-algorand-vulnerability-scanner/install, then install with: npx skills add trailofbits/skills --skill algorand-vulnerability-scannerRegistry metadata
Agent-readable profile for automatic skill selection.
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/trailofbits-algorand-vulnerability-scanner
LLM text
/api/registry/manifest/trailofbits-algorand-vulnerability-scanner?format=text
Install alias
/api/registry/install/trailofbits-algorand-vulnerability-scanner
Recommend
/api/registry/recommend?task=Use%20algorand-vulnerability-scanner%20in%20an%20agent%20workflow&limit=3
Agent fit
GitHub automation
Use-case tags
Platforms
Claude Code
Audit report
Risky · 87/100
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Primary pick for GitHub automation
Use this as a leading candidate, then validate the README and install path in your own agent stack.
Role in stack
Primary pick
Primary fit
GitHub automation
Trust label
Production-ready
Install path
Command ready
Use when
- GitHub automation workflows
- Claude Code teams
- teams that value GitHub adoption signals
Evidence
- 6,823 GitHub stars
- recent repository activity
- install command or GitHub repo available
- 86/100 quality profile
review first
- No OpenAgentSkill engagement data yet
Implementation path
- 1Install it in a sandbox agent and run one GitHub automation task end to end.
- 2Compare output quality, latency, and failure behavior against at least one alternative.
- 3Promote it into production only after reviewing repository permissions, license, and maintenance signals.
Trust profile
Sandbox only
Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
GitHub adoption
PASS6.8K GitHub stars
Stars/forks activity
PASS6.8K stars, 585 forks; issue activity unavailable in current metadata
Recent maintenance
PASSPushed today
License clarity
PASSCC-BY-SA-4.0
Good signals
- AI review approved
- Install path is available
- Repository evidence is available
- Recently maintained repository
- Large GitHub adoption signal
- Install command has no obvious high-risk pattern
- Outcome loop is ready but needs first real agent run
Review before install
- This skill may touch real-money trading, broker, wallet, or exchange operations; use only in a sandbox with explicit approval.
- Quality score needs review
- Permission surface needs review: shell or command execution, filesystem or document access
- Permission surface: shell or command execution, filesystem or document access
- No real agent outcome reports yet
- Human review required before unattended installation
Recommended action
Run only in a sandbox and compare close alternatives before using it for real work.
Quality profile
Excellent candidate for agent workflows
High-confidence pick with strong adoption and healthy maintenance signals.
Workflow fit
Use this skill in these scenarios
Manage repositories
GitHub automation
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Build and ship code
Coding agents
I need a coding agent that can understand a repository, edit code, and review pull requests.
Investigate faster
Research agents
I need my agent to research a topic, compare sources, and produce a concise report.
Workflow fit
Add it to a complete workflow
Inspect, patch, and verify code
Coding review agent
A workflow for software agents that inspect repositories, review pull requests, generate tests, and turn findings into shippable patches.
Find, compare, and synthesize
Research report agent
A workflow for agents that gather sources, compare claims, summarize long material, and draft useful research briefs.
Operate and verify web apps
Browser QA agent
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Alternative shortlist
Compare before you install
Similar skills that may fit this task.
Wazuh
Wazuh - The Open Source Security Platform. Unified XDR and SIEM protection for endpoints and cloud workloads.
Maigret
🕵️♂️ Collect a dossier on a person by username from 3000+ sites
Nuclei
Nuclei is a fast, customizable vulnerability scanner powered by the global security community and built on a simple YAML-based DSL, enabling collaboration to tackle trending vulnerabilities on the internet. It helps you find vulnerabilities in your applications, APIs, networks, DNS, and cloud configurations.
Infisical
Infisical is the open-source platform for secrets, certificates, and privileged access management.
Overview
--- name: algorand-vulnerability-scanner description: Scans Algorand smart contracts for 11 common vulnerabilities including rekeying attacks, unchecked transaction fees, missing field validations, and access control issues. Use when auditing Algorand projects (TEAL/PyTeal). ---
# Algorand Vulnerability Scanner
## 1. Purpose
Systematically scan Algorand smart contracts (TEAL and PyTeal) for platform-specific security vulnerabilities documented in Trail of Bits' "Not So Smart Contracts" database. This skill encodes 11 critical vulnerability patterns unique to Algorand's transaction model.
## 2. When to Use This Skill
- Auditing Algorand smart contracts (stateful applications or smart signatures) - Reviewing TEAL assembly or PyTeal code - Pre-audit security assessment of Algorand projects - Validating fixes for reported Algorand vulnerabilities - Training team on Algorand-specific security patterns
## 3. Platform Detection
### File Extensions & Indicators - **TEAL files**: `.teal` - **PyTeal files**: `.py` with PyTeal imports
### Language/Framework Markers ```python # PyTeal indicators from pyteal import * from algosdk import *
# Common patterns Txn, Gtxn, Global, InnerTxnBuilder OnComplete, ApplicationCall, TxnType @router.method, @Subroutine ```
### Project Structure - `approval_program.py` / `clear_program.py` - `contract.teal` / `signature.teal` - References to Algorand SDK or Beaker framework
### Tool Support - **Tealer**: Trail of Bits static analyzer for Algorand - Installation: `uv tool install tealer` (ensure uv's tool bin dir is on PATH) - Usage: `tealer contract.teal --detect all`
---
## 4. How This Skill Works
When invoked, I will:
1. **Search your codebase** for TEAL/PyTeal files 2. **Analyze each file** for the 11 vulnerability patterns 3. **Report findings** with file references and severity 4. **Provide fixes** for each identified issue 5. **Run Tealer** (if installed) for automated detection
---
## 5. Example Output
When vulnerabilities are found, you'll get a report like this:
``` === ALGORAND VULNERABILITY SCAN RESULTS ===
Project: my-algorand-dapp Files Scanned: 3 (.teal, .py) Vulnerabilities Found: 2
---
[CRITICAL] Rekeying Attack File: contracts/approval.py:45 Pattern: Missing RekeyTo validation
Code: If(Txn.type_enum() == TxnType.Payment, Seq([ # Missing: Assert(Txn.rekey_to() == Global.zero_address()) App.globalPut(Bytes("balance"), balance + Txn.amount()), Approve() ]) )
Issue: The contract doesn't validate the RekeyTo field, allowing attackers to change account authorization and bypass restrictions. ```
---
## 6. Vulnerability Patterns (11 Patterns)
I check for 11 critical vulnerability patterns unique to Algorand. For detailed detection patterns, code examples, mitigations, and testing strategies, see [VULNERABILITY_PATTERNS.md](resources/VULNERABILITY_PATTERNS.md).
### Pattern Summary:
1. **Rekeying Vulnerability** ⚠️ CRITICAL - Unchecked RekeyTo field 2. **Missing Transaction Verification** ⚠️ CRITICAL - No GroupSize/GroupIndex checks 3. **Group Transaction Manipulation** ⚠️ HIGH - Unsafe group transaction handling 4. **Asset Clawback Risk** ⚠️ HIGH - Missing clawback address checks 5. **Application State Manipulation** ⚠️ MEDIUM - Unsafe global/local state updates 6. **Asset Opt-In Missing** ⚠️ HIGH - No asset opt-in validation 7. **Minimum Balance Violation** ⚠️ MEDIUM - Account below minimum balance 8. **Close Remainder To Check** ⚠️ HIGH - Unchecked CloseRemainderTo field 9. **Application Clear State** ⚠️ MEDIUM - Unsafe clear state program 10. **Atomic Transaction Ordering** ⚠️ HIGH - Assuming transaction order 11. **Logic Signature Reuse** ⚠️ HIGH - Logic sigs without uniqueness constraints
For complete vulnerability patterns with code examples, see [VULNERABILITY_PATTERNS.md](resources/VULNERABILITY_PATTERNS.md).
## 7. Scanning Workflow
### Step 1: Platform Identification 1. Confirm file extensions (`.teal`, `.py`) 2. Identify framework (PyTeal, Beaker, pure TEAL) 3. Determine contract type (stateful application vs smart signature) 4. Locate approval and clear state programs
### Step 2: Static Analysis with Tealer ```bash # Run Tealer on contract tealer contract.teal --detect all
# Or specific detectors tealer contract.teal --detect unprotected-rekey,group-size-check,update-application-check ```
### Step 3: Manual Vulnerability Sweep For each of the 11 vulnerabilities above: 1. Search for relevant transaction field usage 2. Verify validation logic exists 3. Check for bypass conditions 4. Validate inner transaction handling
### Step 4: Transaction Field Validation Matrix Create checklist for all transaction types used:
**Payment Transactions**: - [ ] RekeyTo validated - [ ] CloseRemainderTo validated - [ ] Fee validated (if smart signature)
**Asset Transfers**: - [ ] Asset ID validated - [ ] AssetCloseTo validated - [ ] RekeyTo validated
**Application Calls**: - [ ] OnComplete validated - [ ] Access controls enforced - [ ] Group size validated
**Inner Transactions**: - [ ] Fee explicitly set to 0 - [ ] RekeyTo not user-controlled (Teal v6+) - [ ] All fields validated
### Step 5: Group Transaction Analysis For atomic transaction groups: 1. Validate `Global.group_size()` checks 2. Review absolute vs relative indexing 3. Check for replay protection (Lease field) 4. Verify OnComplete fields for ApplicationCalls in group
### Step 6: Access Control Review - [ ] Creator/admin privileges properly enforced - [ ] Update/delete operations protected - [ ] Sensitive functions have authorization checks
---
## 8. Reporting Format
### Finding Template ````markdown ## [SEVERITY] Vulnerability Name (e.g., Missing RekeyTo Validation)
**Location**: `contract.teal:45-50` or `approval_program.py:withdraw()`
**Description**: The contract approves payment transactions without validating the RekeyTo field, allowing an attacker to rekey the account and bypass future authorization checks.
**Vulnerable Code**: ```python # approval_program.py, line 45 If(Txn.type_enum() == TxnType.Payment, Approve() # Missing RekeyTo check ) ```
**Attack Scenario**: 1. Attacker submits payment transaction with RekeyTo set to attacker's address 2. Contract approves transaction without checking RekeyTo 3. Account authorization is rekeyed to attacker 4. Attacker gains full control of account
**Recommendation**: Add explicit validation of the RekeyTo field: ```python If(And( Txn.type_enum() == TxnType.Payment, Txn.rekey_to() == Global.zero_address() ), Approve(), Reject()) ```
**References**: - building-secure-contracts/not-so-smart-contracts/algorand/rekeying - Tealer detector: `unprotected-rekey` ````
---
## 9. Priority Guidelines
### Critical (Immediate Fix Required) - Rekeying attacks - CloseRemainderTo / AssetCloseTo issues - Access control bypasses
### High (Fix Before Deployment) - Unchecked transaction fees - Asset ID validation issues - Group size validation - Clear state transaction checks
### Medium (Address in Audit) - Inner transaction fee issues - Time-based replay attacks - DoS via asset opt-in
---
## 10. Testing Recommendations
### Unit Tests Required - Test each vulnerability scenario with PoC exploit - Verify fixes prevent exploitation - Test edge cases (group size = 0, empty addresses, etc.)
### Tealer Integration ```bash # Add to CI/CD pipeline tealer approval.teal --detect all --json > tealer-report.json
# Fail build on critical findings tealer approval.teal --detect all --fail-on critical,high ```
### Scenario Testing - Submit transactions with all critical fields manipulated - Test atomic groups with unexpected sizes - Attempt access control bypasses - Verify inner transaction fee handling
---
## 11. Additional Resources
- **Building Secure Contracts**: `building-secure-contracts/not-so-smart-contracts/algorand/` - **Tealer Documentation**: https://github.com/crytic/tealer - **Algorand Developer Docs**: https://developer.algorand.org/docs/ - **PyTeal Documentation**: https://pyteal.readthedocs.io/
---
## 12. Quick Reference Checklist
Before completing Algorand audit, verify ALL items checked:
- [ ] RekeyTo validated in all transaction types - [ ] CloseRemainderTo validated in payment transactions - [ ] AssetCloseTo validated in asset transfers - [ ] Transaction fees validated (smart signatures) - [ ] Group size validated for atomic transactions - [ ] Lease field used for replay protection (where applicable) - [ ] Access controls on Update/Delete operations - [ ] Asset ID validated in all asset operations - [ ] Asset transfers use pull pattern to avoid DoS - [ ] Inner transaction fees explicitly set to 0 - [ ] OnComplete field validated for ApplicationCall transactions - [ ] Tealer scan completed with no critical/high findings - [ ] Unit tests cover all vulnerability scenarios
Technical details
- Version
- 1.0.0
- License
- CC-BY-SA-4.0
- Last updated
- Aug 24, 2026
- Published
- Aug 24, 2026
Decision snapshot
Primary pick
6,823 GitHub stars
Audit
Install review
Install and adoption review
- Security
- 82/100
- Maintenance
- 100/100
- Install
- 92/100
Agent-proven evidence
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
- Success rate
- —
- Recent failure
- —
- Outcomes
- 0
- Output quality
- —
- Failed
- 0
- Not relevant
- 0
- Installs
- 0
- Risk blocked
- 0
- Setup needed
- 0
- Production
- 0
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Add to agent workflow
Free and open source. Review the report before installing into production agents.
Growth loop
Share kit
Scenario-led draft for algorand-vulnerability-scanner, ready for a manual X post.
algorand-vulnerability-scanner: Scans Algorand smart contracts for 11 common vulnerabilities including rekeying attacks, unch... 6.8K stars https://www.openagentskill.com/skills/trailofbits-algorand-vulnerability-scanner?ref=x
Optional reply with install command
Listing + install path for algorand-vulnerability-scanner: https://www.openagentskill.com/skills/trailofbits-algorand-vulnerability-scanner?ref=x Install: npx skills add trailofbits/skills --skill algorand-vulnerability-scanner
Listing source
Registry indexed
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
- Creator
- trailofbits
- Source
- trailofbits/skills
- Indexed by
- OpenAgentSkill community index
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
Claim this skill listing
This Registry indexed listing is attributed to trailofbits but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Add the evidence badges to your README
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/trailofbits-algorand-vulnerability-scanner)
[](https://www.openagentskill.com/skills/trailofbits-algorand-vulnerability-scanner)
[](https://www.openagentskill.com/skills/trailofbits-algorand-vulnerability-scanner/audit)
[](https://www.openagentskill.com/skills/trailofbits-algorand-vulnerability-scanner)Author
trailofbits
@trailofbits
Tags
Platform fit
Health signals
- GitHub stars
- 6.8K
- Quality score
- 50/100
- Last GitHub push
- Aug 24, 2026
- Framework hints
- Unknown
- OpenAgentSkill views
- 0
- Install copies
- 0
- Outbound clicks
- 0
Community signal
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Trust & safety
Sandbox only
- GitHub adoption6.8K GitHub starsPASS
- Stars/forks activity6.8K stars, 585 forks; issue activity unavailable in current metadataPASS
- Recent maintenancePushed todayPASS
- License clarityCC-BY-SA-4.0PASS
- README/SKILL.md completenessMetadata includes enough usage and workflow contextPASS
- Dependency/runtime riskcommand execution surface, database surfaceINFO
Related skills
Wazuh
Wazuh - The Open Source Security Platform. Unified XDR and SIEM protection for endpoints and cloud workloads.
16.3K StarsMaigret
🕵️♂️ Collect a dossier on a person by username from 3000+ sites
32.9K StarsNuclei
Nuclei is a fast, customizable vulnerability scanner powered by the global security community and built on a simple YAML-based DSL, enabling collaboration to tackle trending vulnerabilities on the internet. It helps you find vulnerabilities in your applications, APIs, networks, DNS, and cloud configurations.
29.2K StarsInfisical
Infisical is the open-source platform for secrets, certificates, and privileged access management.
27.4K Stars