{"data":{"skill":{"slug":"internet-court-trustless-agents","name":"ERC-8004 Trustless Agents skill","icon":"📦","repo":"https://github.com/internet-court/internet-court-skill/tree/main/vendored/chaingpt/trustless-agents","status":"approved","author":"internet-court","authorVersion":null,"skillstoreRevision":1},"audit":{"id":"3f8ebf87-4ede-45c8-92ab-e3d43b831c20","skill_id":"e196a311-6fe0-4d08-936a-3a5321d65eb5","version":2,"content_hash":"v3:3f6e026a3363e0954ede7bef0cfe88d4475de137:67844391320ffe7614217a4ac0323f0e0bff0aa1dacdeb2cb0059c5c12a865dc:012dc8f1994a6c4775ffe684a67dd2dcdd935d28f70c0f237daa437af8fc2bf9:736b696c6c732f696e7465726e65742d636f7572742f74727573746c6573732d6167656e7473:0e2bbc2a858c1ffc6bc464c85dd823b9","risk_level":"low","is_blocked":false,"safe_to_publish":true,"analysis_status":"ok","agent_auto_install_policy":"allowed","manual_install_policy":"allowed","summary":"All eight static findings are false positives caused by Markdown inline-code delimiters and a documented well-known URL path. The documented public-RPC fallback may expose query metadata to third-party providers.","remediation":[{"issue":"Public RPC fallback providers can observe blockchain queries and requester metadata.","severity":"low","suggestion":"Document the fallback providers and recommend BASE_RPC_URL when users require provider control or stronger privacy."}],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":16,"line_start":16},{"file":"SKILL.md","line_end":17,"line_start":17},{"file":"SKILL.md","line_end":24,"line_start":24},{"file":"SKILL.md","line_end":25,"line_start":25},{"file":"SKILL.md","line_end":26,"line_start":26},{"file":"SKILL.md","line_end":28,"line_start":28},{"file":"SKILL.md","line_end":39,"line_start":39}]},{"factor":"filesystem","evidence":[{"file":"SKILL.md","line_end":26,"line_start":26}]}],"critical_findings":[],"high_findings":[],"medium_findings":[],"low_findings":[{"title":"Public RPC Query Metadata Exposure","locations":[{"file":"SKILL.md","line_end":39,"line_start":39}],"confidence":0.86,"description":"The documented fallback sends blockchain read queries to unspecified public RPC providers, which can expose queried addresses and requester metadata.","review_kind":"security","source_category":"semantic","source_severity":"low","confidence_reasoning":"SKILL.md explicitly states that reads use a public-RPC fallback chain. The provider identities and privacy behavior are not documented."}],"dangerous_patterns":[],"files_scanned":1,"total_lines":41,"audit_model":"codex","audited_at":"2026-07-19T11:12:20.491+00:00","created_at":"2026-07-19T11:17:10.643624+00:00","static_findings":[{"id":"external_commands:SKILL.md:16:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"at the vanity address `0x8004A169...` across many chains (verified on Base","category":"external_commands","line_end":16,"severity":"medium","line_start":16},{"id":"external_commands:SKILL.md:17:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"mainnet). An agent's `tokenURI` points to an AgentCard describing what it does,","category":"external_commands","line_end":17,"severity":"medium","line_start":17},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `chaingpt_erc8004_resolve_agent` | Resolve `agentId` → owner + decoded AgentCard (handles `data:` ","category":"external_commands","line_end":24,"severity":"medium","line_start":24},{"id":"external_commands:SKILL.md:25:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `chaingpt_erc8004_registries` | The canonical Identity + Reputation registry addresses and the cha","category":"external_commands","line_end":25,"severity":"medium","line_start":25},{"id":"external_commands:SKILL.md:26:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `chaingpt_erc8004_agentcard` | Generate a `registration-v1` AgentCard JSON (name, services, `suppo","category":"external_commands","line_end":26,"severity":"medium","line_start":26},{"id":"external_commands:SKILL.md:28:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"`chaingpt_erc8004_resolve_agent agentId=0 chain=base` → the Genesis Agent.","category":"external_commands","line_end":28,"severity":"medium","line_start":28},{"id":"external_commands:SKILL.md:39:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Reads use a public-RPC fallback chain; set `BASE_RPC_URL` for reliability.","category":"external_commands","line_end":39,"severity":"medium","line_start":39},{"id":"filesystem:SKILL.md:26:hidden-file-access","file":"SKILL.md","pattern":"Hidden file access","snippet":"| `chaingpt_erc8004_agentcard` | Generate a `registration-v1` AgentCard JSON (name, services, `suppo","category":"filesystem","line_end":26,"severity":"medium","line_start":26}],"finding_verdicts":[{"id":"external_commands:SKILL.md:16:ruby-shell-backtick-execution","reason":"The backticks are Markdown delimiters around an abbreviated contract address. No Ruby or shell execution appears at this location.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:17:ruby-shell-backtick-execution","reason":"The backticks format the tokenURI property as inline documentation. They do not invoke a command or evaluate content.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","reason":"The backticks format tool names, parameters, and URI schemes inside a Markdown table. This line contains documentation, not executable shell syntax.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:25:ruby-shell-backtick-execution","reason":"The backticks only identify a tool name in a Markdown table. No command execution is present.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:26:ruby-shell-backtick-execution","reason":"The backticks format a tool name, AgentCard fields, and documented URI forms. They are not Ruby execution operators in this Markdown file.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:28:ruby-shell-backtick-execution","reason":"This is a Markdown-formatted example invocation for the named skill tool. The documentation does not execute it through Ruby or a shell.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:39:ruby-shell-backtick-execution","reason":"The backticks format the BASE_RPC_URL environment variable name. The line documents configuration and contains no command execution.","verdict":"false_positive","confidence":0.99},{"id":"filesystem:SKILL.md:26:hidden-file-access","reason":"The text names the standard web path /.well-known/agent-card.json as a hosting location. It does not access a local hidden file.","verdict":"false_positive","confidence":0.99}],"semantic_findings":[{"title":"Public RPC Query Metadata Exposure","severity":"low","locations":[{"file":"SKILL.md","line_end":39,"line_start":39}],"confidence":0.86,"description":"The documented fallback sends blockchain read queries to unspecified public RPC providers, which can expose queried addresses and requester metadata.","confidence_reasoning":"SKILL.md explicitly states that reads use a public-RPC fallback chain. The provider identities and privacy behavior are not documented."}],"subject_marketplace_commit_sha":"3f6e026a3363e0954ede7bef0cfe88d4475de137","subject_content_hash":"67844391320ffe7614217a4ac0323f0e0bff0aa1dacdeb2cb0059c5c12a865dc","subject_tree_hash":"012dc8f1994a6c4775ffe684a67dd2dcdd935d28f70c0f237daa437af8fc2bf9","subject_plugin_path":"skills/internet-court/trustless-agents","audit_payload_hash":"0e2bbc2a858c1ffc6bc464c85dd823b9","confirmed_risk_level":"low","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"3f6e026a3363e0954ede7bef0cfe88d4475de137","contentHash":"67844391320ffe7614217a4ac0323f0e0bff0aa1dacdeb2cb0059c5c12a865dc","treeHash":"012dc8f1994a6c4775ffe684a67dd2dcdd935d28f70c0f237daa437af8fc2bf9","pluginPath":"skills/internet-court/trustless-agents","auditPayloadHash":"0e2bbc2a858c1ffc6bc464c85dd823b9"},"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":"low","confirmedFindingCount":1,"capabilityReviewCount":0,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"allowed","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"unavailable","verificationState":"not_verified"},"isLatest":true}}