{"slug":"trailofbits-algorand-vulnerability-scanner","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).","long_description":"---\nname: algorand-vulnerability-scanner\ndescription: 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).\n---\n\n# Algorand Vulnerability Scanner\n\n## 1. Purpose\n\nSystematically 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.\n\n## 2. When to Use This Skill\n\n- Auditing Algorand smart contracts (stateful applications or smart signatures)\n- Reviewing TEAL assembly or PyTeal code\n- Pre-audit security assessment of Algorand projects\n- Validating fixes for reported Algorand vulnerabilities\n- Training team on Algorand-specific security patterns\n\n## 3. Platform Detection\n\n### File Extensions & Indicators\n- **TEAL files**: `.teal`\n- **PyTeal files**: `.py` with PyTeal imports\n\n### Language/Framework Markers\n```python\n# PyTeal indicators\nfrom pyteal import *\nfrom algosdk import *\n\n# Common patterns\nTxn, Gtxn, Global, InnerTxnBuilder\nOnComplete, ApplicationCall, TxnType\n@router.method, @Subroutine\n```\n\n### Project Structure\n- `approval_program.py` / `clear_program.py`\n- `contract.teal` / `signature.teal`\n- References to Algorand SDK or Beaker framework\n\n### Tool Support\n- **Tealer**: Trail of Bits static analyzer for Algorand\n- Installation: `uv tool install tealer` (ensure uv's tool bin dir is on PATH)\n- Usage: `tealer contract.teal --detect all`\n\n---\n\n## 4. How This Skill Works\n\nWhen invoked, I will:\n\n1. **Search your codebase** for TEAL/PyTeal files\n2. **Analyze each file** for the 11 vulnerability patterns\n3. **Report findings** with file references and severity\n4. **Provide fixes** for each identified issue\n5. **Run Tealer** (if installed) for automated detection\n\n---\n\n## 5. Example Output\n\nWhen vulnerabilities are found, you'll get a report like this:\n\n```\n=== ALGORAND VULNERABILITY SCAN RESULTS ===\n\nProject: my-algorand-dapp\nFiles Scanned: 3 (.teal, .py)\nVulnerabilities Found: 2\n\n---\n\n[CRITICAL] Rekeying Attack\nFile: contracts/approval.py:45\nPattern: Missing RekeyTo validation\n\nCode:\n    If(Txn.type_enum() == TxnType.Payment,\n        Seq([\n            # Missing: Assert(Txn.rekey_to() == Global.zero_address())\n            App.globalPut(Bytes(\"balance\"), balance + Txn.amount()),\n            Approve()\n        ])\n    )\n\nIssue: The contract doesn't validate the RekeyTo field, allowing attackers\nto change account authorization and bypass restrictions.\n```\n\n---\n\n## 6. Vulnerability Patterns (11 Patterns)\n\nI 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).\n\n### Pattern Summary:\n\n1. **Rekeying Vulnerability** ⚠️ CRITICAL - Unchecked RekeyTo field\n2. **Missing Transaction Verification** ⚠️ CRITICAL - No GroupSize/GroupIndex checks\n3. **Group Transaction Manipulation** ⚠️ HIGH - Unsafe group transaction handling\n4. **Asset Clawback Risk** ⚠️ HIGH - Missing clawback address checks\n5. **Application State Manipulation** ⚠️ MEDIUM - Unsafe global/local state updates\n6. **Asset Opt-In Missing** ⚠️ HIGH - No asset opt-in validation\n7. **Minimum Balance Violation** ⚠️ MEDIUM - Account below minimum balance\n8. **Close Remainder To Check** ⚠️ HIGH - Unchecked CloseRemainderTo field\n9. **Application Clear State** ⚠️ MEDIUM - Unsafe clear state program\n10. **Atomic Transaction Ordering** ⚠️ HIGH - Assuming transaction order\n11. **Logic Signature Reuse** ⚠️ HIGH - Logic sigs without uniqueness constraints\n\nFor complete vulnerability patterns with code examples, see [VULNERABILITY_PATTERNS.md](resources/VULNERABILITY_PATTERNS.md).\n\n## 7. Scanning Workflow\n\n### Step 1: Platform Identification\n1. Confirm file extensions (`.teal`, `.py`)\n2. Identify framework (PyTeal, Beaker, pure TEAL)\n3. Determine contract type (stateful application vs smart signature)\n4. Locate approval and clear state programs\n\n### Step 2: Static Analysis with Tealer\n```bash\n# Run Tealer on contract\ntealer contract.teal --detect all\n\n# Or specific detectors\ntealer contract.teal --detect unprotected-rekey,group-size-check,update-application-check\n```\n\n### Step 3: Manual Vulnerability Sweep\nFor each of the 11 vulnerabilities above:\n1. Search for relevant transaction field usage\n2. Verify validation logic exists\n3. Check for bypass conditions\n4. Validate inner transaction handling\n\n### Step 4: Transaction Field Validation Matrix\nCreate checklist for all transaction types used:\n\n**Payment Transactions**:\n- [ ] RekeyTo validated\n- [ ] CloseRemainderTo validated\n- [ ] Fee validated (if smart signature)\n\n**Asset Transfers**:\n- [ ] Asset ID validated\n- [ ] AssetCloseTo validated\n- [ ] RekeyTo validated\n\n**Application Calls**:\n- [ ] OnComplete validated\n- [ ] Access controls enforced\n- [ ] Group size validated\n\n**Inner Transactions**:\n- [ ] Fee explicitly set to 0\n- [ ] RekeyTo not user-controlled (Teal v6+)\n- [ ] All fields validated\n\n### Step 5: Group Transaction Analysis\nFor atomic transaction groups:\n1. Validate `Global.group_size()` checks\n2. Review absolute vs relative indexing\n3. Check for replay protection (Lease field)\n4. Verify OnComplete fields for ApplicationCalls in group\n\n### Step 6: Access Control Review\n- [ ] Creator/admin privileges properly enforced\n- [ ] Update/delete operations protected\n- [ ] Sensitive functions have authorization checks\n\n---\n\n## 8. Reporting Format\n\n### Finding Template\n````markdown\n## [SEVERITY] Vulnerability Name (e.g., Missing RekeyTo Validation)\n\n**Location**: `contract.teal:45-50` or `approval_program.py:withdraw()`\n\n**Description**:\nThe contract approves payment transactions without validating the RekeyTo field, allowing an attacker to rekey the account and bypass future authorization checks.\n\n**Vulnerable Code**:\n```python\n# approval_program.py, line 45\nIf(Txn.type_enum() == TxnType.Payment,\n    Approve()  # Missing RekeyTo check\n)\n```\n\n**Attack Scenario**:\n1. Attacker submits payment transaction with RekeyTo set to attacker's address\n2. Contract approves transaction without checking RekeyTo\n3. Account authorization is rekeyed to attacker\n4. Attacker gains full control of account\n\n**Recommendation**:\nAdd explicit validation of the RekeyTo field:\n```python\nIf(And(\n    Txn.type_enum() == TxnType.Payment,\n    Txn.rekey_to() == Global.zero_address()\n), Approve(), Reject())\n```\n\n**References**:\n- building-secure-contracts/not-so-smart-contracts/algorand/rekeying\n- Tealer detector: `unprotected-rekey`\n````\n\n---\n\n## 9. Priority Guidelines\n\n### Critical (Immediate Fix Required)\n- Rekeying attacks\n- CloseRemainderTo / AssetCloseTo issues\n- Access control bypasses\n\n### High (Fix Before Deployment)\n- Unchecked transaction fees\n- Asset ID validation issues\n- Group size validation\n- Clear state transaction checks\n\n### Medium (Address in Audit)\n- Inner transaction fee issues\n- Time-based replay attacks\n- DoS via asset opt-in\n\n---\n\n## 10. Testing Recommendations\n\n### Unit Tests Required\n- Test each vulnerability scenario with PoC exploit\n- Verify fixes prevent exploitation\n- Test edge cases (group size = 0, empty addresses, etc.)\n\n### Tealer Integration\n```bash\n# Add to CI/CD pipeline\ntealer approval.teal --detect all --json > tealer-report.json\n\n# Fail build on critical findings\ntealer approval.teal --detect all --fail-on critical,high\n```\n\n### Scenario Testing\n- Submit transactions with all critical fields manipulated\n- Test atomic groups with unexpected sizes\n- Attempt access control bypasses\n- Verify inner transaction fee handling\n\n---\n\n## 11. Additional Resources\n\n- **Building Secure Contracts**: `building-secure-contracts/not-so-smart-contracts/algorand/`\n- **Tealer Documentation**: https://github.com/crytic/tealer\n- **Algorand Developer Docs**: https://developer.algorand.org/docs/\n- **PyTeal Documentation**: https://pyteal.readthedocs.io/\n\n---\n\n## 12. Quick Reference Checklist\n\nBefore completing Algorand audit, verify ALL items checked:\n\n- [ ] RekeyTo validated in all transaction types\n- [ ] CloseRemainderTo validated in payment transactions\n- [ ] AssetCloseTo validated in asset transfers\n- [ ] Transaction fees validated (smart signatures)\n- [ ] Group size validated for atomic transactions\n- [ ] Lease field used for replay protection (where applicable)\n- [ ] Access controls on Update/Delete operations\n- [ ] Asset ID validated in all asset operations\n- [ ] Asset transfers use pull pattern to avoid DoS\n- [ ] Inner transaction fees explicitly set to 0\n- [ ] OnComplete field validated for ApplicationCall transactions\n- [ ] Tealer scan completed with no critical/high findings\n- [ ] Unit tests cover all vulnerability scenarios\n","tagline":"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).","category":"security","tags":["agent-skill"],"author":"trailofbits","verified":false,"attribution":{"status":"registry_indexed","statusLabel":"Registry indexed","shortLabel":"REGISTRY INDEXED","sourceLabel":"recursive skill source sync","sourceDetail":"trailofbits/skills","creatorName":"trailofbits","creatorUrl":"https://github.com/trailofbits","sourceUrl":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner","indexedBy":"OpenAgentSkill community index","claimUrl":"https://www.openagentskill.com/skills/trailofbits-algorand-vulnerability-scanner#claim-this-skill","claimCta":"Claim this skill","trustNote":"This listing was indexed from public sources and is not marked official until a maintainer claim is approved.","publicNote":"Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals."},"stats":{"stars":6823,"forks":585,"verified_installs":0,"successful_runs":0,"total_outcomes":0,"rating":0,"review_count":0,"quality_score":50.24},"quality":{"score":86,"tier":"excellent","label":"Excellent","summary":"High-confidence pick with strong adoption and healthy maintenance signals.","signals":[{"label":"GitHub stars","value":"6.8K","tone":"positive"},{"label":"Freshness","value":"Today","tone":"positive"},{"label":"Install ready","value":"Yes","tone":"positive"},{"label":"License","value":"CC-BY-SA-4.0","tone":"neutral"}],"warnings":[]},"trust":{"version":"trust-score-v5","score":74,"base_score":82,"outcome_confidence":0,"tier":"review","label":"Sandbox only","summary":"Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.","recommendedAction":"Run only in a sandbox and compare close alternatives before using it for real work.","decision":{"install_policy":"sandbox_only","auto_install_allowed":false,"human_review_required":true,"sandbox_first":true,"agent_action":"Compare alternatives before installing.","reasoning":["74/100 Trust Score v5","82/100 Trust Score v4 baseline","Needs more real agent outcomes before unattended install","Install path is available","Review before production"],"review_required_when":["The workspace contains production secrets, payments, private customer data, or irreversible actions.","The install command requests shell, network, credential, database, or broad filesystem access.","Outcome evidence is missing, recently failed, or required human review.","Production credentials, payments, or irreversible account changes without explicit human review","Sensitive private data before reviewing repository code, license, and permission surface","Automatic installation in a production workspace"]},"dimensions":[{"id":"github_adoption","label":"GitHub adoption","score":94,"weight":0.13,"status":"pass","detail":"6.8K GitHub stars"},{"id":"repo_activity","label":"Stars/forks activity","score":88,"weight":0.08,"status":"pass","detail":"6.8K stars, 585 forks; issue activity unavailable in current metadata"},{"id":"maintenance","label":"Recent maintenance","score":100,"weight":0.14,"status":"pass","detail":"Pushed today"},{"id":"license","label":"License clarity","score":86,"weight":0.09,"status":"pass","detail":"CC-BY-SA-4.0"},{"id":"documentation","label":"README/SKILL.md completeness","score":86,"weight":0.14,"status":"pass","detail":"Metadata includes enough usage and workflow context"},{"id":"dependency_risk","label":"Dependency/runtime risk","score":64,"weight":0.12,"status":"info","detail":"command execution surface, database surface"},{"id":"installability","label":"Install availability","score":92,"weight":0.1,"status":"pass","detail":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner"},{"id":"install_safety","label":"Install command safety","score":92,"weight":0.1,"status":"pass","detail":"standard package or runtime install path"},{"id":"permission_surface","label":"Permission surface","score":50,"weight":0.07,"status":"warn","detail":"shell or command execution, filesystem or document access"},{"id":"repository","label":"Repository evidence","score":86,"weight":0.04,"status":"pass","detail":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner"},{"id":"review_status","label":"Review status","score":88,"weight":0.05,"status":"pass","detail":"AI review data available"},{"id":"agent_outcomes","label":"Agent Proven outcomes","score":54,"weight":0.13,"status":"info","detail":"No agent outcome data yet"}],"checks":[{"status":"pass","label":"GitHub adoption","detail":"6.8K GitHub stars"},{"status":"pass","label":"Stars/forks activity","detail":"6.8K stars, 585 forks; issue activity unavailable in current metadata"},{"status":"pass","label":"Recent maintenance","detail":"Pushed today"},{"status":"pass","label":"License clarity","detail":"CC-BY-SA-4.0"},{"status":"pass","label":"README/SKILL.md completeness","detail":"Metadata includes enough usage and workflow context"},{"status":"info","label":"Dependency/runtime risk","detail":"command execution surface, database surface"},{"status":"pass","label":"Install availability","detail":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner"},{"status":"pass","label":"Install command safety","detail":"standard package or runtime install path"},{"status":"warn","label":"Permission surface","detail":"shell or command execution, filesystem or document access"},{"status":"pass","label":"Repository evidence","detail":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner"},{"status":"pass","label":"Review status","detail":"AI review data available"},{"status":"info","label":"Agent Proven outcomes","detail":"No agent outcome data yet"},{"status":"warn","label":"Ownership","detail":"No approved owner claim yet"},{"status":"info","label":"OpenAgentSkill usage","detail":"No local usage activity yet"},{"status":"info","label":"Agent outcomes","detail":"No agent outcome data yet"}],"strengths":["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"],"warnings":["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"],"evidence":{"stars":"6.8K GitHub stars","repoActivity":"6.8K stars, 585 forks","lastPushed":"Pushed today","license":"CC-BY-SA-4.0","repository":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner","install":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner","installSafety":"standard package or runtime install path","permissionSurface":"shell or command execution, filesystem or document access","documentation":"Strong README/SKILL.md context","agentOutcomes":"No agent outcome data yet","agentProvenScore":0,"outcomeConfidence":"0%","installPolicy":"sandbox_only"},"installReadiness":{"ready":true,"command":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner","policy":"sandbox_only","label":"Sandbox only","notes":["Install path is available","Repository evidence is available","License is declared","No Agent Proven outcome evidence yet","Pushed today","Trust Score v5 requires review or sandbox-only use before install."]},"agentCompatibility":["Codex","Claude Code","Cursor","OpenAgentSkill CLI"],"riskSummary":{"level":"medium","label":"Review before production","notes":["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"]},"outcomeEvidence":{"total":0,"successes":0,"failures":0,"notRelevant":0,"successRate":null,"installAttempts":0,"riskBlocked":0,"setupRequired":0,"installSuccessRate":null,"avgOutputQuality":null,"avgTimeToUsefulMs":null,"productionOutcomes":0,"humanReviewRequired":0,"recentSuccessRate":null,"recentFailureRate":null,"uniqueAgents":0,"agentProvenScore":0,"agentProvenLabel":"Needs first agent run","lastOutcomeAt":null,"label":"No agent outcome data yet"},"autoInstall":{"allowed":false,"sandboxRequired":true,"policy":"sandbox_only","reason":"Compare alternatives before installing."},"outcome_loop":{"version":"openagentskill-agent-outcome-v3","required_after_install":true,"endpoint":"/api/agent/outcome","method":"POST","event_id_source":"feedback.event_id, install_receipt.resolve_event_id, or decision_packet.outcome_feedback.event_id","expected_outcomes":["success","failed","not_relevant","blocked_by_risk","setup_required"],"required_fields":["event_id","skill_slug","task"],"quality_fields":["task_success","output_quality","error_type","human_review_required","used_in_production","workspace","evidence_url","time_to_useful_ms"],"ranking_inputs_updated":["Trust Score v5 outcome confidence","Agent Proven Score","Resolve ranking task-fit evidence","Skill detail machine-readable metadata","Outcome leaderboard"]},"agent_contract":{"suited_tasks":["security","agent-skill"],"suited_agents":["Codex","Claude Code","Cursor","OpenAgentSkill CLI"],"install_command":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner","trust_score":74,"trust_version":"trust-score-v5","risk_level":"medium","do_not_use_when":["Production credentials, payments, or irreversible account changes without explicit human review","Sensitive private data before reviewing repository code, license, and permission surface","Automatic installation in a production workspace","Live brokerage, exchange, wallet, or payment credentials outside an explicitly approved sandbox"],"before_install":["Read the audit page and machine-readable metadata.","Confirm the install command, license, and permission surface fit the workspace.","Get explicit human approval or choose an alternative before installing."],"after_run":["Report the outcome to /api/agent/outcome using the resolve event id.","Include output_quality, workspace, human_review_required, and evidence_url when available.","Re-resolve before broad production rollout."]},"bestFor":["security","agent-skill"],"doNotUseFor":["Production credentials, payments, or irreversible account changes without explicit human review","Sensitive private data before reviewing repository code, license, and permission surface","Automatic installation in a production workspace","Live brokerage, exchange, wallet, or payment credentials outside an explicitly approved sandbox"],"knownRisks":["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"],"backward_compatible":{"trust_score_v4":{"version":"trust-score-v4","score":82,"tier":"strong","label":"Strong shortlist","summary":"Good trust signals with a few areas worth checking before rollout."}}},"trust_score_v5":{"version":"trust-score-v5","score":74,"base_score":82,"outcome_confidence":0,"tier":"review","label":"Sandbox only","summary":"Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.","recommendedAction":"Run only in a sandbox and compare close alternatives before using it for real work.","decision":{"install_policy":"sandbox_only","auto_install_allowed":false,"human_review_required":true,"sandbox_first":true,"agent_action":"Compare alternatives before installing.","reasoning":["74/100 Trust Score v5","82/100 Trust Score v4 baseline","Needs more real agent outcomes before unattended install","Install path is available","Review before production"],"review_required_when":["The workspace contains production secrets, payments, private customer data, or irreversible actions.","The install command requests shell, network, credential, database, or broad filesystem access.","Outcome evidence is missing, recently failed, or required human review.","Production credentials, payments, or irreversible account changes without explicit human review","Sensitive private data before reviewing repository code, license, and permission surface","Automatic installation in a production workspace"]},"dimensions":[{"id":"github_adoption","label":"GitHub adoption","score":94,"weight":0.13,"status":"pass","detail":"6.8K GitHub stars"},{"id":"repo_activity","label":"Stars/forks activity","score":88,"weight":0.08,"status":"pass","detail":"6.8K stars, 585 forks; issue activity unavailable in current metadata"},{"id":"maintenance","label":"Recent maintenance","score":100,"weight":0.14,"status":"pass","detail":"Pushed today"},{"id":"license","label":"License clarity","score":86,"weight":0.09,"status":"pass","detail":"CC-BY-SA-4.0"},{"id":"documentation","label":"README/SKILL.md completeness","score":86,"weight":0.14,"status":"pass","detail":"Metadata includes enough usage and workflow context"},{"id":"dependency_risk","label":"Dependency/runtime risk","score":64,"weight":0.12,"status":"info","detail":"command execution surface, database surface"},{"id":"installability","label":"Install availability","score":92,"weight":0.1,"status":"pass","detail":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner"},{"id":"install_safety","label":"Install command safety","score":92,"weight":0.1,"status":"pass","detail":"standard package or runtime install path"},{"id":"permission_surface","label":"Permission surface","score":50,"weight":0.07,"status":"warn","detail":"shell or command execution, filesystem or document access"},{"id":"repository","label":"Repository evidence","score":86,"weight":0.04,"status":"pass","detail":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner"},{"id":"review_status","label":"Review status","score":88,"weight":0.05,"status":"pass","detail":"AI review data available"},{"id":"agent_outcomes","label":"Agent Proven outcomes","score":54,"weight":0.13,"status":"info","detail":"No agent outcome data yet"}],"checks":[{"status":"pass","label":"GitHub adoption","detail":"6.8K GitHub stars"},{"status":"pass","label":"Stars/forks activity","detail":"6.8K stars, 585 forks; issue activity unavailable in current metadata"},{"status":"pass","label":"Recent maintenance","detail":"Pushed today"},{"status":"pass","label":"License clarity","detail":"CC-BY-SA-4.0"},{"status":"pass","label":"README/SKILL.md completeness","detail":"Metadata includes enough usage and workflow context"},{"status":"info","label":"Dependency/runtime risk","detail":"command execution surface, database surface"},{"status":"pass","label":"Install availability","detail":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner"},{"status":"pass","label":"Install command safety","detail":"standard package or runtime install path"},{"status":"warn","label":"Permission surface","detail":"shell or command execution, filesystem or document access"},{"status":"pass","label":"Repository evidence","detail":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner"},{"status":"pass","label":"Review status","detail":"AI review data available"},{"status":"info","label":"Agent Proven outcomes","detail":"No agent outcome data yet"},{"status":"warn","label":"Ownership","detail":"No approved owner claim yet"},{"status":"info","label":"OpenAgentSkill usage","detail":"No local usage activity yet"},{"status":"info","label":"Agent outcomes","detail":"No agent outcome data yet"}],"strengths":["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"],"warnings":["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"],"evidence":{"stars":"6.8K GitHub stars","repoActivity":"6.8K stars, 585 forks","lastPushed":"Pushed today","license":"CC-BY-SA-4.0","repository":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner","install":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner","installSafety":"standard package or runtime install path","permissionSurface":"shell or command execution, filesystem or document access","documentation":"Strong README/SKILL.md context","agentOutcomes":"No agent outcome data yet","agentProvenScore":0,"outcomeConfidence":"0%","installPolicy":"sandbox_only"},"installReadiness":{"ready":true,"command":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner","policy":"sandbox_only","label":"Sandbox only","notes":["Install path is available","Repository evidence is available","License is declared","No Agent Proven outcome evidence yet","Pushed today","Trust Score v5 requires review or sandbox-only use before install."]},"agentCompatibility":["Codex","Claude Code","Cursor","OpenAgentSkill CLI"],"riskSummary":{"level":"medium","label":"Review before production","notes":["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"]},"outcomeEvidence":{"total":0,"successes":0,"failures":0,"notRelevant":0,"successRate":null,"installAttempts":0,"riskBlocked":0,"setupRequired":0,"installSuccessRate":null,"avgOutputQuality":null,"avgTimeToUsefulMs":null,"productionOutcomes":0,"humanReviewRequired":0,"recentSuccessRate":null,"recentFailureRate":null,"uniqueAgents":0,"agentProvenScore":0,"agentProvenLabel":"Needs first agent run","lastOutcomeAt":null,"label":"No agent outcome data yet"},"autoInstall":{"allowed":false,"sandboxRequired":true,"policy":"sandbox_only","reason":"Compare alternatives before installing."},"outcome_loop":{"version":"openagentskill-agent-outcome-v3","required_after_install":true,"endpoint":"/api/agent/outcome","method":"POST","event_id_source":"feedback.event_id, install_receipt.resolve_event_id, or decision_packet.outcome_feedback.event_id","expected_outcomes":["success","failed","not_relevant","blocked_by_risk","setup_required"],"required_fields":["event_id","skill_slug","task"],"quality_fields":["task_success","output_quality","error_type","human_review_required","used_in_production","workspace","evidence_url","time_to_useful_ms"],"ranking_inputs_updated":["Trust Score v5 outcome confidence","Agent Proven Score","Resolve ranking task-fit evidence","Skill detail machine-readable metadata","Outcome leaderboard"]},"agent_contract":{"suited_tasks":["security","agent-skill"],"suited_agents":["Codex","Claude Code","Cursor","OpenAgentSkill CLI"],"install_command":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner","trust_score":74,"trust_version":"trust-score-v5","risk_level":"medium","do_not_use_when":["Production credentials, payments, or irreversible account changes without explicit human review","Sensitive private data before reviewing repository code, license, and permission surface","Automatic installation in a production workspace","Live brokerage, exchange, wallet, or payment credentials outside an explicitly approved sandbox"],"before_install":["Read the audit page and machine-readable metadata.","Confirm the install command, license, and permission surface fit the workspace.","Get explicit human approval or choose an alternative before installing."],"after_run":["Report the outcome to /api/agent/outcome using the resolve event id.","Include output_quality, workspace, human_review_required, and evidence_url when available.","Re-resolve before broad production rollout."]},"bestFor":["security","agent-skill"],"doNotUseFor":["Production credentials, payments, or irreversible account changes without explicit human review","Sensitive private data before reviewing repository code, license, and permission surface","Automatic installation in a production workspace","Live brokerage, exchange, wallet, or payment credentials outside an explicitly approved sandbox"],"knownRisks":["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"],"backward_compatible":{"trust_score_v4":{"version":"trust-score-v4","score":82,"tier":"strong","label":"Strong shortlist","summary":"Good trust signals with a few areas worth checking before rollout."}}},"trust_score_v4":{"version":"trust-score-v4","score":82,"tier":"strong","label":"Strong shortlist","summary":"Good trust signals with a few areas worth checking before rollout.","recommendedAction":"Test in a sandbox workflow and compare its install path with close alternatives.","dimensions":[{"id":"github_adoption","label":"GitHub adoption","score":94,"weight":0.13,"status":"pass","detail":"6.8K GitHub stars"},{"id":"repo_activity","label":"Stars/forks activity","score":88,"weight":0.08,"status":"pass","detail":"6.8K stars, 585 forks; issue activity unavailable in current metadata"},{"id":"maintenance","label":"Recent maintenance","score":100,"weight":0.14,"status":"pass","detail":"Pushed today"},{"id":"license","label":"License clarity","score":86,"weight":0.09,"status":"pass","detail":"CC-BY-SA-4.0"},{"id":"documentation","label":"README/SKILL.md completeness","score":86,"weight":0.14,"status":"pass","detail":"Metadata includes enough usage and workflow context"},{"id":"dependency_risk","label":"Dependency/runtime risk","score":64,"weight":0.12,"status":"info","detail":"command execution surface, database surface"},{"id":"installability","label":"Install availability","score":92,"weight":0.1,"status":"pass","detail":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner"},{"id":"install_safety","label":"Install command safety","score":92,"weight":0.1,"status":"pass","detail":"standard package or runtime install path"},{"id":"permission_surface","label":"Permission surface","score":50,"weight":0.07,"status":"warn","detail":"shell or command execution, filesystem or document access"},{"id":"repository","label":"Repository evidence","score":86,"weight":0.04,"status":"pass","detail":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner"},{"id":"review_status","label":"Review status","score":88,"weight":0.05,"status":"pass","detail":"AI review data available"},{"id":"agent_outcomes","label":"Agent Proven outcomes","score":54,"weight":0.13,"status":"info","detail":"No agent outcome data yet"}],"checks":[{"status":"pass","label":"GitHub adoption","detail":"6.8K GitHub stars"},{"status":"pass","label":"Stars/forks activity","detail":"6.8K stars, 585 forks; issue activity unavailable in current metadata"},{"status":"pass","label":"Recent maintenance","detail":"Pushed today"},{"status":"pass","label":"License clarity","detail":"CC-BY-SA-4.0"},{"status":"pass","label":"README/SKILL.md completeness","detail":"Metadata includes enough usage and workflow context"},{"status":"info","label":"Dependency/runtime risk","detail":"command execution surface, database surface"},{"status":"pass","label":"Install availability","detail":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner"},{"status":"pass","label":"Install command safety","detail":"standard package or runtime install path"},{"status":"warn","label":"Permission surface","detail":"shell or command execution, filesystem or document access"},{"status":"pass","label":"Repository evidence","detail":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner"},{"status":"pass","label":"Review status","detail":"AI review data available"},{"status":"info","label":"Agent Proven outcomes","detail":"No agent outcome data yet"},{"status":"warn","label":"Ownership","detail":"No approved owner claim yet"},{"status":"info","label":"OpenAgentSkill usage","detail":"No local usage activity yet"},{"status":"info","label":"Agent outcomes","detail":"No agent outcome data yet"}],"strengths":["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"],"warnings":["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"],"evidence":{"stars":"6.8K GitHub stars","repoActivity":"6.8K stars, 585 forks","lastPushed":"Pushed today","license":"CC-BY-SA-4.0","repository":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner","install":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner","installSafety":"standard package or runtime install path","permissionSurface":"shell or command execution, filesystem or document access","documentation":"Strong README/SKILL.md context","agentOutcomes":"No agent outcome data yet"},"installReadiness":{"ready":true,"command":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner","policy":"sandbox_only","label":"Sandbox only","notes":["Install path is available","Repository evidence is available","License is declared","No Agent Proven outcome evidence yet","Pushed today"]},"agentCompatibility":["Codex","Claude Code","Cursor","OpenAgentSkill CLI"],"riskSummary":{"level":"medium","label":"Review before production","notes":["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"]},"outcomeEvidence":{"total":0,"successes":0,"failures":0,"notRelevant":0,"successRate":null,"installAttempts":0,"riskBlocked":0,"setupRequired":0,"installSuccessRate":null,"avgOutputQuality":null,"avgTimeToUsefulMs":null,"productionOutcomes":0,"humanReviewRequired":0,"recentSuccessRate":null,"recentFailureRate":null,"uniqueAgents":0,"agentProvenScore":0,"agentProvenLabel":"Needs first agent run","lastOutcomeAt":null,"label":"No agent outcome data yet"},"autoInstall":{"allowed":false,"sandboxRequired":true,"policy":"sandbox_only","reason":"Human review or sandbox validation is required before automatic installation."},"bestFor":["security","agent-skill"],"doNotUseFor":["Production credentials, payments, or irreversible account changes without explicit human review","Sensitive private data before reviewing repository code, license, and permission surface","Automatic installation in a production workspace","Live brokerage, exchange, wallet, or payment credentials outside an explicitly approved sandbox"],"knownRisks":["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"]},"agent_proven":{"version":"agent-proven-v1","score":0,"tier":"unproven","label":"Needs first agent run","summary":"No agent outcome reports yet. Use Resolve, run one narrow sandbox task, then report the result.","metrics":{"totalOutcomes":0,"successfulOutcomes":0,"failedOutcomes":0,"installAttempts":0,"installSuccessRate":null,"successRate":null,"recentSuccessRate":null,"recentFailureRate":null,"riskBlocked":0,"setupRequired":0,"notRelevant":0,"avgOutputQuality":null,"avgTimeToUsefulMs":null,"productionOutcomes":0,"humanReviewRequired":0,"uniqueAgents":0,"lastOutcomeAt":null},"signals":[],"penalties":["No real agent outcome evidence yet"]},"outcome_stats":null,"safety":{"score":55,"level":"avoid_auto_install","label":"Avoid automatic install","safety_tier":{"tier":"blocked","label":"Blocked for auto-install","badge":"BLOCKED","summary":"This skill should not be selected by an agent without explicit human security review.","recommended_action":"Do not auto-install. Inspect the source, dependencies, and permission surface first.","auto_install_policy":"block","reasons":["Audit risk exceeds the requested agent policy","Audit classified this skill as risky","Audit risk risky exceeds max_risk=medium"]},"auto_install_allowed":false,"human_review_required":true,"blocked":true,"audit_risk":"risky","permission_hints":[{"id":"shell","label":"Shell or command execution","reason":"Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.","severity":"high"},{"id":"network","label":"Network access","reason":"Skill likely fetches remote pages, APIs, repositories, or external services.","severity":"medium"},{"id":"filesystem","label":"Filesystem access","reason":"Skill may read or write project files, documents, generated artifacts, or local workspace state.","severity":"medium"},{"id":"database","label":"Database access","reason":"Skill may inspect schemas, query databases, or work with persistent stores.","severity":"medium"}],"policy_warnings":["Audit risk risky exceeds max_risk=medium","High-risk permission hints: Shell or command execution","Permission surface may require sandboxing"],"constraints_applied":{"max_risk":"medium","needs_install_command":true,"min_stars":0}},"safety_gate":{"tier":"blocked","label":"Blocked for auto-install","badge":"BLOCKED","auto_install_policy":"block","auto_install_allowed":false,"blocked":true,"human_review_required":true,"recommended_action":"Do not auto-install. Inspect the source, dependencies, and permission surface first.","reasons":["Audit risk exceeds the requested agent policy","Audit classified this skill as risky","Audit risk risky exceeds max_risk=medium"]},"eval":{"version":"openagentskill-skill-eval-v1","status":"failed","score":78,"risk_level":"high","decision":{"recommendation":"do_not_auto_install","reason":"Audit score: Risky","auto_install_allowed":false,"policy":"block","human_review_required":true},"blockers":["Audit score: Risky","Agent safety gate: This skill should not be selected by an agent without explicit human security review.","Permission surface: shell or command execution, filesystem or document access"],"warnings":["Audit risk risky exceeds max_risk=medium","High-risk permission hints: Shell or command execution","Permission surface may require sandboxing","Potential broker, wallet, exchange, or real-money execution surface; sandbox and explicit approval are required","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"],"validation_plan":["Inspect repository, README/SKILL.md, license, and recent commits before production use.","Install in an isolated workspace or sandbox with no production secrets available.","Run the smallest representative task and record files touched, commands run, network access, and outputs.","Compare the selected skill against at least one alternative when the eval status is review or failed.","Promote only after the agent reports a successful verification result and unresolved warnings are accepted."],"checks":[{"id":"task_fit","label":"Task fit","status":"pass","score":84,"required_for_auto_install":true,"detail":"Task wording matches this skill metadata.","evidence":["Evaluate algorand-vulnerability-scanner before installing it in an agent workflow","security","GitHub automation workflows; Claude Code teams; teams that value GitHub adoption signals"]},{"id":"install_path","label":"Install path","status":"pass","score":92,"required_for_auto_install":true,"detail":"Install handoff is available.","evidence":["npx skills add trailofbits/skills --skill algorand-vulnerability-scanner"]},{"id":"install_safety","label":"Install command safety","status":"pass","score":92,"required_for_auto_install":true,"detail":"standard package or runtime install path","evidence":["npx skills add trailofbits/skills --skill algorand-vulnerability-scanner"]},{"id":"trust_score","label":"Trust score","status":"pass","score":82,"required_for_auto_install":true,"detail":"Good trust signals with a few areas worth checking before rollout.","evidence":["Strong shortlist","6.8K GitHub stars","CC-BY-SA-4.0"]},{"id":"audit_score","label":"Audit score","status":"fail","score":87,"required_for_auto_install":true,"detail":"Risky","evidence":["Permission surface may require sandboxing"]},{"id":"agent_safety_gate","label":"Agent safety gate","status":"fail","score":55,"required_for_auto_install":true,"detail":"This skill should not be selected by an agent without explicit human security review.","evidence":["Do not auto-install. Inspect the source, dependencies, and permission surface first.","Audit risk exceeds the requested agent policy"]},{"id":"readme_skillmd_completeness","label":"README/SKILL.md completeness","status":"pass","score":86,"required_for_auto_install":false,"detail":"Metadata includes enough usage and workflow context","evidence":["Strong README/SKILL.md context"]},{"id":"license_clarity","label":"License clarity","status":"pass","score":86,"required_for_auto_install":true,"detail":"CC-BY-SA-4.0","evidence":["CC-BY-SA-4.0"]},{"id":"recent_maintenance","label":"Recent maintenance","status":"pass","score":100,"required_for_auto_install":false,"detail":"Pushed today","evidence":["Pushed today"]},{"id":"permission_surface","label":"Permission surface","status":"fail","score":50,"required_for_auto_install":true,"detail":"shell or command execution, filesystem or document access","evidence":["Shell or command execution: high","Network access: medium","Filesystem access: medium"]},{"id":"alternatives","label":"Alternatives available","status":"info","score":55,"required_for_auto_install":false,"detail":"No close alternatives were found in the current shortlist.","evidence":[]}],"endpoints":{"web":"https://www.openagentskill.com/skills/trailofbits-algorand-vulnerability-scanner/evals","api":"/api/agent/evals?slug=trailofbits-algorand-vulnerability-scanner","text":"/api/agent/evals?slug=trailofbits-algorand-vulnerability-scanner&format=text"}},"agent_readable_metadata":{"version":"openagentskill-agent-metadata-v2","skill":{"slug":"trailofbits-algorand-vulnerability-scanner","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).","category":"security","url":"https://www.openagentskill.com/skills/trailofbits-algorand-vulnerability-scanner","repository":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner","github_repo":"trailofbits/skills"},"suited_tasks":["GitHub automation workflows","Claude Code teams","teams that value GitHub adoption signals","Inspect repository metadata","Compare code changes","Write concise engineering summaries","Inspect source files","Explain architecture"],"suited_agents":["Codex","Claude Code","Cursor","OpenAgentSkill CLI","CLI"],"install":{"command":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner","ready":true,"targets":[{"id":"openagentskill-cli","label":"CLI","kind":"command","value":"npx --yes https://github.com/Leon-Drq/openagentskill/releases/download/cli-v0.2.1/openagentskill-0.2.1.tgz install trailofbits-algorand-vulnerability-scanner"},{"id":"codex","label":"Codex","kind":"agent-prompt","value":"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."},{"id":"claude-code","label":"Claude Code","kind":"agent-prompt","value":"Add \"algorand-vulnerability-scanner\" as a Claude Code skill from https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner. Inspect the skill instructions, place the reusable skill files in the appropriate local skills location for this project, and report the activation steps. 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\":\"claude-code\",\"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."},{"id":"cursor","label":"Cursor","kind":"agent-prompt","value":"Turn \"algorand-vulnerability-scanner\" from https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner into a reusable Cursor project rule or agent instruction. Preserve the core workflow, adapt paths to this repo, and keep the rule scoped to tasks where it is relevant. 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\":\"cursor\",\"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."}],"handoff_url":"https://www.openagentskill.com/api/skills/trailofbits-algorand-vulnerability-scanner/install","manifest_url":"https://www.openagentskill.com/api/registry/manifest/trailofbits-algorand-vulnerability-scanner"},"trust":{"score":82,"label":"Strong shortlist","version":"trust-score-v4","install_policy":"sandbox_only","evidence":{"stars":"6.8K GitHub stars","repoActivity":"6.8K stars, 585 forks","lastPushed":"Pushed today","license":"CC-BY-SA-4.0","repository":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner","install":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner","installSafety":"standard package or runtime install path","permissionSurface":"shell or command execution, filesystem or document access","documentation":"Strong README/SKILL.md context","agentOutcomes":"No agent outcome data yet"},"outcome_evidence":{"total":0,"successes":0,"failures":0,"not_relevant":0,"success_rate":null,"recent_success_rate":null,"recent_failure_rate":null,"install_attempts":0,"install_success_rate":null,"risk_blocked":0,"setup_required":0,"avg_output_quality":null,"production_outcomes":0,"last_outcome_at":null,"label":"No agent outcome data yet"},"auto_install":{"allowed":false,"sandbox_required":true,"reason":"Human review or sandbox validation is required before automatic installation."},"best_for":["security","agent-skill"],"known_risks":["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"]},"agent_proven":{"version":"agent-proven-v1","score":0,"tier":"unproven","label":"Needs first agent run","summary":"No agent outcome reports yet. Use Resolve, run one narrow sandbox task, then report the result.","metrics":{"totalOutcomes":0,"successfulOutcomes":0,"failedOutcomes":0,"installAttempts":0,"installSuccessRate":null,"successRate":null,"recentSuccessRate":null,"recentFailureRate":null,"riskBlocked":0,"setupRequired":0,"notRelevant":0,"avgOutputQuality":null,"avgTimeToUsefulMs":null,"productionOutcomes":0,"humanReviewRequired":0,"uniqueAgents":0,"lastOutcomeAt":null},"signals":[],"penalties":["No real agent outcome evidence yet"]},"audit":{"score":87,"risk_level":"risky","risk_label":"Risky","warnings":["Permission surface may require sandboxing","Potential broker, wallet, exchange, or real-money execution surface; sandbox and explicit approval are required","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"]},"safety_gate":{"tier":"blocked","label":"Blocked for auto-install","auto_install_policy":"block","auto_install_allowed":false,"human_review_required":true,"blocked":true,"recommended_action":"Do not auto-install. Inspect the source, dependencies, and permission surface first."},"quality":{"score":86,"label":"Excellent"},"supply":{"track":"Coding and developer agents","scenario":"GitHub automation","maintenance":"Pushed today","risk":"Risky"},"alternative_skills":[],"do_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","Permission surface may require sandboxing","Potential broker, wallet, exchange, or real-money execution surface; sandbox and explicit approval are required","This skill may touch real-money trading, broker, wallet, or exchange operations; use only in a sandbox with explicit approval."],"agent_contract":{"task_input":"Use algorand-vulnerability-scanner in an agent workflow","recommended_action":"Do not auto-install. Inspect the source, dependencies, and permission surface first.","install_policy":"block","minimum_review_before_use":["Trust: 82/100 Strong shortlist","Audit: 87/100 Risky","Safety: 55/100 Avoid automatic install","Review repository, license, install command, and permission surface before production use."],"expected_agent_output":{"selected_skill":"trailofbits-algorand-vulnerability-scanner (algorand-vulnerability-scanner)","install_command":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner","risk_summary":"Risky; Blocked for auto-install; Review before production","verification_result":"Report the smallest successful task, files touched, warnings, and any missing setup."}},"outcome_feedback":{"endpoint":"https://www.openagentskill.com/api/agent/outcome","method":"POST","requires_resolve_event_id":true,"event_id_source":"Use install_receipt.outcome_feedback.event_id or feedback.event_id returned by /api/agent/resolve for the current task.","expected_outcomes":["success","failed","not_relevant","blocked_by_risk","setup_required"],"payload_template":{"event_id":"<install_receipt.outcome_feedback.event_id or feedback.event_id from /api/agent/resolve>","skill_slug":"trailofbits-algorand-vulnerability-scanner","task":"Use algorand-vulnerability-scanner in an agent workflow","agent":"codex","outcome":"success","install_used":true,"risk_blocked":false,"setup_required":false,"task_success":true,"output_quality":4,"error_type":null,"human_review_required":false,"workspace":"sandbox","time_to_useful_ms":120000,"notes":"Report the smallest successful task, setup friction, files touched, and risk notes."}},"endpoints":{"web":"https://www.openagentskill.com/skills/trailofbits-algorand-vulnerability-scanner","api":"https://www.openagentskill.com/api/agent/skills/trailofbits-algorand-vulnerability-scanner","audit":"https://www.openagentskill.com/skills/trailofbits-algorand-vulnerability-scanner/audit","eval":"https://www.openagentskill.com/api/agent/evals?slug=trailofbits-algorand-vulnerability-scanner&task=Use%20algorand-vulnerability-scanner%20in%20an%20agent%20workflow&max_risk=medium","resolve":"https://www.openagentskill.com/api/agent/resolve?task=Use%20algorand-vulnerability-scanner%20in%20an%20agent%20workflow&agent=codex&max_risk=medium","receipt":"https://www.openagentskill.com/api/agent/receipt?task=Use%20algorand-vulnerability-scanner%20in%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text","install":"https://www.openagentskill.com/api/skills/trailofbits-algorand-vulnerability-scanner/install","manifest":"https://www.openagentskill.com/api/registry/manifest/trailofbits-algorand-vulnerability-scanner"}},"machine_metadata":{"version":"openagentskill-agent-metadata-v2","skill":{"slug":"trailofbits-algorand-vulnerability-scanner","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).","category":"security","url":"https://www.openagentskill.com/skills/trailofbits-algorand-vulnerability-scanner","repository":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner","github_repo":"trailofbits/skills"},"suited_tasks":["GitHub automation workflows","Claude Code teams","teams that value GitHub adoption signals","Inspect repository metadata","Compare code changes","Write concise engineering summaries","Inspect source files","Explain architecture"],"suited_agents":["Codex","Claude Code","Cursor","OpenAgentSkill CLI","CLI"],"install":{"command":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner","ready":true,"targets":[{"id":"openagentskill-cli","label":"CLI","kind":"command","value":"npx --yes https://github.com/Leon-Drq/openagentskill/releases/download/cli-v0.2.1/openagentskill-0.2.1.tgz install trailofbits-algorand-vulnerability-scanner"},{"id":"codex","label":"Codex","kind":"agent-prompt","value":"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."},{"id":"claude-code","label":"Claude Code","kind":"agent-prompt","value":"Add \"algorand-vulnerability-scanner\" as a Claude Code skill from https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner. Inspect the skill instructions, place the reusable skill files in the appropriate local skills location for this project, and report the activation steps. 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\":\"claude-code\",\"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."},{"id":"cursor","label":"Cursor","kind":"agent-prompt","value":"Turn \"algorand-vulnerability-scanner\" from https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner into a reusable Cursor project rule or agent instruction. Preserve the core workflow, adapt paths to this repo, and keep the rule scoped to tasks where it is relevant. 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\":\"cursor\",\"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."}],"handoff_url":"https://www.openagentskill.com/api/skills/trailofbits-algorand-vulnerability-scanner/install","manifest_url":"https://www.openagentskill.com/api/registry/manifest/trailofbits-algorand-vulnerability-scanner"},"trust":{"score":82,"label":"Strong shortlist","version":"trust-score-v4","install_policy":"sandbox_only","evidence":{"stars":"6.8K GitHub stars","repoActivity":"6.8K stars, 585 forks","lastPushed":"Pushed today","license":"CC-BY-SA-4.0","repository":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner","install":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner","installSafety":"standard package or runtime install path","permissionSurface":"shell or command execution, filesystem or document access","documentation":"Strong README/SKILL.md context","agentOutcomes":"No agent outcome data yet"},"outcome_evidence":{"total":0,"successes":0,"failures":0,"not_relevant":0,"success_rate":null,"recent_success_rate":null,"recent_failure_rate":null,"install_attempts":0,"install_success_rate":null,"risk_blocked":0,"setup_required":0,"avg_output_quality":null,"production_outcomes":0,"last_outcome_at":null,"label":"No agent outcome data yet"},"auto_install":{"allowed":false,"sandbox_required":true,"reason":"Human review or sandbox validation is required before automatic installation."},"best_for":["security","agent-skill"],"known_risks":["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"]},"agent_proven":{"version":"agent-proven-v1","score":0,"tier":"unproven","label":"Needs first agent run","summary":"No agent outcome reports yet. Use Resolve, run one narrow sandbox task, then report the result.","metrics":{"totalOutcomes":0,"successfulOutcomes":0,"failedOutcomes":0,"installAttempts":0,"installSuccessRate":null,"successRate":null,"recentSuccessRate":null,"recentFailureRate":null,"riskBlocked":0,"setupRequired":0,"notRelevant":0,"avgOutputQuality":null,"avgTimeToUsefulMs":null,"productionOutcomes":0,"humanReviewRequired":0,"uniqueAgents":0,"lastOutcomeAt":null},"signals":[],"penalties":["No real agent outcome evidence yet"]},"audit":{"score":87,"risk_level":"risky","risk_label":"Risky","warnings":["Permission surface may require sandboxing","Potential broker, wallet, exchange, or real-money execution surface; sandbox and explicit approval are required","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"]},"safety_gate":{"tier":"blocked","label":"Blocked for auto-install","auto_install_policy":"block","auto_install_allowed":false,"human_review_required":true,"blocked":true,"recommended_action":"Do not auto-install. Inspect the source, dependencies, and permission surface first."},"quality":{"score":86,"label":"Excellent"},"supply":{"track":"Coding and developer agents","scenario":"GitHub automation","maintenance":"Pushed today","risk":"Risky"},"alternative_skills":[],"do_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","Permission surface may require sandboxing","Potential broker, wallet, exchange, or real-money execution surface; sandbox and explicit approval are required","This skill may touch real-money trading, broker, wallet, or exchange operations; use only in a sandbox with explicit approval."],"agent_contract":{"task_input":"Use algorand-vulnerability-scanner in an agent workflow","recommended_action":"Do not auto-install. Inspect the source, dependencies, and permission surface first.","install_policy":"block","minimum_review_before_use":["Trust: 82/100 Strong shortlist","Audit: 87/100 Risky","Safety: 55/100 Avoid automatic install","Review repository, license, install command, and permission surface before production use."],"expected_agent_output":{"selected_skill":"trailofbits-algorand-vulnerability-scanner (algorand-vulnerability-scanner)","install_command":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner","risk_summary":"Risky; Blocked for auto-install; Review before production","verification_result":"Report the smallest successful task, files touched, warnings, and any missing setup."}},"outcome_feedback":{"endpoint":"https://www.openagentskill.com/api/agent/outcome","method":"POST","requires_resolve_event_id":true,"event_id_source":"Use install_receipt.outcome_feedback.event_id or feedback.event_id returned by /api/agent/resolve for the current task.","expected_outcomes":["success","failed","not_relevant","blocked_by_risk","setup_required"],"payload_template":{"event_id":"<install_receipt.outcome_feedback.event_id or feedback.event_id from /api/agent/resolve>","skill_slug":"trailofbits-algorand-vulnerability-scanner","task":"Use algorand-vulnerability-scanner in an agent workflow","agent":"codex","outcome":"success","install_used":true,"risk_blocked":false,"setup_required":false,"task_success":true,"output_quality":4,"error_type":null,"human_review_required":false,"workspace":"sandbox","time_to_useful_ms":120000,"notes":"Report the smallest successful task, setup friction, files touched, and risk notes."}},"endpoints":{"web":"https://www.openagentskill.com/skills/trailofbits-algorand-vulnerability-scanner","api":"https://www.openagentskill.com/api/agent/skills/trailofbits-algorand-vulnerability-scanner","audit":"https://www.openagentskill.com/skills/trailofbits-algorand-vulnerability-scanner/audit","eval":"https://www.openagentskill.com/api/agent/evals?slug=trailofbits-algorand-vulnerability-scanner&task=Use%20algorand-vulnerability-scanner%20in%20an%20agent%20workflow&max_risk=medium","resolve":"https://www.openagentskill.com/api/agent/resolve?task=Use%20algorand-vulnerability-scanner%20in%20an%20agent%20workflow&agent=codex&max_risk=medium","receipt":"https://www.openagentskill.com/api/agent/receipt?task=Use%20algorand-vulnerability-scanner%20in%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text","install":"https://www.openagentskill.com/api/skills/trailofbits-algorand-vulnerability-scanner/install","manifest":"https://www.openagentskill.com/api/registry/manifest/trailofbits-algorand-vulnerability-scanner"}},"supply_profile":{"track":{"slug":"coding","label":"Coding and developer agents","shortLabel":"Coding","description":"Code review, repo analysis, testing, CI, GitHub, DevOps, and developer workflow skills."},"scenario":{"label":"GitHub automation","description":"I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.","useCases":[{"slug":"github-automation","title":"GitHub automation"},{"slug":"coding-agents","title":"Coding agents"},{"slug":"research-agents","title":"Research agents"}]},"applicableAgents":["Claude Code","CLI","Codex","Cursor"],"install":{"ready":true,"command":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner","primaryTarget":"CLI","targetCount":4},"githubQuality":{"stars":6823,"starsLabel":"6.8K","forks":585,"license":"CC-BY-SA-4.0","qualityScore":86,"trustScore":82,"auditScore":87},"maintenance":{"status":"fresh","label":"Pushed today","daysSincePush":0,"lastPushedAt":"2026-08-24T13:20:11+00:00"},"risk":{"level":"risky","label":"Risky","requiresReview":true,"notes":["Permission surface may require sandboxing","Potential broker, wallet, exchange, or real-money execution surface; sandbox and explicit approval are required","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"]},"coverageTags":["Coding","GitHub automation","security","agent-skill"]},"audit":{"audit_score":87,"risk_level":"risky","risk_label":"Risky","quality_score":86,"trust_score":82,"maintenance_score":100,"security_score":82,"install_score":92,"warnings":["Permission surface may require sandboxing","Potential broker, wallet, exchange, or real-money execution surface; sandbox and explicit approval are required","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"]},"quality_signals":{"model":"v2","star_score":26.84,"usage_score":0,"review_score":5.4,"metadata_score":3,"freshness_score":15},"platforms":["Claude Code"],"use_cases":[{"slug":"github-automation","title":"GitHub automation","url":"https://www.openagentskill.com/use-cases/github-automation"},{"slug":"coding-agents","title":"Coding agents","url":"https://www.openagentskill.com/use-cases/coding-agents"},{"slug":"research-agents","title":"Research agents","url":"https://www.openagentskill.com/use-cases/research-agents"},{"slug":"security-compliance","title":"Security and compliance","url":"https://www.openagentskill.com/use-cases/security-compliance"}],"stacks":[{"slug":"coding-review-agent","title":"Coding review agent","url":"https://www.openagentskill.com/collections/coding-review-agent"},{"slug":"research-report-agent","title":"Research report agent","url":"https://www.openagentskill.com/collections/research-report-agent"},{"slug":"browser-qa-agent","title":"Browser QA agent","url":"https://www.openagentskill.com/collections/browser-qa-agent"}],"install":"npx skills add trailofbits/skills --skill algorand-vulnerability-scanner","install_targets":[{"id":"openagentskill-cli","label":"CLI","title":"OpenAgentSkill CLI","kind":"command","value":"npx --yes https://github.com/Leon-Drq/openagentskill/releases/download/cli-v0.2.1/openagentskill-0.2.1.tgz install trailofbits-algorand-vulnerability-scanner","description":"Resolve policy, run the source installer safely, and report a verified install receipt.","copyLabel":"Copy command"},{"id":"codex","label":"Codex","title":"Codex install prompt","kind":"agent-prompt","value":"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.","description":"Give Codex a repo-aware install prompt when the skill is not available through a local CLI.","copyLabel":"Copy prompt"},{"id":"claude-code","label":"Claude Code","title":"Claude Code skill prompt","kind":"agent-prompt","value":"Add \"algorand-vulnerability-scanner\" as a Claude Code skill from https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner. Inspect the skill instructions, place the reusable skill files in the appropriate local skills location for this project, and report the activation steps. 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\":\"claude-code\",\"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.","description":"Use this prompt to ask Claude Code to add the skill and explain the local activation steps.","copyLabel":"Copy prompt"},{"id":"cursor","label":"Cursor","title":"Cursor rule prompt","kind":"agent-prompt","value":"Turn \"algorand-vulnerability-scanner\" from https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner into a reusable Cursor project rule or agent instruction. Preserve the core workflow, adapt paths to this repo, and keep the rule scoped to tasks where it is relevant. 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\":\"cursor\",\"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.","description":"Use this when installing as Cursor project rules or reusable agent instructions.","copyLabel":"Copy prompt"}],"repository":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner","github_repo":"trailofbits/skills","version":"1.0.0","license":"CC-BY-SA-4.0","urls":{"web":"https://www.openagentskill.com/skills/trailofbits-algorand-vulnerability-scanner","repository":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/algorand-vulnerability-scanner","api":"/api/agent/skills/trailofbits-algorand-vulnerability-scanner","install_api":"/api/skills/trailofbits-algorand-vulnerability-scanner/install"},"meta":{"created_at":"2026-08-24T13:23:36.424085+00:00","updated_at":"2026-08-24T13:23:36.424085+00:00","agent_friendly":true}}