algorand-vulnerability-scanner
by trailofbitsalgorand-vulnerability-scanner is a security-audit skill for Algorand TEAL and PyTeal. It helps find 11 common issues, including rekeying attacks, fee validation gaps, field checks, and access control flaws. Use the algorand-vulnerability-scanner skill for a practical first-pass review before a manual audit.
This skill scores 84/100, which means it is a solid listing candidate for directory users who need an Algorand-specific security scanner. The repository gives enough structure, triggers, and vulnerability coverage for an agent to apply it with less guesswork than a generic prompt, though adoption would still benefit from more explicit run instructions and tooling integration details.
- Clear, specific trigger scope for TEAL/PyTeal audits, pre-audit checks, and validating fixes for Algorand contracts.
- Substantial operational content: 11 vulnerability patterns, detection patterns, and mitigation guidance in the companion checklist.
- Good repository depth for agent use, including multiple headings, code fences, and references to Tealer plus repo/file markers.
- No install command or executable scripts are provided, so users may need to infer how to operationalize the workflow.
- Evidence is documentation-heavy rather than automation-heavy, which may limit repeatability for agents seeking turn-key execution.
Overview of algorand-vulnerability-scanner skill
algorand-vulnerability-scanner is a focused security-audit skill for Algorand smart contracts in TEAL and PyTeal. It helps you catch platform-specific mistakes that generic code review often misses, especially in transaction validation, rekeying, fees, and stateful application logic. Use the algorand-vulnerability-scanner skill when you need a practical first-pass security screen before a manual audit or when validating a fix against known Algorand attack patterns.
Who this skill is for
Best fit: auditors, smart contract engineers, and security teams reviewing Algorand projects. It is most useful when the codebase includes .teal files, PyTeal imports, Beaker-based apps, or transaction-heavy logic that depends on Txn, Gtxn, Global, or InnerTxnBuilder.
What it is good at
The skill is built around 11 common Algorand vulnerability patterns, so it is stronger on platform-specific detection than on broad architecture review. That makes it a good choice for finding issues like missing RekeyTo checks, unsafe transaction assumptions, and weak field validation.
When not to rely on it alone
It is not a full audit, and it will not replace protocol knowledge, invariant reasoning, or a second human review. If your contract depends on unusual transaction groups, custom authorization logic, or complex cross-contract flows, treat the output as a security checklist, not a final verdict.
How to Use algorand-vulnerability-scanner skill
Install and load the skill
For the algorand-vulnerability-scanner install step, add it from the Trail of Bits skills repo and then open the skill files in context:
npx skills add trailofbits/skills --skill algorand-vulnerability-scanner
After install, read the skill instructions first, then use the supporting pattern reference to understand what the scanner is actually looking for.
Start with the right files
Read these first:
SKILL.mdfor scope, workflow, and platform detectionresources/VULNERABILITY_PATTERNS.mdfor the 11-pattern checklist and concrete vulnerable/secure examples
That pairing matters because SKILL.md tells you when to use the skill, while resources/VULNERABILITY_PATTERNS.md shows the specific checks you should expect in an algorand-vulnerability-scanner usage flow.
Give the skill a security-shaped prompt
The best results come from a prompt that names the contract type, the code surface, and the review goal. Good input is specific about whether you are auditing a single file, a whole app, or a fix.
Example prompt:
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.
If you already know the concern, say so:
Audit this TEAL smart signature for unchecked fee exposure and missing sender validation. Prioritize issues that could drain funds or allow unauthorized execution.
Workflow that produces better output
- Identify whether the target is TEAL, PyTeal, a smart signature, or a stateful app.
- Confirm the code contains the Algorand markers the skill expects, such as
Txn,Gtxn,Global, orInnerTxnBuilder. - Ask for a checklist-style review tied to the vulnerability patterns, not a generic code critique.
- If a finding appears, rerun the prompt with the exact function or transaction group that implements the risky path.
algorand-vulnerability-scanner skill FAQ
Does this replace a full security audit?
No. The algorand-vulnerability-scanner skill is best used as a high-signal pre-audit and triage tool. It helps surface known Algorand bug classes quickly, but it does not prove the contract is safe.
Is it useful for beginners?
Yes, if the goal is to understand what to inspect in Algorand code. The pattern list can teach you what “secure” often means in this ecosystem, especially around RekeyTo, fees, and grouped transactions.
How is it different from a normal prompt?
A normal prompt may produce generic code review advice. This skill is anchored to Algorand-specific vulnerability patterns, so it is better at pointing you toward the exact transaction fields and contract behaviors that matter for security audit work.
When is this skill a poor fit?
Skip it if you are not reviewing Algorand contracts, if the repository has no TEAL/PyTeal logic, or if you only need a surface-level explanation of what a contract does. It is also a weak fit for non-security tasks like feature design or UX review.
How to Improve algorand-vulnerability-scanner skill
Provide the contract context up front
The biggest quality gain comes from saying what kind of contract you are reviewing and what execution model it uses. For example, note whether the logic is a smart signature, stateful application, or grouped transaction workflow. That helps the algorand-vulnerability-scanner skill prioritize the right checks.
Share the exact security question
Do not ask for “a review” if you already know the risk area. Stronger asks produce sharper findings:
- “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
Gtxnordering.”
Include the relevant code slice
If possible, provide the approval program, the suspicious function, or the transaction-handling branch instead of the whole repository. The algorand-vulnerability-scanner skill is most effective when it can inspect the precise logic that decides who can call what, with which fields, and in what order.
Iterate on the first pass
If the output is too broad, ask for a second pass that narrows to one vulnerability class, one entry point, or one transaction group. If the output is too narrow, request adjacent checks from the pattern list, especially around rekeying, transaction fields, and state validation.
