{"data":{"skill":{"slug":"101-skills-web-search","name":"web-search","icon":"📦","repo":"https://github.com/101-skills/skills/tree/main/tools/llm/web-search/","status":"approved","author":"101-skills","authorVersion":null,"skillstoreRevision":null},"audit":{"id":"f3c5fa17-b897-4211-8dc1-21edf3d1c0ff","skill_id":"f5d6d3bd-2b05-4f96-84aa-238d9571fe71","version":1,"content_hash":"becdf5fa5e67854d07b75d0b6efa706f","risk_level":"medium","is_blocked":false,"safe_to_publish":true,"analysis_status":"ok","agent_auto_install_policy":"allowed","manual_install_policy":"allowed","summary":"Most static findings are Markdown backticks, code fences, app identifiers, or documentation links. Real residual risk comes from visible external belt commands, the broad Bash(belt *) permission, and third-party handling of queries or extracted content. No prompt injection language or covert credential access was found.","remediation":[{"issue":"Broad belt command permission","severity":"medium","suggestion":"Replace Bash(belt *) with narrower allowed commands for the documented Tavily, Exa, and OpenRouter workflows."},{"issue":"External service data exposure","severity":"low","suggestion":"Add a clear warning that queries, URLs, extracted pages, and prompts may be sent to third-party hosted services."},{"issue":"External skill install guidance","severity":"medium","suggestion":"Pin or verify recommended skill install sources and explain the trust boundary before users run npx skills add commands."}],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":7,"line_start":7},{"file":"SKILL.md","line_end":17,"line_start":17},{"file":"SKILL.md","line_end":24,"line_start":19},{"file":"SKILL.md","line_end":33,"line_start":24},{"file":"SKILL.md","line_end":34,"line_start":33},{"file":"SKILL.md","line_end":40,"line_start":34},{"file":"SKILL.md","line_end":41,"line_start":40},{"file":"SKILL.md","line_end":42,"line_start":41},{"file":"SKILL.md","line_end":48,"line_start":42},{"file":"SKILL.md","line_end":52,"line_start":48},{"file":"SKILL.md","line_end":58,"line_start":52},{"file":"SKILL.md","line_end":62,"line_start":58},{"file":"SKILL.md","line_end":68,"line_start":62},{"file":"SKILL.md","line_end":72,"line_start":68},{"file":"SKILL.md","line_end":78,"line_start":72},{"file":"SKILL.md","line_end":82,"line_start":78},{"file":"SKILL.md","line_end":88,"line_start":82},{"file":"SKILL.md","line_end":92,"line_start":88},{"file":"SKILL.md","line_end":98,"line_start":92},{"file":"SKILL.md","line_end":108,"line_start":98},{"file":"SKILL.md","line_end":112,"line_start":108},{"file":"SKILL.md","line_end":122,"line_start":112},{"file":"SKILL.md","line_end":134,"line_start":122},{"file":"SKILL.md","line_end":143,"line_start":134},{"file":"SKILL.md","line_end":145,"line_start":143}]},{"factor":"network","evidence":[{"file":"SKILL.md","line_end":11,"line_start":11},{"file":"SKILL.md","line_end":13,"line_start":13},{"file":"SKILL.md","line_end":17,"line_start":17},{"file":"SKILL.md","line_end":60,"line_start":60},{"file":"SKILL.md","line_end":90,"line_start":90},{"file":"SKILL.md","line_end":115,"line_start":115},{"file":"SKILL.md","line_end":149,"line_start":149},{"file":"SKILL.md","line_end":150,"line_start":150},{"file":"SKILL.md","line_end":151,"line_start":151}]}],"critical_findings":[],"high_findings":[],"medium_findings":[{"title":"Ruby/shell backtick execution","locations":[{"file":"SKILL.md","line_end":7,"line_start":7}],"confidence":0.65,"description":"> **Install the belt CLI skill:** `npx skills add belt-sh/cli`","review_kind":"capability","source_category":"external_commands","source_severity":"medium","confidence_reasoning":"The line instructs users to run npx skills add for another CLI skill, which can install external marketplace code. It is visible documentation, so confidence is moderate."},{"title":"Ruby/shell backtick execution","locations":[{"file":"SKILL.md","line_end":24,"line_start":19}],"confidence":0.78,"description":"```bash","review_kind":"capability","source_category":"external_commands","source_severity":"medium","confidence_reasoning":"The quick start block includes belt login and belt app run commands. These are intentional commands, but they execute an external CLI against hosted services."},{"title":"Ruby/shell backtick execution","locations":[{"file":"SKILL.md","line_end":52,"line_start":48}],"confidence":0.78,"description":"```bash","review_kind":"capability","source_category":"external_commands","source_severity":"medium","confidence_reasoning":"This range contains a visible belt CLI command that sends user input to hosted services. The workflow is intentional, but it still represents external command execution."},{"title":"Ruby/shell backtick execution","locations":[{"file":"SKILL.md","line_end":62,"line_start":58}],"confidence":0.78,"description":"```bash","review_kind":"capability","source_category":"external_commands","source_severity":"medium","confidence_reasoning":"This range contains a visible belt CLI command that sends user input to hosted services. The workflow is intentional, but it still represents external command execution."},{"title":"Ruby/shell backtick execution","locations":[{"file":"SKILL.md","line_end":72,"line_start":68}],"confidence":0.78,"description":"```bash","review_kind":"capability","source_category":"external_commands","source_severity":"medium","confidence_reasoning":"This range contains a visible belt CLI command that sends user input to hosted services. The workflow is intentional, but it still represents external command execution."},{"title":"Ruby/shell backtick execution","locations":[{"file":"SKILL.md","line_end":82,"line_start":78}],"confidence":0.78,"description":"```bash","review_kind":"capability","source_category":"external_commands","source_severity":"medium","confidence_reasoning":"This range contains a visible belt CLI command that sends user input to hosted services. The workflow is intentional, but it still represents external command execution."},{"title":"Ruby/shell backtick execution","locations":[{"file":"SKILL.md","line_end":92,"line_start":88}],"confidence":0.78,"description":"```bash","review_kind":"capability","source_category":"external_commands","source_severity":"medium","confidence_reasoning":"This range contains a visible belt CLI command that sends user input to hosted services. The workflow is intentional, but it still represents external command execution."},{"title":"Ruby/shell backtick execution","locations":[{"file":"SKILL.md","line_end":108,"line_start":98}],"confidence":0.8,"description":"```bash","review_kind":"capability","source_category":"external_commands","source_severity":"medium","confidence_reasoning":"The workflow block runs Tavily search and an OpenRouter Claude model through belt. This is intended, but it executes external commands and sends research data to hosted apps."},{"title":"Ruby/shell backtick execution","locations":[{"file":"SKILL.md","line_end":122,"line_start":112}],"confidence":0.8,"description":"```bash","review_kind":"capability","source_category":"external_commands","source_severity":"medium","confidence_reasoning":"The workflow block runs extraction and summarization through hosted belt apps. This is intended, but it sends URL content to external services."},{"title":"Ruby/shell backtick execution","locations":[{"file":"SKILL.md","line_end":143,"line_start":134}],"confidence":0.7,"description":"```bash","review_kind":"capability","source_category":"external_commands","source_severity":"medium","confidence_reasoning":"The related skills block includes npx skills add commands for external skills. These are visible install instructions, but they still create supply-chain exposure if followed."},{"title":"Ruby/shell backtick execution","locations":[{"file":"SKILL.md","line_end":145,"line_start":143}],"confidence":0.58,"description":"```","review_kind":"capability","source_category":"external_commands","source_severity":"medium","confidence_reasoning":"The range includes an inline belt app store command. It is low impact and visible, but it still encourages use of the external CLI command surface."},{"title":"Broad Belt CLI Permission","locations":[{"file":"SKILL.md","line_end":4,"line_start":4}],"confidence":0.86,"description":"The frontmatter grants Bash(belt *), which allows any belt subcommand. This is broader than the documented Tavily and Exa workflows.","review_kind":"security","source_category":"semantic","source_severity":"medium","confidence_reasoning":"The wildcard permission is explicit in the skill frontmatter. The risk is permission breadth rather than hidden malicious intent."}],"low_findings":[{"title":"Hardcoded URL","locations":[{"file":"SKILL.md","line_end":13,"line_start":13}],"confidence":0.68,"description":"![Web Search & Extraction](https://cloud.inference.sh/app/files/u/4mg21r6ta37mpaz6ktzwtt8krr/01kgndq","review_kind":"capability","source_category":"network","source_severity":"low","confidence_reasoning":"The Markdown image points to a remote cloud.inference.sh asset that may be fetched when rendered. This is visible and low severity, but it is a real external request."},{"title":"Third-Party Research Data Disclosure","locations":[{"file":"SKILL.md","line_end":23,"line_start":23},{"file":"SKILL.md","line_end":60,"line_start":49},{"file":"SKILL.md","line_end":120,"line_start":100}],"confidence":0.88,"description":"The examples submit queries, URLs, search results, and page content to Tavily, Exa, and OpenRouter Claude apps. Users could send confidential material by mistake.","review_kind":"security","source_category":"semantic","source_severity":"low","confidence_reasoning":"The command examples clearly pass user queries, URLs, and prompts to hosted belt apps. The behavior is documented and aligned with the skill purpose."}],"dangerous_patterns":[],"files_scanned":1,"total_lines":153,"audit_model":"codex","audited_at":"2026-07-08T14:30:26.101+00:00","created_at":"2026-07-08T23:33:52.656895+00:00","static_findings":[{"id":"external_commands:SKILL.md:7:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"> **Install the belt CLI skill:** `npx skills add belt-sh/cli`","category":"external_commands","line_end":7,"severity":"medium","line_start":7},{"id":"external_commands:SKILL.md:17:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"> Requires inference.sh CLI (`belt`). [Install instructions](https://raw.githubusercontent.com/infer","category":"external_commands","line_end":17,"severity":"medium","line_start":17},{"id":"external_commands:SKILL.md:19:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":24,"severity":"medium","line_start":19},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":33,"severity":"medium","line_start":24},{"id":"external_commands:SKILL.md:33:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Search Assistant | `tavily/search-assistant` | AI-powered search with answers |","category":"external_commands","line_end":34,"severity":"medium","line_start":33},{"id":"external_commands:SKILL.md:34:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Extract | `tavily/extract` | Extract content from URLs |","category":"external_commands","line_end":40,"severity":"medium","line_start":34},{"id":"external_commands:SKILL.md:40:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Search | `exa/search` | Smart web search with AI |","category":"external_commands","line_end":41,"severity":"medium","line_start":40},{"id":"external_commands:SKILL.md:41:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Answer | `exa/answer` | Direct factual answers |","category":"external_commands","line_end":42,"severity":"medium","line_start":41},{"id":"external_commands:SKILL.md:42:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Extract | `exa/extract` | Extract and analyze web content |","category":"external_commands","line_end":48,"severity":"medium","line_start":42},{"id":"external_commands:SKILL.md:48:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":52,"severity":"medium","line_start":48},{"id":"external_commands:SKILL.md:52:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":58,"severity":"medium","line_start":52},{"id":"external_commands:SKILL.md:58:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":62,"severity":"medium","line_start":58},{"id":"external_commands:SKILL.md:62:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":68,"severity":"medium","line_start":62},{"id":"external_commands:SKILL.md:68:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":72,"severity":"medium","line_start":68},{"id":"external_commands:SKILL.md:72:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":78,"severity":"medium","line_start":72},{"id":"external_commands:SKILL.md:78:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":82,"severity":"medium","line_start":78},{"id":"external_commands:SKILL.md:82:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":88,"severity":"medium","line_start":82},{"id":"external_commands:SKILL.md:88:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":92,"severity":"medium","line_start":88},{"id":"external_commands:SKILL.md:92:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":98,"severity":"medium","line_start":92},{"id":"external_commands:SKILL.md:98:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":108,"severity":"medium","line_start":98},{"id":"external_commands:SKILL.md:108:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":112,"severity":"medium","line_start":108},{"id":"external_commands:SKILL.md:112:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":122,"severity":"medium","line_start":112},{"id":"external_commands:SKILL.md:122:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":134,"severity":"medium","line_start":122},{"id":"external_commands:SKILL.md:134:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":143,"severity":"medium","line_start":134},{"id":"external_commands:SKILL.md:143:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":145,"severity":"medium","line_start":143},{"id":"network:SKILL.md:11:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"Search the web and extract content via [inference.sh](https://inference.sh) CLI.","category":"network","line_end":11,"severity":"low","line_start":11},{"id":"network:SKILL.md:13:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"![Web Search & Extraction](https://cloud.inference.sh/app/files/u/4mg21r6ta37mpaz6ktzwtt8krr/01kgndq","category":"network","line_end":13,"severity":"low","line_start":13},{"id":"network:SKILL.md:17:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"> Requires inference.sh CLI (`belt`). [Install instructions](https://raw.githubusercontent.com/infer","category":"network","line_end":17,"severity":"low","line_start":17},{"id":"network:SKILL.md:60:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"\"urls\": [\"https://example.com/article1\", \"https://example.com/article2\"]","category":"network","line_end":60,"severity":"low","line_start":60},{"id":"network:SKILL.md:90:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"\"url\": \"https://example.com/research-paper\"","category":"network","line_end":90,"severity":"low","line_start":90},{"id":"network:SKILL.md:115:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"\"urls\": [\"https://example.com/long-article\"]","category":"network","line_end":115,"severity":"low","line_start":115},{"id":"network:SKILL.md:149:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- [Adding Tools to Agents](https://inference.sh/docs/agents/adding-tools) - Equip agents with search","category":"network","line_end":149,"severity":"low","line_start":149},{"id":"network:SKILL.md:150:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- [Building a Research Agent](https://inference.sh/blog/guides/research-agent) - LLM + search integr","category":"network","line_end":150,"severity":"low","line_start":150},{"id":"network:SKILL.md:151:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- [Tool Integration Tax](https://inference.sh/blog/tools/integration-tax) - Why pre-built tools matt","category":"network","line_end":151,"severity":"low","line_start":151}],"finding_verdicts":[{"id":"external_commands:SKILL.md:7:ruby-shell-backtick-execution","reason":"The line instructs users to run npx skills add for another CLI skill, which can install external marketplace code. It is visible documentation, so confidence is moderate.","verdict":"confirmed","severity":"medium","confidence":0.65},{"id":"external_commands:SKILL.md:17:ruby-shell-backtick-execution","reason":"The inline belt token and install link are documentation, not backtick execution. No command is executed by this line.","verdict":"false_positive","confidence":0.9},{"id":"external_commands:SKILL.md:19:ruby-shell-backtick-execution","reason":"The quick start block includes belt login and belt app run commands. These are intentional commands, but they execute an external CLI against hosted services.","verdict":"confirmed","severity":"medium","confidence":0.78},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","reason":"This finding points at a Markdown code fence or nearby prose rather than an executable backtick expression. The span does not introduce hidden command execution.","verdict":"false_positive","confidence":0.92},{"id":"external_commands:SKILL.md:33:ruby-shell-backtick-execution","reason":"This is Markdown formatting or an app identifier, not Ruby or shell backtick execution. No command is executed automatically by this text.","verdict":"false_positive","confidence":0.94},{"id":"external_commands:SKILL.md:34:ruby-shell-backtick-execution","reason":"This is Markdown formatting or an app identifier, not Ruby or shell backtick execution. No command is executed automatically by this text.","verdict":"false_positive","confidence":0.94},{"id":"external_commands:SKILL.md:40:ruby-shell-backtick-execution","reason":"This is Markdown formatting or an app identifier, not Ruby or shell backtick execution. No command is executed automatically by this text.","verdict":"false_positive","confidence":0.94},{"id":"external_commands:SKILL.md:41:ruby-shell-backtick-execution","reason":"This is Markdown formatting or an app identifier, not Ruby or shell backtick execution. No command is executed automatically by this text.","verdict":"false_positive","confidence":0.94},{"id":"external_commands:SKILL.md:42:ruby-shell-backtick-execution","reason":"This finding points at a Markdown code fence or nearby prose rather than an executable backtick expression. The span does not introduce hidden command execution.","verdict":"false_positive","confidence":0.93},{"id":"external_commands:SKILL.md:48:ruby-shell-backtick-execution","reason":"This range contains a visible belt CLI command that sends user input to hosted services. The workflow is intentional, but it still represents external command execution.","verdict":"confirmed","severity":"medium","confidence":0.78},{"id":"external_commands:SKILL.md:52:ruby-shell-backtick-execution","reason":"This finding points at a Markdown code fence or nearby prose rather than an executable backtick expression. The span does not introduce hidden command execution.","verdict":"false_positive","confidence":0.92},{"id":"external_commands:SKILL.md:58:ruby-shell-backtick-execution","reason":"This range contains a visible belt CLI command that sends user input to hosted services. The workflow is intentional, but it still represents external command execution.","verdict":"confirmed","severity":"medium","confidence":0.78},{"id":"external_commands:SKILL.md:62:ruby-shell-backtick-execution","reason":"This finding points at a Markdown code fence or nearby prose rather than an executable backtick expression. The span does not introduce hidden command execution.","verdict":"false_positive","confidence":0.92},{"id":"external_commands:SKILL.md:68:ruby-shell-backtick-execution","reason":"This range contains a visible belt CLI command that sends user input to hosted services. The workflow is intentional, but it still represents external command execution.","verdict":"confirmed","severity":"medium","confidence":0.78},{"id":"external_commands:SKILL.md:72:ruby-shell-backtick-execution","reason":"This finding points at a Markdown code fence or nearby prose rather than an executable backtick expression. The span does not introduce hidden command execution.","verdict":"false_positive","confidence":0.92},{"id":"external_commands:SKILL.md:78:ruby-shell-backtick-execution","reason":"This range contains a visible belt CLI command that sends user input to hosted services. The workflow is intentional, but it still represents external command execution.","verdict":"confirmed","severity":"medium","confidence":0.78},{"id":"external_commands:SKILL.md:82:ruby-shell-backtick-execution","reason":"This finding points at a Markdown code fence or nearby prose rather than an executable backtick expression. The span does not introduce hidden command execution.","verdict":"false_positive","confidence":0.92},{"id":"external_commands:SKILL.md:88:ruby-shell-backtick-execution","reason":"This range contains a visible belt CLI command that sends user input to hosted services. The workflow is intentional, but it still represents external command execution.","verdict":"confirmed","severity":"medium","confidence":0.78},{"id":"external_commands:SKILL.md:92:ruby-shell-backtick-execution","reason":"This finding points at a Markdown code fence or nearby prose rather than an executable backtick expression. The span does not introduce hidden command execution.","verdict":"false_positive","confidence":0.92},{"id":"external_commands:SKILL.md:98:ruby-shell-backtick-execution","reason":"The workflow block runs Tavily search and an OpenRouter Claude model through belt. This is intended, but it executes external commands and sends research data to hosted apps.","verdict":"confirmed","severity":"medium","confidence":0.8},{"id":"external_commands:SKILL.md:108:ruby-shell-backtick-execution","reason":"This finding points at a Markdown code fence or nearby prose rather than an executable backtick expression. The span does not introduce hidden command execution.","verdict":"false_positive","confidence":0.92},{"id":"external_commands:SKILL.md:112:ruby-shell-backtick-execution","reason":"The workflow block runs extraction and summarization through hosted belt apps. This is intended, but it sends URL content to external services.","verdict":"confirmed","severity":"medium","confidence":0.8},{"id":"external_commands:SKILL.md:122:ruby-shell-backtick-execution","reason":"This finding points at a Markdown code fence or nearby prose rather than an executable backtick expression. The span does not introduce hidden command execution.","verdict":"false_positive","confidence":0.92},{"id":"external_commands:SKILL.md:134:ruby-shell-backtick-execution","reason":"The related skills block includes npx skills add commands for external skills. These are visible install instructions, but they still create supply-chain exposure if followed.","verdict":"confirmed","severity":"medium","confidence":0.7},{"id":"external_commands:SKILL.md:143:ruby-shell-backtick-execution","reason":"The range includes an inline belt app store command. It is low impact and visible, but it still encourages use of the external CLI command surface.","verdict":"confirmed","severity":"medium","confidence":0.58},{"id":"network:SKILL.md:11:hardcoded-url","reason":"This is a normal documentation link in Markdown, not an automatic data transfer by the skill. It does not show covert network behavior.","verdict":"false_positive","confidence":0.88},{"id":"network:SKILL.md:13:hardcoded-url","reason":"The Markdown image points to a remote cloud.inference.sh asset that may be fetched when rendered. This is visible and low severity, but it is a real external request.","verdict":"confirmed","severity":"low","confidence":0.68},{"id":"network:SKILL.md:17:hardcoded-url","reason":"The raw.githubusercontent.com URL is a visible install-instructions link, not an automatic download by the skill. The install command risk is covered separately.","verdict":"false_positive","confidence":0.84},{"id":"network:SKILL.md:60:hardcoded-url","reason":"The URL is an example.com placeholder inside sample input. It does not identify a real outbound endpoint controlled by the skill author.","verdict":"false_positive","confidence":0.95},{"id":"network:SKILL.md:90:hardcoded-url","reason":"The URL is an example.com placeholder inside sample input. It does not identify a real outbound endpoint controlled by the skill author.","verdict":"false_positive","confidence":0.95},{"id":"network:SKILL.md:115:hardcoded-url","reason":"The URL is an example.com placeholder inside sample input. It does not identify a real outbound endpoint controlled by the skill author.","verdict":"false_positive","confidence":0.95},{"id":"network:SKILL.md:149:hardcoded-url","reason":"This is a normal documentation link in Markdown, not an automatic data transfer by the skill. It does not show covert network behavior.","verdict":"false_positive","confidence":0.88},{"id":"network:SKILL.md:150:hardcoded-url","reason":"This is a normal documentation link in Markdown, not an automatic data transfer by the skill. It does not show covert network behavior.","verdict":"false_positive","confidence":0.88},{"id":"network:SKILL.md:151:hardcoded-url","reason":"This is a normal documentation link in Markdown, not an automatic data transfer by the skill. It does not show covert network behavior.","verdict":"false_positive","confidence":0.88}],"semantic_findings":[{"title":"Broad Belt CLI Permission","severity":"medium","locations":[{"file":"SKILL.md","line_end":4,"line_start":4}],"confidence":0.86,"description":"The frontmatter grants Bash(belt *), which allows any belt subcommand. This is broader than the documented Tavily and Exa workflows.","confidence_reasoning":"The wildcard permission is explicit in the skill frontmatter. The risk is permission breadth rather than hidden malicious intent."},{"title":"Third-Party Research Data Disclosure","severity":"low","locations":[{"file":"SKILL.md","line_end":23,"line_start":23},{"file":"SKILL.md","line_end":60,"line_start":49},{"file":"SKILL.md","line_end":120,"line_start":100}],"confidence":0.88,"description":"The examples submit queries, URLs, search results, and page content to Tavily, Exa, and OpenRouter Claude apps. Users could send confidential material by mistake.","confidence_reasoning":"The command examples clearly pass user queries, URLs, and prompts to hosted belt apps. The behavior is documented and aligned with the skill purpose."}],"subject_marketplace_commit_sha":null,"subject_content_hash":null,"subject_tree_hash":null,"subject_plugin_path":null,"audit_payload_hash":null,"confirmed_risk_level":null,"scanner_version":null,"policy_version":null,"subject":{"marketplaceCommitSha":null,"contentHash":null,"treeHash":null,"pluginPath":null,"auditPayloadHash":null},"scannerVersion":null,"policyVersion":null},"auditTranslation":null,"localization":{"requestedLocale":"en","contentLocale":"en","availableLocales":["en"],"fallbackToEnglish":false},"attestation":{"availability":"not_attestable","url":null,"status":null,"reason":"confirmed_risk_level does not match the canonical trust resolver"},"trust":{"publicState":"public","auditState":"complete","auditCurrentness":null,"confirmedRiskLevel":"medium","confirmedFindingCount":2,"capabilityReviewCount":12,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"allowed","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"not_attestable","verificationState":"not_verified"},"isLatest":false}}