Perform a full-text vulnerability search in SecDB.
## What this tool does
Searches across:
- CVE entries
- Security advisories
- Exploit references
- Product and vendor vulnerability data
## Searchable fields (Lucene syntax supported):
- type: result type - cve, cwe, advisory, nasl, exploitdb
- id: exact identifier, without wildcards (e.g. id:CVE-2021-44228)
- title: resource title or name
- summary: short summary
- description: full description text
- alias: known vulnerability names (e.g. alias:log4shell)
- severity: critical, high, medium, low
- kev: true/false — CISA KEV catalog membership
- status: NVD status (CVE only) e.g. analyzed, modified
- published: publication date (e.g. published:>="2026-01-01T00:00:00Z")
- modified: last modification date (e.g. modified:>="2026-01-01T00:00:00Z")
- cve: related CVE ID (e.g. cve:CVE-2026-44827)
- cwe: related CWE ID (e.g. cwe:CWE-79)
- attack_vector: network, adjacent, local, physical
- cvss_score: CVSS base score (e.g. cvss_score:>=7)
Default operator is AND. Use OR for alternatives, quotes for exact phrases, * for wildcards.
For ranges use `>`, `>=`, `<`, and `<=`, repeating the field for both ends. Dates need a quoted date and time in UTC.
## Examples:
- "apache struts rce" → RCE vulnerabilities in Apache Struts
- "id:CVE-2026-44827" → exact CVE lookup
- "type:advisory AND severity:critical" → critical advisories
- "alias:log4shell" → Log4Shell by alias
- "cve:CVE-2026-44827 AND type:exploitdb" → ExploitDB entries for a CVE
- "cvss_score:>=9 AND kev:true" → critical KEV CVEs
- "type:cve AND published:>=\"2026-10-01T00:00:00Z\" AND published:<=\"2026-10-31T23:59:59Z\"" → CVEs published in October 2026
## When to use this tool
Use this tool when the user asks:
- to look up a CVE, advisory, exploit, or product
- "show vulnerabilities for X"
- "search for advisories about Y"
- exploratory or broad vulnerability discovery
## Inputs
- **query**: free-text search term (CVE ID, advisory ID, product name, exploit name, vendor, keyword, etc.)
- **limit**: maximum number of results to return (default 10, maximum 50)
- **page**: page of results to return (default 1)
- **type**: only return results of this type (`cve`, `cwe`, `advisory`, `nasl`, `exploitdb`)
- **sort**: `relevance` (default) or `date` (most recently modified first)
- **since**: only return results modified since then: a period (`P7D`, `P1W`, `P3M`, `P1Y`) or a date (`2026-10-01`, included)
## Outputs
- **results**: search hits, each with `type`, `id`, `title`, `description` (shortened), `severity`, `cvss_score`, `kev` (CVEs only), `source`, `published`, `modified`, and `url`
- **facets**: number of records found for each `type` and `severity`
- **total_results**, **total_pages**, **current_page**: use them to decide whether to ask for another `page`
- **search_url**: link to continue the search on SecDB
## LLM usage guidelines
- Use this tool instead of assuming whether a CVE/advisory/exploit exists.
- If `total_results` is `null`, the query is not valid: fix its syntax. It does not mean that nothing was found.
- Results are short: for the full record use `vulnerability_info`, `advisory_info`, or `cwe_info` with the `id` of the result.
- Combine with `vulnerability_score`, `epss_timeseries`, or `sightings_search` for deeper analysis.