find_attestation
Ask whether anyone has already attested an artifact, BEFORE you install it or pay to scan it. Free and anonymous. Give a package identity like "chalk@5.6.1", an MCP server endpoint URL, or a sha256 content hash. Returns the signed verdict if one exists, which you can verify offline against https://lazaretto.dev/.well-known/jwks.json, plus freshness: whether the corpus has since contradicted it and whether it was attested under an older rules version. A miss is not a verdict, it only means nobody has scanned this yet. When nobody has attested an npm package identity, the answer falls back to a free identity check against published advisories: answer: "identity_check" with an identity_check object, and found still false, because an identity check is unsigned, looks at the identity rather than the code, and absence from the corpus is not a verdict. identity_check.listed_as_malware: true comes back as an error result, so a published malware version cannot be read as "nothing found"; null there means the corpus could not be consulted, which is unchecked and never clear.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| subject | Yes | A package identity ("chalk@5.6.1"), an MCP server endpoint URL, or a sha256 content hash, optionally sha256: prefixed. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| risk | No | ||
| found | Yes | False means nobody has attested it, which is not a clean verdict. | |
| answer | No | "identity_check" when nobody has attested the subject and a free advisory lookup answered instead. | |
| verdict | No | ||
| age_days | No | ||
| attestation | No | Compact JWS you can verify offline; it carries the verdict, never the evidence. | |
| attested_at | No | ||
| stale_rules | No | True when attested under an older rules version. | |
| contradicted | No | Non-null when this subject is NOW a known-bad match. | |
| identity_check | No | The fallback answer, never an attestation. `listed_as_malware` is true (published as malware, returned as an error), false (not in the corpus, which is not a verdict on the code), or null (the corpus could not be consulted: unchecked, never clear). |