Compare commits

...

2 Commits

Author SHA1 Message Date
overcuriousity
a3613327e2 improve tools.yaml 2025-07-27 22:48:14 +02:00
overcuriousity
d8eb2b556b improve related software 2025-07-27 22:48:02 +02:00
5 changed files with 111 additions and 4 deletions

File diff suppressed because one or more lines are too long

View File

@ -520,6 +520,7 @@ domains.forEach((domain: any) => {
`; `;
const relatedConcepts = tool.related_concepts || []; const relatedConcepts = tool.related_concepts || [];
const relatedSoftware = tool.related_software || [];
if (relatedConcepts.length > 0 && modalType === 'primary') { if (relatedConcepts.length > 0 && modalType === 'primary') {
const conceptLinks = relatedConcepts.map(conceptName => { const conceptLinks = relatedConcepts.map(conceptName => {
const concept = toolsData.find(t => t.name === conceptName && t.type === 'concept'); const concept = toolsData.find(t => t.name === conceptName && t.type === 'concept');
@ -556,6 +557,49 @@ domains.forEach((domain: any) => {
`; `;
} }
if (relatedSoftware.length > 0 && modalType === 'primary') {
const softwareLinks = relatedSoftware.map(softwareName => {
const software = toolsData.find(t => t.name === softwareName && (t.type === 'software' || t.type === 'method'));
if (software) {
const isHosted = window.isToolHosted(software);
const isSoftwareMethod = software.type === 'method';
const bgColor = isSoftwareMethod ? 'var(--color-method-bg)' :
isHosted ? 'var(--color-hosted-bg)' : 'var(--color-oss-bg)';
const borderColor = isSoftwareMethod ? 'var(--color-method)' :
isHosted ? 'var(--color-hosted)' : 'var(--color-oss)';
return `<button class="tag cursor-pointer" style="background-color: ${bgColor}; border: 1px solid ${borderColor}; color: ${borderColor}; transition: var(--transition-fast);"
onclick="event.stopPropagation(); window.showToolDetails('${softwareName}', 'secondary')"
onmouseover="this.style.backgroundColor='${borderColor}'; this.style.color='white';"
onmouseout="this.style.backgroundColor='${bgColor}'; this.style.color='${borderColor}';">
${softwareName}
</button>`;
}
return `<span class="tag" style="background-color: var(--color-bg-tertiary); color: var(--color-text-secondary);">${softwareName}</span>`;
}).join('');
const isMobile = window.innerWidth <= 768;
const collapseOnMobile = isMobile && relatedSoftware.length > 2;
tagsHTML += `
<div class="mt-4">
<div class="flex items-center gap-2 mb-2">
<strong style="color: var(--color-text);">Verwandte Software:</strong>
${collapseOnMobile ? `
<button id="software-toggle-${modalType}"
onclick="this.nextElementSibling.style.display = this.nextElementSibling.style.display === 'none' ? 'block' : 'none'; this.textContent = this.textContent === '▼' ? '▲' : '▼';"
class="btn-icon text-xs">
</button>
` : ''}
</div>
<div ${collapseOnMobile ? 'class="hidden"' : ''} class="flex flex-wrap gap-1">
${softwareLinks}
</div>
</div>
`;
}
elements.tags.innerHTML = tagsHTML; elements.tags.innerHTML = tagsHTML;
let linksHTML = ''; let linksHTML = '';

View File

@ -62,6 +62,7 @@ tools:
related_concepts: related_concepts:
- Hash Functions & Digital Signatures - Hash Functions & Digital Signatures
- Regular Expressions (Regex) - Regular Expressions (Regex)
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: advanced skillLevel: advanced
accessType: download accessType: download
@ -97,6 +98,7 @@ tools:
platforms: platforms:
- Web - Web
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: domain-agnostic-software:
- collaboration-general - collaboration-general
skillLevel: intermediate skillLevel: intermediate
@ -170,6 +172,7 @@ tools:
related_concepts: related_concepts:
- Regular Expressions (Regex) - Regular Expressions (Regex)
- SQL Query Fundamentals - SQL Query Fundamentals
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: server-based accessType: server-based
@ -209,6 +212,7 @@ tools:
- Linux - Linux
- macOS - macOS
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: download accessType: download
@ -246,6 +250,7 @@ tools:
platforms: platforms:
- Windows - Windows
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: beginner skillLevel: beginner
accessType: commercial accessType: commercial
@ -280,6 +285,7 @@ tools:
platforms: platforms:
- Windows - Windows
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: beginner skillLevel: beginner
accessType: commercial accessType: commercial
@ -314,6 +320,7 @@ tools:
- Linux - Linux
- Web - Web
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: advanced skillLevel: advanced
accessType: server-based accessType: server-based
@ -348,6 +355,7 @@ tools:
- Linux - Linux
- macOS - macOS
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: expert skillLevel: expert
accessType: download accessType: download
@ -385,6 +393,7 @@ tools:
- Linux - Linux
- macOS - macOS
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: download accessType: download
@ -419,6 +428,7 @@ tools:
platforms: platforms:
- Web - Web
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: beginner skillLevel: beginner
accessType: server-based accessType: server-based
@ -460,6 +470,7 @@ tools:
- macOS - macOS
- Web - Web
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: advanced skillLevel: advanced
accessType: server-based accessType: server-based
@ -499,6 +510,7 @@ tools:
- macOS - macOS
- Web - Web
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: advanced skillLevel: advanced
accessType: server-based accessType: server-based
@ -535,6 +547,7 @@ tools:
platforms: platforms:
- Linux - Linux
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: expert skillLevel: expert
accessType: server-based accessType: server-based
@ -570,6 +583,7 @@ tools:
- Windows - Windows
- Linux - Linux
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: beginner skillLevel: beginner
accessType: download accessType: download
@ -608,6 +622,7 @@ tools:
- macOS - macOS
related_concepts: related_concepts:
- Regular Expressions (Regex) - Regular Expressions (Regex)
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: novice skillLevel: novice
accessType: download accessType: download
@ -641,6 +656,7 @@ tools:
platforms: platforms:
- Web - Web
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: commercial accessType: commercial
@ -681,6 +697,7 @@ tools:
- Web - Web
related_concepts: related_concepts:
- SQL Query Fundamentals - SQL Query Fundamentals
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: server-based accessType: server-based
@ -717,6 +734,7 @@ tools:
- Linux - Linux
- macOS - macOS
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: download accessType: download
@ -754,6 +772,7 @@ tools:
platforms: platforms:
- Web - Web
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: domain-agnostic-software:
- collaboration-general - collaboration-general
skillLevel: novice skillLevel: novice
@ -787,6 +806,7 @@ tools:
platforms: platforms:
- Web - Web
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: domain-agnostic-software:
- collaboration-general - collaboration-general
skillLevel: beginner skillLevel: beginner
@ -822,6 +842,7 @@ tools:
- Linux - Linux
- macOS - macOS
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: advanced skillLevel: advanced
accessType: download accessType: download
@ -863,6 +884,7 @@ tools:
- Linux - Linux
- macOS - macOS
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: domain-agnostic-software:
- collaboration-general - collaboration-general
skillLevel: novice skillLevel: novice
@ -945,6 +967,7 @@ tools:
license: Proprietary license: Proprietary
knowledgebase: false knowledgebase: false
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: domain-agnostic-software:
- collaboration-general - collaboration-general
- name: GraphSense - name: GraphSense
@ -966,6 +989,7 @@ tools:
platforms: platforms:
- Web - Web
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: server-based accessType: server-based
@ -999,6 +1023,7 @@ tools:
- Windows - Windows
related_concepts: related_concepts:
- Hash Functions & Digital Signatures - Hash Functions & Digital Signatures
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: beginner skillLevel: beginner
accessType: download accessType: download
@ -1031,6 +1056,7 @@ tools:
- Linux - Linux
related_concepts: related_concepts:
- Hash Functions & Digital Signatures - Hash Functions & Digital Signatures
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: novice skillLevel: novice
accessType: download accessType: download
@ -1062,6 +1088,7 @@ tools:
platforms: platforms:
- macOS - macOS
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: download accessType: download
@ -1098,6 +1125,7 @@ tools:
- macOS - macOS
related_concepts: related_concepts:
- SQL Query Fundamentals - SQL Query Fundamentals
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: download accessType: download
@ -1133,6 +1161,7 @@ tools:
- Linux - Linux
- macOS - macOS
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: download accessType: download
@ -1167,6 +1196,7 @@ tools:
- Linux - Linux
- macOS - macOS
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: download accessType: download
@ -1214,6 +1244,7 @@ tools:
license: GPL-3.0 license: GPL-3.0
knowledgebase: true knowledgebase: true
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: domain-agnostic-software:
- specific-os - specific-os
- name: dd - name: dd
@ -1234,6 +1265,7 @@ tools:
- Linux - Linux
- macOS - macOS
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: built-in accessType: built-in
@ -1266,6 +1298,7 @@ tools:
- Linux - Linux
related_concepts: related_concepts:
- Hash Functions & Digital Signatures - Hash Functions & Digital Signatures
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: download accessType: download
@ -1298,6 +1331,7 @@ tools:
- Linux - Linux
- macOS - macOS
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: download accessType: download
@ -1332,6 +1366,7 @@ tools:
- Linux - Linux
- macOS - macOS
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: beginner skillLevel: beginner
accessType: download accessType: download
@ -1364,6 +1399,7 @@ tools:
platforms: platforms:
- Linux - Linux
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: advanced skillLevel: advanced
accessType: download accessType: download
@ -1395,6 +1431,7 @@ tools:
platforms: platforms:
- Windows - Windows
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: beginner skillLevel: beginner
accessType: download accessType: download
@ -1428,6 +1465,7 @@ tools:
platforms: platforms:
- Windows - Windows
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: beginner skillLevel: beginner
accessType: download accessType: download
@ -1462,6 +1500,7 @@ tools:
- Windows - Windows
- Linux - Linux
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: download accessType: download
@ -1530,6 +1569,7 @@ tools:
- macOS - macOS
related_concepts: related_concepts:
- Regular Expressions (Regex) - Regular Expressions (Regex)
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: novice skillLevel: novice
accessType: built-in accessType: built-in
@ -1605,6 +1645,7 @@ tools:
license: Free / Mixed license: Free / Mixed
knowledgebase: false knowledgebase: false
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: domain-agnostic-software:
- specific-os - specific-os
- name: Tsurugi Linux - name: Tsurugi Linux
@ -1637,6 +1678,7 @@ tools:
license: GPL / Mixed license: GPL / Mixed
knowledgebase: false knowledgebase: false
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: domain-agnostic-software:
- specific-os - specific-os
- name: Parrot Security OS - name: Parrot Security OS
@ -1668,6 +1710,7 @@ tools:
license: GPL-3.0 license: GPL-3.0
knowledgebase: false knowledgebase: false
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: domain-agnostic-software:
- specific-os - specific-os
- name: Eric Zimmerman Tools - name: Eric Zimmerman Tools
@ -1687,6 +1730,7 @@ tools:
platforms: platforms:
- Windows - Windows
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: download accessType: download
@ -1722,6 +1766,7 @@ tools:
- Windows - Windows
- macOS - macOS
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: advanced skillLevel: advanced
accessType: download accessType: download
@ -1756,6 +1801,7 @@ tools:
platforms: platforms:
- Web - Web
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: expert skillLevel: expert
accessType: commercial accessType: commercial
@ -1788,6 +1834,7 @@ tools:
platforms: platforms:
- Windows - Windows
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: expert skillLevel: expert
accessType: commercial accessType: commercial
@ -1821,6 +1868,7 @@ tools:
platforms: platforms:
- Windows - Windows
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: commercial accessType: commercial
@ -1852,6 +1900,7 @@ tools:
platforms: platforms:
- Hardware - Hardware
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: commercial accessType: commercial
@ -1910,6 +1959,7 @@ tools:
- data-collection - data-collection
platforms: [] platforms: []
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: advanced skillLevel: advanced
accessType: null accessType: null
@ -1945,6 +1995,7 @@ tools:
- examination - examination
platforms: [] platforms: []
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: null accessType: null
@ -1982,6 +2033,7 @@ tools:
platforms: platforms:
- macOS - macOS
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: download accessType: download
@ -2016,6 +2068,7 @@ tools:
- analysis - analysis
platforms: [] platforms: []
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: null accessType: null
@ -2047,6 +2100,7 @@ tools:
- analysis - analysis
platforms: [] platforms: []
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: null accessType: null
@ -2078,6 +2132,7 @@ tools:
- examination - examination
platforms: [] platforms: []
related_concepts: null related_concepts: null
related_software:
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: advanced skillLevel: advanced
accessType: null accessType: null

View File

@ -1,4 +1,4 @@
# This is a minimal example file of the real knowledgebase in ./src/data/tools.yaml tools:
- name: Rapid Incident Response Triage on macOS - name: Rapid Incident Response Triage on macOS
icon: 📋 icon: 📋
type: method type: method
@ -19,6 +19,8 @@
- examination - examination
platforms: [] platforms: []
related_concepts: null related_concepts: null
related_software:
- Aftermath
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: null accessType: null
@ -55,7 +57,9 @@
- examination - examination
platforms: platforms:
- macOS - macOS
related_concepts: null related_concepts:
- Hash Functions & Digital Signatures
related_software: null
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: download accessType: download
@ -90,6 +94,7 @@
- analysis - analysis
platforms: [] platforms: []
related_concepts: null related_concepts: null
related_software: null
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: null accessType: null
@ -121,6 +126,7 @@
- analysis - analysis
platforms: [] platforms: []
related_concepts: null related_concepts: null
related_software: null
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: intermediate skillLevel: intermediate
accessType: null accessType: null
@ -152,6 +158,7 @@
- examination - examination
platforms: [] platforms: []
related_concepts: null related_concepts: null
related_software: null
domain-agnostic-software: null domain-agnostic-software: null
skillLevel: advanced skillLevel: advanced
accessType: null accessType: null

View File

@ -21,6 +21,7 @@ const ToolSchema = z.object({
accessType: z.string().optional().nullable(), accessType: z.string().optional().nullable(),
'domain-agnostic-software': z.array(z.string()).optional().nullable(), 'domain-agnostic-software': z.array(z.string()).optional().nullable(),
related_concepts: z.array(z.string()).optional().nullable().default([]), related_concepts: z.array(z.string()).optional().nullable().default([]),
related_software: z.array(z.string()).optional().nullable().default([]), // Added this line
}); });
const ToolsDataSchema = z.object({ const ToolsDataSchema = z.object({