aisecwatch.com
DashboardVulnerabilitiesNewsResearchArchiveStatsDatasetFor devs
Subscribe
aisecwatch.com

Real-time AI security monitoring. Tracking AI-related vulnerabilities, safety and security incidents, privacy risks, research developments, and policy changes.

Navigation

VulnerabilitiesNewsResearchDigest ArchiveNewsletter ArchiveSubscribeData SourcesStatisticsDatasetAPIIntegrationsWidgetRSS Feed

Maintained by

Truong (Jack) Luu

Information Systems Researcher

For developers

Building with LangChain, OpenAI, LlamaIndex, or any other AI framework? Plug AI Sec Watch into your workflow so problems come to you — no need to check yet another dashboard.

Everything below is free and needs no account, except webhooks (which need an API key).

New here? Start with these three, in under 10 minutes

  1. 1
    Connect Claude Code / Cursor

    One config line lets your coding agent query AI Sec Watch while you work.

  2. 2
    Subscribe to an RSS feed

    Drop the URL for your stack into Feedly or your favorite reader. No coding.

  3. 3
    Add a README badge

    Paste one line of Markdown into your repo. Now everyone sees the risk level at a glance.

All integrations

Connect your AI coding agent

Easy· 1 min · one config line

Add AI Sec Watch as an MCP server in Claude Code, Cursor, or Claude Desktop, and your coding agent can look things up for you inside the editor. Ask: "any critical prompt-injection issues in LangChain this month?" — no tab switching.

Claude Code, Cursor, Claude DesktopAsk in natural languageNo API key required
// Add to your mcp.json / .claude.json / Cursor config
{
  "mcpServers": {
    "aisecwatch": {
      "type": "http",
      "url": "https://aisecwatch.com/api/mcp"
    }
  }
}

// Then ask your agent:
//   "Scan my stack — langchain and llama-index — for critical issues"
//   "What's the latest daily AI security digest?"
See what tools your agent gets

Follow an RSS feed

Easy· 2 min · no code

The simplest way to keep an eye on AI security: drop a URL into your RSS reader (Feedly, NetNewsWire, Slack's RSS app). Follow everything, or only the vendor / package your project uses.

Works in any RSS readerFollow only what your project depends onAlso works with Zapier, n8n, IFTTT
All IssuesSecurityResearchNewsPolicyVendor: OpenAIVendor: LangChainPackage: langchain

Add a badge to your README

Easy· 30 sec · copy-paste

Drop a live badge into your project README to show how many open issues touch your main dependency. Updates automatically every 5 minutes. Three variants: by vendor, by package, or by specific CVE.

Vendor, package, and CVE badgesWorks anywhere Markdown worksAuto-refreshes every 5 minutes
![LangChain criticals](https://aisecwatch.com/api/badge/vendor/LangChain/critical.svg)
![langchain package](https://aisecwatch.com/api/badge/package/langchain/any.svg)
![CVE-2026-1234](https://aisecwatch.com/api/badge/cve/CVE-2026-1234.svg)

Scan your dependency stack

Medium· 5 min · one API call

Send a list of your packages and vendors, get back every matching open issue plus a severity count. One call, no chained filters. Perfect for a pre-deploy sanity check or a weekly GitHub Action.

One request covers many packages/vendorsFilter by minimum severity and dateDrops into any CI job
# Check your AI dependency stack
curl -X POST "https://aisecwatch.com/api/v1/scan" \
  -H "Content-Type: application/json" \
  -d '{
    "packages": ["langchain", "llama-index"],
    "vendors": ["OpenAI", "Anthropic"],
    "severityMin": "high"
  }'

# Response includes matching issues + a severity histogram:
#   { "meta": { "bySeverity": { "critical": 3, "high": 42, ... } } }
View scan API reference

Use the REST API directly

Medium· 10 min · HTTP calls

When you need more control: query issues, sources, and stats with filters and pagination. JSON in, JSON out. No auth required for reads. CORS open — works from a browser too.

Filter by severity, type, vendor, package, date60 requests/minute per IPCORS enabled — browser-friendly
# Fetch recent critical AI security issues
curl "https://aisecwatch.com/api/v1/issues?severity=critical&limit=10" \
  -H "Accept: application/json"

# Filter by package or vendor
curl "https://aisecwatch.com/api/v1/issues?package=langchain"
curl "https://aisecwatch.com/api/v1/issues?vendor=OpenAI"
Try endpoints in your browser

Download the raw dataset

Easy· 1 min · direct download

Need the data for analysis in Excel, pandas, R, or a notebook? Download the full dataset in CSV, JSON, or JSONL. Includes 44 structured fields per issue. Licensed CC-BY-4.0 for research use.

44 fields per issueCSV, JSON, JSONLCC-BY-4.0 licensed
# Export issues as CSV
curl "https://aisecwatch.com/api/issues/export?format=csv" \
  -o aisecwatch-export.csv
Browse the dataset page

Real-time webhooks

Advanced· 30 min · server required

Want a push notification the instant a critical issue lands? Register a webhook URL and we'll POST new issues to it as they arrive. Requires a public server to receive the POST and an API key to register. Each payload is signed so you can verify it came from us.

Signed payloads (HMAC-SHA256)Filter by severity, type, vendor, LLM-specificAutomatic retries on failure
# Register a webhook (requires WEBHOOK_API_KEY)
curl -X POST "https://aisecwatch.com/api/v1/webhooks" \
  -H "Authorization: Bearer YOUR_WEBHOOK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-server.com/webhook",
    "filters": { "severity": "critical", "llmSpecific": true }
  }'

# We POST new issues to your URL with a signed header:
#   X-Webhook-Signature: sha256=a1b2c3d4e5...
View webhook setup guide

Post to Slack

Advanced· 30 min · needs serverless function

Want alerts in your team's Slack channel? Use the webhook above, then bridge it to a Slack Incoming Webhook with a small Cloudflare Worker (or any serverless function). Template below — customize the formatting to taste.

Rich formatting with emoji severityFilter by severity to keep the channel cleanWorks on Cloudflare Workers, Vercel, Netlify
// Cloudflare Worker: AI Sec Watch -> Slack bridge
export default {
  async fetch(request) {
    const payload = await request.json();
    const { issue } = payload;
    const severity = issue.severity.toUpperCase();
    const emoji =
      severity === "CRITICAL" ? ":rotating_light:" :
      severity === "HIGH" ? ":warning:" : ":information_source:";

    await fetch(SLACK_WEBHOOK_URL, {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        blocks: [
          {
            type: "section",
            text: {
              type: "mrkdwn",
              text: `${emoji} *${severity}*: <${issue.url}|${issue.title}>`,
            },
          },
        ],
      }),
    });

    return new Response("OK", { status: 200 });
  },
};

Post to Discord

Advanced· 30 min · needs serverless function

Same pattern as Slack, but for Discord channels. A small serverless function forwards our webhook payload to a Discord Incoming Webhook with color-coded embeds.

Color-coded embeds by severityFilter before the channel gets noisyAny serverless runtime works
// Cloudflare Worker: AI Sec Watch -> Discord bridge
export default {
  async fetch(request) {
    const payload = await request.json();
    const { issue } = payload;
    const colors = {
      critical: 0xff0000, high: 0xff8c00, medium: 0xffd700,
      low: 0x00bfff, info: 0x808080,
    };

    await fetch(DISCORD_WEBHOOK_URL, {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        embeds: [{
          title: issue.title,
          url: issue.url,
          color: colors[issue.severity] || 0x808080,
          fields: [
            { name: "Severity", value: issue.severity, inline: true },
            { name: "Type", value: issue.issueType, inline: true },
          ],
        }],
      }),
    });

    return new Response("OK", { status: 200 });
  },
};

STIX 2.1 feed (for threat-intel platforms)

Advanced· varies · depends on your platform

If your organization runs a threat intelligence platform (MISP, OpenCTI, ThreatConnect), we expose issues as a STIX 2.1 bundle — the standard format those tools ingest. If you don't know what STIX is, you don't need this one.

STIX 2.1 compliantTested with MISP, OpenCTI, ThreatConnectFilter by severity and date range
# Fetch a STIX 2.1 bundle of the last 7 days of issues
curl "https://aisecwatch.com/api/v1/issues/stix?days=7" \
  -H "Accept: application/json"
View STIX endpoint reference

Still not sure where to start?

Pick one thing. Subscribe to the RSS feed for your main AI dependency — that alone puts you ahead of most teams. The rest can wait until you actually need it.

Try the API in your browserFull API referenceNewsletter signup