Scan Report
8 /100
asgcard
Virtual MasterCards for AI agents — crypto payments via x402 protocol on Stellar blockchain
ASG Card is a legitimate virtual MasterCard payment infrastructure skill for AI agents built on x402/Stellar. All pre-scan IOCs are benign false positives in a genuine payment product.
Safe to install
Approve for use. No malicious behavior detected. The skill correctly handles cryptographic credentials, on-chain payments, and card data per its documented purpose.
Findings 4 items
| Severity | Finding | Location |
|---|---|---|
| Low | CLI filesystem WRITE not declared in SKILL.md Doc Mismatch | cli/src/index.ts:53 |
| Low | External service credentials in HTTP requests Sensitive Access | api/src/services/facilitatorClient.ts:79 |
| Info | False positive: pre-scan base64_cmd IOCs are benign Doc Mismatch | api/src/config/env.ts:99 |
| Info | False positive: pre-scan hardcoded IP is SVG path data Doc Mismatch | web/src/main.ts:175 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Shell | NONE | NONE | — | No shell execution found in codebase |
| Filesystem | NONE | WRITE | ✓ Aligned | cli/src/index.ts:53 — config.json written to ~/.asgcard/ |
| Network | READ | READ | ✓ Aligned | External calls to Stellar Horizon, facilitator, 4payments.io — all documented vi… |
| Environment | READ | READ | ✓ Aligned | ASG_CARD_WALLET_SECRET, FOURPAYMENTS_API_KEY — all used for payment operations o… |
| Skill Invoke | NONE | NONE | — | No skill self-invocation or recursion found |
| Clipboard | NONE | NONE | — | web/src/main.ts: copy button uses Clipboard API — documented UI feature |
| Browser | NONE | NONE | — | Static web frontend only; no headless browser automation |
| Database | NONE | WRITE | ✓ Aligned | Internal PostgreSQL/in-memory DB for card state — server-side, not exposed to ag… |
5 Critical 1 High 101 findings
Critical Encoded Execution Base64 编码执行(代码混淆)
Buffer.from(env.CARD_DETAILS_KEY, "base64" api/src/config/env.ts:99 Critical Encoded Execution Base64 编码执行(代码混淆)
Buffer.from(signatureStr, "base64" api/src/middleware/walletAuth.ts:27 Critical Encoded Execution Base64 编码执行(代码混淆)
Buffer.from(headerValue, "base64" api/src/middleware/x402.ts:90 Critical Encoded Execution Base64 编码执行(代码混淆)
Buffer.from(base64Key, "base64" api/src/utils/crypto.ts:23 Critical Encoded Execution Base64 编码执行(代码混淆)
Buffer.from(header, "base64" api/src/utils/payment.ts:29 High IP Address 硬编码 IP 地址
5.92.42.36 web/src/main.ts:175 Medium External URL 外部 URL
https://asgcard.dev/docs CONTRIBUTING.md:8 Medium External URL 外部 URL
https://www.conventionalcommits.org/ CONTRIBUTING.md:46 Medium External URL 外部 URL
https://www.contributor-covenant.org/version/2/1/code_of_conduct/ CONTRIBUTING.md:70 Medium External URL 外部 URL
https://img.shields.io/npm/v/@asgcard/sdk?label=sdk README.md:3 Medium External URL 外部 URL
https://img.shields.io/npm/v/@asgcard/cli?label=cli README.md:4 Medium External URL 外部 URL
https://img.shields.io/badge/License-MIT-green.svg README.md:5 Medium External URL 外部 URL
https://api.asgcard.dev/health README.md:6 Medium External URL 外部 URL
https://img.shields.io/badge/API-live-brightgreen README.md:6 Medium External URL 外部 URL
https://img.shields.io/badge/Docs-asgcard.dev-blue README.md:7 Medium External URL 外部 URL
https://asgcard.dev README.md:13 Medium External URL 外部 URL
https://x.com/asgcardx402 README.md:14 Medium External URL 外部 URL
https://claude.ai/code README.md:33 Medium External URL 外部 URL
https://cursor.com README.md:34 Medium External URL 外部 URL
https://openclaw.ai README.md:35 Medium External URL 外部 URL
https://modelcontextprotocol.io README.md:36 Medium External URL 外部 URL
https://stellar.org README.md:43 Medium External URL 外部 URL
https://www.circle.com/usdc README.md:44 Medium External URL 外部 URL
https://www.mastercard.com README.md:45 Medium External URL 外部 URL
https://youtu.be/zEq3HGhwrY8 README.md:59 Medium External URL 外部 URL
https://api.asgcard.dev/pricing README.md:113 Medium External URL 外部 URL
https://mainnet.sorobanrpc.com README.md:137 Medium External URL 外部 URL
https://www.x402.org/ TECHNICAL_OVERVIEW.md:5 Medium External URL 外部 URL
https://api.asgcard.dev TECHNICAL_OVERVIEW.md:30 Medium External URL 外部 URL
https://asgcard.dev/openapi.json TECHNICAL_OVERVIEW.md:31 Medium External URL 外部 URL
https://horizon.stellar.org/accounts/$ api/scripts/e2e-mainnet.js:157 Medium External URL 外部 URL
https://horizon.stellar.org api/scripts/preflight.js:26 Medium External URL 外部 URL
https://docs.asgcard.dev api/src/modules/admin/webhook.ts:161 Medium External URL 外部 URL
https://api.asgcard.dev$ api/src/modules/bot/commands/fund.ts:142 Medium External URL 外部 URL
https://docs.asgcard.dev/api/fund api/src/modules/bot/commands/fund.ts:156 Medium External URL 外部 URL
https://api.telegram.org/bot$ api/src/modules/bot/telegramClient.ts:82 Medium External URL 外部 URL
https://asgcard.dev/portal api/src/modules/bot/templates.ts:28 Medium External URL 外部 URL
https://asgcard.dev/docs#pricing api/src/modules/bot/templates.ts:199 Medium External URL 外部 URL
https://business.4payments.io api/src/services/fourPaymentsClient.ts:5 Medium External URL 外部 URL
https://docs.4payments.io/ api/src/services/fourPaymentsClient.ts:8 Medium External URL 外部 URL
https://custom-api.example.com cli/README.md:85 Medium External URL 外部 URL
https://custom-rpc.example.com cli/README.md:88 Medium External URL 外部 URL
https://www.patreon.com/feross cli/package-lock.json:642 Medium External URL 外部 URL
https://feross.org/support cli/package-lock.json:646 Medium External URL 外部 URL
https://api.asgcard.dev/cards/create/tier/25 docs/adr/ADR-002-x402-verify-settle-stellar.md:29 Medium External URL 外部 URL
https://developers.stellar.org/docs/build/apps/x402 docs/adr/ADR-002-x402-verify-settle-stellar.md:117 Medium External URL 外部 URL
https://developers.stellar.org/docs/tools/openzeppelin-relayer docs/adr/ADR-002-x402-verify-settle-stellar.md:118 Medium External URL 外部 URL
https://developers.stellar.org/docs/build/guides/smart-wallets docs/adr/ADR-003-smart-wallet-fit.md:105 Medium External URL 外部 URL
https://stellar.org/roadmap docs/adr/ADR-003-smart-wallet-fit.md:107 Medium External URL 外部 URL
https://opencollective.com/express mcp-server/package-lock.json:775 Medium External URL 外部 URL
https://opencollective.com/fastify mcp-server/package-lock.json:1223 Medium External URL 外部 URL
https://paulmillr.com/funding/ package-lock.json:606 Medium External URL 外部 URL
https://opencollective.com/vitest package-lock.json:1599 Medium External URL 外部 URL
https://opencollective.com/postcss/ package-lock.json:1758 Medium External URL 外部 URL
https://tidelift.com/funding/github/npm/autoprefixer package-lock.json:1762 Medium External URL 外部 URL
https://opencollective.com/browserslist package-lock.json:1982 Medium External URL 外部 URL
https://tidelift.com/funding/github/npm/browserslist package-lock.json:1986 Medium External URL 外部 URL
https://tidelift.com/funding/github/npm/caniuse-lite package-lock.json:2133 Medium Wallet Address 加密货币钱包地址
18wF2bbjgc3ZzCSKW1T5nt5EbFoAz package-lock.json:2296 Medium External URL 外部 URL
https://dotenvx.com package-lock.json:2406 Medium External URL 外部 URL
https://ko-fi.com/tunnckoCore/commissions package-lock.json:2840 Medium Wallet Address 加密货币钱包地址
347pnakNevPmiHhNmZ2HbFA76w package-lock.json:3415 Medium External URL 外部 URL
https://opencollective.com/debug package-lock.json:3527 Medium External URL 外部 URL
https://tidelift.com/funding/github/npm/postcss package-lock.json:3732 Medium External URL 外部 URL
https://paypal.me/kozjak package-lock.json:4146 Medium External URL 外部 URL
https://developers.stellar.org/docs/build/guides/transactions/signing-soroban-invocations#method-2-auth-entry-signing sdk/src/utils/x402.ts:121 Medium External URL 外部 URL
https://asgcard.dev/og-docs.png web/docs/index.html:19 Medium External URL 外部 URL
https://asgcard.dev/docs.md web/docs/index.html:31 Medium External URL 外部 URL
https://schema.org web/docs/index.html:37 Medium External URL 外部 URL
https://asgcard.dev/#organization web/docs/index.html:41 Medium External URL 外部 URL
https://asgcard.dev/ web/docs/index.html:43 Medium External URL 外部 URL
https://asgcard.dev/logo-mark.svg web/docs/index.html:44 Medium External URL 外部 URL
https://asgcard.dev/docs#webpage web/docs/index.html:48 Medium External URL 外部 URL
https://asgcard.dev/#website web/docs/index.html:53 Medium External URL 外部 URL
https://asgcard.dev/docs#article web/docs/index.html:70 Medium External URL 外部 URL
https://asgcard.dev/og-card-onchain-v1.png web/index.html:19 Medium External URL 外部 URL
https://asgcard.dev/#webpage web/index.html:59 Medium External URL 外部 URL
https://asgcard.dev/#app web/index.html:72 Medium External URL 外部 URL
https://asgcard.dev/.well-known/agent.txt web/public/agent.txt:2 Medium External URL 外部 URL
https://asgcard.dev/agent.txt web/public/docs.md:17 Medium External URL 外部 URL
https://www.npmjs.com/package/@asgcard/sdk web/public/llms.txt:22 Medium External URL 外部 URL
https://www.npmjs.com/package/@asgcard/mcp-server web/public/llms.txt:23 Medium External URL 外部 URL
https://www.npmjs.com/package/@asgcard/cli web/public/llms.txt:24 Medium External URL 外部 URL
https://x.com/ASGCardx402 web/public/llms.txt:36 Medium External URL 外部 URL
https://t.me/ASGCardbot web/public/llms.txt:37 Medium External URL 外部 URL
http://www.w3.org/2000/svg web/public/og-builder.html:400 Medium External URL 外部 URL
https://asgcard.dev/docs. web/public/openapi.json:201 Medium External URL 外部 URL
https://asgcard.dev/sitemap.xml web/public/robots.txt:4 Medium External URL 外部 URL
http://www.sitemaps.org/schemas/sitemap/0.9 web/public/sitemap.xml:2 Medium External URL 外部 URL
https://asgcard.dev/blog/001-why-ai-agents-need-payment-cards web/public/sitemap.xml:34 Medium External URL 外部 URL
https://asgcard.dev/blog/002-x402-protocol-ai-agents-pay-onchain web/public/sitemap.xml:40 Medium External URL 外部 URL
https://asgcard.dev/blog/003-asgcard-mcp-server-ai-financial-autonomy web/public/sitemap.xml:46 Medium External URL 外部 URL
https://api.asgcard.dev/cards/create/tier/10 web/src/docs.ts:633 Medium External URL 外部 URL
https://api.asgcard.dev/cards web/src/docs.ts:723 Medium External URL 外部 URL
https://api.asgcard.dev/cards/ web/src/docs.ts:1157 Info Email 邮箱地址
[email protected] PUBLIC_REPO_MANIFEST.md:44 Info Email 邮箱地址
[email protected] api/scripts/e2e-mainnet.js:103 Info Email 邮箱地址
[email protected] api/scripts/e2e-mainnet.js:146 Info Email 邮箱地址
[email protected] api/src/modules/bot/commands/fund.ts:49 Info Email 邮箱地址
[email protected] api/src/modules/bot/templates.ts:212 Info Email 邮箱地址
[email protected] cli/README.md:63 File Tree
156 files · 1.0 MB · 30762 lines TypeScript 90f · 14491L
JSON 18f · 11024L
CSS 2f · 2230L
Markdown 13f · 1259L
HTML 4f · 832L
JavaScript 4f · 444L
SQL 9f · 311L
Text 3f · 120L
XML 1f · 51L
├─
▾
api
│ ├─
▾
__tests__
│ │ ├─
persistence.test.ts
TypeScript
│ │ ├─
setup.ts
TypeScript
│ │ ├─
webhook-and-verify.test.ts
TypeScript
│ │ └─
x402-challenge.test.ts
TypeScript
│ ├─
▾
scripts
│ │ ├─
e2e-mainnet.js
JavaScript
│ │ └─
preflight.js
JavaScript
│ ├─
▾
src
│ │ ├─
▾
config
│ │ │ ├─
env.ts
TypeScript
│ │ │ └─
pricing.ts
TypeScript
│ │ ├─
▾
db
│ │ │ ├─
▾
migrations
│ │ │ │ ├─
001_create_tables.sql
SQL
│ │ │ │ ├─
002_api_metrics.sql
SQL
│ │ │ │ ├─
003_bot_tables.sql
SQL
│ │ │ │ ├─
004_agent_access.sql
SQL
│ │ │ │ ├─
005_nonce_retention.sql
SQL
│ │ │ │ ├─
006_card_reveal_tokens.sql
⚠
SQL
│ │ │ │ ├─
007_api_activity.sql
SQL
│ │ │ │ ├─
008_last_four.sql
SQL
│ │ │ │ └─
009_profile_fields.sql
SQL
│ │ │ └─
db.ts
TypeScript
│ │ ├─
▾
middleware
│ │ │ ├─
agentDetailsMiddleware.ts
TypeScript
│ │ │ ├─
walletAuth.ts
TypeScript
│ │ │ └─
x402.ts
TypeScript
│ │ ├─
▾
modules
│ │ │ ├─
▾
admin
│ │ │ │ ├─
adminBot.ts
TypeScript
│ │ │ │ ├─
index.ts
TypeScript
│ │ │ │ ├─
statusCollector.ts
TypeScript
│ │ │ │ └─
webhook.ts
TypeScript
│ │ │ ├─
▾
authz
│ │ │ │ ├─
auditService.ts
TypeScript
│ │ │ │ ├─
index.ts
TypeScript
│ │ │ │ └─
ownerPolicy.ts
TypeScript
│ │ │ ├─
▾
bot
│ │ │ │ ├─
▾
commands
│ │ │ │ │ ├─
faq.ts
TypeScript
│ │ │ │ │ ├─
fund.ts
TypeScript
│ │ │ │ │ ├─
myCards.ts
TypeScript
│ │ │ │ │ ├─
profile.ts
TypeScript
│ │ │ │ │ ├─
start.ts
TypeScript
│ │ │ │ │ └─
support.ts
TypeScript
│ │ │ │ ├─
▾
services
│ │ │ │ │ ├─
alertService.ts
TypeScript
│ │ │ │ │ ├─
metricsService.ts
TypeScript
│ │ │ │ │ └─
statementService.ts
TypeScript
│ │ │ │ ├─
index.ts
TypeScript
│ │ │ │ ├─
keyboards.ts
TypeScript
│ │ │ │ ├─
telegramClient.ts
TypeScript
│ │ │ │ ├─
templates.ts
TypeScript
│ │ │ │ └─
webhook.ts
TypeScript
│ │ │ ├─
▾
notify
│ │ │ │ ├─
eventRouter.ts
TypeScript
│ │ │ │ ├─
index.ts
TypeScript
│ │ │ │ └─
notifyService.ts
TypeScript
│ │ │ └─
▾
portal
│ │ │ ├─
agentAccess.ts
TypeScript
│ │ │ ├─
index.ts
TypeScript
│ │ │ ├─
linkService.ts
TypeScript
│ │ │ └─
routes.ts
TypeScript
│ │ ├─
▾
repositories
│ │ │ ├─
inMemoryCardRepo.ts
TypeScript
│ │ │ ├─
inMemoryPaymentRepo.ts
TypeScript
│ │ │ ├─
pgCardRepo.ts
TypeScript
│ │ │ ├─
pgPaymentRepo.ts
TypeScript
│ │ │ ├─
pgWebhookEventRepo.ts
TypeScript
│ │ │ ├─
runtime.ts
TypeScript
│ │ │ └─
types.ts
TypeScript
│ │ ├─
▾
routes
│ │ │ ├─
ops.ts
TypeScript
│ │ │ ├─
paid.ts
TypeScript
│ │ │ ├─
public.ts
TypeScript
│ │ │ ├─
wallet.ts
TypeScript
│ │ │ └─
webhook.ts
TypeScript
│ │ ├─
▾
services
│ │ │ ├─
cardService.ts
TypeScript
│ │ │ ├─
facilitatorClient.ts
TypeScript
│ │ │ ├─
fourPaymentsClient.ts
TypeScript
│ │ │ ├─
metrics.ts
TypeScript
│ │ │ └─
paymentService.ts
TypeScript
│ │ ├─
▾
types
│ │ │ ├─
domain.ts
TypeScript
│ │ │ ├─
express.d.ts
TypeScript
│ │ │ ├─
http-context.ts
TypeScript
│ │ │ └─
x402.ts
TypeScript
│ │ ├─
▾
utils
│ │ │ ├─
crypto.ts
TypeScript
│ │ │ ├─
html.ts
TypeScript
│ │ │ ├─
logger.ts
TypeScript
│ │ │ └─
payment.ts
TypeScript
│ │ ├─
app.ts
TypeScript
│ │ ├─
index.ts
TypeScript
│ │ └─
vercel.ts
TypeScript
│ ├─
package.json
JSON
│ ├─
tsconfig.json
JSON
│ ├─
vercel.json
JSON
│ └─
vitest.config.ts
TypeScript
├─
▾
cli
│ ├─
▾
src
│ │ ├─
index.ts
TypeScript
│ │ └─
wallet-client.ts
TypeScript
│ ├─
package-lock.json
JSON
│ ├─
package.json
JSON
│ ├─
README.md
Markdown
│ └─
tsconfig.json
JSON
├─
▾
docs
│ └─
▾
adr
│ ├─
ADR-001-service-boundaries.md
Markdown
│ ├─
ADR-002-x402-verify-settle-stellar.md
Markdown
│ └─
ADR-003-smart-wallet-fit.md
Markdown
├─
▾
mcp-server
│ ├─
▾
src
│ │ ├─
index.ts
TypeScript
│ │ ├─
server.ts
TypeScript
│ │ └─
wallet-client.ts
TypeScript
│ ├─
package-lock.json
JSON
│ ├─
package.json
JSON
│ ├─
README.md
Markdown
│ └─
tsconfig.json
JSON
├─
▾
sdk
│ ├─
▾
src
│ │ ├─
▾
errors
│ │ │ └─
index.ts
TypeScript
│ │ ├─
▾
types
│ │ │ └─
index.ts
TypeScript
│ │ ├─
▾
utils
│ │ │ └─
x402.ts
TypeScript
│ │ ├─
client.ts
TypeScript
│ │ └─
index.ts
TypeScript
│ ├─
package.json
JSON
│ ├─
README.md
Markdown
│ └─
tsconfig.json
JSON
├─
▾
web
│ ├─
▾
docs
│ │ └─
index.html
HTML
│ ├─
▾
public
│ │ ├─
404.html
HTML
│ │ ├─
agent.txt
Text
│ │ ├─
algorand-logo.svg
│ │ ├─
arbitrum-logo.svg
│ │ ├─
coinbase-logo.svg
│ │ ├─
docs.md
Markdown
│ │ ├─
llms.txt
Text
│ │ ├─
logo-lockup-light.svg
│ │ ├─
logo-lockup.svg
│ │ ├─
logo-mark-dark.svg
│ │ ├─
logo-mark-light.svg
│ │ ├─
logo-mark.svg
│ │ ├─
logo-wordmark.svg
│ │ ├─
og-builder.html
HTML
│ │ ├─
openapi.json
JSON
│ │ ├─
payai-logo.svg
│ │ ├─
robots.txt
Text
│ │ ├─
sitemap.xml
XML
│ │ ├─
stellar-logo-lockup.svg
│ │ └─
stellar-logo-mark.svg
│ ├─
▾
src
│ │ ├─
▾
algorand
│ │ │ └─
proposal.ts
TypeScript
│ │ ├─
▾
arbitrum
│ │ │ └─
proposal.ts
TypeScript
│ │ ├─
▾
coinbase
│ │ │ └─
proposal.ts
TypeScript
│ │ ├─
▾
cypher
│ │ │ └─
proposal.ts
TypeScript
│ │ ├─
▾
lib
│ │ │ └─
pricing.ts
TypeScript
│ │ ├─
▾
paypal
│ │ │ └─
proposal.ts
TypeScript
│ │ ├─
▾
portal
│ │ │ └─
portal.ts
TypeScript
│ │ ├─
▾
wirex
│ │ │ └─
proposal.ts
TypeScript
│ │ ├─
docs.css
CSS
│ │ ├─
docs.ts
TypeScript
│ │ ├─
main.ts
TypeScript
│ │ ├─
proposal.ts
TypeScript
│ │ ├─
style.css
CSS
│ │ └─
vite-env.d.ts
TypeScript
│ ├─
index.html
HTML
│ ├─
package.json
JSON
│ ├─
postcss.config.js
JavaScript
│ ├─
tailwind.config.js
JavaScript
│ ├─
tsconfig.json
JSON
│ ├─
vercel.json
JSON
│ └─
vite.config.ts
TypeScript
├─
CONTRIBUTING.md
Markdown
├─
package-lock.json
JSON
├─
package.json
JSON
├─
PUBLIC_REPO_MANIFEST.md
Markdown
├─
README.md
Markdown
├─
SECURITY.md
Markdown
├─
SKILL.md
Markdown
├─
TECHNICAL_OVERVIEW.md
Markdown
└─
tsconfig.base.json
JSON
Dependencies 7 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
@stellar/stellar-sdk | ^14.5.0 (api), ^13.1.0 (sdk/mcp/cli) | npm | No | Reputable, widely-used Stellar SDK; ^ allows minor/patch updates |
@modelcontextprotocol/sdk | ^1.12.1 | npm | No | Official MCP SDK from Anthropic |
express | ^4.21.2 | npm | No | Latest stable, no known vulnerabilities |
tweetnacl | ^1.0.3 | npm | No | NACL box cryptography — reputable |
zod | ^4.1.5 (api), ^3.24.4 (mcp) | npm | No | Schema validation library |
commander | ^13.1.0 | npm | No | CLI framework — reputable |
bs58 | ^6.0.0 | npm | No | Base58 encoding for legacy Solana-era signature format compat |
Security Positives
✓ Stellar wallet authentication uses Ed25519 signature verification with timestamp anti-replay (MAX_CLOCK_DRIFT_SECONDS=300)
✓ Card details are AES-256-GCM encrypted at rest with a 32-byte validated key
✓ Nonce + anti-replay protection on card details access (REALIGN-003: X-AGENT-NONCE header, rate-limited to 5/hour)
✓ Owner can revoke agent access to card details (REALIGN-005)
✓ x402 payment flow includes a facilitator-based verify+settle with on-chain txHash as source of truth
✓ No credential exfiltration — API keys and secrets are used only for their intended payment services
✓ No curl|bash, no eval(), no subprocess with shell, no suspicious network patterns
✓ Dependencies are from reputable packages (@stellar/stellar-sdk, tweetnacl) with pinned versions in SDK
✓ Config file written with mode 0o600 (owner read/write only)
✓ SQL migrations use parameterized queries (no SQL injection vectors found)