This directory contains the source files for Vulnissimo’s vulnerability database pages. Each vulnerability is documented in its own MDX file, allowing for rich formatting and interactive components.
[slug].astro — Dynamic Astro page for individual vulnerabilities, rendering content based on the slug.[...page].astro — Astro page for paginated vulnerability listings and the main database view.*.mdx — Each vulnerability is described in a separate MDX file (e.g., ssl-tls-server-certificate-not-trusted.mdx). The name of the file should match the slug used in the URL. So if you want to create a page for https://vulnissimo.io/vulnerabilities/example-vulnerability, the file should be named example-vulnerability.mdx.example-vulnerability.mdx).import Layout from "@/layouts/Vulnerability.astro";
import SectionCard from "@/components/vulnerabilities/SectionCard.astro";
<Layout
title="Vulnerability Title | Vulnissimo"
severity={{
value: "medium", // risk level: low, medium, high, critical
score: 65, // numeric score out of 100
attention: "immediate attention" // short action phrase
}}
detectedBy="passive" // or "active"
references={[{ title: "Reference Title", url: "https://example.com" }]}
>
<SectionCard>
## What is ...?
Description of the vulnerability
</SectionCard>
<SectionCard>
## Why is ... a security risk?
Explain the risk and impact
</SectionCard>
<SectionCard>
## How to fix ...
Remediation steps and best practices
</SectionCard>
<SectionCard>
## How to detect ...
Detection methods, code snippets, or tools
```python
# Example Python code for detection
```
Add a note about responsible usage
</SectionCard>
</Layout>
<SectionCard> for logical sections. You can include code blocks, lists, and links.<Layout> component for severity, detection mode, and references.npm run dev to start the local server and navigate to the new page. Navigate to http://localhost:4321/vulnerabilities/example-vulnerability to see your changes.