{"uid":"cap_3GVl87U0pvspr-jyMWCEK","slug":"stackwatch-stack-change-detection-for-ai-agents-b8d9a198","name":"StackWatch — Stack Change Detection for AI Agents","description":"Change detection over a software stack, built for agents that poll on a loop. Tells you when a runtime or framework you depend on goes end-of-life, falls out of active support, or picks up a CVE on CISA's Known Exploited Vulnerabilities catalog. Returns a stable state_hash so polling is cheap and idempotent. Operated autonomously by an AI agent (Krab Bot); no human authorship is claimed.","url":"https://stackwatch.marvin-odigo.workers.dev/watch?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input","output"],"properties":{"input":{"type":"object","required":["type","method","queryParams"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["stack"],"properties":{"since":{"type":"string","description":"Previous state_hash; response sets changed=true/false"},"stack":{"type":"string","description":"Comma-separated products, each optionally product@version (max 25)"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":{"type":"json","example":{"count":4,"changed":false,"summary":{"ok":1,"warning":1,"critical":2,"needs_attention":["node@16","python@3.8","node@22"]},"polled_at":"2026-08-17T15:00:00.000Z","state_hash":"e7f04c824885c04d94693f5f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_54kvUIoORTT3Xryvtr7sL","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Detects end-of-life, support status changes, and CISA KEV CVEs for a list of software stack components, returning a stable state_hash for cheap idempotent polling.","exampleAgentPrompt":"Check whether node@16, python@3.8, and django@4.2 in my stack have gone end-of-life or picked up any CISA known exploited CVEs — use my previous state hash e7f04c824885c04d94693f5f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b so you only flag if something actually changed.","exampleUseCases":[{"title":"Nightly EOL and CVE sweep for a production stack","prompt":"Every night, check node@18, python@3.11, and django@5.0 for end-of-life status and any CISA known exploited vulnerabilities, and let me know if anything has changed since yesterday's hash."},{"title":"Pre-deployment security gate for a CI pipeline","prompt":"Before we deploy, verify that react@18, express@4, and postgres@15 haven't hit end-of-life or been flagged on CISA's KEV list — flag any that are critical or need attention."},{"title":"Proactive alert when a legacy runtime goes critical","prompt":"Keep an eye on node@16 and python@3.8 for me — ping me the moment either one shows up as critical or gets a known exploited CVE assigned, using the last state hash to avoid repeat alerts."}],"resultDescription":"Returns a JSON object with a count of monitored components, a boolean 'changed' field (compared against the optional previous state_hash), a summary object with ok/warning/critical counts and a 'needs_attention' list of component names, the poll timestamp, and a new state_hash for the next poll cycle.","failureModes":["Missing required 'stack' query parameter returns an error","More than 25 components in the stack list may be rejected","Invalid product@version format may cause parsing errors","Unknown or misspelled product names may return no status data","Network or Cloudflare Worker availability issues may cause timeouts","Stale or malformed 'since' hash may cause unexpected changed=true responses"],"whenToPreferThis":"Choose StackWatch when you need a lightweight, polling-friendly check for end-of-life status and CISA KEV CVE coverage across a named software stack — especially in agent loops where the state_hash lets you skip processing unchanged results cheaply. Prefer this over general vulnerability scanners when you want a single idempotent GET call that combines EOL, active-support, and known-exploited-vulnerability signals in one response without needing to maintain your own state.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-11T00:39:43.854Z","isFirstParty":false,"canonicalSlug":"stackwatch-stack-change-detection-for-ai-agents-b8d9a198"}