A2A Agent Card Security Scanner: Identity, Auth & SSRF
Pricing
$15.00 / 1,000 agent card security audits
A2A Agent Card Security Scanner: Identity, Auth & SSRF
Automated security linter for Agent2Agent (A2A) Agent Cards (/.well-known/agent-card.json). Audits cryptographic JWS signatures, SSRF risks, prompt injections, and unauthenticated dangerous primitives.
Pricing
$15.00 / 1,000 agent card security audits
Rating
0.0
(0)
Developer
Neon Innovation Lab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
A2A Agent Card Security Scanner: Audit Identity, Auth & SSRF
Automated cloud DevSecOps security linter and compliance auditor for the Linux Foundation LF AI & Data / Google Cloud Agent2Agent (A2A) Protocol. Inspects public and staging /.well-known/agent-card.json endpoints to identify cryptographic spoofing, internal SSRF exposure, unauthenticated dangerous primitives, and prompt injection attacks in seconds.
⚡ What is the A2A Agent Card Security Scanner?
The A2A Agent Card Security Scanner provides zero-friction, automated security surveillance for autonomous AI agent networks. As enterprise multi-agent meshes scale across corporate boundaries, an agent's digital identity and access contract are governed exclusively by its Agent Card (/.well-known/agent-card.json).
This Actor continuously audits Agent Cards against the normative security requirements defined in A2A Specification §8 & §13, producing normalized Trust Scores (0–100), letter grades (A+ through F), and structured compliance findings for DevSecOps, compliance teams, and agent orchestrators.
💰 Transparent Pay-Per-Event (PPE) Pricing
| Action / Event | Cost | Details |
|---|---|---|
Actor Initialization (apify-actor-start) | $0.03 | Charged once per run container startup. |
Card Audited (card-audited) | $0.05 | Billed only upon successful audit of a live Agent Card. |
Dataset Item Export (apify-default-dataset-item) | $0.002 | Automatic per-row dataset export fee. |
| Unreachable / 404 Targets | $0.00 | Strict zero-charge guarantee for failed network fetches. |
🛡️ The 10 Audited Security Threat Vectors
| Rule ID | Severity | Category | What is Detected |
|---|---|---|---|
A2A-SEC-001 | CRITICAL | AGENT_SPOOFING | Unsigned Agent Card: Missing cryptographic JWS signatures in signatures. Violates RFC 7515. |
A2A-SEC-002 | CRITICAL | CRYPTO_INTEGRITY | Insecure Signature: Algorithm is none or symmetric HS256, or jku origin does not match provider domain. |
A2A-SEC-003 | HIGH | CLEARTEXT_TRANSPORT | Insecure HTTP: Any endpoint in supportedInterfaces, provider, or auth metadata uses http:// instead of https://. |
A2A-SEC-004 | CRITICAL | SSRF_EXPOSURE | Internal SSRF Exposure: Interface or webhook points to localhost, RFC 1918 private IPs, or cloud metadata (169.254.169.254). |
A2A-SEC-005 | HIGH | PROMPT_INJECTION | Adversarial Directives: System prompt override phrases or zero-width Unicode obfuscation detected in metadata or skill examples. |
A2A-SEC-006 | HIGH | DANGEROUS_PRIMITIVES | Unauthenticated Dangerous Skills: High-privilege actions (shell, sql, payments) lack securityRequirements. |
A2A-SEC-007 | MEDIUM | DEPRECATED_AUTH | Deprecated OAuth Flows: Declares implicit or password (ROPC) flows, officially deprecated in a2a.proto. |
A2A-SEC-008 | MEDIUM | CREDENTIAL_LEAK | Query Param API Key: API key location is "query", exposing secrets in web server logs and HTTP referrers. |
A2A-SEC-009 | HIGH | CAPABILITY_ESCALATION | Unauthenticated Extended Card: Declares extendedAgentCard: true without required authentication schemes. |
A2A-SEC-010 | LOW | SPEC_COMPLIANCE | Schema Compliance: Missing REQUIRED Protobuf fields (name, description, version, supportedInterfaces, skills). |
⚖️ Competitor Benchmark
| Feature | A2A Security Scanner (This Actor) | Cisco a2a-scanner | Manual Security Review |
|---|---|---|---|
| Deployment Model | 1-Click Apify Cloud / Scheduled Cron | Self-hosted Python 3.11+ / UV | Manual penetration testing |
| Audit Speed | < 3 seconds per card | 20–45 seconds | Hours to days |
| LLM Token Cost | $0.00 (Zero-Token AST) | High ($0.05–$0.20 per scan) | High consulting fees |
| Automated Alerts | Slack, Webhooks, PagerDuty | Requires custom integration | Email reports |
| SARIF Export | Available via companion CLI | Custom JSON only | PDF reports |
💻 Integration Examples
Python (apify-client)
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run_input = {"agentCardUrls": ["https://agent.example.com/.well-known/agent-card.json"],"strictMode": True,"failOn": "HIGH"}run = client.actor("neon_innovation_lab/a2a-agent-card-security-scanner").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"Agent: {item['agentName']} | Score: {item['trustScore']}/100 | Grade: {item['grade']} | Verdict: {item['verdict']}")for finding in item["findings"]:print(f" [{finding['severity']}] {finding['ruleName']}: {finding['message']}")
Node.js (apify-client)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('neon_innovation_lab/a2a-agent-card-security-scanner').call({agentCardUrls: ['https://agent.example.com/.well-known/agent-card.json'],strictMode: false,failOn: 'HIGH'});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(report => {console.log(`${report.agentName}: Grade ${report.grade} (${report.trustScore}/100) - ${report.verdict}`);});
More from Neon Innovation Lab
- MCP Server Security Scanner: audit MCP servers for SSRF, prompt injection and unsafe file access.
- Zero-Trust MCP Gateway: redact secrets and PII and block risky calls in front of an MCP server.
- DevOps & Cloud Code Auditor: find cloud cost leaks, table-locking migrations and OWASP gaps.
- Google Maps Leads Scraper: businesses from Google Maps with phones, websites and emails found on their sites.
