{"slug":"trailofbits-ton-vulnerability-scanner","name":"ton-vulnerability-scanner","description":"Scans TON (The Open Network) smart contracts for 3 critical vulnerabilities including integer-as-boolean misuse, fake Jetton contracts, and forward TON without gas checks. Use when auditing FunC contracts.","long_description":"---\nname: ton-vulnerability-scanner\ndescription: Scans TON (The Open Network) smart contracts for 3 critical vulnerabilities including integer-as-boolean misuse, fake Jetton contracts, and forward TON without gas checks. Use when auditing FunC contracts.\n---\n\n# TON Vulnerability Scanner\n\n## 1. Purpose\n\nSystematically scan TON blockchain smart contracts written in FunC for platform-specific security vulnerabilities related to boolean logic, Jetton token handling, and gas management. This skill encodes 3 critical vulnerability patterns unique to TON's architecture.\n\n## 2. When to Use This Skill\n\n- Auditing TON smart contracts (FunC language)\n- Reviewing Jetton token implementations\n- Validating token transfer notification handlers\n- Pre-launch security assessment of TON dApps\n- Reviewing gas forwarding logic\n- Assessing boolean condition handling\n\n## 3. Platform Detection\n\n### File Extensions & Indicators\n- **FunC files**: `.fc`, `.func`\n\n### Language/Framework Markers\n```func\n;; FunC contract indicators\n#include \"imports/stdlib.fc\";\n\n() recv_internal(int my_balance, int msg_value, cell in_msg_full, slice in_msg_body) impure {\n    ;; Contract logic\n}\n\n() recv_external(slice in_msg) impure {\n    ;; External message handler\n}\n\n;; Common patterns\nsend_raw_message()\nload_uint(), load_msg_addr(), load_coins()\nbegin_cell(), end_cell(), store_*()\ntransfer_notification operation\nop::transfer, op::transfer_notification\n.store_uint().store_slice().store_coins()\n```\n\n### Project Structure\n- `contracts/*.fc` - FunC contract source\n- `wrappers/*.ts` - TypeScript wrappers\n- `tests/*.spec.ts` - Contract tests\n- `ton.config.ts` or `wasm.config.ts` - TON project config\n\n### Tool Support\n- **TON Blueprint**: Development framework for TON\n- **toncli**: CLI tool for TON contracts\n- **ton-compiler**: FunC compiler\n- Manual review primarily (limited automated tools)\n\n---\n\n## 4. How This Skill Works\n\nWhen invoked, I will:\n\n1. **Search your codebase** for FunC/Tact contracts\n2. **Analyze each contract** for the 3 vulnerability patterns\n3. **Report findings** with file references and severity\n4. **Provide fixes** for each identified issue\n5. **Check replay protection** and sender validation\n\n---\n\n## 5. Example Output\n\nWhen vulnerabilities are found, you'll get a report like this:\n\n```\n=== TON VULNERABILITY SCAN RESULTS ===\n\nProject: my-ton-contract\nFiles Scanned: 3 (.fc, .tact)\nVulnerabilities Found: 2\n\n---\n\n[CRITICAL] Missing Replay Protection\nFile: contracts/wallet.fc:45\nPattern: No sequence number or nonce validation\n```\n\n---\n\n## 6. Vulnerability Patterns (3 Patterns)\n\nI check for 3 critical vulnerability patterns unique to TON. For detailed detection patterns, code examples, mitigations, and testing strategies, see [VULNERABILITY_PATTERNS.md](resources/VULNERABILITY_PATTERNS.md).\n\n### Pattern Summary:\n\n1. **Missing Sender Check** ⚠️ CRITICAL - No sender validation on privileged operations\n2. **Integer Overflow** ⚠️ CRITICAL - Unchecked arithmetic in FunC\n3. **Improper Gas Handling** ⚠️ HIGH - Insufficient gas reservations\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. Verify FunC language (`.fc` or `.func` files)\n2. Check for TON Blueprint or toncli project structure\n3. Locate contract source files\n4. Identify Jetton-related contracts\n\n### Step 2: Boolean Logic Review\n```bash\n# Find boolean-like variables\nrg \"int.*is_|int.*has_|int.*flag|int.*enabled\" contracts/\n\n# Check for positive integers used as booleans\nrg \"= 1;|return 1;\" contracts/ | grep -E \"is_|has_|flag|enabled|valid\"\n\n# Look for NOT operations on boolean-like values\nrg \"~.*\\(|~ \" contracts/\n```\n\nFor each boolean:\n- [ ] Uses -1 for true, 0 for false\n- [ ] NOT using 1 or other positive integers\n- [ ] Logic operations work correctly\n\n### Step 3: Jetton Handler Analysis\n```bash\n# Find transfer_notification handlers\nrg \"transfer_notification|op::transfer_notification\" contracts/\n```\n\nFor each Jetton handler:\n- [ ] Validates sender address\n- [ ] Sender checked against stored Jetton wallet address\n- [ ] Cannot trust forward_payload without sender validation\n- [ ] Has admin function to set Jetton wallet address\n\n### Step 4: Gas/Forward Amount Review\n```bash\n# Find forward amount usage\nrg \"forward_ton_amount|forward_amount\" contracts/\nrg \"load_coins\\(\\)\" contracts/\n\n# Find send_raw_message calls\nrg \"send_raw_message\" contracts/\n```\n\nFor each outgoing message:\n- [ ] Forward amounts are fixed/bounded\n- [ ] OR user-provided amounts validated against msg_value\n- [ ] Cannot drain contract balance\n- [ ] Appropriate send_raw_message flags used\n\n### Step 5: Manual Review\nTON contracts require thorough manual review:\n- Boolean logic with `~`, `&`, `|` operators\n- Message parsing and validation\n- Gas economics and fee calculations\n- Storage operations and data serialization\n\n---\n\n## 8. Reporting Format\n\n### Finding Template\n````markdown\n## [CRITICAL] Fake Jetton Contract - Missing Sender Validation\n\n**Location**: `contracts/staking.fc:85-95` (recv_internal, transfer_notification handler)\n\n**Description**:\nThe `transfer_notification` operation handler does not validate that the sender is the expected Jetton wallet contract. Any attacker can send a fake `transfer_notification` message claiming to have transferred tokens, crediting themselves without actually depositing any Jettons.\n\n**Vulnerable Code**:\n```func\n// staking.fc, line 85\nif (op == op::transfer_notification) {\n    int jetton_amount = in_msg_body~load_coins();\n    slice from_user = in_msg_body~load_msg_addr();\n\n    ;; WRONG: No validation of sender_address!\n    ;; Attacker can claim any jetton_amount\n\n    credit_user(from_user, jetton_amount);\n}\n```\n\n**Attack Scenario**:\n1. Attacker deploys malicious contract\n2. Malicious contract sends `transfer_notification` message to staking contract\n3. Message claims attacker transferred 1,000,000 Jettons\n4. Staking contract credits attacker without checking sender\n5. Attacker can now withdraw from contract or gain benefits without depositing\n\n**Proof of Concept**:\n```typescript\n// Attacker sends fake transfer_notification\nconst attackerContract = await blockchain.treasury(\"attacker\");\n\nawait stakingContract.sendInternalMessage(attackerContract.getSender(), {\n  op: OP_CODES.TRANSFER_NOTIFICATION,\n  jettonAmount: toNano(\"1000000\"), // Fake amount\n  fromUser: attackerContract.address,\n});\n\n// Attacker successfully credited without sending real Jettons\nconst balance = await stakingContract.getUserBalance(attackerContract.address);\nexpect(balance).toEqual(toNano(\"1000000\")); // Attack succeeded\n```\n\n**Recommendation**:\nStore expected Jetton wallet address and validate sender:\n```func\nglobal slice jetton_wallet_address;\n\n() recv_internal(...) impure {\n    load_data();  ;; Load jetton_wallet_address from storage\n\n    slice cs = in_msg_full.begin_parse();\n    int flags = cs~load_uint(4);\n    slice sender_address = cs~load_msg_addr();\n\n    int op = in_msg_body~load_uint(32);\n\n    if (op == op::transfer_notification) {\n        ;; CRITICAL: Validate sender\n        throw_unless(error::wrong_jetton_wallet,\n            equal_slices(sender_address, jetton_wallet_address));\n\n        int jetton_amount = in_msg_body~load_coins();\n        slice from_user = in_msg_body~load_msg_addr();\n\n        ;; Safe to credit user\n        credit_user(from_user, jetton_amount);\n    }\n}\n```\n\n**References**:\n- building-secure-contracts/not-so-smart-contracts/ton/fake_jetton_contract\n````\n\n---\n\n## 9. Priority Guidelines\n\n### Critical (Immediate Fix Required)\n- Fake Jetton contract (unauthorized minting/crediting)\n\n### High (Fix Before Launch)\n- Integer as boolean (logic errors, broken conditions)\n- Forward TON without gas check (balance drainage)\n\n---\n\n## 10. Testing Recommendations\n\n### Unit Tests\n```typescript\nimport { Blockchain } from \"@ton/sandbox\";\nimport { toNano } from \"ton-core\";\n\ndescribe(\"Security tests\", () => {\n  let blockchain: Blockchain;\n  let contract: Contract;\n\n  beforeEach(async () => {\n    blockchain = await Blockchain.create();\n    contract = blockchain.openContract(await Contract.fromInit());\n  });\n\n  it(\"should use correct boolean values\", async () => {\n    // Test that TRUE = -1, FALSE = 0\n    const result = await contract.getFlag();\n    expect(result).toEqual(-1n); // True\n    expect(result).not.toEqual(1n); // Not 1!\n  });\n\n  it(\"should reject fake jetton transfer\", async () => {\n    const attacker = await blockchain.treasury(\"attacker\");\n\n    const result = await contract.send(\n      attacker.getSender(),\n      { value: toNano(\"0.05\") },\n      {\n        $$type: \"TransferNotification\",\n        query_id: 0n,\n        amount: toNano(\"1000\"),\n        from: attacker.address,\n      }\n    );\n\n    expect(result.transactions).toHaveTransaction({\n      success: false, // Should reject\n    });\n  });\n\n  it(\"should validate gas for forward amount\", async () => {\n    const result = await contract.send(\n      user.getSender(),\n      { value: toNano(\"0.01\") }, // Insufficient gas\n      {\n        $$type: \"Transfer\",\n        to: recipient.address,\n        forward_ton_amount: toNano(\"1\"), // Trying to forward 1 TON\n      }\n    );\n\n    expect(result.transactions).toHaveTransaction({\n      success: false,\n    });\n  });\n});\n```\n\n### Integration Tests\n```typescript\n// Test with real Jetton wallet\nit(\"should accept transfer from real jetton wallet\", async () => {\n  // Deploy actual Jetton minter and wallet\n  const jettonMinter = await blockchain.openContract(JettonMinter.create());\n  const userJettonWallet = await jettonMinter.getWalletAddress(user.address);\n\n  // Set jetton wallet in contract\n  await contract.setJettonWallet(userJettonWallet);\n\n  // Real transfer from Jetton wallet\n  const result = await userJettonWallet.sendTransfer(\n    user.getSender(),\n    contract.address,\n    toNano(\"100\"),\n    {}\n  );\n\n  expect(result.transactions).toHaveTransaction({\n    to: contract.address,\n    success: true,\n  });\n});\n```\n\n---\n\n## 11. Additional Resources\n\n- **Building Secure Contracts**: `building-secure-contracts/not-so-smart-contracts/ton/`\n- **TON Documentation**: https://docs.ton.org/\n- **FunC Documentation**: https://docs.ton.org/develop/func/overview\n- **TON Blueprint**: https://github.com/ton-org/blueprint\n- **Jetton Standard**: https://github.com/ton-blockchain/TEPs/blob/master/text/0074-jettons-standard.md\n\n---\n\n## 12. Quick Reference Checklist\n\nBefore completing TON contract audit:\n\n**Boolean Logic (HIGH)**:\n- [ ] All boolean values use -1 (true) and 0 (false)\n- [ ] NO positive integers (1, 2, etc.) used as booleans\n- [ ] Functions returning booleans return -1 for true\n- [ ] Boolean logic with `~`, `&`, `|` uses correct values\n- [ ] Tests verify boolean operations work correctly\n\n**Jetton Security (CRITICAL)**:\n- [ ] `transfer_notification` handler validates sender address\n- [ ] Sender checked against stored Jetton wallet address\n- [ ] Jetton wallet address stored during initialization\n- [ ] Admin function to set/update Jetton wallet\n- [ ] Cannot trust forward_payload without sender validation\n- [ ] Tests with fake Jetton contracts verify rejection\n\n**Gas & Forward Amounts (HIGH)**:\n- [ ] Forward TON amounts are fixed/bounded\n- [ ] OR user-provided amounts validated: `msg_value >= tx_fee + forward_amount`\n- [ ] Contract balance protected from drainage\n- [ ] Appropriate `send_raw_message` flags used\n- [ ] Tests verify cannot drain contract with excessive forward amounts\n\n**Testing**:\n- [ ] Unit tests for all three vulnerability types\n- [ ] Integration tests with real Jetton contracts\n- [ ] Gas cost analysis for all operations\n- [ ] Testnet deployment before mainnet\n","tagline":"Scans TON (The Open Network) smart contracts for 3 critical vulnerabilities including integer-as-boolean misuse, fake Jetton contracts, and forward TON without gas checks. Use when auditing FunC contracts.","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/ton-vulnerability-scanner","indexedBy":"OpenAgentSkill community index","claimUrl":"https://www.openagentskill.com/skills/trailofbits-ton-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":6844,"forks":586,"verified_installs":0,"successful_runs":0,"total_outcomes":0,"rating":0,"review_count":0,"quality_score":50.1},"quality":{"score":85,"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":"13d ago","tone":"positive"},{"label":"Install ready","value":"Yes","tone":"positive"},{"label":"License","value":"CC-BY-SA-4.0","tone":"neutral"}],"warnings":["Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly."]},"trust":{"version":"trust-score-v5","score":64,"base_score":72,"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":["64/100 Trust Score v5","72/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, 586 forks; issue activity unavailable in current metadata"},{"id":"maintenance","label":"Recent maintenance","score":100,"weight":0.14,"status":"pass","detail":"13d since push"},{"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":54,"weight":0.12,"status":"warn","detail":"command execution surface, credential or environment access"},{"id":"installability","label":"Install availability","score":92,"weight":0.1,"status":"pass","detail":"npx skills add trailofbits/skills --skill ton-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":22,"weight":0.07,"status":"fail","detail":"secrets or environment access, shell or command execution"},{"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/ton-vulnerability-scanner"},{"id":"review_status","label":"Review status","score":66,"weight":0.05,"status":"info","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, 586 forks; issue activity unavailable in current metadata"},{"status":"pass","label":"Recent maintenance","detail":"13d since push"},{"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":"warn","label":"Dependency/runtime risk","detail":"command execution surface, credential or environment access"},{"status":"pass","label":"Install availability","detail":"npx skills add trailofbits/skills --skill ton-vulnerability-scanner"},{"status":"pass","label":"Install command safety","detail":"standard package or runtime install path"},{"status":"fail","label":"Permission surface","detail":"secrets or environment access, shell or command execution"},{"status":"pass","label":"Repository evidence","detail":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-vulnerability-scanner"},{"status":"info","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":"pass","label":"OpenAgentSkill usage","detail":"3 views, 0 install copies"},{"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":["Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly.","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: secrets or environment access, shell or command execution","Dependency/runtime risk: command execution surface, credential or environment access","Permission surface: secrets or environment access, shell or command execution","No real agent outcome reports yet","Human review required before unattended installation"],"evidence":{"stars":"6.8K GitHub stars","repoActivity":"6.8K stars, 586 forks","lastPushed":"13d since push","license":"CC-BY-SA-4.0","repository":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-vulnerability-scanner","install":"npx skills add trailofbits/skills --skill ton-vulnerability-scanner","installSafety":"standard package or runtime install path","permissionSurface":"secrets or environment access, shell or command execution","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 ton-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","13d since push","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":["Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly.","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: secrets or environment access, shell or command execution","Dependency/runtime risk: command execution surface, credential or environment 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-v4","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","source_version"],"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 ton-vulnerability-scanner","trust_score":64,"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":["Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly.","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: secrets or environment access, shell or command execution","Dependency/runtime risk: command execution surface, credential or environment access","Permission surface: secrets or environment access, shell or command execution"],"backward_compatible":{"trust_score_v4":{"version":"trust-score-v4","score":72,"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":64,"base_score":72,"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":["64/100 Trust Score v5","72/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, 586 forks; issue activity unavailable in current metadata"},{"id":"maintenance","label":"Recent maintenance","score":100,"weight":0.14,"status":"pass","detail":"13d since push"},{"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":54,"weight":0.12,"status":"warn","detail":"command execution surface, credential or environment access"},{"id":"installability","label":"Install availability","score":92,"weight":0.1,"status":"pass","detail":"npx skills add trailofbits/skills --skill ton-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":22,"weight":0.07,"status":"fail","detail":"secrets or environment access, shell or command execution"},{"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/ton-vulnerability-scanner"},{"id":"review_status","label":"Review status","score":66,"weight":0.05,"status":"info","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, 586 forks; issue activity unavailable in current metadata"},{"status":"pass","label":"Recent maintenance","detail":"13d since push"},{"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":"warn","label":"Dependency/runtime risk","detail":"command execution surface, credential or environment access"},{"status":"pass","label":"Install availability","detail":"npx skills add trailofbits/skills --skill ton-vulnerability-scanner"},{"status":"pass","label":"Install command safety","detail":"standard package or runtime install path"},{"status":"fail","label":"Permission surface","detail":"secrets or environment access, shell or command execution"},{"status":"pass","label":"Repository evidence","detail":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-vulnerability-scanner"},{"status":"info","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":"pass","label":"OpenAgentSkill usage","detail":"3 views, 0 install copies"},{"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":["Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly.","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: secrets or environment access, shell or command execution","Dependency/runtime risk: command execution surface, credential or environment access","Permission surface: secrets or environment access, shell or command execution","No real agent outcome reports yet","Human review required before unattended installation"],"evidence":{"stars":"6.8K GitHub stars","repoActivity":"6.8K stars, 586 forks","lastPushed":"13d since push","license":"CC-BY-SA-4.0","repository":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-vulnerability-scanner","install":"npx skills add trailofbits/skills --skill ton-vulnerability-scanner","installSafety":"standard package or runtime install path","permissionSurface":"secrets or environment access, shell or command execution","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 ton-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","13d since push","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":["Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly.","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: secrets or environment access, shell or command execution","Dependency/runtime risk: command execution surface, credential or environment 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-v4","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","source_version"],"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 ton-vulnerability-scanner","trust_score":64,"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":["Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly.","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: secrets or environment access, shell or command execution","Dependency/runtime risk: command execution surface, credential or environment access","Permission surface: secrets or environment access, shell or command execution"],"backward_compatible":{"trust_score_v4":{"version":"trust-score-v4","score":72,"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":72,"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, 586 forks; issue activity unavailable in current metadata"},{"id":"maintenance","label":"Recent maintenance","score":100,"weight":0.14,"status":"pass","detail":"13d since push"},{"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":54,"weight":0.12,"status":"warn","detail":"command execution surface, credential or environment access"},{"id":"installability","label":"Install availability","score":92,"weight":0.1,"status":"pass","detail":"npx skills add trailofbits/skills --skill ton-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":22,"weight":0.07,"status":"fail","detail":"secrets or environment access, shell or command execution"},{"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/ton-vulnerability-scanner"},{"id":"review_status","label":"Review status","score":66,"weight":0.05,"status":"info","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, 586 forks; issue activity unavailable in current metadata"},{"status":"pass","label":"Recent maintenance","detail":"13d since push"},{"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":"warn","label":"Dependency/runtime risk","detail":"command execution surface, credential or environment access"},{"status":"pass","label":"Install availability","detail":"npx skills add trailofbits/skills --skill ton-vulnerability-scanner"},{"status":"pass","label":"Install command safety","detail":"standard package or runtime install path"},{"status":"fail","label":"Permission surface","detail":"secrets or environment access, shell or command execution"},{"status":"pass","label":"Repository evidence","detail":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-vulnerability-scanner"},{"status":"info","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":"pass","label":"OpenAgentSkill usage","detail":"3 views, 0 install copies"},{"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":["Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly.","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: secrets or environment access, shell or command execution","Dependency/runtime risk: command execution surface, credential or environment access","Permission surface: secrets or environment access, shell or command execution"],"evidence":{"stars":"6.8K GitHub stars","repoActivity":"6.8K stars, 586 forks","lastPushed":"13d since push","license":"CC-BY-SA-4.0","repository":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-vulnerability-scanner","install":"npx skills add trailofbits/skills --skill ton-vulnerability-scanner","installSafety":"standard package or runtime install path","permissionSurface":"secrets or environment access, shell or command execution","documentation":"Strong README/SKILL.md context","agentOutcomes":"No agent outcome data yet"},"installReadiness":{"ready":true,"command":"npx skills add trailofbits/skills --skill ton-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","13d since push"]},"agentCompatibility":["Codex","Claude Code","Cursor","OpenAgentSkill CLI"],"riskSummary":{"level":"medium","label":"Review before production","notes":["Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly.","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: secrets or environment access, shell or command execution","Dependency/runtime risk: command execution surface, credential or environment 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":["Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly.","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: secrets or environment access, shell or command execution","Dependency/runtime risk: command execution surface, credential or environment access","Permission surface: secrets or environment access, shell or command execution"]},"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":42,"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","Metadata combines secrets access with shell or command execution","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":"secrets","label":"Secrets or environment access","reason":"Skill metadata references credentials, tokens, environment variables, or secret-bearing workflows.","severity":"high"}],"policy_warnings":["Audit risk risky exceeds max_risk=medium","High-risk permission hints: Shell or command execution, Secrets or environment access","Dependency or permission surface needs review"],"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","Metadata combines secrets access with shell or command execution","Audit risk risky exceeds max_risk=medium"]},"eval":{"version":"openagentskill-skill-eval-v1","status":"failed","score":72,"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: secrets or environment access, shell or command execution"],"warnings":["Trust score: Good trust signals with a few areas worth checking before rollout.","Audit risk risky exceeds max_risk=medium","High-risk permission hints: Shell or command execution, Secrets or environment access","Dependency or permission surface needs review","Permission surface may require sandboxing","Potential broker, wallet, exchange, or real-money execution surface; sandbox and explicit approval are required","Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly.","The SKILL.md pattern summary lists three different patterns than the description, which may confuse users about what the skill actually checks.","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: secrets or environment access, shell or command execution","Dependency/runtime risk: command execution surface, credential or environment 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 ton-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 ton-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 ton-vulnerability-scanner"]},{"id":"trust_score","label":"Trust score","status":"warn","score":72,"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":82,"required_for_auto_install":true,"detail":"Risky","evidence":["Dependency or permission surface needs review"]},{"id":"agent_safety_gate","label":"Agent safety gate","status":"fail","score":42,"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":"13d since push","evidence":["13d since push"]},{"id":"permission_surface","label":"Permission surface","status":"fail","score":22,"required_for_auto_install":true,"detail":"secrets or environment access, shell or command execution","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-ton-vulnerability-scanner/evals","api":"/api/agent/evals?slug=trailofbits-ton-vulnerability-scanner","text":"/api/agent/evals?slug=trailofbits-ton-vulnerability-scanner&format=text"}},"agent_readable_metadata":{"version":"openagentskill-agent-metadata-v2","skill":{"slug":"trailofbits-ton-vulnerability-scanner","name":"ton-vulnerability-scanner","description":"Scans TON (The Open Network) smart contracts for 3 critical vulnerabilities including integer-as-boolean misuse, fake Jetton contracts, and forward TON without gas checks. Use when auditing FunC contracts.","category":"security","url":"https://www.openagentskill.com/skills/trailofbits-ton-vulnerability-scanner","repository":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-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","Search sources","Extract claims"],"suited_agents":["Codex","Claude Code","Cursor","OpenAgentSkill CLI","CLI"],"install":{"command":"npx skills add trailofbits/skills --skill ton-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.3.0/openagentskill-0.3.0.tgz add trailofbits-ton-vulnerability-scanner"},{"id":"codex","label":"Codex","kind":"agent-prompt","value":"Install the \"ton-vulnerability-scanner\" agent skill from https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-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 TON (The Open Network) smart contracts for 3 critical vulnerabilities including integer-as-boolean misuse, fake Jetton contracts, and forward TON without gas checks. Use when auditing FunC contracts. 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-ton-vulnerability-scanner\",\"task\":\"Install ton-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 \"ton-vulnerability-scanner\" as a Claude Code skill from https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-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 TON (The Open Network) smart contracts for 3 critical vulnerabilities including integer-as-boolean misuse, fake Jetton contracts, and forward TON without gas checks. Use when auditing FunC contracts. 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-ton-vulnerability-scanner\",\"task\":\"Install ton-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 \"ton-vulnerability-scanner\" from https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-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 TON (The Open Network) smart contracts for 3 critical vulnerabilities including integer-as-boolean misuse, fake Jetton contracts, and forward TON without gas checks. Use when auditing FunC contracts. 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-ton-vulnerability-scanner\",\"task\":\"Install ton-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-ton-vulnerability-scanner/install","manifest_url":"https://www.openagentskill.com/api/registry/manifest/trailofbits-ton-vulnerability-scanner"},"trust":{"score":72,"label":"Strong shortlist","version":"trust-score-v4","install_policy":"sandbox_only","evidence":{"stars":"6.8K GitHub stars","repoActivity":"6.8K stars, 586 forks","lastPushed":"13d since push","license":"CC-BY-SA-4.0","repository":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-vulnerability-scanner","install":"npx skills add trailofbits/skills --skill ton-vulnerability-scanner","installSafety":"standard package or runtime install path","permissionSurface":"secrets or environment access, shell or command execution","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":["Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly.","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: secrets or environment access, shell or command execution","Dependency/runtime risk: command execution surface, credential or environment access","Permission surface: secrets or environment access, shell or command execution"]},"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":82,"risk_level":"risky","risk_label":"Risky","warnings":["Dependency or permission surface needs review","Permission surface may require sandboxing","Potential broker, wallet, exchange, or real-money execution surface; sandbox and explicit approval are required","Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly.","The SKILL.md pattern summary lists three different patterns than the description, which may confuse users about what the skill actually checks.","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: secrets or environment access, shell or command execution"]},"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":85,"label":"Excellent"},"supply":{"track":"Coding and developer agents","scenario":"GitHub automation","maintenance":"13d since push","risk":"Risky"},"alternative_skills":[],"do_not_use_when":["teams that need a vendor-supported SLA","production agents without a repository review","Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly.","Audit risk risky exceeds max_risk=medium","High-risk permission hints: Shell or command execution, Secrets or environment access","Dependency or permission surface needs review","Permission surface may require sandboxing","Potential broker, wallet, exchange, or real-money execution surface; sandbox and explicit approval are required"],"agent_contract":{"task_input":"Use ton-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: 72/100 Strong shortlist","Audit: 82/100 Risky","Safety: 42/100 Avoid automatic install","Review repository, license, install command, and permission surface before production use."],"expected_agent_output":{"selected_skill":"trailofbits-ton-vulnerability-scanner (ton-vulnerability-scanner)","install_command":"npx skills add trailofbits/skills --skill ton-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-ton-vulnerability-scanner","task":"Use ton-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-ton-vulnerability-scanner","api":"https://www.openagentskill.com/api/agent/skills/trailofbits-ton-vulnerability-scanner","audit":"https://www.openagentskill.com/skills/trailofbits-ton-vulnerability-scanner/audit","eval":"https://www.openagentskill.com/api/agent/evals?slug=trailofbits-ton-vulnerability-scanner&task=Use%20ton-vulnerability-scanner%20in%20an%20agent%20workflow&max_risk=medium","resolve":"https://www.openagentskill.com/api/agent/resolve?task=Use%20ton-vulnerability-scanner%20in%20an%20agent%20workflow&agent=codex&max_risk=medium","receipt":"https://www.openagentskill.com/api/agent/receipt?task=Use%20ton-vulnerability-scanner%20in%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text","install":"https://www.openagentskill.com/api/skills/trailofbits-ton-vulnerability-scanner/install","manifest":"https://www.openagentskill.com/api/registry/manifest/trailofbits-ton-vulnerability-scanner"}},"machine_metadata":{"version":"openagentskill-agent-metadata-v2","skill":{"slug":"trailofbits-ton-vulnerability-scanner","name":"ton-vulnerability-scanner","description":"Scans TON (The Open Network) smart contracts for 3 critical vulnerabilities including integer-as-boolean misuse, fake Jetton contracts, and forward TON without gas checks. Use when auditing FunC contracts.","category":"security","url":"https://www.openagentskill.com/skills/trailofbits-ton-vulnerability-scanner","repository":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-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","Search sources","Extract claims"],"suited_agents":["Codex","Claude Code","Cursor","OpenAgentSkill CLI","CLI"],"install":{"command":"npx skills add trailofbits/skills --skill ton-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.3.0/openagentskill-0.3.0.tgz add trailofbits-ton-vulnerability-scanner"},{"id":"codex","label":"Codex","kind":"agent-prompt","value":"Install the \"ton-vulnerability-scanner\" agent skill from https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-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 TON (The Open Network) smart contracts for 3 critical vulnerabilities including integer-as-boolean misuse, fake Jetton contracts, and forward TON without gas checks. Use when auditing FunC contracts. 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-ton-vulnerability-scanner\",\"task\":\"Install ton-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 \"ton-vulnerability-scanner\" as a Claude Code skill from https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-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 TON (The Open Network) smart contracts for 3 critical vulnerabilities including integer-as-boolean misuse, fake Jetton contracts, and forward TON without gas checks. Use when auditing FunC contracts. 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-ton-vulnerability-scanner\",\"task\":\"Install ton-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 \"ton-vulnerability-scanner\" from https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-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 TON (The Open Network) smart contracts for 3 critical vulnerabilities including integer-as-boolean misuse, fake Jetton contracts, and forward TON without gas checks. Use when auditing FunC contracts. 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-ton-vulnerability-scanner\",\"task\":\"Install ton-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-ton-vulnerability-scanner/install","manifest_url":"https://www.openagentskill.com/api/registry/manifest/trailofbits-ton-vulnerability-scanner"},"trust":{"score":72,"label":"Strong shortlist","version":"trust-score-v4","install_policy":"sandbox_only","evidence":{"stars":"6.8K GitHub stars","repoActivity":"6.8K stars, 586 forks","lastPushed":"13d since push","license":"CC-BY-SA-4.0","repository":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-vulnerability-scanner","install":"npx skills add trailofbits/skills --skill ton-vulnerability-scanner","installSafety":"standard package or runtime install path","permissionSurface":"secrets or environment access, shell or command execution","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":["Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly.","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: secrets or environment access, shell or command execution","Dependency/runtime risk: command execution surface, credential or environment access","Permission surface: secrets or environment access, shell or command execution"]},"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":82,"risk_level":"risky","risk_label":"Risky","warnings":["Dependency or permission surface needs review","Permission surface may require sandboxing","Potential broker, wallet, exchange, or real-money execution surface; sandbox and explicit approval are required","Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly.","The SKILL.md pattern summary lists three different patterns than the description, which may confuse users about what the skill actually checks.","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: secrets or environment access, shell or command execution"]},"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":85,"label":"Excellent"},"supply":{"track":"Coding and developer agents","scenario":"GitHub automation","maintenance":"13d since push","risk":"Risky"},"alternative_skills":[],"do_not_use_when":["teams that need a vendor-supported SLA","production agents without a repository review","Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly.","Audit risk risky exceeds max_risk=medium","High-risk permission hints: Shell or command execution, Secrets or environment access","Dependency or permission surface needs review","Permission surface may require sandboxing","Potential broker, wallet, exchange, or real-money execution surface; sandbox and explicit approval are required"],"agent_contract":{"task_input":"Use ton-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: 72/100 Strong shortlist","Audit: 82/100 Risky","Safety: 42/100 Avoid automatic install","Review repository, license, install command, and permission surface before production use."],"expected_agent_output":{"selected_skill":"trailofbits-ton-vulnerability-scanner (ton-vulnerability-scanner)","install_command":"npx skills add trailofbits/skills --skill ton-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-ton-vulnerability-scanner","task":"Use ton-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-ton-vulnerability-scanner","api":"https://www.openagentskill.com/api/agent/skills/trailofbits-ton-vulnerability-scanner","audit":"https://www.openagentskill.com/skills/trailofbits-ton-vulnerability-scanner/audit","eval":"https://www.openagentskill.com/api/agent/evals?slug=trailofbits-ton-vulnerability-scanner&task=Use%20ton-vulnerability-scanner%20in%20an%20agent%20workflow&max_risk=medium","resolve":"https://www.openagentskill.com/api/agent/resolve?task=Use%20ton-vulnerability-scanner%20in%20an%20agent%20workflow&agent=codex&max_risk=medium","receipt":"https://www.openagentskill.com/api/agent/receipt?task=Use%20ton-vulnerability-scanner%20in%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text","install":"https://www.openagentskill.com/api/skills/trailofbits-ton-vulnerability-scanner/install","manifest":"https://www.openagentskill.com/api/registry/manifest/trailofbits-ton-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":"research-agents","title":"Research agents"},{"slug":"coding-agents","title":"Coding agents"}]},"applicableAgents":["Claude Code","CLI","Codex","Cursor"],"install":{"ready":true,"command":"npx skills add trailofbits/skills --skill ton-vulnerability-scanner","primaryTarget":"CLI","targetCount":4},"githubQuality":{"stars":6844,"starsLabel":"6.8K","forks":586,"license":"CC-BY-SA-4.0","qualityScore":85,"trustScore":72,"auditScore":82},"maintenance":{"status":"fresh","label":"13d since push","daysSincePush":13,"lastPushedAt":"2026-08-25T13:19:32+00:00"},"risk":{"level":"risky","label":"Risky","requiresReview":true,"notes":["Dependency or permission surface needs review","Permission surface may require sandboxing","Potential broker, wallet, exchange, or real-money execution surface; sandbox and explicit approval are required","Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly.","The SKILL.md pattern summary lists three different patterns than the description, which may confuse users about what the skill actually checks."]},"coverageTags":["Coding","GitHub automation","security","agent-skill"]},"audit":{"audit_score":82,"risk_level":"risky","risk_label":"Risky","quality_score":85,"trust_score":72,"maintenance_score":100,"security_score":73,"install_score":92,"warnings":["Dependency or permission surface needs review","Permission surface may require sandboxing","Potential broker, wallet, exchange, or real-money execution surface; sandbox and explicit approval are required","Inconsistency between the description (mentions integer-as-boolean misuse, fake Jetton contracts, forward TON without gas checks) and the SKILL.md pattern summary (Missing Sender Check, Integer Overflow, Improper Gas Handling). The detailed patterns file includes 'Integer as Boolean' but not 'fake Jetton' or 'forward TON without gas checks' explicitly.","The SKILL.md pattern summary lists three different patterns than the description, which may confuse users about what the skill actually checks.","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: secrets or environment access, shell or command execution","Dependency/runtime risk: command execution surface, credential or environment access","Permission surface: secrets or environment access, shell or command execution"]},"quality_signals":{"model":"v2","star_score":26.85,"usage_score":0,"review_score":5.25,"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":"research-agents","title":"Research agents","url":"https://www.openagentskill.com/use-cases/research-agents"},{"slug":"coding-agents","title":"Coding agents","url":"https://www.openagentskill.com/use-cases/coding-agents"},{"slug":"security-compliance","title":"Security and compliance","url":"https://www.openagentskill.com/use-cases/security-compliance"}],"stacks":[{"slug":"research-report-agent","title":"Research report agent","url":"https://www.openagentskill.com/collections/research-report-agent"},{"slug":"coding-review-agent","title":"Coding review agent","url":"https://www.openagentskill.com/collections/coding-review-agent"},{"slug":"rag-knowledge-base","title":"RAG knowledge base","url":"https://www.openagentskill.com/collections/rag-knowledge-base"}],"install":"npx skills add trailofbits/skills --skill ton-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.3.0/openagentskill-0.3.0.tgz add trailofbits-ton-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 \"ton-vulnerability-scanner\" agent skill from https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-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 TON (The Open Network) smart contracts for 3 critical vulnerabilities including integer-as-boolean misuse, fake Jetton contracts, and forward TON without gas checks. Use when auditing FunC contracts. 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-ton-vulnerability-scanner\",\"task\":\"Install ton-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 \"ton-vulnerability-scanner\" as a Claude Code skill from https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-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 TON (The Open Network) smart contracts for 3 critical vulnerabilities including integer-as-boolean misuse, fake Jetton contracts, and forward TON without gas checks. Use when auditing FunC contracts. 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-ton-vulnerability-scanner\",\"task\":\"Install ton-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 \"ton-vulnerability-scanner\" from https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-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 TON (The Open Network) smart contracts for 3 critical vulnerabilities including integer-as-boolean misuse, fake Jetton contracts, and forward TON without gas checks. Use when auditing FunC contracts. 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-ton-vulnerability-scanner\",\"task\":\"Install ton-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/ton-vulnerability-scanner","github_repo":"trailofbits/skills","version":"1.0.0","license":"CC-BY-SA-4.0","urls":{"web":"https://www.openagentskill.com/skills/trailofbits-ton-vulnerability-scanner","repository":"https://github.com/trailofbits/skills/tree/main/plugins/building-secure-contracts/skills/ton-vulnerability-scanner","api":"/api/agent/skills/trailofbits-ton-vulnerability-scanner","install_api":"/api/skills/trailofbits-ton-vulnerability-scanner/install"},"meta":{"created_at":"2026-08-25T13:24:02.611667+00:00","updated_at":"2026-09-01T11:59:28.941454+00:00","agent_friendly":true}}