22trust / 100

Audit Lockfile

by Aayat AI in Security & trust

x402 APIFailing, checked 17 min ago

Audit a whole lockfile for known vulnerabilities and malware in one call: package-lock.json, yarn.lock, pnpm-lock.yaml, requirements.txt, poetry.lock, uv.lock, Pipfile.lock, Cargo.lock or go.sum, up to 1,000 exact versions checked against OSV.dev, with affected packages, severity and versions to upgrade to. POST {url} (raw file) or {content, filename}.

POST https://aayatai.com/package/audit/lockfile

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
6.7%
Response time
642 ms typical, 642 ms slowest 5%
Last check
17 min ago: Expected HTTP 402, got 410
Next check
in 42 min

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://aayatai.com/package/audit/lockfile" \
  -H "content-type: application/json" \
  -d '{"content":"requests==2.19.0\nurllib3==1.26.18\n","filename":"requirements.txt"}'
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%2Faayatai.com%2Fpackage%2Faudit%2Flockfile
const res = await pay("https://aayatai.com/package/audit/lockfile", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"content":"requests==2.19.0\nurllib3==1.26.18\n","filename":"requirements.txt"}),
});
console.log(await res.json());

Example input

{
  "content": "requests==2.19.0\nurllib3==1.26.18\n",
  "filename": "requirements.txt"
}

Example output

{
  "checked": 2,
  "checkedAt": "2026-09-28T12:00:00.000Z",
  "cleanCount": 1,
  "counts": {
    "critical": 0,
    "high": 1,
    "low": 0,
    "moderate": 2,
    "unknown": 0
  },
  "detailsTruncated": false,
  "ecosystem": "pypi",
  "format": "requirements",
  "found": 2,
  "packages": [
    {
      "name": "requests",
      "upgradeTo": "2.32.4",
      "version": "2.19.0",
      "vulnerabilities": [
        {
          "aliases": [
            "CVE-2018-18074"
          ],
          "fixedIn": [
            "2.20.0"
          ],
          "id": "GHSA-x84v-xcm2-53pg",
          "published": "2018-10-29T19:06:39Z",
          "severity": "high",
          "summary": "Insufficiently Protected Credentials in Requests",
          "url": "https://osv.dev/vulnerability/GHSA-x84v-xcm2-53pg"
        }
      ]
    }
  ],
  "source": "content",
  "truncated": false,
  "verdict": "fix",
  "vulnerablePackages": 1
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
17 min agoExpected HTTP 402, got 410410157 ms-
5 h agoExpected HTTP 402, got 410410119 ms-
9 h agoExpected HTTP 402, got 41041039 ms-
13 h agoExpected HTTP 402, got 410410169 ms-
17 h agoExpected HTTP 402, got 410410168 ms-
22 h agoExpected HTTP 402, got 410410109 ms-
25 h agoExpected HTTP 402, got 410410118 ms-
29 h agoExpected HTTP 402, got 410410197 ms-
33 h agoExpected HTTP 402, got 410410122 ms-
38 h agoExpected HTTP 402, got 410410168 ms-
42 h agoExpected HTTP 402, got 410410115 ms-
46 h agoExpected HTTP 402, got 410410114 ms-
2 days agoExpected HTTP 402, got 410410115 ms-
2 days agoExpected HTTP 402, got 41041077 ms-
2 days agoPassed402642 ms$0.05