{"data":{"skill":{"slug":"internet-court-genlayer-erc7710-connector","name":"genlayer-erc7710-connector","icon":"📦","repo":"https://github.com/internet-court/internet-court-skill/tree/main/integrations/genlayer-erc7710-connector","status":"approved","author":"internet-court","authorVersion":null,"skillstoreRevision":null},"audit":{"id":"f880325f-9bee-46b3-ade6-b5a2675c0d4c","skill_id":"615d4de7-f1e3-4423-a548-ac163cdd7db5","version":1,"content_hash":"030e6e7ee0ad823c4bc813a0be2171b0","risk_level":"safe","is_blocked":false,"safe_to_publish":true,"analysis_status":"ok","agent_auto_install_policy":"allowed","manual_install_policy":"allowed","summary":"All static findings were adjudicated as false positives caused by Markdown code fences, inline code spans, and documented connector constants. The reviewed files provide connector design guidance and show no executable scripts, prompt injection, or data exfiltration intent.","remediation":[],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":8,"line_start":8},{"file":"SKILL.md","line_end":18,"line_start":12},{"file":"SKILL.md","line_end":27,"line_start":18},{"file":"SKILL.md","line_end":27,"line_start":27},{"file":"SKILL.md","line_end":71,"line_start":63},{"file":"SKILL.md","line_end":75,"line_start":71},{"file":"SKILL.md","line_end":76,"line_start":75},{"file":"SKILL.md","line_end":77,"line_start":76},{"file":"SKILL.md","line_end":77,"line_start":77},{"file":"SKILL.md","line_end":82,"line_start":81},{"file":"SKILL.md","line_end":82,"line_start":82},{"file":"SKILL.md","line_end":83,"line_start":83},{"file":"SKILL.md","line_end":106,"line_start":103},{"file":"SKILL.md","line_end":113,"line_start":106},{"file":"SKILL.md","line_end":114,"line_start":113},{"file":"SKILL.md","line_end":115,"line_start":114},{"file":"SKILL.md","line_end":120,"line_start":115},{"file":"SKILL.md","line_end":124,"line_start":120},{"file":"SKILL.md","line_end":127,"line_start":124},{"file":"SKILL.md","line_end":128,"line_start":127},{"file":"SKILL.md","line_end":129,"line_start":128},{"file":"SKILL.md","line_end":132,"line_start":129},{"file":"SKILL.md","line_end":138,"line_start":132},{"file":"SKILL.md","line_end":148,"line_start":138},{"file":"SKILL.md","line_end":159,"line_start":148},{"file":"SKILL.md","line_end":160,"line_start":159},{"file":"SKILL.md","line_end":161,"line_start":160},{"file":"SKILL.md","line_end":162,"line_start":161},{"file":"SKILL.md","line_end":162,"line_start":162},{"file":"SKILL.md","line_end":178,"line_start":163},{"file":"SKILL.md","line_end":179,"line_start":178},{"file":"SKILL.md","line_end":180,"line_start":179},{"file":"SKILL.md","line_end":193,"line_start":180},{"file":"SKILL.md","line_end":202,"line_start":193}]},{"factor":"network","evidence":[{"file":"SKILL.md","line_end":8,"line_start":8}]}],"critical_findings":[],"high_findings":[],"medium_findings":[],"low_findings":[],"dangerous_patterns":[],"files_scanned":2,"total_lines":325,"audit_model":"codex","audited_at":"2026-07-10T00:08:34.929+00:00","created_at":"2026-07-10T07:43:48.531998+00:00","static_findings":[{"id":"blocker:references/connector-patterns.md:63:system-reconnaissance","file":"references/connector-patterns.md","pattern":"System reconnaissance","snippet":"- Base decision receiver checks GenLayer source chain id and supervisor IC address;","category":"blocker","line_end":63,"severity":"low","line_start":63},{"id":"external_commands:SKILL.md:8:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Use this skill after the mandate, ERC-7710 policy, and GenLayer Intelligent Contract review flow exi","category":"external_commands","line_end":8,"severity":"medium","line_start":8},{"id":"external_commands:SKILL.md:12:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```text","category":"external_commands","line_end":18,"severity":"medium","line_start":12},{"id":"external_commands:SKILL.md:18:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":27,"severity":"medium","line_start":18},{"id":"external_commands:SKILL.md:27:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `mandateId`, `permissionHash`, delegator, delegate, delegation manager, target EVM chain, and curr","category":"external_commands","line_end":27,"severity":"medium","line_start":27},{"id":"external_commands:SKILL.md:63:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```text","category":"external_commands","line_end":71,"severity":"medium","line_start":63},{"id":"external_commands:SKILL.md:71:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":75,"severity":"medium","line_start":71},{"id":"external_commands:SKILL.md:75:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Base Sepolia chain id: `84532`.","category":"external_commands","line_end":76,"severity":"medium","line_start":75},{"id":"external_commands:SKILL.md:76:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Base Sepolia LayerZero endpoint id: `40245`.","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":"- GenLayer source chain id emitted by `BridgeSender.py`: `61998`.","category":"external_commands","line_end":77,"severity":"medium","line_start":77},{"id":"external_commands:SKILL.md:81:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- a reporter such as `WalletSpendReporter` that sends snapshots to GenLayer;","category":"external_commands","line_end":82,"severity":"medium","line_start":81},{"id":"external_commands:SKILL.md:82:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- a decision receiver such as `GenLayerDecisionReceiver` that is allowlisted as a relayer on `Revoca","category":"external_commands","line_end":82,"severity":"medium","line_start":82},{"id":"external_commands:SKILL.md:83:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- a redemption path that checks `RevocationController.isRevoked`, `isPaused`, and `getConstraints` b","category":"external_commands","line_end":83,"severity":"medium","line_start":83},{"id":"external_commands:SKILL.md:103:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```ts","category":"external_commands","line_end":106,"severity":"medium","line_start":103},{"id":"external_commands:SKILL.md:106:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"permissionHash: `0x${string}`;","category":"external_commands","line_end":113,"severity":"medium","line_start":106},{"id":"external_commands:SKILL.md:113:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"violationsHash: `0x${string}`;","category":"external_commands","line_end":114,"severity":"medium","line_start":113},{"id":"external_commands:SKILL.md:114:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"evidenceBundleHash: `0x${string}`;","category":"external_commands","line_end":115,"severity":"medium","line_start":114},{"id":"external_commands:SKILL.md:115:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"constraintsHash: `0x${string}`;","category":"external_commands","line_end":120,"severity":"medium","line_start":115},{"id":"external_commands:SKILL.md:120:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":124,"severity":"medium","line_start":120},{"id":"external_commands:SKILL.md:124:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```ts","category":"external_commands","line_end":127,"severity":"medium","line_start":124},{"id":"external_commands:SKILL.md:127:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"payloadHash: `0x${string}`;","category":"external_commands","line_end":128,"severity":"medium","line_start":127},{"id":"external_commands:SKILL.md:128:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"relayer: `0x${string}`;","category":"external_commands","line_end":129,"severity":"medium","line_start":128},{"id":"external_commands:SKILL.md:129:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"signature?: `0x${string}`;","category":"external_commands","line_end":132,"severity":"medium","line_start":129},{"id":"external_commands:SKILL.md:132:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":138,"severity":"medium","line_start":132},{"id":"external_commands:SKILL.md:138:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```solidity","category":"external_commands","line_end":148,"severity":"medium","line_start":138},{"id":"external_commands:SKILL.md:148:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":159,"severity":"medium","line_start":148},{"id":"external_commands:SKILL.md:159:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `continue`: record reviewed window; no policy change.","category":"external_commands","line_end":160,"severity":"medium","line_start":159},{"id":"external_commands:SKILL.md:160:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `warn`: record warning; optionally require extra evidence next review.","category":"external_commands","line_end":161,"severity":"medium","line_start":160},{"id":"external_commands:SKILL.md:161:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `constrain`: update constraints hash, such as lower gas cap, fewer txs, disabled actions, or human","category":"external_commands","line_end":162,"severity":"medium","line_start":161},{"id":"external_commands:SKILL.md:162:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `revoke`: mark `permissionHash` revoked; all future redemptions fail.","category":"external_commands","line_end":162,"severity":"medium","line_start":162},{"id":"external_commands:SKILL.md:163:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `escalate`: pause high-risk actions or require human review.","category":"external_commands","line_end":178,"severity":"medium","line_start":163},{"id":"external_commands:SKILL.md:178:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Stale decision after `expiresAt`.","category":"external_commands","line_end":179,"severity":"medium","line_start":178},{"id":"external_commands:SKILL.md:179:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Lower score with `continue` decision ambiguity.","category":"external_commands","line_end":180,"severity":"medium","line_start":179},{"id":"external_commands:SKILL.md:180:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `constrain` cannot be represented by the current policy.","category":"external_commands","line_end":193,"severity":"medium","line_start":180},{"id":"external_commands:SKILL.md:193:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"3. `GenLayerDelegationDecision` payload.","category":"external_commands","line_end":202,"severity":"medium","line_start":193},{"id":"network:SKILL.md:8:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"Use this skill after the mandate, ERC-7710 policy, and GenLayer Intelligent Contract review flow exi","category":"network","line_end":8,"severity":"low","line_start":8},{"id":"blocker:SKILL.md:77:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"- GenLayer source chain id emitted by `BridgeSender.py`: `61998`.","category":"blocker","line_end":77,"severity":"low","line_start":77}],"finding_verdicts":[{"id":"blocker:references/connector-patterns.md:63:system-reconnaissance","reason":"The cited text describes bridge source-chain validation for a connector design. It is not host, OS, or environment reconnaissance.","verdict":"false_positive","confidence":0.94},{"id":"external_commands:SKILL.md:8:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:12:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:18:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:27:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:63:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:71:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:75:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:76:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:77:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:81:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:82:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:83:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:103:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:106:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:113:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:114:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:115:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:120:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:124:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:127:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:128:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:129:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:132:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:138:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:148:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:159:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:160:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:161:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:162:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:163:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:178:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:179:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:180:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:193:ruby-shell-backtick-execution","reason":"The cited content is Markdown prose, a code fence, or an inline code span used to document schemas and contract interfaces. It does not execute shell commands or pass user input to a shell.","verdict":"false_positive","confidence":0.97},{"id":"network:SKILL.md:8:hardcoded-url","reason":"The URL is a prose reference to official GenLayer documentation and skills. The file contains no fetch, curl, or required network operation at this location.","verdict":"false_positive","confidence":0.95},{"id":"blocker:SKILL.md:77:system-reconnaissance","reason":"The cited text describes bridge source-chain validation for a connector design. It is not host, OS, or environment reconnaissance.","verdict":"false_positive","confidence":0.94}],"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":"safe","confirmedFindingCount":0,"capabilityReviewCount":0,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"allowed","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"not_attestable","verificationState":"not_verified"},"isLatest":false}}