Quick Overview
This workflow receives software vetting requests via a webhook, gathers vulnerability and supply-chain evidence from NVD, EPSS, CISA KEV (via NVD), Google News RSS, SEC EDGAR, GitHub, OpenSSF Scorecard, OSV, and deps.dev, then uses Anthropic Claude to draft a risk report, emails it via Microsoft Outlook, and logs results in an n8n Data Table.
How it works
- Receives a POST webhook request with software/vendor details and normalizes the intake fields into a tracking record with initial risk flags and a tier label.
- Immediately returns a JSON acknowledgement to the requester with the tracking ID and intake risk tier.
- Searches the NVD CVE API for keyword-matched CVEs for the product, extracts the highest-signal CVE details, and (when CVEs exist) looks up EPSS probabilities for those CVEs.
- Queries NVD again using the hasKev filter to identify any CVEs in the CISA Known Exploited Vulnerabilities catalog that match the product keyword.
- Collects additional external signals by pulling breach-related items from Google News RSS and searching SEC EDGAR for vendor cybersecurity disclosures.
- If a GitHub repository is provided, fetches GitHub repository metadata and OpenSSF Scorecard results, and if an OSS package is provided, queries OSV and deps.dev for package vulnerability and version signals.
- Compiles all evidence into a weighted risk score, sends the evidence package to Anthropic Claude to generate a markdown assessment, formats an HTML report, emails it to an analyst via Microsoft Outlook, and upserts a tracking row into an n8n Data Table.
Setup
- Configure the webhook endpoint path (software-vetting-intake) and copy the production webhook URL into your intake form or source system that submits vetting requests.
- Add an Anthropic credential for the Claude node and verify the selected model ID is available in your Anthropic account.
- Add Microsoft Outlook credentials and update the recipient email address used to deliver the generated HTML report.
- Ensure outbound HTTP access to NVD, EPSS (FIRST.org), Google News RSS, SEC EDGAR, GitHub API, OpenSSF Scorecard API, OSV, and deps.dev, and update any required User-Agent headers to match your organization.
- Create or select an n8n Data Table and update the Data Table ID used for the upsert so the workflow can log each trackingId and report metadata.