# `NPM.Security.CVE`
[🔗](https://github.com/elixir-volt/npm_ex/blob/v0.7.4/lib/npm/security/cve.ex#L1)

CVE (Common Vulnerabilities and Exposures) cross-referencing.

Maps npm advisory data to CVE identifiers and provides
vulnerability severity analysis.

# `above_threshold?`

```elixir
@spec above_threshold?([map()], String.t()) :: boolean()
```

Checks if any advisory is above a given threshold.

# `compare_severity`

```elixir
@spec compare_severity(String.t(), String.t()) :: :gt | :lt | :eq
```

Compares two severity levels. Returns :gt, :lt, or :eq.

# `extract_cves`

```elixir
@spec extract_cves(map()) :: [String.t()]
```

Extracts CVE identifiers from advisory data.

# `format_summary`

```elixir
@spec format_summary([map()]) :: String.t()
```

Formats a vulnerability summary.

# `group_by_package`

```elixir
@spec group_by_package([map()]) :: %{required(String.t()) =&gt; [map()]}
```

Groups advisories by affected package.

# `max_severity`

```elixir
@spec max_severity([map()]) :: String.t()
```

Returns the highest severity from a list of advisories.

# `severity_counts`

```elixir
@spec severity_counts([map()]) :: %{required(String.t()) =&gt; non_neg_integer()}
```

Counts advisories by severity.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
