{"data":{"skill":{"slug":"internet-court-fulfill-git-escrow","name":"fulfill-git-escrow","icon":"📦","repo":"https://github.com/internet-court/internet-court-skill/tree/main/vendored/arkhai/fulfill-git-escrow","status":"approved","author":"internet-court","authorVersion":"1.0","skillstoreRevision":1},"audit":{"id":"9e69d3d8-0867-4e7e-a0dc-b349b153eef5","skill_id":"23cc83e9-5fd9-46ae-8d76-4587eab4ccfb","version":2,"content_hash":"v3:3f6e026a3363e0954ede7bef0cfe88d4475de137:97903b2ea801b0ac147fb797269d7b1515928bc0cefc5b05cd5d123251272b4f:c01b190d88c2ec40e676eff670c874f19875c26450c9fbe824259d4f218f9c55:736b696c6c732f696e7465726e65742d636f7572742f66756c66696c6c2d6769742d657363726f77:f170b016347e52d78eea647389b13b25","risk_level":"high","is_blocked":false,"safe_to_publish":false,"analysis_status":"ok","agent_auto_install_policy":"confirmation_required","manual_install_policy":"allowed","summary":"The skill legitimately automates Git escrow fulfillment, but it invokes third-party CLI commands, handles a blockchain private key, and clones external repositories. Several scanner hits are Markdown or metadata false positives. Publication requires safeguards for credential handling, repository trust, broad staging, and financial actions.","remediation":[{"issue":"Private key may be supplied through a command-line argument.","severity":"high","suggestion":"Do not recommend passing private keys on the command line. Use a secure wallet or secret manager and redact credentials from all output."},{"issue":"Fulfillment and collection may trigger financially significant escrow actions.","severity":"high","suggestion":"Require explicit user confirmation after showing the escrow UID, target network, repository, commit, and expected reward before every state-changing command."},{"issue":"The workflow clones a repository obtained from escrow data.","severity":"high","suggestion":"Clone into a newly created unique directory, validate the repository URL and commit, and do not run repository scripts or install dependencies without confirmation."},{"issue":"The workflow stages all current working-tree files.","severity":"high","suggestion":"Use an explicit file allowlist or show git status and request approval before staging files."}],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":26,"line_start":26},{"file":"SKILL.md","line_end":30,"line_start":30},{"file":"SKILL.md","line_end":37,"line_start":37},{"file":"SKILL.md","line_end":41,"line_start":41},{"file":"SKILL.md","line_end":44,"line_start":42},{"file":"SKILL.md","line_end":48,"line_start":44},{"file":"SKILL.md","line_end":52,"line_start":48},{"file":"SKILL.md","line_end":60,"line_start":52},{"file":"SKILL.md","line_end":71,"line_start":60},{"file":"SKILL.md","line_end":77,"line_start":71},{"file":"SKILL.md","line_end":78,"line_start":77},{"file":"SKILL.md","line_end":79,"line_start":78},{"file":"SKILL.md","line_end":84,"line_start":79},{"file":"SKILL.md","line_end":89,"line_start":84},{"file":"SKILL.md","line_end":96,"line_start":89},{"file":"SKILL.md","line_end":97,"line_start":96},{"file":"SKILL.md","line_end":103,"line_start":97},{"file":"SKILL.md","line_end":108,"line_start":103},{"file":"SKILL.md","line_end":116,"line_start":108},{"file":"SKILL.md","line_end":118,"line_start":116},{"file":"SKILL.md","line_end":119,"line_start":118},{"file":"SKILL.md","line_end":121,"line_start":119}]},{"factor":"network","evidence":[{"file":"SKILL.md","line_end":17,"line_start":17}]},{"factor":"filesystem","evidence":[{"file":"SKILL.md","line_end":60,"line_start":60}]},{"factor":"env_access","evidence":[{"file":"SKILL.md","line_end":4,"line_start":4},{"file":"SKILL.md","line_end":16,"line_start":16}]}],"critical_findings":[],"high_findings":[{"title":"Ruby/shell backtick execution","locations":[{"file":"SKILL.md","line_end":71,"line_start":60}],"confidence":0.9,"description":"2. Clone it to a temporary location: `git clone <url> /tmp/escrow-tests-<uid> && cd /tmp/escrow-test","review_kind":"capability","source_category":"external_commands","source_severity":"medium","confidence_reasoning":"The skill clones and checks out a repository URL and commit obtained from escrow data. Untrusted repository content is introduced into a local temporary directory."},{"title":"Ruby/shell backtick execution","locations":[{"file":"SKILL.md","line_end":78,"line_start":77}],"confidence":0.91,"description":"1. Stage and commit the solution: `git add -A && git commit -m \"solution for escrow <uid>\"`","review_kind":"capability","source_category":"external_commands","source_severity":"medium","confidence_reasoning":"git add -A stages every working-tree change before committing. It can unintentionally include credentials or unrelated files."},{"title":"Generic API/secret keys","locations":[{"file":"SKILL.md","line_end":4,"line_start":4}],"confidence":0.92,"description":"compatibility: Requires git-escrows CLI, git, a configured .env with PRIVATE_KEY, and network access","review_kind":"capability","source_category":"env_access","source_severity":"high","confidence_reasoning":"The skill requires a PRIVATE_KEY in a .env file for its signing workflow. A private key is highly sensitive."},{"title":"Generic API/secret keys","locations":[{"file":"SKILL.md","line_end":16,"line_start":16}],"confidence":0.92,"description":"primaryEnv: PRIVATE_KEY","review_kind":"capability","source_category":"env_access","source_severity":"high","confidence_reasoning":"The metadata explicitly declares PRIVATE_KEY as the primary environment value. This exposes a sensitive signing credential to the invoked workflow."},{"title":"Environment file access","locations":[{"file":"SKILL.md","line_end":4,"line_start":4}],"confidence":0.92,"description":"compatibility: Requires git-escrows CLI, git, a configured .env with PRIVATE_KEY, and network access","review_kind":"security","source_category":"sensitive","source_severity":"high","confidence_reasoning":"The documented .env configuration includes a PRIVATE_KEY, which is a sensitive credential used by the workflow."},{"title":"Environment file access","locations":[{"file":"SKILL.md","line_end":41,"line_start":41}],"confidence":0.84,"description":"Check if a `.env` file exists in the current directory. If not, tell the user they need one and sugg","review_kind":"security","source_category":"sensitive","source_severity":"high","confidence_reasoning":"The skill directs an agent to inspect whether a local .env file exists. Although content disclosure is not requested, it touches a sensitive configuration boundary."},{"title":"Crypto seed/private key mention","locations":[{"file":"SKILL.md","line_end":43,"line_start":43}],"confidence":0.94,"description":"git-escrows new-client --privateKey \"0x...\" --network \"sepolia\"","review_kind":"security","source_category":"sensitive","source_severity":"high","confidence_reasoning":"The example accepts a blockchain private key as a CLI argument. Command-line arguments may be exposed through shell history or process listings."},{"title":"Unconfirmed financial submission","locations":[{"file":"SKILL.md","line_end":89,"line_start":84},{"file":"SKILL.md","line_end":108,"line_start":103},{"file":"SKILL.md","line_end":118,"line_start":116}],"confidence":0.87,"description":"The workflow submits fulfillment data to an escrow system and later claims a token reward without requiring an explicit confirmation immediately before the state-changing action.","review_kind":"security","source_category":"semantic","source_severity":"high","confidence_reasoning":"The documented fulfill and collect commands act on an escrow and reward workflow. The skill does not require a final user confirmation before those commands."}],"medium_findings":[{"title":"Ruby/shell backtick execution","locations":[{"file":"SKILL.md","line_end":37,"line_start":37}],"confidence":0.88,"description":"Run `git-escrows --help` to verify the CLI is installed. If it fails, try `npx git-escrows --help` o","review_kind":"capability","source_category":"external_commands","source_severity":"medium","confidence_reasoning":"The skill instructs execution of a CLI and fallback package runners. These may install or execute third-party package code."},{"title":"Ruby/shell backtick execution","locations":[{"file":"SKILL.md","line_end":52,"line_start":48}],"confidence":0.81,"description":"Run `git-escrows list --verbose --format json` and find the escrow matching the provided UID. Confir","review_kind":"capability","source_category":"external_commands","source_severity":"medium","confidence_reasoning":"The instruction executes a third-party CLI that queries escrow details and can access the configured signing environment."},{"title":"Ruby/shell backtick execution","locations":[{"file":"SKILL.md","line_end":60,"line_start":52}],"confidence":0.76,"description":"If no escrow UID was provided, ask the user for one. You can help them browse with `git-escrows list","review_kind":"capability","source_category":"external_commands","source_severity":"medium","confidence_reasoning":"The instruction runs the escrow CLI to retrieve remote escrow data. This is an external command with network-facing behavior."},{"title":"Ruby/shell backtick execution","locations":[{"file":"SKILL.md","line_end":121,"line_start":119}],"confidence":0.68,"description":"- Suggest checking status with: `git-escrows list --verbose`","review_kind":"capability","source_category":"external_commands","source_severity":"medium","confidence_reasoning":"The instruction runs the third-party escrow CLI to query status. It is legitimate functionality but performs an external command."},{"title":"Temp directory access","locations":[{"file":"SKILL.md","line_end":60,"line_start":60}],"confidence":0.88,"description":"2. Clone it to a temporary location: `git clone <url> /tmp/escrow-tests-<uid> && cd /tmp/escrow-test","review_kind":"capability","source_category":"filesystem","source_severity":"medium","confidence_reasoning":"A repository is cloned into a predictable temporary path. This persists untrusted content locally and can collide with an existing path."}],"low_findings":[],"dangerous_patterns":[],"files_scanned":1,"total_lines":122,"audit_model":"claude","audited_at":"2026-07-21T02:59:50.742+00:00","created_at":"2026-07-21T03:08:47.631352+00:00","static_findings":[{"id":"external_commands:SKILL.md:26:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Mode A (Write + Submit)**: You write the solution code, commit it, and submit. This is the defau","category":"external_commands","line_end":26,"severity":"medium","line_start":26},{"id":"external_commands:SKILL.md:30:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- If they provide `--solution-repo`, use **Mode B**.","category":"external_commands","line_end":30,"severity":"medium","line_start":30},{"id":"external_commands:SKILL.md:37:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Run `git-escrows --help` to verify the CLI is installed. If it fails, try `npx git-escrows --help` o","category":"external_commands","line_end":37,"severity":"medium","line_start":37},{"id":"external_commands:SKILL.md:41:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Check if a `.env` file exists in the current directory. If not, tell the user they need one and sugg","category":"external_commands","line_end":41,"severity":"medium","line_start":41},{"id":"external_commands:SKILL.md:42:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":44,"severity":"medium","line_start":42},{"id":"external_commands:SKILL.md:44:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":48,"severity":"medium","line_start":44},{"id":"external_commands:SKILL.md:48:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Run `git-escrows list --verbose --format json` and find the escrow matching the provided UID. Confir","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":"If no escrow UID was provided, ask the user for one. You can help them browse with `git-escrows list","category":"external_commands","line_end":60,"severity":"medium","line_start":52},{"id":"external_commands:SKILL.md:60:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"2. Clone it to a temporary location: `git clone <url> /tmp/escrow-tests-<uid> && cd /tmp/escrow-test","category":"external_commands","line_end":71,"severity":"medium","line_start":60},{"id":"external_commands:SKILL.md:71:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"2. Follow the project structure the tests expect (e.g., if tests import from `src/math.ts`, create t","category":"external_commands","line_end":77,"severity":"medium","line_start":71},{"id":"external_commands:SKILL.md:77:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"1. Stage and commit the solution: `git add -A && git commit -m \"solution for escrow <uid>\"`","category":"external_commands","line_end":78,"severity":"medium","line_start":77},{"id":"external_commands:SKILL.md:78:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"2. Get the commit hash: `git rev-parse HEAD`","category":"external_commands","line_end":79,"severity":"medium","line_start":78},{"id":"external_commands:SKILL.md:79:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"3. Get the remote URL: `git remote get-url origin`","category":"external_commands","line_end":84,"severity":"medium","line_start":79},{"id":"external_commands:SKILL.md:84:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":89,"severity":"medium","line_start":84},{"id":"external_commands:SKILL.md:89:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":96,"severity":"medium","line_start":89},{"id":"external_commands:SKILL.md:96:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `--solution-repo`: The git repo URL with the solution","category":"external_commands","line_end":97,"severity":"medium","line_start":96},{"id":"external_commands:SKILL.md:97:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `--solution-commit`: The commit hash of the solution","category":"external_commands","line_end":103,"severity":"medium","line_start":97},{"id":"external_commands:SKILL.md:103:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":108,"severity":"medium","line_start":103},{"id":"external_commands:SKILL.md:108:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":116,"severity":"medium","line_start":108},{"id":"external_commands:SKILL.md:116:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":118,"severity":"medium","line_start":116},{"id":"external_commands:SKILL.md:118:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":119,"severity":"medium","line_start":118},{"id":"external_commands:SKILL.md:119:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Suggest checking status with: `git-escrows list --verbose`","category":"external_commands","line_end":121,"severity":"medium","line_start":119},{"id":"network:SKILL.md:17:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"homepage: https://github.com/arkhai-io/git-commit-trading","category":"network","line_end":17,"severity":"low","line_start":17},{"id":"filesystem:SKILL.md:60:temp-directory-access","file":"SKILL.md","pattern":"Temp directory access","snippet":"2. Clone it to a temporary location: `git clone <url> /tmp/escrow-tests-<uid> && cd /tmp/escrow-test","category":"filesystem","line_end":60,"severity":"medium","line_start":60},{"id":"env_access:SKILL.md:4:generic-api-secret-keys","file":"SKILL.md","pattern":"Generic API/secret keys","snippet":"compatibility: Requires git-escrows CLI, git, a configured .env with PRIVATE_KEY, and network access","category":"env_access","line_end":4,"severity":"high","line_start":4},{"id":"env_access:SKILL.md:16:generic-api-secret-keys","file":"SKILL.md","pattern":"Generic API/secret keys","snippet":"primaryEnv: PRIVATE_KEY","category":"env_access","line_end":16,"severity":"high","line_start":16},{"id":"obfuscation:SKILL.md:18:unicode-escape-sequence","file":"SKILL.md","pattern":"Unicode escape sequence","snippet":"emoji: \"\\U0001F3AF\"","category":"obfuscation","line_end":18,"severity":"low","line_start":18},{"id":"sensitive:SKILL.md:4:environment-file-access","file":"SKILL.md","pattern":"Environment file access","snippet":"compatibility: Requires git-escrows CLI, git, a configured .env with PRIVATE_KEY, and network access","category":"sensitive","line_end":4,"severity":"high","line_start":4},{"id":"sensitive:SKILL.md:15:environment-file-access","file":"SKILL.md","pattern":"Environment file access","snippet":"- .env","category":"sensitive","line_end":15,"severity":"high","line_start":15},{"id":"sensitive:SKILL.md:39:environment-file-access","file":"SKILL.md","pattern":"Environment file access","snippet":"## Step 2: Check .env configuration","category":"sensitive","line_end":39,"severity":"high","line_start":39},{"id":"sensitive:SKILL.md:41:environment-file-access","file":"SKILL.md","pattern":"Environment file access","snippet":"Check if a `.env` file exists in the current directory. If not, tell the user they need one and sugg","category":"sensitive","line_end":41,"severity":"high","line_start":41},{"id":"sensitive:SKILL.md:43:crypto-seed-private-key-mention","file":"SKILL.md","pattern":"Crypto seed/private key mention","snippet":"git-escrows new-client --privateKey \"0x...\" --network \"sepolia\"","category":"sensitive","line_end":43,"severity":"high","line_start":43},{"id":"blocker:SKILL.md:86:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"--escrow-uid \"<uid>\" \\","category":"blocker","line_end":86,"severity":"low","line_start":86},{"id":"blocker:SKILL.md:105:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"--escrow-uid \"<uid>\" \\","category":"blocker","line_end":105,"severity":"low","line_start":105},{"id":"blocker:SKILL.md:117:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"git-escrows collect --escrow-uid <escrow-uid> --fulfillment-uid <fulfillment-uid>","category":"blocker","line_end":117,"severity":"low","line_start":117}],"finding_verdicts":[{"id":"external_commands:SKILL.md:26:ruby-shell-backtick-execution","reason":"This is descriptive Markdown that selects an operating mode. It contains no executable command.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:30:ruby-shell-backtick-execution","reason":"This is a conditional instruction about a user option, not shell execution.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:37:ruby-shell-backtick-execution","reason":"The skill instructs execution of a CLI and fallback package runners. These may install or execute third-party package code.","verdict":"confirmed","severity":"medium","confidence":0.88},{"id":"external_commands:SKILL.md:41:ruby-shell-backtick-execution","reason":"The line only directs a presence check for a configuration file and does not itself contain a shell command.","verdict":"false_positive","confidence":0.96},{"id":"external_commands:SKILL.md:42:ruby-shell-backtick-execution","reason":"This is a Markdown code-fence delimiter, not executable content.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:44:ruby-shell-backtick-execution","reason":"This is a Markdown code-fence delimiter, not executable content.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:48:ruby-shell-backtick-execution","reason":"The instruction executes a third-party CLI that queries escrow details and can access the configured signing environment.","verdict":"confirmed","severity":"medium","confidence":0.81},{"id":"external_commands:SKILL.md:52:ruby-shell-backtick-execution","reason":"The instruction runs the escrow CLI to retrieve remote escrow data. This is an external command with network-facing behavior.","verdict":"confirmed","severity":"medium","confidence":0.76},{"id":"external_commands:SKILL.md:60:ruby-shell-backtick-execution","reason":"The skill clones and checks out a repository URL and commit obtained from escrow data. Untrusted repository content is introduced into a local temporary directory.","verdict":"confirmed","severity":"high","confidence":0.9},{"id":"external_commands:SKILL.md:71:ruby-shell-backtick-execution","reason":"This line gives a project-layout example in prose and does not execute a command.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:77:ruby-shell-backtick-execution","reason":"git add -A stages every working-tree change before committing. It can unintentionally include credentials or unrelated files.","verdict":"confirmed","severity":"high","confidence":0.91},{"id":"external_commands:SKILL.md:78:ruby-shell-backtick-execution","reason":"git rev-parse HEAD only reads the current commit identifier and does not modify state or process untrusted input.","verdict":"false_positive","confidence":0.94},{"id":"external_commands:SKILL.md:79:ruby-shell-backtick-execution","reason":"git remote get-url origin only reads configured repository metadata.","verdict":"false_positive","confidence":0.93},{"id":"external_commands:SKILL.md:84:ruby-shell-backtick-execution","reason":"This is a Markdown code-fence delimiter, not executable content.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:89:ruby-shell-backtick-execution","reason":"This is a Markdown code-fence delimiter, not executable content.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:96:ruby-shell-backtick-execution","reason":"This line documents a command option and does not invoke it.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:97:ruby-shell-backtick-execution","reason":"This line documents a command option and does not invoke it.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:103:ruby-shell-backtick-execution","reason":"This is a Markdown code-fence delimiter, not executable content.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:108:ruby-shell-backtick-execution","reason":"This is a Markdown code-fence delimiter, not executable content.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:116:ruby-shell-backtick-execution","reason":"This is a Markdown code-fence delimiter, not executable content.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:118:ruby-shell-backtick-execution","reason":"This is a Markdown code-fence delimiter, not executable content.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:119:ruby-shell-backtick-execution","reason":"The instruction runs the third-party escrow CLI to query status. It is legitimate functionality but performs an external command.","verdict":"confirmed","severity":"medium","confidence":0.68},{"id":"network:SKILL.md:17:hardcoded-url","reason":"The URL is a declared project homepage. No network request is embedded on this line.","verdict":"false_positive","confidence":0.98},{"id":"filesystem:SKILL.md:60:temp-directory-access","reason":"A repository is cloned into a predictable temporary path. This persists untrusted content locally and can collide with an existing path.","verdict":"confirmed","severity":"medium","confidence":0.88},{"id":"env_access:SKILL.md:4:generic-api-secret-keys","reason":"The skill requires a PRIVATE_KEY in a .env file for its signing workflow. A private key is highly sensitive.","verdict":"confirmed","severity":"high","confidence":0.92},{"id":"env_access:SKILL.md:16:generic-api-secret-keys","reason":"The metadata explicitly declares PRIVATE_KEY as the primary environment value. This exposes a sensitive signing credential to the invoked workflow.","verdict":"confirmed","severity":"high","confidence":0.92},{"id":"obfuscation:SKILL.md:18:unicode-escape-sequence","reason":"The Unicode escape encodes the declared emoji only and does not obscure executable content.","verdict":"false_positive","confidence":0.99},{"id":"sensitive:SKILL.md:4:environment-file-access","reason":"The documented .env configuration includes a PRIVATE_KEY, which is a sensitive credential used by the workflow.","verdict":"confirmed","severity":"high","confidence":0.92},{"id":"sensitive:SKILL.md:15:environment-file-access","reason":"This metadata declares .env as a required configuration file but does not read or disclose its contents.","verdict":"false_positive","confidence":0.9},{"id":"sensitive:SKILL.md:39:environment-file-access","reason":"This is only a section heading and does not access a sensitive file.","verdict":"false_positive","confidence":0.95},{"id":"sensitive:SKILL.md:41:environment-file-access","reason":"The skill directs an agent to inspect whether a local .env file exists. Although content disclosure is not requested, it touches a sensitive configuration boundary.","verdict":"confirmed","severity":"high","confidence":0.84},{"id":"sensitive:SKILL.md:43:crypto-seed-private-key-mention","reason":"The example accepts a blockchain private key as a CLI argument. Command-line arguments may be exposed through shell history or process listings.","verdict":"confirmed","severity":"high","confidence":0.94},{"id":"blocker:SKILL.md:86:system-reconnaissance","reason":"The escrow UID is an explicit fulfillment parameter, not a system-reconnaissance action.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:105:system-reconnaissance","reason":"The escrow UID is an explicit fulfillment parameter, not a system-reconnaissance action.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:117:system-reconnaissance","reason":"The command references user-provided escrow identifiers and does not inspect the host system.","verdict":"false_positive","confidence":0.99}],"semantic_findings":[{"title":"Unconfirmed financial submission","severity":"high","locations":[{"file":"SKILL.md","line_end":89,"line_start":84},{"file":"SKILL.md","line_end":108,"line_start":103},{"file":"SKILL.md","line_end":118,"line_start":116}],"confidence":0.87,"description":"The workflow submits fulfillment data to an escrow system and later claims a token reward without requiring an explicit confirmation immediately before the state-changing action.","confidence_reasoning":"The documented fulfill and collect commands act on an escrow and reward workflow. The skill does not require a final user confirmation before those commands."}],"subject_marketplace_commit_sha":"3f6e026a3363e0954ede7bef0cfe88d4475de137","subject_content_hash":"97903b2ea801b0ac147fb797269d7b1515928bc0cefc5b05cd5d123251272b4f","subject_tree_hash":"c01b190d88c2ec40e676eff670c874f19875c26450c9fbe824259d4f218f9c55","subject_plugin_path":"skills/internet-court/fulfill-git-escrow","audit_payload_hash":"f170b016347e52d78eea647389b13b25","confirmed_risk_level":"high","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"3f6e026a3363e0954ede7bef0cfe88d4475de137","contentHash":"97903b2ea801b0ac147fb797269d7b1515928bc0cefc5b05cd5d123251272b4f","treeHash":"c01b190d88c2ec40e676eff670c874f19875c26450c9fbe824259d4f218f9c55","pluginPath":"skills/internet-court/fulfill-git-escrow","auditPayloadHash":"f170b016347e52d78eea647389b13b25"},"scannerVersion":"3.0.0","policyVersion":"skillstore-security-audit-policy-v1"},"auditTranslation":null,"localization":{"requestedLocale":"en","contentLocale":"en","availableLocales":["en"],"fallbackToEnglish":false},"attestation":{"availability":"unavailable","url":null,"status":null},"trust":{"publicState":"public","auditState":"complete","auditCurrentness":null,"confirmedRiskLevel":"high","confirmedFindingCount":4,"capabilityReviewCount":9,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"confirmation_required","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"unavailable","verificationState":"not_verified"},"isLatest":true}}