<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: relayshieldadmin</title>
    <description>The latest articles on DEV Community by relayshieldadmin (@relayshield).</description>
    <link>https://dev.to/relayshield</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3933321%2Fd546320c-b664-4cca-b592-7d7d456e4619.png</url>
      <title>DEV Community: relayshieldadmin</title>
      <link>https://dev.to/relayshield</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/relayshield"/>
    <language>en</language>
    <item>
      <title>The PAP Verifier Is Live: Merchant-Side Verification for Agentic Commerce</title>
      <dc:creator>relayshieldadmin</dc:creator>
      <pubDate>Fri, 16 Oct 2026 14:36:54 +0000</pubDate>
      <link>https://dev.to/relayshield/the-pap-verifier-is-live-merchant-side-verification-for-agentic-commerce-1259</link>
      <guid>https://dev.to/relayshield/the-pap-verifier-is-live-merchant-side-verification-for-agentic-commerce-1259</guid>
      <description>&lt;h1&gt;
  
  
  The PAP Verifier Is Live: Merchant-Side Verification for Agentic Commerce
&lt;/h1&gt;

&lt;p&gt;Last week, Sierra and Meta published draft 0.1 of the Personal Agent Protocol. This week, BBVA became the first European bank to join the effort. Thirty-five design partners are at the table, including OpenAI, Visa, Mastercard, and PayPal. The protocol is moving fast.&lt;/p&gt;

&lt;p&gt;PAP answers a real question: how does a person's AI agent work with a business on their behalf? The business publishes a discovery document at &lt;code&gt;/.well-known/poppy.json&lt;/code&gt;. The agent reads it, opens a session, and the customer signs in through OAuth. One session spans the business's APIs, website, and agent.&lt;/p&gt;

&lt;p&gt;But there is a gap the spec does not fill. When the agent shows up with a session token, who verifies it on the merchant's side?&lt;/p&gt;

&lt;p&gt;That is what we built.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two levels of verification
&lt;/h2&gt;

&lt;p&gt;Agentic commerce needs verification at two levels, and they are not the same.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Network level (TAP).&lt;/strong&gt; When the payment runs on Visa's card network, the network is in the loop. Visa's Trusted Agent Protocol defines how the agent's credentials get checked. Our TAP verifier, live since October 7, independently validates the agent's signature and screens the counterparty against our threat corpus.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Merchant level (PAP).&lt;/strong&gt; When the business runs its own checkout through Stripe, Shopify, or Meta, there is no card network in the loop. The merchant is on its own. The agent presents a PAP session token, and the business has to decide whether to trust it.&lt;/p&gt;

&lt;p&gt;Most agent transactions will live at this second level. The card network verifies the payment. The merchant verifies the business relationship. Both need an independent check.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the PAP verifier does
&lt;/h2&gt;

&lt;p&gt;Our PAP verifier is live now at &lt;code&gt;POST /v1/pap/verify&lt;/code&gt;. One API call, and it checks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Session token validity.&lt;/strong&gt; The PAP session token is a JWT signed by the business's OAuth issuer. We fetch the issuer's keys and verify the signature, expiry, and audience.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DPoP proof.&lt;/strong&gt; PAP binds tokens to a key the agent holds, using DPoP. We validate the proof: signature, method and URL binding, and freshness. A stolen token alone does not pass.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;poppy.json discovery.&lt;/strong&gt; We fetch the business's published &lt;code&gt;/.well-known/poppy.json&lt;/code&gt; and validate it against draft 0.1: protocol version, organization identity, OAuth issuer, and scope declarations. If the discovery document does not match the token's claims, that is a finding.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Replay protection.&lt;/strong&gt; Every token carries a unique ID. We record it, so a replayed token gets rejected.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Counterparty screening.&lt;/strong&gt; The agent's identity and the business's domain are screened against 700K+ threat indicators from 125 monitored marketplaces and 9M+ corpus citations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The response is a verdict: verified or not, with reasons. No ambiguous middle.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters now
&lt;/h2&gt;

&lt;p&gt;The early adopters are already publishing. Tilopay, Emora Health, and Rent Our Bins have live &lt;code&gt;poppy.json&lt;/code&gt; files. None of the big launch partners publish one yet, which means the window is open: the businesses moving first are the ones defining what "good" looks like.&lt;/p&gt;

&lt;p&gt;A merchant that accepts agent traffic without verifying it is trusting the agent to describe itself honestly. That is not a posture. Verification is the posture.&lt;/p&gt;

&lt;p&gt;RelayShield is now the verification layer for agentic commerce at both levels: TAP for the network, PAP for the merchant. Flat monthly pricing, pay per verification if you prefer. The endpoint is live today.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://blog.relayshield.net/pap-verifier-merchant-side-verification" rel="noopener noreferrer"&gt;blog.relayshield.net&lt;/a&gt; on October 16, 2026.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
      <category>api</category>
      <category>agents</category>
    </item>
    <item>
      <title>Your MCP Server Is the Attack Surface Now</title>
      <dc:creator>relayshieldadmin</dc:creator>
      <pubDate>Thu, 15 Oct 2026 17:40:56 +0000</pubDate>
      <link>https://dev.to/relayshield/your-mcp-server-is-the-attack-surface-now-1em8</link>
      <guid>https://dev.to/relayshield/your-mcp-server-is-the-attack-surface-now-1em8</guid>
      <description>&lt;h1&gt;
  
  
  Your MCP Server Is the Attack Surface Now
&lt;/h1&gt;

&lt;p&gt;October 2026 has been the worst month yet for Model Context Protocol security. Not because attackers discovered something new, but because they keep rediscovering the same flaws in server after server.&lt;/p&gt;

&lt;p&gt;Here is what happened in the last two weeks alone.&lt;/p&gt;

&lt;h2&gt;
  
  
  The CVEs
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Langflow RCE (CVE-2026-105697, CVSS 9.9).&lt;/strong&gt; Disclosed October 5. Langflow executed the &lt;code&gt;command&lt;/code&gt; field from MCP server configs with no allowlist, wrapped in &lt;code&gt;bash -c&lt;/code&gt;. Any authenticated user could run arbitrary OS commands on the host. A public proof of concept is available. Fixed in 1.9.0 and 1.10.3.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Official fetch server SSRF (CVE-2026-104120, CVSS 7.3).&lt;/strong&gt; Published October 2. The &lt;code&gt;fetch_url&lt;/code&gt; tool in the official &lt;code&gt;modelcontextprotocol/mcp-server-fetch&lt;/code&gt; package allowed server-side request forgery through the &lt;code&gt;url&lt;/code&gt; argument. Remotely triggerable. This is the reference implementation shipping the vulnerability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Unauthenticated debugger (CVE-2026-107824, CVSS 9.3).&lt;/strong&gt; Published October 9. The x64dbg MCP server exposed every debugger tool over HTTP with no authentication, listening on all interfaces by default. Any network client could attach to processes, read and write memory, and write arbitrary files.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Python SDK credential theft (September 29, CVSS 7.5).&lt;/strong&gt; The official MCP Python SDK sent client secrets, authorization codes, and PKCE proof keys to attacker-controlled token endpoints. Reported by Cycode. Client secrets are long-lived, so the blast radius extends well past the patch in 1.30.0 and 2.2.0.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pattern nobody is fixing
&lt;/h2&gt;

&lt;p&gt;Independent researcher Syed Anas Mohiuddin spent five months finding the same SSRF flaw across Google, JPMorgan Chase, Weaviate, Rapid7, a French government directorate, and an Indonesian city government. Five US federal AI servers, including one logging veterans' SSNs in unredacted error responses, were still unpatched six weeks after disclosure.&lt;/p&gt;

&lt;p&gt;His conclusion is blunt: the MCP specification has no normative security requirements, and its implicit-trust model means independent teams keep rediscovering the same vulnerability class.&lt;/p&gt;

&lt;p&gt;The numbers back him up. The MCPTox benchmark tested 20 LLM agents against 45 real MCP servers and measured attack success rates up to 72.8 percent. More capable models were more vulnerable, not less. Koi Security found the first real-world malicious MCP server in September 2025: fifteen clean releases of the postmark-mcp package, then a quiet update that BCC'd every agent-sent email to an attacker.&lt;/p&gt;

&lt;p&gt;MCP has crossed 97 million installs. The registry is approaching 2,000 entries. The attack surface is growing faster than anyone's ability to audit it by hand.&lt;/p&gt;

&lt;h2&gt;
  
  
  What actually helps
&lt;/h2&gt;

&lt;p&gt;Static rules do not keep up. Every one of the CVEs above was a novel instance of a known class in a new codebase. What catches them is screening tool calls and responses against live threat intelligence: known-bad indicators, phishing-kit fingerprints, scam-associated infrastructure, and neighbor servers with dirty reputations.&lt;/p&gt;

&lt;p&gt;That is what the RelayShield MCP Proxy Firewall does. It sits between your agents and their MCP servers, screens every tool call and every response, and blocks or flags what matches the corpus. The pre-deployment scanner is free and catches misconfigurations before you ship. The runtime proxy is $49 a month.&lt;/p&gt;

&lt;p&gt;Your MCP server is the attack surface now. Screen it like one.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>security</category>
      <category>ai</category>
      <category>cybersecurity</category>
    </item>
    <item>
      <title>Introducing the MCP Proxy Firewall: Stop Poisoned Neighbors Before They Poison You</title>
      <dc:creator>relayshieldadmin</dc:creator>
      <pubDate>Tue, 13 Oct 2026 14:11:26 +0000</pubDate>
      <link>https://dev.to/relayshield/introducing-the-mcp-proxy-firewall-stop-poisoned-neighbors-before-they-poison-you-2ljf</link>
      <guid>https://dev.to/relayshield/introducing-the-mcp-proxy-firewall-stop-poisoned-neighbors-before-they-poison-you-2ljf</guid>
      <description>&lt;h1&gt;
  
  
  Introducing the MCP Proxy Firewall: Stop Poisoned Neighbors Before They Poison You
&lt;/h1&gt;

&lt;p&gt;The Model Context Protocol (MCP) has become the standard for connecting AI agents to tools and data sources. But as adoption grows, so does the attack surface.&lt;/p&gt;

&lt;p&gt;We built the MCP Proxy Firewall to secure the MCP ecosystem.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem: Poisoned Neighbors
&lt;/h2&gt;

&lt;p&gt;MCP servers are the new attack surface. When your agent connects to a third-party MCP server, you're trusting that server with your agent's capabilities. A single compromised server can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Inject hidden instructions&lt;/strong&gt; into tool responses (prompt injection)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exfiltrate credentials&lt;/strong&gt; to attacker-controlled domains&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Serve phishing kit fingerprints&lt;/strong&gt; disguised as legitimate widgets&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Leak unredacted PII&lt;/strong&gt; (SSNs, credit cards, bulk emails)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Abuse OAuth flows&lt;/strong&gt; to steal tokens via malicious redirect URIs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Perform SSRF attacks&lt;/strong&gt; to access internal infrastructure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The CVEs prove this isn't theoretical:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;argocd-mcp&lt;/strong&gt; shipped with no authentication, allowing unauthenticated access to deployments (CVE-2026-82456 pattern)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rill&lt;/strong&gt; had an OAuth flow that let attackers skip consent entirely&lt;/li&gt;
&lt;li&gt;Multiple MCP servers have been found with prompt injection in tool descriptions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The OpenClaw incident brought this home. In the ClawHavoc attack, over 800 malicious skills were uploaded to OpenClaw's marketplace, triggering 1,142 security advisories. With 135,000+ exposed instances, the blast radius was enormous. OpenClaw uses MCP via the mcporter bridge, which means every one of those poisoned skills was a potential MCP attack vector. This wasn't a hypothetical. It was a marketplace-scale compromise of the exact ecosystem we're securing.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution: Two Layers of Defense
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Layer 1: Pre-Deployment Scanner (Free)
&lt;/h3&gt;

&lt;p&gt;Before you connect your agent to an MCP server, scan it. Our pre-deployment scanner checks tool definitions for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Prompt injection phrases:&lt;/strong&gt; "ignore previous instructions", "you must now", "act as", system prompt overrides&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Instruction hijacking:&lt;/strong&gt; Tool descriptions that tell agents to behave differently&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exfiltration instructions:&lt;/strong&gt; Descriptions telling agents to send data to external URLs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dangerous capabilities:&lt;/strong&gt; Shell execution, file deletion, arbitrary code execution&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Credential harvesting:&lt;/strong&gt; Input schemas requesting passwords, API keys, tokens&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unauthenticated access:&lt;/strong&gt; Servers with no auth (the argocd-mcp pattern)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The scanner is free. Use it before every new MCP connection.&lt;/p&gt;

&lt;h3&gt;
  
  
  Layer 2: Runtime Proxy Firewall
&lt;/h3&gt;

&lt;p&gt;Deploy as a reverse proxy between your agent and MCP servers. Every tool call and result is screened in real time:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SSRF Protection:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Blocks internal URLs (localhost, 169.254.169.254, 10.x, 192.168.x)&lt;/li&gt;
&lt;li&gt;Validates redirect chains (max 3 hops, no protocol downgrade)&lt;/li&gt;
&lt;li&gt;Stops DNS rebinding attacks&lt;/li&gt;
&lt;li&gt;Deep document validation extracts and validates embedded URLs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;OAuth Tampering Detection:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Flags suspicious scopes (&lt;code&gt;long_lived_access_token&lt;/code&gt;, &lt;code&gt;admin&lt;/code&gt;, &lt;code&gt;*&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Blocks evil domains mimicking identity providers&lt;/li&gt;
&lt;li&gt;Validates redirect URIs against allowlists&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;PII Protection:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Detects unredacted SSNs, credit cards, bulk emails in responses&lt;/li&gt;
&lt;li&gt;Flags for review instead of blocking (fail-open with alert)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Threat Intelligence:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Matches responses against known phishing kit fingerprints&lt;/li&gt;
&lt;li&gt;Screens URLs against 700K+ threat indicators&lt;/li&gt;
&lt;li&gt;Checks wallet addresses for scam associations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Auditability:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every decision is cryptographically signed&lt;/li&gt;
&lt;li&gt;Full verdict history with cause codes&lt;/li&gt;
&lt;li&gt;Confidence scores on every detection&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Who This Is For
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Enterprises:&lt;/strong&gt; If your teams are building AI agents that connect to third-party MCP servers, you need runtime protection. The Proxy Firewall deploys as a transparent reverse proxy. No agent code changes required. Every decision is signed and auditable for compliance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MSPs (Managed Service Providers):&lt;/strong&gt; You manage MCP infrastructure for multiple clients. The Proxy Firewall gives you a single screening chokepoint. Deploy once, protect all your clients. The pre-deployment scanner lets you vet new MCP servers before onboarding them. White-label options available. If you're an MSP securing agentic workflows for clients, we want to talk.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Developers:&lt;/strong&gt; The pre-deployment scanner is free. Integrate it into your CI/CD pipeline. Scan every MCP server before your agent connects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cloud:&lt;/strong&gt; $49/month flat, unlimited scans&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The pre-deployment scanner is free forever. Scan before you connect.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get Started
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Documentation:&lt;/strong&gt; [docs URL]&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API:&lt;/strong&gt; &lt;a href="https://api.relayshield.net/developers" rel="noopener noreferrer"&gt;https://api.relayshield.net/developers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/nzdsf2-gif/relayshield" rel="noopener noreferrer"&gt;https://github.com/nzdsf2-gif/relayshield&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why We Built This
&lt;/h2&gt;

&lt;p&gt;We run RelayShield's threat intelligence operation, monitoring 125 Telegram marketplaces with 700K+ indicators. We see the phishing kits, the stolen credentials, the scam infrastructure.&lt;/p&gt;

&lt;p&gt;When MCP emerged, we saw the same patterns forming. The protocol is powerful, but the security model assumes trusted servers. That assumption is already breaking.&lt;/p&gt;

&lt;p&gt;The MCP Proxy Firewall is our answer: defense in depth for the agentic era.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;RelayShield provides threat intelligence for the agentic economy. Our free MCP server offers scam checks for URLs, wallets, emails, and breach exposure with no signup required.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>security</category>
      <category>ai</category>
      <category>agents</category>
    </item>
    <item>
      <title>Verifying AI Agents Before They Transact: RelayShield's TAP Verifier</title>
      <dc:creator>relayshieldadmin</dc:creator>
      <pubDate>Fri, 09 Oct 2026 13:53:20 +0000</pubDate>
      <link>https://dev.to/relayshield/verifying-ai-agents-before-they-transact-relayshields-tap-verifier-5gba</link>
      <guid>https://dev.to/relayshield/verifying-ai-agents-before-they-transact-relayshields-tap-verifier-5gba</guid>
      <description>&lt;p&gt;Visa's Trusted Agent Protocol (TAP) gives AI agents a way to prove who they are when they show up to transact. An agent presents a signed credential, the merchant verifies it, and the transaction proceeds. The protocol is sound. The problem is on the merchant side: verifying that credential correctly takes real work, and most merchants are not set up to do it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The verification gap
&lt;/h2&gt;

&lt;p&gt;When an agent arrives with a TAP credential, the merchant has to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Parse the RFC 9421 HTTP Message Signature covering the request.&lt;/li&gt;
&lt;li&gt;Fetch the agent's public key from Visa's JWKS endpoint and confirm the key is current and legitimate.&lt;/li&gt;
&lt;li&gt;Validate the signature against that key.&lt;/li&gt;
&lt;li&gt;Check the agent's identity against known threat intelligence. A valid signature proves the credential was issued, not that the agent behind it is trustworthy.&lt;/li&gt;
&lt;li&gt;Confirm the agent's stated intent matches what it is actually trying to do. An agent that claims to be shopping but starts probing for data exfiltration is a different risk than its credential suggests.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Step 4 and step 5 are where most implementations stop. Signature verification is necessary but not sufficient. A compromised or repurposed agent can carry a perfectly valid signature.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we built
&lt;/h2&gt;

&lt;p&gt;RelayShield's TAP verifier is a merchant-side endpoint that runs the full check in one call:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;RFC 9421 signature verification.&lt;/strong&gt; The verifier reconstructs the signature base from the request components and validates it against the presented key material.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visa JWKS validation.&lt;/strong&gt; Agent public keys are fetched from Visa's JWKS endpoint and matched before any signature check runs. Stale or unknown keys are rejected.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TI corpus screening.&lt;/strong&gt; The agent's identity indicators are screened against RelayShield's threat intelligence corpus (687K+ indicators drawn from monitored criminal marketplaces). An agent whose infrastructure overlaps with known malicious operations gets flagged, valid signature or not.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Intent-mismatch detection.&lt;/strong&gt; The verifier compares the agent's declared intent in the TAP credential against the actual request pattern. A shopping agent that starts behaving like a data collector triggers a mismatch flag.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The endpoint is live:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;POST https://api.relayshield.net/v1/tap/verify
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Send the TAP credential and request context; you get back a verdict with the signature status, the JWKS key match, any TI hits, and the intent assessment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Honest status
&lt;/h2&gt;

&lt;p&gt;The verifier is live and the core path works, but two verifications are still in progress and we want to be upfront about them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Signed Visa JWKS test with real Visa keys.&lt;/strong&gt; The JWKS fetching and key-matching logic is implemented and tested against fixtures. The end-to-end test against Visa's live JWKS with production keys is still owed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Intent-mismatch live production test.&lt;/strong&gt; The mismatch detection is merged and unit-tested, but it has not yet been exercised against live production traffic.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One implementation note: Visa's live JWKS uses RSA keys. If you are building your own verifier, plan for RSA signature verification, not just Ed25519.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters now
&lt;/h2&gt;

&lt;p&gt;Agentic commerce is moving from demos to real money movement. Visa, Mastercard, and others are shipping the rails. Every one of those rails assumes the merchant can verify the agent on the other end. Most merchants cannot, and the gap between "the protocol exists" and "the verification is actually running" is where fraud will concentrate.&lt;/p&gt;

&lt;p&gt;A merchant-side verifier closes that gap without asking the merchant to become a cryptography shop or a threat intelligence operation. One API call, one verdict, with the evidence attached.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;API access and documentation are at &lt;a href="https://api.relayshield.net/developers" rel="noopener noreferrer"&gt;api.relayshield.net/developers&lt;/a&gt;. The TAP verifier is part of the standard API surface, so existing API keys work.&lt;/p&gt;

&lt;p&gt;Originally published at &lt;a href="https://blog.relayshield.net/tap-verifier-ai-agents-transact" rel="noopener noreferrer"&gt;RelayShield Security Intelligence&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
      <category>api</category>
      <category>visa</category>
    </item>
    <item>
      <title>ChainDrop Had Valid Provenance. That Was Not Enough.</title>
      <dc:creator>relayshieldadmin</dc:creator>
      <pubDate>Tue, 06 Oct 2026 18:23:51 +0000</pubDate>
      <link>https://dev.to/relayshield/chaindrop-had-valid-provenance-that-was-not-enough-2li9</link>
      <guid>https://dev.to/relayshield/chaindrop-had-valid-provenance-that-was-not-enough-2li9</guid>
      <description>&lt;h1&gt;
  
  
  ChainDrop Had Valid Provenance. That Was Not Enough.
&lt;/h1&gt;

&lt;p&gt;Attackers hijacked the GitHub account behind the keyv library to ship poisoned npm releases. The releases carried valid provenance, signed by GitHub Actions. Once installed, the payload raided machines for cloud and registry tokens, then spread worm-like to other maintainers. Four hundred packages. Two billion installs.&lt;/p&gt;

&lt;p&gt;The signature was real. The signer was compromised.&lt;/p&gt;

&lt;h2&gt;
  
  
  Provenance answers the wrong question
&lt;/h2&gt;

&lt;p&gt;Provenance tells you &lt;em&gt;who signed&lt;/em&gt; a package. It does not tell you whether the signer should be trusted &lt;em&gt;right now&lt;/em&gt;. When a maintainer's GitHub account is hijacked, every subsequent release carries a valid signature from a compromised source. The cryptography is working exactly as designed. The trust assumption underneath it is broken.&lt;/p&gt;

&lt;p&gt;This is not a new pattern. It is the same mechanics behind every supply-chain attack: the signing infrastructure is intact, the human behind it is not.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two places to stop it
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Before the commit: rsscan.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ChainDrop's payload steals cloud tokens, registry tokens, and GitHub PATs from infected machines, then uses them to spread. If the worm tries to exfiltrate those tokens through a git commit, a pre-commit hook that scans for credentials stops it cold.&lt;/p&gt;

&lt;p&gt;RSSCAN is our free, local pre-commit hook. It detects 49 credential patterns (AWS keys, GitHub PATs, Stripe secrets, private keys, LLM provider keys) and blocks the commit before the secret enters git history. No account, no API key, no network call. Your source code never leaves the machine.&lt;/p&gt;

&lt;p&gt;A CI check only sees the secret after push. By then it is in history and has to be rotated. The pre-commit hook is the point.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;After the publish: package reputation.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For consumers of npm packages, the question is different: is this version safe to install? Valid provenance does not answer it. Threat intelligence does.&lt;/p&gt;

&lt;p&gt;A package reputation check compares the package name and version against known-malicious indicators: versions published from hijacked accounts, packages with sudden maintainer changes, typosquat variants. The signature says who published it. The reputation check says whether you should trust them today.&lt;/p&gt;

&lt;h2&gt;
  
  
  The trust layer is intelligence, not signatures
&lt;/h2&gt;

&lt;p&gt;ChainDrop validates a thesis we have been building on: in a supply-chain attack, the cryptography is the last thing to fail. The maintainer's account, the CI runner, the publishing token, those go first.&lt;/p&gt;

&lt;p&gt;The defense is not a better signature. It is knowing, at install time and at commit time, whether the source is compromised.&lt;/p&gt;

&lt;p&gt;Signatures prove origin. Intelligence proves trustworthiness. You need both.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;RSSCAN is free and open source: github.com/relayshield/rsscan. For API-based supply-chain screening, see api.relayshield.net/developers.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>supplychain</category>
      <category>security</category>
      <category>npm</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Scam-Kit Fingerprinting API: Turn Any Phishing Link Into a Matchable Kit Identity</title>
      <dc:creator>relayshieldadmin</dc:creator>
      <pubDate>Mon, 05 Oct 2026 14:05:33 +0000</pubDate>
      <link>https://dev.to/relayshield/scam-kit-fingerprinting-api-turn-any-phishing-link-into-a-matchable-kit-identity-2ak7</link>
      <guid>https://dev.to/relayshield/scam-kit-fingerprinting-api-turn-any-phishing-link-into-a-matchable-kit-identity-2ak7</guid>
      <description>&lt;p&gt;Every phishing wave reuses the same kits. Tycoon 2FA, Evilginx, Sneaky 2FA, Darcula: built once, deployed thousands of times. Only per-victim nonces and rotated credentials change between sightings.&lt;/p&gt;

&lt;p&gt;RelayShield's scam-kit fingerprinting API turns one suspicious link into a stable kit identity: a deterministic &lt;code&gt;kit_&amp;lt;sha256&amp;gt;&lt;/code&gt; fingerprint ID, identical for the same kit across sightings.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the fingerprint captures
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;POST /v1/payg/scamkit-fingerprint
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Records what the kit's server actually does:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Up to 5 redirect hops recorded&lt;/li&gt;
&lt;li&gt;Response headers, including kit tells like &lt;code&gt;X-Evilginx&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;TLS facts for the kit host: version, cipher, issuer, SANs, certificate age&lt;/li&gt;
&lt;li&gt;Up to 2 bounded secondary fetches, each hashed and recorded&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Honesty rule: we never compute JA3/JA4 locally. Those fingerprint the TLS client (our fetcher), not the kit server.&lt;/p&gt;

&lt;p&gt;Secrets and tokens are stripped before hashing, so kits differing only in rotated credentials fingerprint identically. Families resolve against 20 approved names; anything else stays &lt;code&gt;suggested&lt;/code&gt; until a human approves it. No-hit always says "no flags found", never "safe".&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$0.50  fingerprint  (/v1/payg/scamkit-fingerprint)
$0.10  match        (/v1/payg/scamkit-match)
$5.50  campaign scan, up to 25 indicators
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Backed by the same corpus: 123 monitored Telegram marketplaces, 661K+ indicators, 8.4M+ citations.&lt;/p&gt;

&lt;p&gt;Full post: &lt;a href="https://blog.relayshield.net/scam-kit-fingerprinting-api" rel="noopener noreferrer"&gt;https://blog.relayshield.net/scam-kit-fingerprinting-api&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>phishing</category>
      <category>api</category>
      <category>threatintel</category>
    </item>
    <item>
      <title>Mastercard knows it was an agent. Here's how you know which one.</title>
      <dc:creator>relayshieldadmin</dc:creator>
      <pubDate>Mon, 05 Oct 2026 14:05:12 +0000</pubDate>
      <link>https://dev.to/relayshield/mastercard-knows-it-was-an-agent-heres-how-you-know-which-one-1p76</link>
      <guid>https://dev.to/relayshield/mastercard-knows-it-was-an-agent-heres-how-you-know-which-one-1p76</guid>
      <description>&lt;p&gt;On September 30, Mastercard added trust and intelligence services to Agent Pay, its agentic payments program. The first service, now testing with U.S. issuers, is a probability score that estimates whether a transaction was initiated by an AI agent, so banks can approve legitimate agent-led purchases instead of declining them out of caution.&lt;/p&gt;

&lt;p&gt;This is a real milestone: the card networks now treat agent-initiated commerce as a first-class category. But the score says an agent was probably involved. It does not say which agent, whether that agent has a history worth trusting, or whether the merchant on the other side is legitimate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which agent: verifiable identity
&lt;/h2&gt;

&lt;p&gt;An agent that can spend money needs an identity that can be checked, not just asserted. Our TAP verifier checks agent identity claims the way the web already checks servers: HTTP message signatures (RFC 9421), Ed25519 keys resolved through JWKS, and a reputation record accumulated under the agent's key ID.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is the other side dirty: composite scoring
&lt;/h2&gt;

&lt;p&gt;Identity answers which agent. It does not answer whether the merchant, the link, or the wallet on the other side is legitimate. That is a corpus problem.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;POST /v1/composite-check
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Takes a URL, a wallet address, an email, or any combination, and returns one risk score from 0 to 100. Every signal is cross-correlated against our threat-intelligence corpus: 123 monitored Telegram marketplaces, 661K+ indicators, 8.4M+ citations. When the corpus has seen an indicator, the response says so. When it has not, it says nothing is known, which is not the same as clean.&lt;/p&gt;

&lt;p&gt;We also fingerprint the kits behind phishing pages: deterministic &lt;code&gt;kit_&amp;lt;sha256&amp;gt;&lt;/code&gt; IDs for phishing and smishing kits, live in production.&lt;/p&gt;

&lt;h2&gt;
  
  
  Both halves
&lt;/h2&gt;

&lt;p&gt;Mastercard's score keeps legitimate agents from being declined. The relying party's problem is the mirror image: knowing which agent is asking, whether it has earned trust, and whether the counterparty is legitimate. The agent economy needs both halves.&lt;/p&gt;

&lt;p&gt;Full post: &lt;a href="https://blog.relayshield.net/mastercard-agent-pay-trust" rel="noopener noreferrer"&gt;https://blog.relayshield.net/mastercard-agent-pay-trust&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
      <category>fintech</category>
      <category>agents</category>
    </item>
    <item>
      <title>Fake Ledger Ads Are Draining Wallets — and Every Link in the Chain Looks Legitimate</title>
      <dc:creator>relayshieldadmin</dc:creator>
      <pubDate>Fri, 02 Oct 2026 17:32:14 +0000</pubDate>
      <link>https://dev.to/relayshield/fake-ledger-ads-are-draining-wallets-and-every-link-in-the-chain-looks-legitimate-14k1</link>
      <guid>https://dev.to/relayshield/fake-ledger-ads-are-draining-wallets-and-every-link-in-the-chain-looks-legitimate-14k1</guid>
      <description>&lt;p&gt;Originally published on the &lt;a href="https://blog.relayshield.net/fake-ledger-ads-draining-wallets" rel="noopener noreferrer"&gt;RelayShield blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A phishing campaign targeting Ledger hardware wallet users has been running since at least August 2026, and it is notable for what it &lt;em&gt;doesn't&lt;/em&gt; do: it doesn't use suspicious lookalike domains, misspelled brands, or obvious red flags. According to a full technical analysis published September 25 by Zscaler ThreatLabz (detection name HTML.Phish.Ledger), the attackers run fraudulent Google Ads impersonating Ledger, then route victims through a chain built entirely on trusted cloud platforms.&lt;/p&gt;

&lt;p&gt;The redirect chain works like this. The sponsored ad appears in Google search results for Ledger-related queries, displaying "google.com" as its destination — a trust signal inherited from what Zscaler describes as a long-standing, verified advertiser account registered in Germany, assessed as likely compromised rather than created for fraud. Clicking sends the victim to a Google Cloud Storage bucket, then to a Vercel-hosted intermediate whose subdomain rotates every 15–20 minutes, and finally to a Google Sites page whose visible URL belongs to Google itself. The phishing interface is embedded in an iframe served from the Vercel origin. Because every hop sits on a reputable domain, URL-reputation and brand-protection filters that look for directly registered lookalike domains never fire.&lt;/p&gt;

&lt;p&gt;The phishing page itself is a careful replica of Ledger's device-setup workflow. It asks the victim to pick a device type, plays simulated progress messages ("Connecting your Ledger," "Initializing Firmware Update"), confirms device ownership — and then asks for the 24-word Secret Recovery Phrase. To make typing feel authentic, it fetches the full 2,048-word BIP-39 English wordlist and implements live autocomplete as the victim types, mirroring Ledger's genuine tooling. After the first submission, a fake "Invalid seed. Please re-enter your recovery phrase carefully" error harvests a second, corroborating entry. Throughout the flow, the page monitors keypresses, touch, and mouse movement and loads an invisible hCaptcha widget at submission time — not to stop victims, but to fingerprint and filter out automated security scanners, extending the infrastructure's lifespan against takedowns. Captured phrases are POSTed to the attacker-controlled Vercel backend.&lt;/p&gt;

&lt;p&gt;With the recovery phrase in hand, the attacker can restore the wallet in any compatible software and drain all associated funds — no physical access to the victim's Ledger required. No software vulnerability is involved; this is pure social engineering layered over abused legitimate platforms.&lt;/p&gt;

&lt;h2&gt;
  
  
  How RelayShield's bots catch this
&lt;/h2&gt;

&lt;p&gt;This is exactly the kind of threat the RelayShield Telegram and WhatsApp bots are built to check. Before interacting with any setup, verification, or update flow that reached you through an ad, a search result, or a forwarded message, send the link to the bot:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The bot resolves the full redirect chain — including the multi-hop GCS → Vercel → Google Sites pattern used here — and checks each hop against the threat-intel corpus.&lt;/li&gt;
&lt;li&gt;A screenshot of the "device verification" page run through &lt;code&gt;/scan&lt;/code&gt; gets checked for phishing markers, including the classic seed-phrase-in-browser request.&lt;/li&gt;
&lt;li&gt;The URL gets an immediate verdict before anything is typed into it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The corpus flags the pattern even when the visible domain is google.com or vercel.app, because the check follows the actual redirect chain and the backend behavior, not just the domain in the address bar.&lt;/p&gt;

&lt;h2&gt;
  
  
  One takeaway
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Never enter your Ledger Secret Recovery Phrase (or any hardware wallet seed phrase) into a website, browser flow, or "verification" page — it should only ever be entered on the physical device itself.&lt;/strong&gt; Do firmware updates and setup only in the official Ledger Live app downloaded from ledger.com, which you navigate to directly rather than through sponsored search results.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Sources: Zscaler ThreatLabz, "Threat Actors Use Google Ads To Target Ledger Users" (full analysis Sept 25, 2026); Threadlinqs TL-2026-2673 (High severity, active); campaign publicly flagged by Zscaler in late August 2026, active since at least August 2026.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>phishing</category>
      <category>security</category>
      <category>cryptocurrency</category>
      <category>web3</category>
    </item>
    <item>
      <title>Why our Cortex XSOAR pack never says a domain is safe</title>
      <dc:creator>relayshieldadmin</dc:creator>
      <pubDate>Fri, 02 Oct 2026 14:12:33 +0000</pubDate>
      <link>https://dev.to/relayshield/why-our-cortex-xsoar-pack-never-says-a-domain-is-safe-3bp2</link>
      <guid>https://dev.to/relayshield/why-our-cortex-xsoar-pack-never-says-a-domain-is-safe-3bp2</guid>
      <description>&lt;p&gt;If you run Cortex XSOAR, XSIAM or the Cortex platform, the pack is in the Marketplace now. Search&lt;br&gt;
for RelayShield in your own tenant's Marketplace tab, or read the&lt;br&gt;
&lt;a href="https://xsoar.pan.dev/docs/reference/integrations/relay-shield" rel="noopener noreferrer"&gt;integration reference&lt;/a&gt; first.&lt;br&gt;
You can see what the intelligence looks like before configuring anything: forward a suspicious email&lt;br&gt;
to &lt;a href="mailto:checkemail@relayshield.net"&gt;checkemail@relayshield.net&lt;/a&gt; and you get a verdict back.&lt;/p&gt;

&lt;p&gt;The post below covers what the pack does and one design decision you will have an opinion about.&lt;/p&gt;

&lt;p&gt;An agent that reads a repository's setup instructions, connects to an MCP server, or follows a&lt;br&gt;
tool's README is extending trust to whatever domain, package or command those instructions name.&lt;br&gt;
Nothing else in the Cortex XSOAR content marketplace looks at that trust before the agent acts on&lt;br&gt;
it. RelayShield does, and as of this release a SOC or MSSP running Cortex XSOAR, XSIAM or the&lt;br&gt;
Cortex platform can pull that intelligence straight into an incident without building anything.&lt;/p&gt;

&lt;h2&gt;
  
  
  What nothing else in the marketplace runs
&lt;/h2&gt;

&lt;p&gt;Three commands answer questions specific to the agentic attack surface, not the general reputation&lt;br&gt;
questions every other feed already covers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;relayshield-mcp-registry-risk&lt;/code&gt; assesses an MCP server URL or package name for typosquat,
supply-chain or registry risk before an agent connects to it. This is the same logic behind our
agent-bait screening, exposed as a command a SOC can run against anything an agent is about to be
pointed at.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;relayshield-cert-expiry&lt;/code&gt; checks a domain's TLS certificate expiry risk, which matters for the
same reason: a certificate quietly expiring on infrastructure an agent depends on is an outage an
automated system will not notice on its own.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;relayshield-supply-chain&lt;/code&gt; checks up to ten vendor domains or emails in one call for combined
breach and infostealer risk, sized for the shape a vendor-risk review actually comes in.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The part that costs nothing to adopt: it's the format your playbooks already speak
&lt;/h2&gt;

&lt;p&gt;The pack also implements the generic &lt;code&gt;domain&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt; and &lt;code&gt;email&lt;/code&gt; reputation commands. That is the&lt;br&gt;
part that matters operationally as much as the agentic-specific commands do: any enrichment&lt;br&gt;
playbook already calling those three commands picks up RelayShield the moment the integration is&lt;br&gt;
enabled and a reliability weight is set. No rewiring, no new playbook logic, no waiting for a&lt;br&gt;
custom integration to be written and reviewed. &lt;code&gt;domain&lt;/code&gt; checks phishing-lookalike and typosquat&lt;br&gt;
risk; &lt;code&gt;email&lt;/code&gt; checks breach exposure and active stolen-session risk, the thing a password reset&lt;br&gt;
does not fix; &lt;code&gt;ip&lt;/code&gt; checks reputation against malicious and suspicious votes.&lt;/p&gt;

&lt;p&gt;One design decision inside that mapping is worth knowing before you configure it: a clean result&lt;br&gt;
from any of these commands sets DBotScore to Unknown (0), never Good (1). "No known finding" means&lt;br&gt;
nothing was flagged in the sources RelayShield queried, which is a narrower claim than&lt;br&gt;
verified-safe, and a reputation integration that conflates the two is telling an analyst something&lt;br&gt;
it does not actually know.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;RelayShield verdict&lt;/th&gt;
&lt;th&gt;DBotScore&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CRITICAL&lt;/td&gt;
&lt;td&gt;3 (Bad)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HIGH&lt;/td&gt;
&lt;td&gt;3 (Bad)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MEDIUM&lt;/td&gt;
&lt;td&gt;2 (Suspicious)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LOW&lt;/td&gt;
&lt;td&gt;2 (Suspicious)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No known finding&lt;/td&gt;
&lt;td&gt;0 (Unknown)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Where the intelligence comes from
&lt;/h2&gt;

&lt;p&gt;RelayShield's corpus is collected continuously from monitored criminal Telegram marketplaces,&lt;br&gt;
infostealer log dumps, and authoritative public indicator feeds: 123 monitored channels and 8.3&lt;br&gt;
million citations as of this release. The first two categories are the ones a standard TAXII feed&lt;br&gt;
subscription does not reach, and they are the reason a RelayShield hit on an indicator is worth&lt;br&gt;
pulling into the incident rather than filed alongside everything else. We quote specific, measured&lt;br&gt;
figures like these when they are current and worth knowing; what we do not do is lean on a single&lt;br&gt;
aggregate corpus headline, since most of any threat-intel vendor's total volume is ingested public&lt;br&gt;
feeds a SOC already has through other packs, and the number that actually matters is what is in it&lt;br&gt;
that those feeds are not.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setup
&lt;/h2&gt;

&lt;p&gt;Category: Data Enrichment &amp;amp; Threat Intelligence. Requires Cortex XSOAR 6.8.0 or later, and it also&lt;br&gt;
ships for Cortex XSIAM and the Cortex platform. Configuration takes a Server URL (defaults to&lt;br&gt;
&lt;code&gt;api.relayshield.net&lt;/code&gt;) and a RelayShield API key. Get a free-tier key at&lt;br&gt;
&lt;a href="https://api.relayshield.net/developers?source=xsoar-devto" rel="noopener noreferrer"&gt;api.relayshield.net/developers&lt;/a&gt;, then&lt;br&gt;
follow the &lt;a href="https://xsoar.pan.dev/docs/reference/integrations/relay-shield" rel="noopener noreferrer"&gt;full integration reference&lt;/a&gt;&lt;br&gt;
for every command's inputs and context outputs.&lt;/p&gt;

&lt;p&gt;Free checks that need no key at all, if you want to see a verdict before configuring anything:&lt;br&gt;
forward a suspicious email to&lt;br&gt;
&lt;a href="mailto:checkemail@relayshield.net"&gt;checkemail@relayshield.net&lt;/a&gt;, or paste a link or a wallet&lt;br&gt;
address into &lt;a href="https://t.me/relayshield_bot/idcheck?startapp=tg-miniapp-blog" rel="noopener noreferrer"&gt;the checker in Telegram&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>security</category>
      <category>devops</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
    <item>
      <title>HEAVYGRAM: The Spyware That Runs on Telegram</title>
      <dc:creator>relayshieldadmin</dc:creator>
      <pubDate>Tue, 29 Sep 2026 17:15:58 +0000</pubDate>
      <link>https://dev.to/relayshield/heavygram-the-spyware-that-runs-on-telegram-4cli</link>
      <guid>https://dev.to/relayshield/heavygram-the-spyware-that-runs-on-telegram-4cli</guid>
      <description>&lt;p&gt;Originally published on the &lt;a href="https://blog.relayshield.net/heavygram-the-spyware-that-runs-on-telegram" rel="noopener noreferrer"&gt;RelayShield blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On September 15, three agencies — the FBI, the U.K.'s National Cyber Security Center, and the Netherlands' AIVD — published a joint advisory about a Windows malware family controlled entirely through the Telegram messaging app. The FBI calls it HEAVYGRAM; the NCSC calls it CHOSEN BRICK. The FBI attributes it to Iran's Ministry of Intelligence and Security, and dates the wider campaign to the autumn of 2023. It has been used against people in the U.K., the U.S., and the Netherlands since at least 2025.&lt;/p&gt;

&lt;p&gt;The targets are mainly Iranian dissidents, journalists, and activists — but the FBI warns that anyone Iran considers of interest could be a target. Stolen personal details have appeared on pro-Iranian leak sites, and in March the U.S. Justice Department seized four such sites that posted stolen data and called for the killing of dissidents and journalists.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;Every stage of the attack runs through messaging. It begins with a message: the operators pose as someone the target knows, or as tech support for a messaging app, and build trust before sending a file that looks like a legitimate program. Reported disguises include the AI video app Pictory, the password manager KeePass, Telegram itself, RunwayML, Norton Antivirus, Adobe Flash Player — in some cases even files dressed up to look like MRI scan results. The operators usually start on the victim's work computer, and move to a personal device if that fails.&lt;/p&gt;

&lt;p&gt;Opening the file shows a convincing fake screen while the malware installs in the background. A second stage then connects the computer to a Telegram bot that the operators use to control it and collect stolen data. Each infected computer gets its own Telegram bot, keeping victims' data separate.&lt;/p&gt;

&lt;p&gt;To survive a restart, the malware adds itself to a Windows "Run" registry key — reported names include SMQDService and winappx — and tells Microsoft Defender to skip the folders where it hides. Then it waits for commands. The capabilities are broad: list running programs, take screenshots, switch on the microphone, copy Telegram and WhatsApp data out of the browser, steal saved passwords and email addresses, download more malware, delete files. At least one version can wipe the computer entirely.&lt;/p&gt;

&lt;p&gt;Exfiltrated data leaves through the victim's Telegram bot and through cloud storage services such as Vultr and Storj. Newer versions route Telegram traffic through proxy servers to make the command-and-control harder to spot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters for Telegram watchers
&lt;/h2&gt;

&lt;p&gt;This campaign is a reminder of something RelayShield's monitoring exists for: the same platform that carries scams and phishing lures also serves as infrastructure for targeted operations. Malicious Telegram bots and the domains tied to them are exactly the kind of infrastructure our bots watch across monitored Telegram marketplaces and our threat-intel corpus, and the indicators in advisories like this one — registry names, mutex markers, network destinations — are the artifacts a corpus is built to track. When a campaign like this is confirmed, the IOCs feed the same free check tools our readers already use: run an unfamiliar download link, domain, or crypto wallet through the free checks before trusting it.&lt;/p&gt;

&lt;h2&gt;
  
  
  One concrete takeaway
&lt;/h2&gt;

&lt;p&gt;Do not open files sent through messages — not from strangers, and not from contacts who were recently "hacked" without a good reason. Download software only from official websites and app stores, and if an app asks you to install something from a chat, treat that as the attack. HEAVYGRAM's entire first stage depended on one click on one file in one message. Every operator in this business knows that, which is why they keep sending them.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Sources:&lt;/strong&gt; joint advisory published September 15 by the FBI, U.K. NCSC, and Dutch AIVD; FBI updated analysis of HEAVYGRAM; reporting via The Hacker News, September 2026. No incident details in this post beyond what those sources document.&lt;/p&gt;

</description>
      <category>security</category>
      <category>malware</category>
      <category>telegram</category>
      <category>infosec</category>
    </item>
    <item>
      <title>Your Laptop Is the Supply Chain: What the MemTensor Worm Teaches Maintainers</title>
      <dc:creator>relayshieldadmin</dc:creator>
      <pubDate>Mon, 28 Sep 2026 12:06:17 +0000</pubDate>
      <link>https://dev.to/relayshield/your-laptop-is-the-supply-chain-what-the-memtensor-worm-teaches-maintainers-4oo2</link>
      <guid>https://dev.to/relayshield/your-laptop-is-the-supply-chain-what-the-memtensor-worm-teaches-maintainers-4oo2</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Originally published at &lt;a href="https://blog.relayshield.net/your-laptop-is-the-supply-chain" rel="noopener noreferrer"&gt;RelayShield Blog&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;On September 23, Aikido disclosed a Go-based worm it tracks as &lt;code&gt;supplychain.local&lt;/code&gt;, published into the MemTensor packages on npm and PyPI after a threat actor seized their release access. The worm skips install-time hooks and fires on ordinary use, harvesting GitHub, npm, PyPI, AWS, Slack, and Stripe credentials from the environment. Then it weaponizes your own publish rights: direct npm and PyPI publishing with the stolen credentials, plus a GitHub Action template that re-triggers on every push.&lt;/p&gt;

&lt;p&gt;Read that again. The worm doesn't attack your users. It &lt;strong&gt;turns you into the distributor&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The maintainer is the malware
&lt;/h2&gt;

&lt;p&gt;This is the part that should keep you up at night. The MemTensor worm didn't exploit a vulnerability in the package code. It exploited the maintainer's laptop. Once it had their credentials, it published malicious versions &lt;em&gt;as them&lt;/em&gt;, signed, trusted, and automatically pulled by every downstream user.&lt;/p&gt;

&lt;p&gt;Your CI pipeline? It runs after push. By the time Snyk or GitHub Advanced Security flags the malicious package, the GitHub Action is already in your repo, re-triggering on every push, and the compromised version is already on npm.&lt;/p&gt;

&lt;p&gt;The only checkpoint that runs &lt;em&gt;before&lt;/em&gt; the damage leaves your machine is the pre-commit hook.&lt;/p&gt;

&lt;h2&gt;
  
  
  Count who can publish your dependencies
&lt;/h2&gt;

&lt;p&gt;Here's the question nobody asks until it's too late: &lt;strong&gt;how many accounts can publish into your dependency tree?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When we built &lt;a href="https://github.com/relayshield/rsscan" rel="noopener noreferrer"&gt;rsscan&lt;/a&gt;, we added &lt;code&gt;rsscan --deps&lt;/code&gt; for exactly this reason. It counts the accounts with publish rights across your npm dependencies: the blast radius if any one of those maintainers gets compromised like MemTensor did.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rsscan &lt;span class="nt"&gt;--deps&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If that number surprises you, that's the point.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pre-commit hook is the point
&lt;/h2&gt;

&lt;p&gt;rsscan blocks commits that introduce API keys, tokens, and machine credentials. It detects 31 credential patterns: AWS IAM keys, GitHub PATs, Stripe secrets, Slack tokens, private keys, LLM provider keys, and it runs &lt;strong&gt;entirely on your machine&lt;/strong&gt;. No account, no API key, no network call. Your source code never leaves the host.&lt;/p&gt;

&lt;p&gt;Why pre-commit and not CI? Because a CI check only sees the secret after a push. By then it's in git history and has to be rotated even if you delete the commit. The pre-commit hook runs &lt;em&gt;before&lt;/em&gt; the commit enters history.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# .pre-commit-config.yaml&lt;/span&gt;
&lt;span class="na"&gt;repos&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;repo&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;https://github.com/relayshield/rsscan&lt;/span&gt;
    &lt;span class="na"&gt;rev&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;v0.2.0&lt;/span&gt;
    &lt;span class="na"&gt;hooks&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;rsscan&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pre-commit &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's the whole setup. Nothing to configure, nothing to sign up for.&lt;/p&gt;

&lt;h2&gt;
  
  
  What MemTensor changes
&lt;/h2&gt;

&lt;p&gt;The MemTensor worm proves three things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Your publish credentials are the target.&lt;/strong&gt; Not your code, not your users: your ability to ship.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Post-push detection is too late.&lt;/strong&gt; The malicious GitHub Action executes on push. Scanning after the fact is forensics, not prevention.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The supply chain is your laptop.&lt;/strong&gt; Every credential on your machine is a potential distribution channel.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Run &lt;code&gt;rsscan --deps&lt;/code&gt;. See how many people can publish into your dependencies. Then put the pre-commit hook in place so the next worm doesn't use &lt;em&gt;your&lt;/em&gt; credentials to ship &lt;em&gt;its&lt;/em&gt; malware.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;rsscan is free and open source.&lt;/strong&gt; &lt;a href="https://github.com/relayshield/rsscan" rel="noopener noreferrer"&gt;Get it on GitHub&lt;/a&gt;. No account, no API key, no network calls. Your code never leaves your machine.&lt;/p&gt;

</description>
      <category>security</category>
      <category>supplychain</category>
      <category>npm</category>
      <category>devops</category>
    </item>
    <item>
      <title>The Side Door: Run RelayShield's Free Scam Checks Inside Your Own Muse</title>
      <dc:creator>relayshieldadmin</dc:creator>
      <pubDate>Fri, 25 Sep 2026 20:37:31 +0000</pubDate>
      <link>https://dev.to/relayshield/the-side-door-run-relayshields-free-scam-checks-inside-your-own-muse-1n37</link>
      <guid>https://dev.to/relayshield/the-side-door-run-relayshields-free-scam-checks-inside-your-own-muse-1n37</guid>
      <description>&lt;h1&gt;
  
  
  The Side Door: Run RelayShield's Free Scam Checks Inside Your Own Muse
&lt;/h1&gt;

&lt;p&gt;RelayShield's scamchecker connector is now LIVE in Meta's system. Submissions are being onboarded. But you don't have to wait for the queue — Muse lets you create custom connectors right now, and RelayShield's core checks are keyless. Paste one setup prompt and your own Muse can screen suspicious links, crypto wallets, and email addresses on demand.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;Point your custom connector at RelayShield's live OpenAPI document:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://api.relayshield.net/openapi.json" rel="noopener noreferrer"&gt;https://api.relayshield.net/openapi.json&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Three checks need no API key at all:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Link check&lt;/strong&gt; (&lt;code&gt;POST /v1/link-check&lt;/code&gt;) — run any suspicious URL against RelayShield's threat-intel corpus: 7.8M+ citations across 494K+ indicators, drawn from 115 monitored Telegram marketplaces where phishing kits and scam tooling are bought and sold.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wallet risk&lt;/strong&gt; (&lt;code&gt;POST /v1/wallet-risk&lt;/code&gt;) — screen a crypto wallet address before you send funds to it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Email check&lt;/strong&gt; (&lt;code&gt;POST /v1/email-check&lt;/code&gt;) — vet an unfamiliar sender address before you engage.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One more check takes a free key: the &lt;strong&gt;breach check&lt;/strong&gt;, which ships with 100 free calls — enough to sweep your own addresses and see what's exposed.&lt;/p&gt;

&lt;h2&gt;
  
  
  The wording matters
&lt;/h2&gt;

&lt;p&gt;RelayShield never tells you a link is "safe." A check with no hits returns &lt;strong&gt;"no flags found"&lt;/strong&gt; — with the caveat that a clean result means the corpus has nothing on it today, not that the link is trustworthy. That discipline carries through the connector: verdicts are evidence-based, never reassuring.&lt;/p&gt;

&lt;h2&gt;
  
  
  One setup prompt
&lt;/h2&gt;

&lt;p&gt;Copy, paste, done:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Add a custom connector using the OpenAPI spec at &lt;a href="https://api.relayshield.net/openapi.json" rel="noopener noreferrer"&gt;https://api.relayshield.net/openapi.json&lt;/a&gt;. Expose link-check, wallet-risk, and email-check (all keyless) plus breach-check (I'll supply a key when I want it). When I ask you to check something suspicious, call the right endpoint and report the verdict plainly. Never say "safe" — say "no flags found" when there are no hits.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Why a side door at all
&lt;/h2&gt;

&lt;p&gt;The official connector goes through Meta's review and onboarding waves. The custom-connector route hits the same free endpoints and the same corpus, today. And every check deep-links back to RelayShield's Telegram miniApp (t.me/relayshield_bot/idcheck) for the full interactive workup — watching a link, rescanning it later, digging into the evidence behind a verdict.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;RelayShield monitors 115 Telegram marketplaces for phishing kits, scam tooling, and threat indicators. Try the free checks at &lt;a href="https://t.me/relayshield_bot" rel="noopener noreferrer"&gt;t.me/relayshield_bot&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>ai</category>
      <category>api</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
