- exact phrase search using double quotes
- date and date range search on date fields, using the following formats (date ranges are inclusive):
- YYYY-MM-DD
- YYYY-MM-DDTHH:MM:SS(.mmm)(Z) (where the .mmm and Z are optional, defaults to .000Z if missing)
- YYYY-MM-DD..YYYY-MM-DD
- YYYY-MM-DDTHH:MM:SS(.mmm)(Z)..YYYY-MM-DDTHH:MM:SS.(mmm)(Z)
- wildcard search using "*" and "?"
- AppConfig to manage hierarchical environment variables and all default values for environment variables
- code refactoring: reorganizing code, general cleaning up for migration to github
- initial version of
cve-coreas a peer project to othercve-projects. Can be used as part of a monorepo (e.g., https://github.com/CVEProject/CVE-Search-API/tree/dev) - search using
axios, NodeJS-nativefetchand@opensearch-project/opensearchlibraries- CVE-, CWE-, and CAPAC- IDs
- CVE YEAR
- basic version strings (e.g., "v3.2.5", "v3.2.5-RC1")
- basic IPv4 and IPv6
- URLs
- compound words (e.g., "docker-compose", "microsoft word")
- hyphenated words (e.g., "man-in-the-middle")
- software names (e.g., "Node.JS", ".NET")
- file extension (e.g., "matvar_struct.c")
- can run as AWS Lambda Layer
- new adapters
- CVE Services reader
- CVE Search reader
- CVE file reader
- file reader/writer
- console input for interacting with a user in a CLI
- CveResult class with standardized errors and messages (this version is aimed at the search service)
- object (JSON) comparer using
json-differencelibrary - JSON replacer that alphabetizes keys when serializing using JSON.stringify()
Note that the following milestones were in multiple repositories, and together contained a superset of the source code in this npm library. The milestones below are meant only for historic reference, in case a full history of an implementation is needed.
- search using
axiosand@opensearch-project/opensearchlibraries- general search for tokenized strings in all fields
- CVE-ID
- initial version of
cve-coreas a peer project to othercve-projects. Can be used as part of a monorepo (e.g., https://github.com/CVEProject/CVE-Search-API/tree/dev) - search using
axios, NodeJS-nativefetchand@opensearch-project/opensearchlibraries- CVE-, CWE-, and CAPAC- IDs
- CVE YEAR
- basic version strings (e.g., "v3.2.5", "v3.2.5-RC1")
- basic IPv4 and IPv6
- URLs
- compound words (e.g., "docker-compose", "microsoft word")
- hyphenated words (e.g., "man-in-the-middle")
- software names (e.g., "Node.JS", ".NET")
- file extension (e.g., "matvar_struct.c")
- repeating non-language characters (e.g., "aaaaa" is ok, but "?????" is replaced by "")
- can run as AWS Lambda Layer
- new adapters
- CVE Services reader
- CVE Search reader
- CVE file reader
- file reader/writer
- console input for interacting with a user in a CLI
- CveResult class with standardized errors and messages (this version is aimed at the search service)
- object (JSON) comparer using
json-differencelibrary - JSON replacer that alphabetizes keys when serializing using JSON.stringify()
- baseline for the
cve-corenpm library - changes for cisa adp, reference ingest
axios-retrylibrary for network retry- optimized
update.ymlto usefetch-depth: 1 CVES_MAX_ALLOWABLE_CVE_YEARenvironment variable set to 2025GIT_MAX_FILESIZE_MBenvironment variable set to 100- initial refactoring of core classes to separate I/O functions from business logic classes (work in progress)
- minimized 3rd party dependency in IsoDateString class to minimize AWS Lambda footprint
- import specific lodash functions instead of the full lodash to minimize AWS Lambda footprint
- dependabot PRs defaults to develop branch
- cveUtils/GitLab PR 32
- hotfix for large commit messages in anticipation of CISA adding ADP containers to a large number of CVEs on 6/4/2024.
- tested but not used on cvelistV5
- Official support for delta files in /cves (delta.json and deltaLog.json), replacing recent_activities.json
- Official version using public domain code in https://github.com/CVEProject/cvelist-bulk-download
- initial version selectively copied from internal MITRE gitlab to https://github.com/CVEProject/cvelist-bulk-download
- https://github.com/CVEProject/cvelist-bulk-download/commit/207b9f2b82908afbd8d9d2270969f6781f9d39e4
- note date is slightly different in GitLab tag in cve_utils, but the code is functionly the same:
2023-04-25_to_github_hkong-mitre_cvelist_bulk_download
- official version used in GitHub actions that updated
/cveswhen cvelistV5 was announced at CNA Summit 2023 - GitLab tag in cve_utils:
2023-03-29-cveproject_cvelistV5_dist_(similar)
- code during team code walkthru
- GitLab tag in cve_utils:
2023_03_10_code_walkthrough_with_team
- first version deployed to cvelistV5 for testing (using
preview_cvesinstead ofcves) - GitLab tag in cve_utils:
2023_03_06_deployed_to_cveproject_cvelistv5
This project uses (either verbatim or modified from) the following projects:
- jsynowiec/node-typescript-boilerplate as a starter (8/26/2022).
- but not using [Volta][volta]
- Quicktype to convert CVE schemas to usable Typescript classes. Specifically, all classes in
src/generated/quicktypeare all generated this way: - recommended tsconfig