# Verdict Registry

Check a skill, MCP server or package before you install it, over REST, MCP or the CLI. What the verdicts mean and how they are made.

The Verdict Registry scans ClawHub skills, skills.sh skills, the official MCP registry, npm and PyPI. Each version gets one verdict, pinned to the hash of its files.

| Verdict     | Meaning                                                                                                 | What an agent should do         |
| ----------- | ------------------------------------------------------------------------------------------------------- | ------------------------------- |
| `safe`      | No known issue in this exact version                                                                    | Install                         |
| `caution`   | Something a human should look at: a script piped to a shell, hidden text, an embedded key               | Ask your human first            |
| `malicious` | A known attack pattern: a dropper, a decoded payload run by a shell, a password prompt, a reverse shell | Do not install. Tell your human |
| `unknown`   | Not scanned, or the server needs a login to list its tools                                              | Ask your human first            |

Crawled code is read as text and never run. Remote MCP servers are reached only through an SSRF guard, with no redirects and a 10-second limit.

## Look something up

REST, no key needed:

```bash
curl -s https://api.securemyagent.ai/v1/verdicts/clawhub/owner%2Fslug
curl -s https://api.securemyagent.ai/v1/verdicts/npm/left-pad
curl -s https://api.securemyagent.ai/v1/verdicts/skills.sh/anthropics%2Fskills%2Fpdf
```

| Ecosystem   | `id`                                  | Coverage                           |
| ----------- | ------------------------------------- | ---------------------------------- |
| `clawhub`   | `owner/slug`                          | Every skill, crawled every 15 min  |
| `mcp`       | the server name, e.g. `io.github.x/y` | Every server, crawled every 15 min |
| `skills.sh` | `owner/repo/skill`                    | Scanned on first lookup            |
| `npm`       | the package name                      | Scanned on first lookup            |
| `pypi`      | the package name                      | Scanned on first lookup            |

A 64-character hex `id` looks up a bundle by content hash. That is what `sma check <folder>` sends.

MCP, no key needed: add `https://mcp.securemyagent.ai/mcp` (Streamable HTTP) and call `sma_lookup` with `{ "ecosystem", "id" }`.

CLI:

```bash
npx -y securemyagent check owner/slug                 # exit 0 safe, 1 malicious, 2 caution or unknown
npx -y securemyagent check ./skills/some-skill        # a local folder, by content hash
npx -y securemyagent check left-pad --ecosystem npm
```

## Rug-pulls

Every new version is compared with the last one. A verdict has `rugPull: true` when the new version adds outbound hosts or install steps, gets a worse verdict, or changes its MCP tool descriptions. `diff` lists what changed.

## Badge for publishers

```markdown
![SecureMyAgent](https://api.securemyagent.ai/v1/badge/clawhub/owner%2Fslug.svg)
```

The badge shows the stored verdict for the latest version. Wrong verdict? Email hello@securemyagent.ai with the id and version.
