79trust / 100
Audit
by manifest-audit in Security & trust
x402 APIPassing, checked 17 min ago
Audit a whole dependency manifest in one call before installing or upgrading. Send a package.json, a requirements.txt, or npm and PyPI package lists (up to 50 packages). Per dependency: latest version and publish date, whether your pin is behind, license, deprecation or yanked status, weekly npm downloads, and known vulnerabilities from OSV with severity and first fixed version. Deterministic, no LLM. Use before adding or bumping deps or when reviewing a lockfile change.
POST https://audit.152-53-82-29.sslip.io/v1/audit
Last 30 days
All checks passedSome failedAll failedNot checked
- Uptime
- 100%
- Response time
- 610 ms typical, 875 ms slowest 5%
- Last check
- 17 min ago
- Next check
- in 12 min
How to call it
# See the payment challenge (nothing is charged)
curl -i -X POST "https://audit.152-53-82-29.sslip.io/v1/audit" \
-H "content-type: application/json" \
-d '{"npm":["[email protected]","express@^4.18.0","left-pad"],"pypi":["requests==2.25.0","flask>=2.0"]}'import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client().register(
"eip155:8453",
new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Faudit.152-53-82-29.sslip.io%2Fv1%2Faudit
const res = await pay("https://audit.152-53-82-29.sslip.io/v1/audit", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({"npm":["[email protected]","express@^4.18.0","left-pad"],"pypi":["requests==2.25.0","flask>=2.0"]}),
});
console.log(await res.json());Example input
{
"npm": [
"[email protected]",
"express@^4.18.0",
"left-pad"
],
"pypi": [
"requests==2.25.0",
"flask>=2.0"
]
}Example output
{
"elapsed_ms": 1800,
"generated_at": "2026-09-22T23:00:00Z",
"max_packages": 50,
"rows": [
{
"behind": true,
"deprecated": false,
"ecosystem": "npm",
"latest": "4.18.1",
"latest_published": "2026-04-01T21:01:20Z",
"license": "MIT",
"max_severity": "HIGH",
"name": "lodash",
"notes": [],
"pinned": "4.17.20",
"requested": "4.17.20",
"vulnerabilities": [
{
"aliases": [
"CVE-2021-23337"
],
"fixed_in": "4.17.21",
"id": "GHSA-35jh-r3h4-6jhm",
"severity": "HIGH",
"summary": "Command injection in lodash"
}
],
"vulnerability_count": 5,
"weekly_downloads": 128527290
},
{
"behind": null,
"deprecated": false,
"ecosystem": "pypi",
"latest": "3.1.2",
"latest_published": "2025-08-19T00:00:00Z",
"license": "BSD-3-Clause",
"max_severity": null,
"name": "flask",
"notes": [
"range \">=2.0\" audited at latest"
],
"pinned": null,
"requested": ">=2.0",
"vulnerabilities": [],
"vulnerability_count": 0,
"weekly_downloads": null
}
],
"sources": [
"api.deps.dev",
"api.osv.dev",
"registry.npmjs.org",
"api.npmjs.org",
"pypi.org"
],
"summary": {
"behind_latest": 1,
"deprecated": 0,
"lookup_errors": 0,
"packages": 2,
"unpinned": 1,
"with_vulnerabilities": 1
}
}Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 17 min ago | Passed | 402 | 610 ms | $0.01 |
| 4 h ago | Passed | 402 | 738 ms | $0.01 |
| 7 h ago | Passed | 402 | 431 ms | $0.01 |
| 11 h ago | Passed | 402 | 523 ms | $0.01 |
| 15 h ago | Passed | 402 | 900 ms | $0.01 |
| 18 h ago | Passed | 402 | 875 ms | $0.01 |
| 23 h ago | Passed | 402 | 831 ms | $0.01 |
| 26 h ago | Passed | 402 | 655 ms | $0.01 |
| 29 h ago | Passed | 402 | 471 ms | $0.01 |
| 34 h ago | Passed | 402 | 527 ms | $0.01 |