Documentation
All 31 tools grouped by the question you are trying to answer, with the shaped response size each returns.
Tools are shaped around a question, not around an API endpoint. Several call more than one upstream and compose the result; all of them reduce the response before it reaches your model.
| You want to know | Tool |
|---|---|
| Everything about one advisory | vulnetix_vuln |
| Is it actually being exploited? | vulnetix_exploits |
| Is there a deadline on it? | vulnetix_kev_status |
| How do I fix it? | vulnetix_remediation |
| Should I add this dependency? | vulnetix_package_search |
| What affects this package? | vulnetix_package_vulns |
| Which version is safe? | vulnetix_package_versions |
| What about this exact coordinate? | vulnetix_purl |
| Who is attacking with it? | vulnetix_threat_actors, vulnetix_iocs |
| Is it still being seen in the wild? | vulnetix_sightings |
| Which ATT&CK techniques? | vulnetix_attack_techniques |
| Can I detect it without patching? | vulnetix_detection_rules |
| Can I mitigate without patching? | vulnetix_workarounds |
| Which vendor advisory applies to me? | vulnetix_advisories |
| How fast did this get weaponised? | vulnetix_timeline |
| Has the vendor said we are unaffected? | vulnetix_vex |
| Is the upstream project healthy? | vulnetix_scorecard |
| What should I look at today? | vulnetix_soc_triage |
| What is new in KEV? | vulnetix_kev |
| I only remember the nickname | vulnetix_search |
| Is this runtime still supported? | vulnetix_eol_products |
| What is happening in the landscape? | vulnetix_threat_feed |
| Should I patch now or defer? | vulnetix_triage_reason |
| How do I not write this bug? | vulnetix_secure_code_write |
| Did the fix actually work? | vulnetix_exploit_test |
| What exactly do I change? | vulnetix_fix_plan |
| Something with no tool yet | vdb_request |
_meta"_meta": {
"vulnetix/plan": "community",
"vulnetix/rateLimit": { "limit": "unlimited", "remaining": "unlimited", "reset": "1786406400" },
"vulnetix/upstream": { "calls": 1, "ms": 4889, "bytes": 2606569, "cached": false },
"vulnetix/shaping": { "rawBytes": 2606569, "shapedBytes": 10613, "ratio": 0.00407 }
}
| Key | Meaning |
|---|---|
vulnetix/plan | Tier this call was served at |
vulnetix/rateLimit | Quota position, straight from the API |
vulnetix/upstream | Calls made, milliseconds, raw bytes, cache hit |
vulnetix/shaping | Raw versus shaped size, and how much was reduced |
vulnetix/degraded | On composing tools, which legs failed |
vulnetix/ai | On AI tools, the model and token cost, or why it was skipped |
Against CVE-2021-44228 on a Community credential, live:
| Tool | Raw | Shaped |
|---|---|---|
vulnetix_vuln (summary) | 2,606,571 | 10,613 |
vulnetix_vuln (detail: full) | 2,606,571 | 207,604 |
vulnetix_remediation | 467,156 | 27,288 |
vulnetix_timeline | 288,080 | 9,051 |
vulnetix_advisories | 277,149 | 8,190 |
vulnetix_workarounds | 161,222 | 198 |
vulnetix_package_search (express) | 100,125 | 5,435 |
vulnetix_package_vulns (express) | 84,274 | 11,899 |
vulnetix_threat_feed (5 legs) | 145,318 | 18,371 |
Nothing a decision rests on is dropped. See Response shaping for exactly what is kept.
A failing tool returns a normal result with isError: true and a message written
for the agent. A rate limit says explicitly not to retry; a 401 says which header
to set. See Errors.