Compare commits
2 Commits
88938d522d
...
a3613327e2
Author | SHA1 | Date | |
---|---|---|---|
![]() |
a3613327e2 | ||
![]() |
d8eb2b556b |
File diff suppressed because one or more lines are too long
@ -520,6 +520,7 @@ domains.forEach((domain: any) => {
|
||||
`;
|
||||
|
||||
const relatedConcepts = tool.related_concepts || [];
|
||||
const relatedSoftware = tool.related_software || [];
|
||||
if (relatedConcepts.length > 0 && modalType === 'primary') {
|
||||
const conceptLinks = relatedConcepts.map(conceptName => {
|
||||
const concept = toolsData.find(t => t.name === conceptName && t.type === 'concept');
|
||||
@ -555,6 +556,49 @@ domains.forEach((domain: any) => {
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
|
@ -62,6 +62,7 @@ tools:
|
||||
related_concepts:
|
||||
- Hash Functions & Digital Signatures
|
||||
- Regular Expressions (Regex)
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: advanced
|
||||
accessType: download
|
||||
@ -97,6 +98,7 @@ tools:
|
||||
platforms:
|
||||
- Web
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software:
|
||||
- collaboration-general
|
||||
skillLevel: intermediate
|
||||
@ -170,6 +172,7 @@ tools:
|
||||
related_concepts:
|
||||
- Regular Expressions (Regex)
|
||||
- SQL Query Fundamentals
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: server-based
|
||||
@ -209,6 +212,7 @@ tools:
|
||||
- Linux
|
||||
- macOS
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: download
|
||||
@ -246,6 +250,7 @@ tools:
|
||||
platforms:
|
||||
- Windows
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: beginner
|
||||
accessType: commercial
|
||||
@ -280,6 +285,7 @@ tools:
|
||||
platforms:
|
||||
- Windows
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: beginner
|
||||
accessType: commercial
|
||||
@ -314,6 +320,7 @@ tools:
|
||||
- Linux
|
||||
- Web
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: advanced
|
||||
accessType: server-based
|
||||
@ -348,6 +355,7 @@ tools:
|
||||
- Linux
|
||||
- macOS
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: expert
|
||||
accessType: download
|
||||
@ -385,6 +393,7 @@ tools:
|
||||
- Linux
|
||||
- macOS
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: download
|
||||
@ -419,6 +428,7 @@ tools:
|
||||
platforms:
|
||||
- Web
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: beginner
|
||||
accessType: server-based
|
||||
@ -460,6 +470,7 @@ tools:
|
||||
- macOS
|
||||
- Web
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: advanced
|
||||
accessType: server-based
|
||||
@ -499,6 +510,7 @@ tools:
|
||||
- macOS
|
||||
- Web
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: advanced
|
||||
accessType: server-based
|
||||
@ -535,6 +547,7 @@ tools:
|
||||
platforms:
|
||||
- Linux
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: expert
|
||||
accessType: server-based
|
||||
@ -570,6 +583,7 @@ tools:
|
||||
- Windows
|
||||
- Linux
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: beginner
|
||||
accessType: download
|
||||
@ -608,6 +622,7 @@ tools:
|
||||
- macOS
|
||||
related_concepts:
|
||||
- Regular Expressions (Regex)
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: novice
|
||||
accessType: download
|
||||
@ -641,6 +656,7 @@ tools:
|
||||
platforms:
|
||||
- Web
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: commercial
|
||||
@ -681,6 +697,7 @@ tools:
|
||||
- Web
|
||||
related_concepts:
|
||||
- SQL Query Fundamentals
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: server-based
|
||||
@ -717,6 +734,7 @@ tools:
|
||||
- Linux
|
||||
- macOS
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: download
|
||||
@ -754,6 +772,7 @@ tools:
|
||||
platforms:
|
||||
- Web
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software:
|
||||
- collaboration-general
|
||||
skillLevel: novice
|
||||
@ -787,6 +806,7 @@ tools:
|
||||
platforms:
|
||||
- Web
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software:
|
||||
- collaboration-general
|
||||
skillLevel: beginner
|
||||
@ -822,6 +842,7 @@ tools:
|
||||
- Linux
|
||||
- macOS
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: advanced
|
||||
accessType: download
|
||||
@ -863,6 +884,7 @@ tools:
|
||||
- Linux
|
||||
- macOS
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software:
|
||||
- collaboration-general
|
||||
skillLevel: novice
|
||||
@ -945,6 +967,7 @@ tools:
|
||||
license: Proprietary
|
||||
knowledgebase: false
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software:
|
||||
- collaboration-general
|
||||
- name: GraphSense
|
||||
@ -966,6 +989,7 @@ tools:
|
||||
platforms:
|
||||
- Web
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: server-based
|
||||
@ -999,6 +1023,7 @@ tools:
|
||||
- Windows
|
||||
related_concepts:
|
||||
- Hash Functions & Digital Signatures
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: beginner
|
||||
accessType: download
|
||||
@ -1031,6 +1056,7 @@ tools:
|
||||
- Linux
|
||||
related_concepts:
|
||||
- Hash Functions & Digital Signatures
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: novice
|
||||
accessType: download
|
||||
@ -1062,6 +1088,7 @@ tools:
|
||||
platforms:
|
||||
- macOS
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: download
|
||||
@ -1098,6 +1125,7 @@ tools:
|
||||
- macOS
|
||||
related_concepts:
|
||||
- SQL Query Fundamentals
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: download
|
||||
@ -1133,6 +1161,7 @@ tools:
|
||||
- Linux
|
||||
- macOS
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: download
|
||||
@ -1167,6 +1196,7 @@ tools:
|
||||
- Linux
|
||||
- macOS
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: download
|
||||
@ -1214,6 +1244,7 @@ tools:
|
||||
license: GPL-3.0
|
||||
knowledgebase: true
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software:
|
||||
- specific-os
|
||||
- name: dd
|
||||
@ -1234,6 +1265,7 @@ tools:
|
||||
- Linux
|
||||
- macOS
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: built-in
|
||||
@ -1266,6 +1298,7 @@ tools:
|
||||
- Linux
|
||||
related_concepts:
|
||||
- Hash Functions & Digital Signatures
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: download
|
||||
@ -1298,6 +1331,7 @@ tools:
|
||||
- Linux
|
||||
- macOS
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: download
|
||||
@ -1332,6 +1366,7 @@ tools:
|
||||
- Linux
|
||||
- macOS
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: beginner
|
||||
accessType: download
|
||||
@ -1364,6 +1399,7 @@ tools:
|
||||
platforms:
|
||||
- Linux
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: advanced
|
||||
accessType: download
|
||||
@ -1395,6 +1431,7 @@ tools:
|
||||
platforms:
|
||||
- Windows
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: beginner
|
||||
accessType: download
|
||||
@ -1428,6 +1465,7 @@ tools:
|
||||
platforms:
|
||||
- Windows
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: beginner
|
||||
accessType: download
|
||||
@ -1462,6 +1500,7 @@ tools:
|
||||
- Windows
|
||||
- Linux
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: download
|
||||
@ -1530,6 +1569,7 @@ tools:
|
||||
- macOS
|
||||
related_concepts:
|
||||
- Regular Expressions (Regex)
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: novice
|
||||
accessType: built-in
|
||||
@ -1605,6 +1645,7 @@ tools:
|
||||
license: Free / Mixed
|
||||
knowledgebase: false
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software:
|
||||
- specific-os
|
||||
- name: Tsurugi Linux
|
||||
@ -1637,6 +1678,7 @@ tools:
|
||||
license: GPL / Mixed
|
||||
knowledgebase: false
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software:
|
||||
- specific-os
|
||||
- name: Parrot Security OS
|
||||
@ -1668,6 +1710,7 @@ tools:
|
||||
license: GPL-3.0
|
||||
knowledgebase: false
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software:
|
||||
- specific-os
|
||||
- name: Eric Zimmerman Tools
|
||||
@ -1687,6 +1730,7 @@ tools:
|
||||
platforms:
|
||||
- Windows
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: download
|
||||
@ -1722,6 +1766,7 @@ tools:
|
||||
- Windows
|
||||
- macOS
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: advanced
|
||||
accessType: download
|
||||
@ -1756,6 +1801,7 @@ tools:
|
||||
platforms:
|
||||
- Web
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: expert
|
||||
accessType: commercial
|
||||
@ -1788,6 +1834,7 @@ tools:
|
||||
platforms:
|
||||
- Windows
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: expert
|
||||
accessType: commercial
|
||||
@ -1821,6 +1868,7 @@ tools:
|
||||
platforms:
|
||||
- Windows
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: commercial
|
||||
@ -1852,6 +1900,7 @@ tools:
|
||||
platforms:
|
||||
- Hardware
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: commercial
|
||||
@ -1910,6 +1959,7 @@ tools:
|
||||
- data-collection
|
||||
platforms: []
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: advanced
|
||||
accessType: null
|
||||
@ -1945,6 +1995,7 @@ tools:
|
||||
- examination
|
||||
platforms: []
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: null
|
||||
@ -1982,6 +2033,7 @@ tools:
|
||||
platforms:
|
||||
- macOS
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: download
|
||||
@ -2016,6 +2068,7 @@ tools:
|
||||
- analysis
|
||||
platforms: []
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: null
|
||||
@ -2047,6 +2100,7 @@ tools:
|
||||
- analysis
|
||||
platforms: []
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: null
|
||||
@ -2078,6 +2132,7 @@ tools:
|
||||
- examination
|
||||
platforms: []
|
||||
related_concepts: null
|
||||
related_software:
|
||||
domain-agnostic-software: null
|
||||
skillLevel: advanced
|
||||
accessType: null
|
||||
|
@ -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
|
||||
icon: 📋
|
||||
type: method
|
||||
@ -19,6 +19,8 @@
|
||||
- examination
|
||||
platforms: []
|
||||
related_concepts: null
|
||||
related_software:
|
||||
- Aftermath
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: null
|
||||
@ -55,7 +57,9 @@
|
||||
- examination
|
||||
platforms:
|
||||
- macOS
|
||||
related_concepts: null
|
||||
related_concepts:
|
||||
- Hash Functions & Digital Signatures
|
||||
related_software: null
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: download
|
||||
@ -90,6 +94,7 @@
|
||||
- analysis
|
||||
platforms: []
|
||||
related_concepts: null
|
||||
related_software: null
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: null
|
||||
@ -121,6 +126,7 @@
|
||||
- analysis
|
||||
platforms: []
|
||||
related_concepts: null
|
||||
related_software: null
|
||||
domain-agnostic-software: null
|
||||
skillLevel: intermediate
|
||||
accessType: null
|
||||
@ -152,6 +158,7 @@
|
||||
- examination
|
||||
platforms: []
|
||||
related_concepts: null
|
||||
related_software: null
|
||||
domain-agnostic-software: null
|
||||
skillLevel: advanced
|
||||
accessType: null
|
||||
@ -210,4 +217,4 @@ scenarios:
|
||||
friendly_name: "Registry-Analyse"
|
||||
- id: memory-forensics
|
||||
icon: 🧠
|
||||
friendly_name: "Memory-Forensik"
|
||||
friendly_name: "Memory-Forensik"
|
@ -21,6 +21,7 @@ const ToolSchema = z.object({
|
||||
accessType: z.string().optional().nullable(),
|
||||
'domain-agnostic-software': z.array(z.string()).optional().nullable(),
|
||||
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({
|
||||
|
Loading…
x
Reference in New Issue
Block a user