已分析URL
https://ai.virustotal.com
测量于上周
AI-Ready评分
优秀
/ 100
Token节省量
评分详情
新兴协议
已检测到 2/6AI代理查找的well-known端点。检测到意味着代理可以自动发现并连接到您的服务。
-
OAuth Protected Resource RFC 9728
/.well-known/oauth-protected-resource -
OAuth Discovery RFC 8414
/.well-known/oauth-authorization-server -
MCP Server Card SEP-1649 draft
/.well-known/mcp/server-card.json -
A2A Agent Card A2A v1.0
/.well-known/agent-card.json -
API Catalog RFC 9727
/.well-known/api-catalog- 2 API(s)
-
Agent Skills index Discovery RFC v0.2.0 draft
/.well-known/agent-skills/index.json- 1 skill(s)
- vtai-core
分数不会自己保持不变。 监控功能尚未上线——加入名单,上线时通知你。
您已加入名单!服务上线时我们会通知您。
我们测到的 2/3 OG tags present
Open Graph标签缺失或不完整。OG标签帮助AI代理(和社交平台)理解页面的标题、描述和图片。
如何实施
在页面<head>中添加og:title、og:description和og:image meta标签。
Threat intelligence, ready for your agent Check files, links and infrastructure. Submit files for analysis. Give your agent evidence to act on. Free VTAI access within quotas. No VirusTotal API key needed. ## Know what you are about to trust. Evidence for downloads, investigations and autonomous workflows. 01### Check an indicator Read the existing report for a file hash, URL, domain or IP. A hash lookup does not upload the file. `get_file_report` · `get_url_report` · `get_domain_report` · `get_ip_report` 02### Analyze a file Submit the file and keep its SHA-256 and receipt. Stdio can read a local file; HTTP accepts inline content. `submit_file` · `submit_local_file (stdio only)` 03### Resume an analysis Recover the same account's receipt without resending. Read its analysis ID when available; an uncertain outcome can remain unknown. `get_submission` · `get_analysis` **Capabilities, sharing and limits** Seven common MCP tools; stdio adds local file submission. Inline submissions accept up to 24,000,000 decoded bytes; local files up to 32,000,000 bytes. Submissions use standard public sharing without a per-call confirmation. The agent applies your task's authorization and data policy. URL, domain and IP lookups read existing reports. A missing report, a pending analysis or zero detections is not a guarantee of safety. Keep analysis dates and coverage with the evidence. [Read the tool guide](https://ai.virustotal.com/?format=markdown). ## Protection inside your runtime. Prefer an integrated plugin? Start here. VT Sentinel · IDE ### Google Antigravity extension Check supported IDE downloads with VirusTotal. Start with a protected terminal and inspect coverage with the extension self-test. `antigravity --install-extension virustotal.vt-sentinel` [Open VSX & setup](https://open-vsx.org/extension/virustotal/vt-sentinel) **Activate and verify** Open a workspace. Run VT Sentinel: Run Self-Test, then VT Sentinel: Open Protected Terminal from the Command Palette. This uses the Antigravity IDE CLI, not agy. Run antigravity --list-extensions --show-versions and inspect the self-test. Follow its trust or restart instructions before relying on interception. HTTP(S) interception only. Remote workspaces cover new IDE terminals and tasks. Some systems need a trust approval or managed restart; the self-test shows the effective scope. VT Sentinel · OpenClaw ### OpenClaw plugin Add file reputation tools and automatic artifact checks. Inspect and adjust scanning, upload and blocking policies from the agent. `openclaw plugins install clawhub:openclaw-plugin-vt-sentinel` [Setup & configuration](https://github.com/king-tero/VT-sentinel) **Activate and verify** Run openclaw gateway restart, then openclaw plugins list. Restart only the gateway you intend to update. Call vt\_sentinel\_status to inspect active policy, then vt\_check\_hash with a known file hash for a first reputation lookup. Status alone does not verify access to VTAI. Protection follows the configured scanning, upload and blocking policies. Instruction files default to hash-only; sensitive-file upload behavior is configurable. VirusTotal · Hermes ### Hermes plugin Give Hermes file and hash reputation tools, plus compact advisory context about the artifacts it observes. `hermes plugins install king-tero/hermes-virustotal --enable` [Setup & configuration](https://github.com/king-tero/hermes-virustotal) **Activate and verify** Run hermes plugins list and start a new Hermes session. If using a messaging gateway, restart it with hermes gateway restart. The --enable flag activates the plugin without an interactive enable prompt. Call vt\_check\_hash with a known file hash, or vt\_check\_file with a path in the active execution environment. The file check hashes the file without uploading it. Advisory by default; exact-malicious enforcement is optional. Binary-content upload behavior has separate configuration. Text is not auto-uploaded and archives are opt-in. [Installation, activation and first use ↗](https://ai.virustotal.com/install.md) Direct integration ## Just need the API? VTAI turns VirusTotal intelligence into compact responses for agent workflows. Register once, reuse your token and call the API from your own tools. `GET /api/v3/domains/virustotal.com Authorization: Bearer <VTAI token>` Use a protected credential file or secret store. The guide includes executable requests for reports, submissions and recovery. [OpenAPI schema](https://ai.virustotal.com/openapi.json) · [Integration catalog](https://ai.virustotal.com/?format=json) ## A starting point for every agent. Readable without JavaScript.
VirusTotal AI | Threat intelligence for your agent [Skip to content](https://ai.virustotal.com/#main) [VirusTotal AI](https://ai.virustotal.com/) Threat intelligence, ready for your agent # VirusTotal intelligence for your AI agent. Check files, links and infrastructure. Submit files for analysis. Give your agent evidence to act on. Free VTAI access within quotas. No VirusTotal API key needed. [Connect your agent](https://ai.virustotal.com/#connect)Copy setup prompt[Read agent instructions](https://ai.virustotal.com/install.md) ### Agy Antigravity CLI Local stdio[Connect Agy ↗](https://ai.virustotal.com/connect/mcp?client=agy) ### Claude Code Your existing Claude login HTTP or stdio[Connect Claude Code ↗](https://ai.virustotal.com/connect/mcp?client=claude) ### Codex Your existing Codex login HTTP or stdio[Connect Codex ↗](https://ai.virustotal.com/connect/mcp?client=codex) ## Know what you are about to trust. Evidence for downloads, investigations and autonomous workflows. 01### Check an indicator Read the existing report for a file hash, URL, domain or IP. A hash lookup does not upload the file. `get_file_report` · `get_url_report` · `get_domain_report` · `get_ip_report` 02### Analyze a file Submit the file and keep its SHA-256 and receipt. Stdio can read a local file; HTTP accepts inline content. `submit_file` · `submit_local_file (stdio only)` 03### Resume an analysis Recover the same account's receipt without resending. Read its analysis ID when available; an uncertain outcome can remain unknown. `get_submission` · `get_analysis` **Capabilities, sharing and limits** Seven common MCP tools; stdio adds local file submission. Inline submissions accept up to 24,000,000 decoded bytes; local files up to 32,000,000 bytes. Submissions use standard public sharing without a per-call confirmation. The agent applies your task's authorization and data policy. URL, domain and IP lookups read existing reports. A missing report, a pending analysis or zero detections is not a guarantee of safety. Keep analysis dates and coverage with the evidence. [Read the tool guide](https://ai.virustotal.com/?format=markdown). ## Protection inside your runtime. Prefer an integrated plugin? Start here. VT Sentinel · IDE ### Google Antigravity extension Check supported IDE downloads with VirusTotal. Start with a protected terminal and inspect coverage with the extension self-test. `antigravity --install-extension virustotal.vt-sentinel`Copy [Open VSX & setup](https://open-vsx.org/extension/virustotal/vt-sentinel) **Activate and verify** Open a workspace. Run VT Sentinel: Run Self-Test, then VT Sentinel: Open Protected Terminal from the Command Palette. This uses the Antigravity IDE CLI, not agy. Run antigravity --list-extensions --show-versions and inspect the self-test. Follow its trust or restart instructions before relying on interception. HTTP(S) interception only. Remote workspaces cover new IDE terminals and tasks. Some systems need a trust approval or managed restart; the self-test shows the effective scope. VT Sentinel · OpenClaw ### OpenClaw plugin Add file reputation tools and automatic artifact checks. Inspect and adjust scanning, upload and blocking policies from the agent. `openclaw plugins install clawhub:openclaw-plugin-vt-sentinel`Copy [Setup & configuration](https://github.com/king-tero/VT-sentinel) **Activate and verify** Run openclaw gateway restart, then openclaw plugins list. Restart only the gateway you intend to update. Call vt\_sentinel\_status to inspect active policy, then vt\_check\_hash with a known file hash for a first reputation lookup. Status alone does not verify access to VTAI. Protection follows the configured scanning, upload and blocking policies. Instruction files default to hash-only; sensitive-file upload behavior is configurable. VirusTotal · Hermes ### Hermes plugin Give Hermes file and hash reputation tools, plus compact advisory context about the artifacts it observes. `hermes plugins install king-tero/hermes-virustotal --enable`Copy [Setup & configuration](https://github.com/king-tero/hermes-virustotal) **Activate and verify** Run hermes plugins list and start a new Hermes session. If using a messaging gateway, restart it with hermes gateway restart. The --enable flag activates the plugin without an interactive enable prompt. Call vt\_check\_hash with a known file hash, or vt\_check\_file with a path in the active execution environment. The file check hashes the file without uploading it. Advisory by default; exact-malicious enforcement is optional. Binary-content upload behavior has separate configuration. Text is not auto-uploaded and archives are opt-in. [Installation, activation and first use ↗](https://ai.virustotal.com/install.md) Direct integration ## Just need the API? VTAI turns VirusTotal intelligence into compact responses for agent workflows. Register once, reuse your token and call the API from your own tools. [Read the API quickstart](https://ai.virustotal.com/skills/BASIC.md)[API reference ↗](https://ai.virustotal.com/docs) `GET /api/v3/domains/virustotal.com Authorization: Bearer <VTAI token>` Use a protected credential file or secret store. The guide includes executable requests for reports, submissions and recovery. [OpenAPI schema](https://ai.virustotal.com/openapi.json) · [Integration catalog](https://ai.virustotal.com/?format=json) ## A starting point for every agent. Readable without JavaScript. [**Installation guide**Choose an integration and follow its setup instructions.`/install.md`](https://ai.virustotal.com/install.md) [**Agent overview**Decide when and how to use VirusTotal.`/llms.txt`](https://ai.virustotal.com/llms.txt) [**VTAI API guide**Register, authenticate, query, submit and recover with REST.`/skills/BASIC.md`](https://ai.virustotal.com/skills/BASIC.md) [**OpenAPI**Exact request and response schemas.`/openapi.json`](https://ai.virustotal.com/openapi.json)
将此文件上传到服务器的/index.md,以便AI代理可以访问页面的干净版本。您也可以配置Accept: text/markdown内容协商以自动提供。
我们的建议
# ai.virustotal.com > Connect Agy, Claude Code or Codex to VirusTotal. Check files, URLs, domains and IPs, submit files for analysis, or integrate with VTAI directly. Free access within quotas. ## Documentation - [For agents](https://ai.virustotal.com/install.md) - [Read the API quickstart](https://ai.virustotal.com/skills/BASIC.md) - [API reference ↗](https://ai.virustotal.com/docs) - [Agent overviewDecide when and how to use VirusTotal./llms.txt](https://ai.virustotal.com/llms.txt) ## Main - [VirusTotal intelligence for your AI agent.](https://ai.virustotal.com): Connect Agy, Claude Code or Codex to VirusTotal. Check files, URLs, domains and IPs, submit files for analysis, or inte… - [VirusTotal AI](https://ai.virustotal.com/) - [For agents](https://ai.virustotal.com/install.md) - [Sitemap](https://ai.virustotal.com/sitemap.xml)
完整llms.txt需要全域分析(即将推出)
将此文件上传到域名根目录的https://ai.virustotal.com/llms.txt。ChatGPT、Claude和Perplexity等AI代理会检查此文件以了解您的网站结构。
该网站已有llms.txt文件。
格式有效# VirusTotal AI > Threat intelligence for agents making decisions about files, links and infrastructure. Use VirusTotal to check an unfamiliar download, investigate a suspicious URL/domain/IP, analyze a file, or resume a pending analysis. Reports return compact evidence; a hash lookup does not upload a file. Access is free within VTAI quotas and requires a VTAI token. No existing VirusTotal API key is needed. ## Install - [Choose an integration](/install.md): MCP, runtime plugin or direct API. - [Agy setup](/connect/mcp?client=agy&format=markdown): Local stdio. [Local files / stdio](/connect/mcp?client=agy&transport=stdio&format=markdown). - [Claude Code setup](/connect/mcp?client=claude&format=markdown): HTTP or stdio. [Local files / stdio](/connect/mcp?client=claude&transport=stdio&format=markdown). - [Codex setup](/connect/mcp?client=codex&format=markdown): HTTP or stdio. [Local files / stdio](/connect/mcp?client=codex&transport=stdio&format=markdown). ## Use - [MCP tools and workflows](/?format=markdown): look up, submit, recover. - [VTAI API skill](/skills/BASIC.md): executable REST examples and result interpretation. - [OpenAPI](/openapi.json): exact schemas. - [Integration catalog](/?format=json): structured capabilities and setup links. ## Runtime plugins - [Google Antigravity extension](https://open-vsx.org/extension/virustotal/vt-sentinel): Check supported IDE downloads with VirusTotal. Start with a protected terminal and inspect coverage with the extension self-test. - [OpenClaw plugin](https://github.com/king-tero/VT-sentinel): Add file reputation tools and automatic artifact checks. Inspect and adjust scanning, upload and blocking policies from the agent. - [Hermes plugin](https://github.com/king-tero/hermes-virustotal): Give Hermes file and hash reputation tools, plus compact advisory context about the artifacts it observes. ## Operation Reuse your VTAI credential; use Bearer or x-apikey, never both. Files use standard public sharing when submitted. Recover an uncertain submission by SHA-256 with get_submission before reading its analysis ID with get_analysis; do not automatically resubmit. Unknown can remain unknown. URL/domain/IP lookups read existing reports. Unknown, pending, errors and zero detections are not guarantees of safety.
可访问性
Content available without JavaScript
Main content starts at 47% of HTML
Page size: 20KB
AI可发现性
All major AI search bots allowed
Sitemap found
robots.txt exists
llms.txt exists and is valid
结构化数据
JSON-LD found: WebPage
2/3 OG tags present
Meta description: 171 chars
Canonical URL present
lang="en"
语义化HTML
1 heading level skip(s)
Has both <article> and <main>
17 semantic elements, 20 divs (ratio: 46%)
No images found
Avg div depth: 0.3, max: 2
内容效率
82% token reduction (HTML→Markdown)
Content ratio: 21.1% (4257 content chars / 20205 HTML bytes)
HTML size: 20KB
0/194 elements with inline styles (0.0%)
{
"url": "https://ai.virustotal.com",
"timestamp": 1789092241877,
"fetch": {
"mode": "simple",
"timeMs": 132,
"htmlSizeBytes": 20205,
"supportsMarkdown": true,
"markdownAgents": {
"contentNegotiation": true,
"mdUrl": {
"found": false,
"url": null
},
"linkTag": {
"found": true,
"url": "/?format=markdown"
},
"linkHeader": {
"found": true,
"url": "/?format=markdown"
},
"responseHeaders": {
"contentSignal": null,
"xMarkdownTokens": null,
"vary": "Accept"
},
"frontmatter": {
"present": false,
"fields": [],
"level": "none"
},
"level": "application",
"contentNegotiationMediaType": "text/markdown",
"properMediaType": true
},
"statusCode": 200
},
"extraction": {
"title": "VirusTotal intelligence for your AI agent.",
"excerpt": "Connect Agy, Claude Code or Codex to VirusTotal. Check files, URLs, domains and IPs, submit files for analysis, or integrate with VTAI directly. Free access within quotas.",
"byline": null,
"siteName": null,
"lang": "en",
"contentLength": 4257,
"metadata": {
"description": "Connect Agy, Claude Code or Codex to VirusTotal. Check files, URLs, domains and IPs, submit files for analysis, or integrate with VTAI directly. Free access within quotas.",
"ogTitle": "VirusTotal intelligence for your AI agent.",
"ogDescription": "Connect Agy, Claude Code or Codex to VirusTotal. Check files, URLs, domains and IPs, submit files for analysis, or integrate with VTAI directly. Free access within quotas.",
"ogImage": null,
"ogType": "website",
"canonical": "https://ai.virustotal.com/",
"lang": "en",
"schemas": [
{
"@context": "https://schema.org",
"@type": "WebPage",
"name": "VirusTotal AI",
"url": "https://ai.virustotal.com/",
"description": "Connect Agy, Claude Code or Codex to VirusTotal. Check files, URLs, domains and IPs, submit files for analysis, or integrate with VTAI directly. Free access within quotas.",
"about": {
"@type": "SoftwareApplication",
"name": "VirusTotal MCP",
"applicationCategory": "SecurityApplication",
"url": "https://ai.virustotal.com/connect/mcp",
"downloadUrl": "https://ai.virustotal.com/install.md",
"description": "Read VirusTotal reports, submit files for analysis and recover the results through MCP. Free access uses a VTAI token and shared quotas; no VirusTotal API key is needed."
}
}
],
"robotsMeta": null,
"author": null,
"generator": null,
"markdownAlternateHref": "/?format=markdown"
}
},
"markdown": "Threat intelligence, ready for your agent\n\nCheck files, links and infrastructure. Submit files for analysis. Give your agent evidence to act on.\n\nFree VTAI access within quotas. No VirusTotal API key needed.\n\n## Know what you are about to trust.\n\nEvidence for downloads, investigations and autonomous workflows.\n\n01### Check an indicator\n\nRead the existing report for a file hash, URL, domain or IP. A hash lookup does not upload the file.\n\n`get_file_report` · `get_url_report` · `get_domain_report` · `get_ip_report`\n\n02### Analyze a file\n\nSubmit the file and keep its SHA-256 and receipt. Stdio can read a local file; HTTP accepts inline content.\n\n`submit_file` · `submit_local_file (stdio only)`\n\n03### Resume an analysis\n\nRecover the same account's receipt without resending. Read its analysis ID when available; an uncertain outcome can remain unknown.\n\n`get_submission` · `get_analysis`\n\n**Capabilities, sharing and limits**\n\nSeven common MCP tools; stdio adds local file submission. Inline submissions accept up to 24,000,000 decoded bytes; local files up to 32,000,000 bytes. Submissions use standard public sharing without a per-call confirmation. The agent applies your task's authorization and data policy. URL, domain and IP lookups read existing reports.\n\nA missing report, a pending analysis or zero detections is not a guarantee of safety. Keep analysis dates and coverage with the evidence. [Read the tool guide](https://ai.virustotal.com/?format=markdown).\n\n## Protection inside your runtime.\n\nPrefer an integrated plugin? Start here.\n\nVT Sentinel · IDE\n\n### Google Antigravity extension\n\nCheck supported IDE downloads with VirusTotal. Start with a protected terminal and inspect coverage with the extension self-test.\n\n`antigravity --install-extension virustotal.vt-sentinel`\n\n[Open VSX & setup](https://open-vsx.org/extension/virustotal/vt-sentinel)\n\n**Activate and verify**\n\nOpen a workspace. Run VT Sentinel: Run Self-Test, then VT Sentinel: Open Protected Terminal from the Command Palette. This uses the Antigravity IDE CLI, not agy.\n\nRun antigravity --list-extensions --show-versions and inspect the self-test. Follow its trust or restart instructions before relying on interception.\n\nHTTP(S) interception only. Remote workspaces cover new IDE terminals and tasks. Some systems need a trust approval or managed restart; the self-test shows the effective scope.\n\nVT Sentinel · OpenClaw\n\n### OpenClaw plugin\n\nAdd file reputation tools and automatic artifact checks. Inspect and adjust scanning, upload and blocking policies from the agent.\n\n`openclaw plugins install clawhub:openclaw-plugin-vt-sentinel`\n\n[Setup & configuration](https://github.com/king-tero/VT-sentinel)\n\n**Activate and verify**\n\nRun openclaw gateway restart, then openclaw plugins list. Restart only the gateway you intend to update.\n\nCall vt\\_sentinel\\_status to inspect active policy, then vt\\_check\\_hash with a known file hash for a first reputation lookup. Status alone does not verify access to VTAI.\n\nProtection follows the configured scanning, upload and blocking policies. Instruction files default to hash-only; sensitive-file upload behavior is configurable.\n\nVirusTotal · Hermes\n\n### Hermes plugin\n\nGive Hermes file and hash reputation tools, plus compact advisory context about the artifacts it observes.\n\n`hermes plugins install king-tero/hermes-virustotal --enable`\n\n[Setup & configuration](https://github.com/king-tero/hermes-virustotal)\n\n**Activate and verify**\n\nRun hermes plugins list and start a new Hermes session. If using a messaging gateway, restart it with hermes gateway restart. The --enable flag activates the plugin without an interactive enable prompt.\n\nCall vt\\_check\\_hash with a known file hash, or vt\\_check\\_file with a path in the active execution environment. The file check hashes the file without uploading it.\n\nAdvisory by default; exact-malicious enforcement is optional. Binary-content upload behavior has separate configuration. Text is not auto-uploaded and archives are opt-in.\n\n[Installation, activation and first use ↗](https://ai.virustotal.com/install.md)\n\nDirect integration\n\n## Just need the API?\n\nVTAI turns VirusTotal intelligence into compact responses for agent workflows. Register once, reuse your token and call the API from your own tools.\n\n`GET /api/v3/domains/virustotal.com Authorization: Bearer <VTAI token>`\n\nUse a protected credential file or secret store. The guide includes executable requests for reports, submissions and recovery.\n\n[OpenAPI schema](https://ai.virustotal.com/openapi.json) · [Integration catalog](https://ai.virustotal.com/?format=json)\n\n## A starting point for every agent.\n\nReadable without JavaScript.\n",
"fullPageMarkdown": "VirusTotal AI | Threat intelligence for your agent [Skip to content](https://ai.virustotal.com/#main)\n\n[VirusTotal AI](https://ai.virustotal.com/)\n\nThreat intelligence, ready for your agent\n\n# VirusTotal intelligence for your AI agent.\n\nCheck files, links and infrastructure. Submit files for analysis. Give your agent evidence to act on.\n\nFree VTAI access within quotas. No VirusTotal API key needed.\n\n[Connect your agent](https://ai.virustotal.com/#connect)Copy setup prompt[Read agent instructions](https://ai.virustotal.com/install.md)\n\n### Agy\n\nAntigravity CLI\n\nLocal stdio[Connect Agy ↗](https://ai.virustotal.com/connect/mcp?client=agy)\n\n### Claude Code\n\nYour existing Claude login\n\nHTTP or stdio[Connect Claude Code ↗](https://ai.virustotal.com/connect/mcp?client=claude)\n\n### Codex\n\nYour existing Codex login\n\nHTTP or stdio[Connect Codex ↗](https://ai.virustotal.com/connect/mcp?client=codex)\n\n## Know what you are about to trust.\n\nEvidence for downloads, investigations and autonomous workflows.\n\n01### Check an indicator\n\nRead the existing report for a file hash, URL, domain or IP. A hash lookup does not upload the file.\n\n`get_file_report` · `get_url_report` · `get_domain_report` · `get_ip_report`\n\n02### Analyze a file\n\nSubmit the file and keep its SHA-256 and receipt. Stdio can read a local file; HTTP accepts inline content.\n\n`submit_file` · `submit_local_file (stdio only)`\n\n03### Resume an analysis\n\nRecover the same account's receipt without resending. Read its analysis ID when available; an uncertain outcome can remain unknown.\n\n`get_submission` · `get_analysis`\n\n**Capabilities, sharing and limits**\n\nSeven common MCP tools; stdio adds local file submission. Inline submissions accept up to 24,000,000 decoded bytes; local files up to 32,000,000 bytes. Submissions use standard public sharing without a per-call confirmation. The agent applies your task's authorization and data policy. URL, domain and IP lookups read existing reports.\n\nA missing report, a pending analysis or zero detections is not a guarantee of safety. Keep analysis dates and coverage with the evidence. [Read the tool guide](https://ai.virustotal.com/?format=markdown).\n\n## Protection inside your runtime.\n\nPrefer an integrated plugin? Start here.\n\nVT Sentinel · IDE\n\n### Google Antigravity extension\n\nCheck supported IDE downloads with VirusTotal. Start with a protected terminal and inspect coverage with the extension self-test.\n\n`antigravity --install-extension virustotal.vt-sentinel`Copy\n\n[Open VSX & setup](https://open-vsx.org/extension/virustotal/vt-sentinel)\n\n**Activate and verify**\n\nOpen a workspace. Run VT Sentinel: Run Self-Test, then VT Sentinel: Open Protected Terminal from the Command Palette. This uses the Antigravity IDE CLI, not agy.\n\nRun antigravity --list-extensions --show-versions and inspect the self-test. Follow its trust or restart instructions before relying on interception.\n\nHTTP(S) interception only. Remote workspaces cover new IDE terminals and tasks. Some systems need a trust approval or managed restart; the self-test shows the effective scope.\n\nVT Sentinel · OpenClaw\n\n### OpenClaw plugin\n\nAdd file reputation tools and automatic artifact checks. Inspect and adjust scanning, upload and blocking policies from the agent.\n\n`openclaw plugins install clawhub:openclaw-plugin-vt-sentinel`Copy\n\n[Setup & configuration](https://github.com/king-tero/VT-sentinel)\n\n**Activate and verify**\n\nRun openclaw gateway restart, then openclaw plugins list. Restart only the gateway you intend to update.\n\nCall vt\\_sentinel\\_status to inspect active policy, then vt\\_check\\_hash with a known file hash for a first reputation lookup. Status alone does not verify access to VTAI.\n\nProtection follows the configured scanning, upload and blocking policies. Instruction files default to hash-only; sensitive-file upload behavior is configurable.\n\nVirusTotal · Hermes\n\n### Hermes plugin\n\nGive Hermes file and hash reputation tools, plus compact advisory context about the artifacts it observes.\n\n`hermes plugins install king-tero/hermes-virustotal --enable`Copy\n\n[Setup & configuration](https://github.com/king-tero/hermes-virustotal)\n\n**Activate and verify**\n\nRun hermes plugins list and start a new Hermes session. If using a messaging gateway, restart it with hermes gateway restart. The --enable flag activates the plugin without an interactive enable prompt.\n\nCall vt\\_check\\_hash with a known file hash, or vt\\_check\\_file with a path in the active execution environment. The file check hashes the file without uploading it.\n\nAdvisory by default; exact-malicious enforcement is optional. Binary-content upload behavior has separate configuration. Text is not auto-uploaded and archives are opt-in.\n\n[Installation, activation and first use ↗](https://ai.virustotal.com/install.md)\n\nDirect integration\n\n## Just need the API?\n\nVTAI turns VirusTotal intelligence into compact responses for agent workflows. Register once, reuse your token and call the API from your own tools.\n\n[Read the API quickstart](https://ai.virustotal.com/skills/BASIC.md)[API reference ↗](https://ai.virustotal.com/docs)\n\n`GET /api/v3/domains/virustotal.com Authorization: Bearer <VTAI token>`\n\nUse a protected credential file or secret store. The guide includes executable requests for reports, submissions and recovery.\n\n[OpenAPI schema](https://ai.virustotal.com/openapi.json) · [Integration catalog](https://ai.virustotal.com/?format=json)\n\n## A starting point for every agent.\n\nReadable without JavaScript.\n\n[**Installation guide**Choose an integration and follow its setup instructions.`/install.md`](https://ai.virustotal.com/install.md) [**Agent overview**Decide when and how to use VirusTotal.`/llms.txt`](https://ai.virustotal.com/llms.txt) [**VTAI API guide**Register, authenticate, query, submit and recover with REST.`/skills/BASIC.md`](https://ai.virustotal.com/skills/BASIC.md) [**OpenAPI**Exact request and response schemas.`/openapi.json`](https://ai.virustotal.com/openapi.json)\n",
"markdownStats": {
"images": 0,
"links": 7,
"tables": 0,
"codeBlocks": 0,
"headings": 10
},
"tokens": {
"htmlTokens": 5590,
"markdownTokens": 1018,
"reduction": 4572,
"reductionPercent": 82
},
"score": {
"score": 91,
"grade": "A",
"rubricVersion": 3,
"dimensions": {
"accessibility": {
"score": 88,
"weight": 30,
"grade": "B",
"checks": {
"content_without_js": {
"score": 100,
"weight": 55,
"evidence": "proven",
"details": "Content available without JavaScript"
},
"fast_content_position": {
"score": 50,
"weight": 25,
"evidence": "plausible",
"details": "Main content starts at 47% of HTML"
},
"reasonable_page_size": {
"score": 100,
"weight": 20,
"evidence": "plausible",
"details": "Page size: 20KB"
}
}
},
"aiDiscoverability": {
"score": 88,
"weight": 25,
"grade": "B",
"checks": {
"robots_allows_ai_bots": {
"score": 100,
"weight": 35,
"evidence": "proven",
"details": "All major AI search bots allowed"
},
"supports_markdown_negotiation": {
"score": 60,
"weight": 20,
"evidence": "plausible",
"details": "Application level — Content negotiation, <link> tag, Link header",
"mechanisms": {
"negotiation": true,
"mdUrl": false,
"linkTag": true,
"linkHeader": true
}
},
"has_sitemap": {
"score": 100,
"weight": 15,
"evidence": "plausible",
"details": "Sitemap found"
},
"has_robots_txt": {
"score": 100,
"weight": 10,
"evidence": "plausible",
"details": "robots.txt exists"
},
"has_llms_txt": {
"score": 100,
"weight": 10,
"evidence": "speculative",
"details": "llms.txt exists and is valid"
},
"has_content_signals": {
"score": 60,
"weight": 10,
"evidence": "speculative",
"details": "robots.txt: ai-input=yes, ai-train=no, search=yes",
"mechanisms": {
"robotsTxt": true,
"httpHeader": false,
"policy": false
}
}
}
},
"structuredData": {
"score": 93,
"weight": 20,
"grade": "A",
"checks": {
"has_schema_org": {
"score": 100,
"weight": 35,
"evidence": "proven",
"details": "JSON-LD found: WebPage"
},
"has_open_graph": {
"score": 67,
"weight": 20,
"evidence": "plausible",
"details": "2/3 OG tags present"
},
"has_meta_description": {
"score": 100,
"weight": 20,
"evidence": "plausible",
"details": "Meta description: 171 chars"
},
"has_canonical_url": {
"score": 100,
"weight": 15,
"evidence": "plausible",
"details": "Canonical URL present"
},
"has_lang_attribute": {
"score": 100,
"weight": 10,
"evidence": "plausible",
"details": "lang=\"en\""
}
}
},
"semanticHtml": {
"score": 96,
"weight": 15,
"grade": "A",
"checks": {
"proper_heading_hierarchy": {
"score": 85,
"weight": 30,
"evidence": "plausible",
"details": "1 heading level skip(s)"
},
"uses_article_or_main": {
"score": 100,
"weight": 25,
"evidence": "plausible",
"details": "Has both <article> and <main>"
},
"semantic_elements": {
"score": 100,
"weight": 20,
"evidence": "plausible",
"details": "17 semantic elements, 20 divs (ratio: 46%)"
},
"meaningful_alt_texts": {
"score": 100,
"weight": 15,
"evidence": "plausible",
"details": "No images found"
},
"low_div_nesting": {
"score": 100,
"weight": 10,
"evidence": "speculative",
"details": "Avg div depth: 0.3, max: 2"
}
}
},
"contentEfficiency": {
"score": 94,
"weight": 10,
"grade": "A",
"checks": {
"token_reduction_ratio": {
"score": 100,
"weight": 40,
"evidence": "speculative",
"details": "82% token reduction (HTML→Markdown)"
},
"content_to_noise_ratio": {
"score": 80,
"weight": 30,
"evidence": "speculative",
"details": "Content ratio: 21.1% (4257 content chars / 20205 HTML bytes)"
},
"reasonable_page_weight": {
"score": 100,
"weight": 20,
"evidence": "speculative",
"details": "HTML size: 20KB"
},
"minimal_inline_styles": {
"score": 100,
"weight": 10,
"evidence": "speculative",
"details": "0/194 elements with inline styles (0.0%)"
}
}
}
}
},
"recommendations": [
{
"id": "add_open_graph",
"priority": "medium",
"category": "structuredData",
"titleKey": "rec.add_open_graph.title",
"descriptionKey": "rec.add_open_graph.description",
"howToKey": "rec.add_open_graph.howto",
"howToStepKeys": null,
"effort": "quick-win",
"estimatedImpact": 1.3,
"maxImpact": 4,
"evidence": "plausible",
"checkScore": 67,
"checkDetails": "2/3 OG tags present"
}
],
"llmsTxtPreview": "# ai.virustotal.com\n\n> Connect Agy, Claude Code or Codex to VirusTotal. Check files, URLs, domains and IPs, submit files for analysis, or integrate with VTAI directly. Free access within quotas.\n\n## Documentation\n- [For agents](https://ai.virustotal.com/install.md)\n- [Read the API quickstart](https://ai.virustotal.com/skills/BASIC.md)\n- [API reference ↗](https://ai.virustotal.com/docs)\n- [Agent overviewDecide when and how to use VirusTotal./llms.txt](https://ai.virustotal.com/llms.txt)\n\n## Main\n- [VirusTotal intelligence for your AI agent.](https://ai.virustotal.com): Connect Agy, Claude Code or Codex to VirusTotal. Check files, URLs, domains and IPs, submit files for analysis, or inte…\n- [VirusTotal AI](https://ai.virustotal.com/)\n- [For agents](https://ai.virustotal.com/install.md)\n- [Sitemap](https://ai.virustotal.com/sitemap.xml)\n\n",
"llmsTxtExisting": "# VirusTotal AI\n\n> Threat intelligence for agents making decisions about files, links and infrastructure.\n\nUse VirusTotal to check an unfamiliar download, investigate a suspicious URL/domain/IP, analyze a file, or resume a pending analysis. Reports return compact evidence; a hash lookup does not upload a file. Access is free within VTAI quotas and requires a VTAI token. No existing VirusTotal API key is needed.\n\n## Install\n\n- [Choose an integration](/install.md): MCP, runtime plugin or direct API.\n- [Agy setup](/connect/mcp?client=agy&format=markdown): Local stdio. [Local files / stdio](/connect/mcp?client=agy&transport=stdio&format=markdown).\n- [Claude Code setup](/connect/mcp?client=claude&format=markdown): HTTP or stdio. [Local files / stdio](/connect/mcp?client=claude&transport=stdio&format=markdown).\n- [Codex setup](/connect/mcp?client=codex&format=markdown): HTTP or stdio. [Local files / stdio](/connect/mcp?client=codex&transport=stdio&format=markdown).\n\n## Use\n\n- [MCP tools and workflows](/?format=markdown): look up, submit, recover.\n- [VTAI API skill](/skills/BASIC.md): executable REST examples and result interpretation.\n- [OpenAPI](/openapi.json): exact schemas.\n- [Integration catalog](/?format=json): structured capabilities and setup links.\n\n## Runtime plugins\n\n- [Google Antigravity extension](https://open-vsx.org/extension/virustotal/vt-sentinel): Check supported IDE downloads with VirusTotal. Start with a protected terminal and inspect coverage with the extension self-test.\n- [OpenClaw plugin](https://github.com/king-tero/VT-sentinel): Add file reputation tools and automatic artifact checks. Inspect and adjust scanning, upload and blocking policies from the agent.\n- [Hermes plugin](https://github.com/king-tero/hermes-virustotal): Give Hermes file and hash reputation tools, plus compact advisory context about the artifacts it observes.\n\n## Operation\n\nReuse your VTAI credential; use Bearer or x-apikey, never both. Files use standard public sharing when submitted. Recover an uncertain submission by SHA-256 with get_submission before reading its analysis ID with get_analysis; do not automatically resubmit. Unknown can remain unknown. URL/domain/IP lookups read existing reports. Unknown, pending, errors and zero detections are not guarantees of safety.",
"emergingProtocols": {
"oauthProtectedResource": {
"exists": false,
"url": "https://ai.virustotal.com/.well-known/oauth-protected-resource"
},
"oauthDiscovery": {
"exists": false,
"url": "https://ai.virustotal.com/.well-known/oauth-authorization-server"
},
"mcpServerCard": {
"exists": false,
"url": "https://ai.virustotal.com/.well-known/mcp/server-card.json",
"draft": true
},
"a2aAgentCard": {
"exists": false,
"url": "https://ai.virustotal.com/.well-known/agent-card.json"
},
"apiCatalog": {
"exists": true,
"url": "https://ai.virustotal.com/.well-known/api-catalog",
"contentType": "application/linkset+json; profile=\"https://www.rfc-editor.org/info/rfc9727\"",
"validMediaType": true,
"apis": 2
},
"agentSkills": {
"exists": true,
"url": "https://ai.virustotal.com/.well-known/agent-skills/index.json",
"draft": true,
"schema": "https://schemas.agentskills.io/discovery/0.2.0/schema.json",
"skills": 1,
"names": [
"vtai-core"
]
},
"count": 2,
"total": 6
},
"botAccess": {
"probed": true,
"bot": "OAI-SearchBot",
"controlStatus": 200,
"botStatus": 200,
"discriminates": false,
"refusedAsBot": false,
"edge": null,
"verifiable": false,
"detail": "This origin answers OAI-SearchBot exactly as it answers any other client (200). No edge-level filtering of AI crawlers observed."
},
"snippets": [
{
"id": "add_open_graph",
"title": "Add missing Open Graph tags",
"description": "Open Graph tags control how your page looks when shared on social media and how AI platforms preview your URL in answers.",
"language": "html",
"code": "<meta property=\"og:image\" content=\"https://yoursite.com/og-image.jpg\">\n<meta property=\"og:url\" content=\"https://ai.virustotal.com\">\n<meta property=\"og:type\" content=\"website\">",
"filename": "<head>",
"stacks": [
{
"id": "html",
"label": "HTML <head>",
"language": "html",
"filename": "<head>",
"code": "<meta property=\"og:image\" content=\"https://yoursite.com/og-image.jpg\">\n<meta property=\"og:url\" content=\"https://ai.virustotal.com\">\n<meta property=\"og:type\" content=\"website\">"
},
{
"id": "wordpress",
"label": "WordPress",
"language": "php",
"filename": "functions.php",
"code": "<?php\n// Quick Open Graph tags without a plugin (skip if Yoast / Rank Math is active)\nadd_action('wp_head', function () {\n if (!is_singular()) return;\n $post = get_queried_object();\n $title = get_the_title($post);\n $desc = get_the_excerpt($post) ?: wp_trim_words(strip_tags($post->post_content), 30);\n $image = get_the_post_thumbnail_url($post, 'large') ?: 'https://yoursite.com/og-image.jpg';\n $url = get_permalink($post);\n printf('<meta property=\"og:title\" content=\"%s\">' . \"\\n\", esc_attr($title));\n printf('<meta property=\"og:description\" content=\"%s\">' . \"\\n\", esc_attr($desc));\n printf('<meta property=\"og:image\" content=\"%s\">' . \"\\n\", esc_url($image));\n printf('<meta property=\"og:url\" content=\"%s\">' . \"\\n\", esc_url($url));\n echo '<meta property=\"og:type\" content=\"article\">' . \"\\n\";\n}, 5);"
},
{
"id": "nextjs",
"label": "Next.js",
"language": "typescript",
"filename": "app/page.tsx",
"code": "// Next.js App Router — Metadata API\nimport type { Metadata } from 'next';\n\nexport const metadata: Metadata = {\n title: \"VirusTotal intelligence for your AI agent.\",\n description: \"Connect Agy, Claude Code or Codex to VirusTotal. Check files, URLs, domains and IPs, submit files for analysis, or integrate with VTAI directly. Free access within quotas.\",\n openGraph: {\n title: \"VirusTotal intelligence for your AI agent.\",\n description: \"Connect Agy, Claude Code or Codex to VirusTotal. Check files, URLs, domains and IPs, submit files for analysis, or integrate with VTAI directly. Free access within quotas.\",\n url: \"https://ai.virustotal.com\",\n images: [\"https://yoursite.com/og-image.jpg\"],\n type: 'website',\n },\n};"
}
]
}
]
}
使用我们的API以编程方式获取此内容(即将推出)
此JSON供内部使用 — 与Markdown和llms.txt文件不同,它不适合上传到您的网站。将其保存为基准值以跟踪评分变化,与开发团队共享,或集成到CI/CD流水线中。
分享您的结果
或者让 AI 帮你改进
想听听第二种意见?
Cloudflare 也提供免费扫描工具,但它问的是另一个问题。他们评分的是你的站点为智能体调用而发布的东西:MCP server card、Agent Skills、API 目录、DNS 记录。我们评分的是智能体能否访问、读取并理解你的内容。一个站点可能在其中一项表现很好、另一项很差,所以看到两个不同的分数很正常:它们是两个不同问题的答案,都值得了解。
用 Cloudflare 扫描 ai.virustotal.com嵌入您的徽章
将此徽章添加到您的网站。当您的 AI 就绪评分发生变化时,它会自动更新。
<script src="https://agentready.md/badge.js" data-id="cd81d46f-b23a-4a39-b7b0-e7b814a7622e" data-domain="ai.virustotal.com"></script>
[](https://agentready.md/zh/r/ai.virustotal.com)
即将推出:全域分析
爬取您的整个域名,生成llms.txt,并随时间监控您的AI就绪度评分。加入等候名单以获取通知。
您已加入名单!服务上线时我们会通知您。