{"data":{"skill":{"slug":"internet-court-x402-erc7710","name":"x402-erc7710","icon":"📦","repo":"https://github.com/internet-court/internet-court-skill/tree/main/integrations/x402-erc7710","status":"approved","author":"internet-court","authorVersion":null,"skillstoreRevision":null},"audit":{"id":"b962a4f1-4835-4cc1-a309-7ec867d93f3e","skill_id":"59d39af9-efff-4255-88dd-0d0f76dae134","version":1,"content_hash":"c11cc44760f6a6408c7ea374af02bad9","risk_level":"high","is_blocked":false,"safe_to_publish":false,"analysis_status":"ok","agent_auto_install_policy":"confirmation_required","manual_install_policy":"allowed","summary":"Most command and reconnaissance alerts are false positives caused by Markdown code spans, TypeScript examples, and payment-demo language. The remaining high-severity issue is secret handling because the skill permits exporting a generated agent private key in a demo package.","remediation":[{"issue":"Demo package private key export","severity":"high","suggestion":"Default to omitting private keys from exported packages. Make any testnet key export explicit, warning-backed, capped, and short-lived."},{"issue":"Generated or imported agent wallets can be mishandled","severity":"high","suggestion":"Prefer generated testnet wallets and never import production keys. Require explicit user confirmation before creating secret-bearing artifacts."},{"issue":"Documentation syntax triggers command-execution scanners","severity":"low","suggestion":"No security fix is required. Consider clarifying that fenced examples are documentation and not commands to run."}],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":12,"line_start":12},{"file":"SKILL.md","line_end":23,"line_start":23},{"file":"SKILL.md","line_end":24,"line_start":24},{"file":"SKILL.md","line_end":42,"line_start":32},{"file":"SKILL.md","line_end":74,"line_start":42},{"file":"SKILL.md","line_end":76,"line_start":74},{"file":"SKILL.md","line_end":77,"line_start":76},{"file":"SKILL.md","line_end":78,"line_start":77},{"file":"SKILL.md","line_end":79,"line_start":78},{"file":"SKILL.md","line_end":89,"line_start":79},{"file":"SKILL.md","line_end":108,"line_start":89},{"file":"SKILL.md","line_end":121,"line_start":108},{"file":"SKILL.md","line_end":121,"line_start":121},{"file":"SKILL.md","line_end":134,"line_start":122},{"file":"SKILL.md","line_end":139,"line_start":134},{"file":"SKILL.md","line_end":139,"line_start":139},{"file":"SKILL.md","line_end":162,"line_start":162},{"file":"SKILL.md","line_end":167,"line_start":167},{"file":"SKILL.md","line_end":169,"line_start":169},{"file":"SKILL.md","line_end":177,"line_start":177},{"file":"SKILL.md","line_end":199,"line_start":199},{"file":"SKILL.md","line_end":226,"line_start":222}]}],"critical_findings":[],"high_findings":[{"title":"Crypto seed/private key mention","locations":[{"file":"SKILL.md","line_end":119,"line_start":119}],"confidence":0.93,"description":"- The page generates a real agent EOA for the demo and exports a JSON package containing the agent p","review_kind":"security","source_category":"sensitive","source_severity":"high","confidence_reasoning":"The skill instructs a demo page to export a JSON package containing an agent private key. That artifact is a bearer secret that could spend delegated authority if exposed."},{"title":"Crypto seed/private key mention","locations":[{"file":"SKILL.md","line_end":147,"line_start":147}],"confidence":0.88,"description":"- include private key in exported JSON or omit it;","review_kind":"security","source_category":"sensitive","source_severity":"high","confidence_reasoning":"The skill presents including a private key in exported JSON as an implementation choice. Even for demos, this creates a secret-handling risk if the artifact is shared or reused."}],"medium_findings":[],"low_findings":[],"dangerous_patterns":[],"files_scanned":2,"total_lines":291,"audit_model":"codex","audited_at":"2026-07-10T00:28:14.974+00:00","created_at":"2026-07-10T07:43:57.657337+00:00","static_findings":[{"id":"blocker:references/demo-blueprints.md:5:system-reconnaissance","file":"references/demo-blueprints.md","pattern":"System reconnaissance","snippet":"Goal: demonstrate an agent making repeated paid HTTP calls without asking the user to approve every ","category":"blocker","line_end":5,"severity":"low","line_start":5},{"id":"blocker:references/demo-blueprints.md:10:system-reconnaissance","file":"references/demo-blueprints.md","pattern":"System reconnaissance","snippet":"- Buyer agent: calls the paid API and holds the delegated permission context.","category":"blocker","line_end":10,"severity":"low","line_start":10},{"id":"blocker:references/demo-blueprints.md:39:system-reconnaissance","file":"references/demo-blueprints.md","pattern":"System reconnaissance","snippet":"- Paid but malformed report: evidence package goes to dispute.","category":"blocker","line_end":39,"severity":"low","line_start":39},{"id":"blocker:references/demo-blueprints.md:49:system-reconnaissance","file":"references/demo-blueprints.md","pattern":"System reconnaissance","snippet":"2. Resolver calls paid data APIs through x402.","category":"blocker","line_end":49,"severity":"low","line_start":49},{"id":"blocker:references/demo-blueprints.md:62:system-reconnaissance","file":"references/demo-blueprints.md","pattern":"System reconnaissance","snippet":"4. Fulfillment attestation records successful paid request and response.","category":"blocker","line_end":62,"severity":"low","line_start":62},{"id":"external_commands:SKILL.md:12:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- x402 is the per-request payment rail. A protected resource can respond with HTTP `402 Payment Requ","category":"external_commands","line_end":12,"severity":"medium","line_start":12},{"id":"external_commands:SKILL.md:23:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"2. Confirm whether it returns `402 Payment Required`.","category":"external_commands","line_end":23,"severity":"medium","line_start":23},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"3. Summarize the advertised x402 requirements: network, token, amount, payee, route, and `extra.asse","category":"external_commands","line_end":24,"severity":"medium","line_start":24},{"id":"external_commands:SKILL.md:32:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```text","category":"external_commands","line_end":42,"severity":"medium","line_start":32},{"id":"external_commands:SKILL.md:42:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":74,"severity":"medium","line_start":42},{"id":"external_commands:SKILL.md:74:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```ts","category":"external_commands","line_end":76,"severity":"medium","line_start":74},{"id":"external_commands:SKILL.md:76:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"delegator: `0x${string}`;","category":"external_commands","line_end":77,"severity":"medium","line_start":76},{"id":"external_commands:SKILL.md:77:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"delegate: `0x${string}`;","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":"token: `0x${string}`;","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":"allowedPayTo: `0x${string}`;","category":"external_commands","line_end":89,"severity":"medium","line_start":79},{"id":"external_commands:SKILL.md:89:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":108,"severity":"medium","line_start":89},{"id":"external_commands:SKILL.md:108:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Resource: `/api/evidence/report`.","category":"external_commands","line_end":121,"severity":"medium","line_start":108},{"id":"external_commands:SKILL.md:121:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Prefer `erc20-token-periodic` for recurring agent spend, `erc20-token-allowance` for one-shot budg","category":"external_commands","line_end":121,"severity":"medium","line_start":121},{"id":"external_commands:SKILL.md:122:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- The x402 service must advertise `extra.assetTransferMethod = \"erc7710\"` or the MetaMask x402 clien","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":"1. Inspect x402 resources and confirm `extra.assetTransferMethod = \"erc7710\"`.","category":"external_commands","line_end":139,"severity":"medium","line_start":134},{"id":"external_commands:SKILL.md:139:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"6. Build a GenLayer decision payload for `continue`, `warn`, `constrain`, `revoke`, or `escalate`.","category":"external_commands","line_end":139,"severity":"medium","line_start":139},{"id":"external_commands:SKILL.md:162:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Validate receipt proofs before advancing: EVM tx hashes are `0x` plus 64 hex characters, and EVM a","category":"external_commands","line_end":162,"severity":"medium","line_start":162},{"id":"external_commands:SKILL.md:167:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"For the local Internet Court x402 demo, `WalletSpendReporter` takes the Base `BridgeSender.sol` addr","category":"external_commands","line_end":167,"severity":"medium","line_start":167},{"id":"external_commands:SKILL.md:169:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"For the local Internet Court x402 demo, `GenLayerDecisionReceiver.initialSourceContract` is the GenL","category":"external_commands","line_end":169,"severity":"medium","line_start":169},{"id":"external_commands:SKILL.md:177:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- decisions: `continue`, `warn`, `constrain`, `revoke`, or `escalate`;","category":"external_commands","line_end":177,"severity":"medium","line_start":177},{"id":"external_commands:SKILL.md:199:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"6. Spend snapshot source, such as an x402 permission manager with `spent`, `requestCount`, and a gen","category":"external_commands","line_end":199,"severity":"medium","line_start":199},{"id":"external_commands:SKILL.md:222:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- A production-quality malicious-agent block needs a wallet caveat/enforcer or smart-account module ","category":"external_commands","line_end":226,"severity":"medium","line_start":222},{"id":"sensitive:SKILL.md:119:crypto-seed-private-key-mention","file":"SKILL.md","pattern":"Crypto seed/private key mention","snippet":"- The page generates a real agent EOA for the demo and exports a JSON package containing the agent p","category":"sensitive","line_end":119,"severity":"high","line_start":119},{"id":"sensitive:SKILL.md:126:crypto-seed-private-key-mention","file":"SKILL.md","pattern":"Crypto seed/private key mention","snippet":"The exported agent package is a bearer capability in demo form. Include explicit warnings, keep caps","category":"sensitive","line_end":126,"severity":"high","line_start":126},{"id":"sensitive:SKILL.md:147:crypto-seed-private-key-mention","file":"SKILL.md","pattern":"Crypto seed/private key mention","snippet":"- include private key in exported JSON or omit it;","category":"sensitive","line_end":147,"severity":"high","line_start":147},{"id":"sensitive:SKILL.md:158:crypto-seed-private-key-mention","file":"SKILL.md","pattern":"Crypto seed/private key mention","snippet":"- Never ask for private keys.","category":"sensitive","line_end":158,"severity":"high","line_start":158},{"id":"blocker:SKILL.md:20:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"When the user has only asked to use or inspect a paid HTTP service, stay in discovery mode:","category":"blocker","line_end":20,"severity":"low","line_start":20},{"id":"blocker:SKILL.md:25:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"4. State that no paid request has been made.","category":"blocker","line_end":25,"severity":"low","line_start":25},{"id":"blocker:SKILL.md:33:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"I found the paid endpoint and its x402 requirements.","category":"blocker","line_end":33,"severity":"low","line_start":33},{"id":"blocker:SKILL.md:41:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"I have not made a paid request. Do you want me to help set up bounded payment authority for this tas","category":"blocker","line_end":41,"severity":"low","line_start":41},{"id":"blocker:SKILL.md:123:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"- Support multiple allowed HTTP resources in the exported agent package when the service exposes mor","category":"blocker","line_end":123,"severity":"low","line_start":123},{"id":"blocker:SKILL.md:215:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"For paid report or API-resource demos using x402 plus review guardrails:","category":"blocker","line_end":215,"severity":"low","line_start":215},{"id":"blocker:SKILL.md:217:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"- The x402 paid response should include a service-signed receipt with stable JSON canonicalization, ","category":"blocker","line_end":217,"severity":"low","line_start":217},{"id":"blocker:SKILL.md:219:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"- Reject evidence before review unless the paid request returned HTTP 200, produced an x402 payment ","category":"blocker","line_end":219,"severity":"low","line_start":219}],"finding_verdicts":[{"id":"blocker:references/demo-blueprints.md:5:system-reconnaissance","reason":"The line describes a payment demo goal where an agent makes paid HTTP calls after permission. It does not instruct host reconnaissance or unauthorized discovery.","verdict":"false_positive","confidence":0.94},{"id":"blocker:references/demo-blueprints.md:10:system-reconnaissance","reason":"The line lists the buyer agent as an actor that holds delegated payment context. It is role documentation, not system reconnaissance.","verdict":"false_positive","confidence":0.95},{"id":"blocker:references/demo-blueprints.md:39:system-reconnaissance","reason":"The line describes routing a malformed paid report to dispute handling. It does not request probing local systems or collecting host data.","verdict":"false_positive","confidence":0.95},{"id":"blocker:references/demo-blueprints.md:49:system-reconnaissance","reason":"The line says a resolver calls paid data APIs through x402 as part of a documented workflow. It is normal API use, not reconnaissance.","verdict":"false_positive","confidence":0.91},{"id":"blocker:references/demo-blueprints.md:62:system-reconnaissance","reason":"The line records a fulfillment attestation after a paid request and response. This is audit evidence for a demo flow, not reconnaissance.","verdict":"false_positive","confidence":0.94},{"id":"external_commands:SKILL.md:12:ruby-shell-backtick-execution","reason":"The backticks mark the HTTP status phrase `402 Payment Required` in Markdown. There is no shell command, interpreter call, or executable instruction.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:23:ruby-shell-backtick-execution","reason":"The backticks format the HTTP status text in a checklist. This is documentation, not Ruby or shell backtick execution.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","reason":"The backticks format the field name `extra.assetTransferMethod`. No command is invoked and no user input is executed.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:32:ruby-shell-backtick-execution","reason":"The line opens a Markdown text block for an example response. A code fence is not command execution.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:42:ruby-shell-backtick-execution","reason":"The line closes the Markdown example response block. It contains no command, subprocess call, or executable script.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:74:ruby-shell-backtick-execution","reason":"The line opens a TypeScript example block that defines a policy type. It is static documentation, not shell execution.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:76:ruby-shell-backtick-execution","reason":"The backticks are TypeScript template literal type syntax for an address string. They do not execute a shell command.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:77:ruby-shell-backtick-execution","reason":"The backticks are TypeScript type syntax for a delegate address. This is not Ruby or shell backtick execution.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:78:ruby-shell-backtick-execution","reason":"The backticks are TypeScript type syntax for a token address. There is no executable command or interpolation into a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:79:ruby-shell-backtick-execution","reason":"The backticks are TypeScript template literal type syntax in a policy definition. They are not used to run external commands.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:89:ruby-shell-backtick-execution","reason":"The line closes a TypeScript documentation block. It contains no executable instruction or external command invocation.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:108:ruby-shell-backtick-execution","reason":"The backticks format an HTTP route string. This is descriptive text for a demo endpoint, not command execution.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:121:ruby-shell-backtick-execution","reason":"The backticks format permission type names. They are not shell commands and do not cause code execution.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:122:ruby-shell-backtick-execution","reason":"The backticks format an x402 metadata field and value. The line describes validation behavior and runs no command.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:134:ruby-shell-backtick-execution","reason":"The backticks format the x402 metadata value to inspect. Inspecting advertised payment metadata is normal application logic, not shell execution.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:139:ruby-shell-backtick-execution","reason":"The backticks format allowed decision labels such as continue or revoke. No external process is launched.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:162:ruby-shell-backtick-execution","reason":"The backticks format literal EVM string prefixes used for receipt validation. The line is validation guidance, not command execution.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:167:ruby-shell-backtick-execution","reason":"The backticks format contract names and addresses in documentation. There is no shell syntax or executable call.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:169:ruby-shell-backtick-execution","reason":"The backticks format a constructor field name and contract label. The line provides deployment guidance without running commands.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:177:ruby-shell-backtick-execution","reason":"The backticks format decision labels in prose. They are not used as Ruby or shell execution syntax.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:199:ruby-shell-backtick-execution","reason":"The backticks format field and function names for a spend snapshot source. This is documentation, not an external command.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:222:ruby-shell-backtick-execution","reason":"The backticks format a contract name in a guardrail note. No external command is present.","verdict":"false_positive","confidence":0.98},{"id":"sensitive:SKILL.md:119:crypto-seed-private-key-mention","reason":"The skill instructs a demo page to export a JSON package containing an agent private key. That artifact is a bearer secret that could spend delegated authority if exposed.","verdict":"confirmed","severity":"high","confidence":0.93},{"id":"sensitive:SKILL.md:126:crypto-seed-private-key-mention","reason":"This line is a mitigation that warns the package is a bearer capability and says not to export production private keys. The underlying export risk is covered by the confirmed findings.","verdict":"false_positive","confidence":0.78},{"id":"sensitive:SKILL.md:147:crypto-seed-private-key-mention","reason":"The skill presents including a private key in exported JSON as an implementation choice. Even for demos, this creates a secret-handling risk if the artifact is shared or reused.","verdict":"confirmed","severity":"high","confidence":0.88},{"id":"sensitive:SKILL.md:158:crypto-seed-private-key-mention","reason":"The line explicitly instructs the agent never to ask for private keys. This is a protective rule, not a secret collection request.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:20:system-reconnaissance","reason":"The line tells the agent to stay in discovery mode for a paid HTTP service. It limits spending and does not request host or network reconnaissance.","verdict":"false_positive","confidence":0.95},{"id":"blocker:SKILL.md:25:system-reconnaissance","reason":"The line requires stating that no paid request has been made. This is a safety disclosure, not reconnaissance.","verdict":"false_positive","confidence":0.96},{"id":"blocker:SKILL.md:33:system-reconnaissance","reason":"The line is sample user-facing text about x402 requirements for a paid endpoint. It does not instruct broad scanning or unauthorized probing.","verdict":"false_positive","confidence":0.95},{"id":"blocker:SKILL.md:41:system-reconnaissance","reason":"The line asks for user approval before setting up payment authority. It is a consent guardrail, not system reconnaissance.","verdict":"false_positive","confidence":0.96},{"id":"blocker:SKILL.md:123:system-reconnaissance","reason":"The line supports multiple allowed HTTP resources only when the service exposes them. It describes allowlist handling, not unauthorized resource discovery.","verdict":"false_positive","confidence":0.9},{"id":"blocker:SKILL.md:215:system-reconnaissance","reason":"The line introduces signed evidence rules for paid report or API-resource demos. It is not an instruction to profile the host system.","verdict":"false_positive","confidence":0.95},{"id":"blocker:SKILL.md:217:system-reconnaissance","reason":"The line lists receipt fields for signed evidence after a paid response. It is audit metadata guidance, not reconnaissance.","verdict":"false_positive","confidence":0.95},{"id":"blocker:SKILL.md:219:system-reconnaissance","reason":"The line requires successful payment and receipt verification before review. This is evidence validation, not system reconnaissance.","verdict":"false_positive","confidence":0.95}],"semantic_findings":[],"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":"high","confirmedFindingCount":2,"capabilityReviewCount":0,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"confirmation_required","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"not_attestable","verificationState":"not_verified"},"isLatest":false}}