Skip to content

Correct x402 evidence boundaries - #130

Draft
mizuki0x wants to merge 18 commits into
mainfrom
feat/x402-seller
Draft

Correct x402 evidence boundaries#130
mizuki0x wants to merge 18 commits into
mainfrom
feat/x402-seller

Conversation

@mizuki0x

@mizuki0x mizuki0x commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Summary

  • relabel the live paid API as bounded evidence, not identity or reputation
  • remove server-side fetches of untrusted on-chain URIs and validate the full 014 Registry account binding
  • replace the arbitrary reputation score with an exact, bounded transfer-activity summary
  • require an externally pinned expected key before a signature can bind to a publisher identity; the self-published key is discovery metadata
  • add a public-claim guard

Boundaries

The legacy /passport and /payai/reputation paths remain for compatibility. Their responses do not prove identity, x402 settlement, job delivery, quality, reputation, or W009/W011 enforcement. A signature verifies exact bytes against the expected key; publisher identity requires a separate trusted binding. Resource delivery and settlement are separate protocol outcomes.

Validation

  • npm test (12/12)
  • npm run typecheck
  • npm run build
  • node scripts/validate-claims.mjs
  • git diff --check

covenant added 17 commits July 31, 2026 21:28
…ation

passport/{asset} verifies on-chain identity (MPL Core asset + 014 Registry +
Covenant attestation) via DAS; attest signs an ed25519 claim, verifiable against
the published key. per-endpoint x402 pricing, PayAI-sponsored settle to treasury.
publish the ed25519 signing key + verification recipe at /.well-known/x402, and
self-describe each attestation (alg, domain, canonicalization). an outsider can
pin the key and check the signature without trusting the server.
…ify)

a remote/stdio MCP any agent adds in one line, no binary, no keys, no prior use.
three pure tools: covenant_reputation (on-chain USDC-settlement reputation 0-1000),
covenant_agent_passport (MPL Core identity + attestation), covenant_verify (ed25519
attestation check, tamper-evident). reputation + passport reuse the x402-seller
modules verbatim so free MCP and paid product can't drift; verify ports the attest
scheme. streamable-http (stateless) for zero-install remote + stdio for npx/local.
verified e2e both transports against live mainnet (real passport data, verify
PASS/FAIL) with the MCP client sdk.
covenant_verified_ers picks a Covenant-verified rollup from the router,
covenant_verify_enclave does a live DCAP check of a validator's TDX
quote, covenant_er_provenance recomputes an agent's receipt hash-chain
against the settlement program. Endpoints resolve from the router by
validator identity, never from the caller.
GET /x402/er/enclave/:validator pulls a fresh quote from the router-
listed endpoint, dcap-verifies it against the intel pccs, and wraps the
result in the published attestation key. optional agent+provenance_root
binding commits the agent's record into the quote challenge. open
validators and bad requests are never charged.
cache the dcap wasm init instead of recompiling per request, put a
timeout on the pccs collateral fetch and the rpc calls, decode
attestations fail-closed, and stop leaking raw rpc errors to anonymous
callers. only a 404 marks an er non-tee; a 5xx is transient. surface
the tcb status in the pass line.
@socket-security

socket-security Bot commented Jul 31, 2026

Copy link
Copy Markdown

@socket-security

socket-security Bot commented Jul 31, 2026

Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: npm @walletconnect/universal-provider is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: services/x402-seller/pnpm-lock.yamlnpm/@x402/paywall@2.15.0npm/@walletconnect/universal-provider@2.21.1

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@walletconnect/universal-provider@2.21.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm algorand-msgpack is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: services/x402-seller/pnpm-lock.yamlnpm/@x402/paywall@2.15.0npm/algorand-msgpack@1.1.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/algorand-msgpack@1.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm algosdk is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: services/x402-seller/pnpm-lock.yamlnpm/@x402/paywall@2.15.0npm/algosdk@3.6.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/algosdk@3.6.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm hi-base32 is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: services/x402-seller/pnpm-lock.yamlnpm/@x402/paywall@2.15.0npm/hi-base32@0.5.1

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/hi-base32@0.5.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm porto is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: services/x402-seller/pnpm-lock.yamlnpm/@x402/paywall@2.15.0npm/porto@0.2.19

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/porto@0.2.19. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm porto is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: services/x402-seller/pnpm-lock.yamlnpm/@x402/paywall@2.15.0npm/porto@0.2.35

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/porto@0.2.35. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm preact is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: services/x402-seller/pnpm-lock.yamlnpm/@x402/paywall@2.15.0npm/preact@10.29.2

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/preact@10.29.2. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants