Synthèse automatique
Effectue une analyse statique et un triage de fichiers suspects en extrayant hachages, chaînes, métadonnées et indicateurs sans exécution.
Points forts
- Analyse sécurisée sans exécution du fichier
- Extraction complète d'indicateurs (URLs, IPs, API, registre)
- Détection de packers, anti-analyse et persistance
- Compatible PE, ELF et binaires quelconques
Limites
- Ne détecte pas les menaces dynamiques (comportement runtime)
- Nécessite des outils externes (exiftool, binwalk, radare2)
- Faux positifs possibles sur les chaînes bénignes
Quand vous recevez un fichier suspect non exécuté et souhaitez une première évaluation rapide et sûre.
Si l'analyse dynamique (sandbox) est disponible ou si le fichier est trop volumineux pour une analyse statique complète.
Analyse de sécurité
SûrSkill only performs static analysis of provided files using standard forensics tools; no execution of the target, no destructive commands, and no network calls. Safe.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
Perform static analysis on this file: /path/to/suspicious.exeAnalyze suspicious binary /tmp/unknown.bin for malware indicators without executing it.name: malware-triage description: Perform static analysis and triage of suspicious files. Extract hashes, strings, metadata, PE headers, ELF info, embedded URLs, and indicators using strings, file, exiftool, readelf, objdump, radare2, and binwalk. argument-hint: <path-to-suspicious-file> allowed-tools: Bash Read Write Grep Glob
Malware Triage & Static Analysis
You are performing static malware analysis on a suspicious file. Extract indicators, analyze structure, and assess threat level WITHOUT executing the file.
SAFETY: Do NOT execute, run, or invoke the suspicious file. Static analysis only.
Target
Suspicious file: $ARGUMENTS
Pre-flight Checks
which strings file exiftool sha256sum md5sum 2>/dev/null || echo "WARNING: basic tools missing"
which readelf objdump r2 2>/dev/null || echo "WARNING: binary analysis tools missing"
which binwalk 2>/dev/null || echo "WARNING: binwalk not found"
Analysis Procedure
Phase 1: File Identification
# Basic file type
file <target>
# MIME type
file --mime-type <target>
# File size
ls -lh <target>
# Cryptographic hashes
sha256sum <target>
md5sum <target>
sha1sum <target>
# Fuzzy hash (if ssdeep available)
ssdeep <target> 2>/dev/null || echo "ssdeep not available"
Phase 2: Metadata Extraction
# Full EXIF/metadata
exiftool <target>
Look for:
- Compilation timestamps
- Original filename vs current filename mismatches
- Author/company metadata (can indicate legitimacy or origin)
- Suspicious tools in metadata (e.g., packed with UPX, Themida)
Phase 3: String Analysis
# ASCII strings (minimum length 6)
strings -a -n 6 <target> > /tmp/strings_output.txt
wc -l /tmp/strings_output.txt
# Unicode/wide strings
strings -a -n 6 -el <target> >> /tmp/strings_output.txt
# Suspicious string categories
echo "=== URLs and IPs ==="
grep -oiE "https?://[^ \"'>]+" /tmp/strings_output.txt | sort -u
grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}(:[0-9]+)?" /tmp/strings_output.txt | sort -u
echo "=== Registry keys ==="
grep -i "HKEY_\|\\\\Software\\\\\|\\\\CurrentVersion\\\\" /tmp/strings_output.txt | sort -u | head -20
echo "=== File paths ==="
grep -iE "([A-Z]:\\\\|/tmp/|/var/|/etc/|%APPDATA%|%TEMP%)" /tmp/strings_output.txt | sort -u | head -20
echo "=== Suspicious API calls ==="
grep -iE "(VirtualAlloc|VirtualProtect|CreateRemoteThread|WriteProcessMemory|NtUnmapViewOfSection|LoadLibrary|GetProcAddress|WinExec|ShellExecute|CreateProcess|URLDownloadToFile|InternetOpen|HttpSendRequest|WSAStartup|connect|bind|listen|accept|recv|send|socket)" /tmp/strings_output.txt | sort -u | head -30
echo "=== Crypto/encoding indicators ==="
grep -iE "(AES|RSA|base64|crypt|encode|decode|cipher|BEGIN.*KEY|BEGIN.*CERTIFICATE)" /tmp/strings_output.txt | sort -u | head -20
echo "=== Anti-analysis indicators ==="
grep -iE "(IsDebuggerPresent|CheckRemoteDebugger|NtQueryInformationProcess|OutputDebugString|vmware|virtualbox|vbox|sandbox|wine_get)" /tmp/strings_output.txt | sort -u | head -20
echo "=== Persistence keywords ==="
grep -iE "(schtasks|at |reg add|netsh|sc create|wmic|startup|autorun|crontab|systemctl|init\.d)" /tmp/strings_output.txt | sort -u | head -20
echo "=== Credential/data theft keywords ==="
grep -iE "(password|passwd|credential|login|cookie|wallet|bitcoin|keylog|clipboard|screenshot)" /tmp/strings_output.txt | sort -u | head -20
Phase 4: Binary Structure Analysis
For PE files (Windows executables):
# PE header info via objdump
objdump -x <target> 2>/dev/null | head -80
# Sections (look for unusual names, high entropy, or executable data sections)
objdump -h <target> 2>/dev/null
# Imports
objdump -p <target> 2>/dev/null | grep -A1000 "Import Tables" | head -100
# Check for packing indicators
strings -a <target> | grep -iE "(UPX|Themida|VMProtect|Enigma|Armadillo|ASPack|PECompact)" | head -10
For ELF files (Linux executables):
# ELF header
readelf -h <target> 2>/dev/null
# Section headers (look for unusual sections)
readelf -S <target> 2>/dev/null
# Program headers
readelf -l <target> 2>/dev/null
# Dynamic section (shared libraries, RPATH)
readelf -d <target> 2>/dev/null
# Symbol table
readelf -s <target> 2>/dev/null | head -50
# Check if stripped
file <target> | grep -i "stripped"
For scripts (Python, PowerShell, Bash, JS):
# Detect obfuscation
head -50 <target>
# Look for encoded payloads
grep -oE "[A-Za-z0-9+/=]{50,}" <target> | head -10
# Try to decode base64 blobs
grep -oE "[A-Za-z0-9+/=]{50,}" <target> | head -5 | while read line; do echo "$line" | base64 -d 2>/dev/null | strings -n 6 | head -5; echo "---"; done
Phase 5: Embedded Content Detection
# Scan for embedded files
binwalk -B <target>
# Entropy analysis (high entropy = encrypted/compressed/packed)
binwalk -E <target> 2>/dev/null
Phase 6: Radare2 Quick Analysis (if available)
# Quick binary info
r2 -q -c "i" <target> 2>/dev/null
# List functions
r2 -q -c "aa; afl" <target> 2>/dev/null | head -30
# Entry point disassembly
r2 -q -c "aa; s entry0; pd 20" <target> 2>/dev/null
# Cross-references to suspicious imports
r2 -q -c "aa; axt @ sym.imp.VirtualAlloc" <target> 2>/dev/null
r2 -q -c "aa; axt @ sym.imp.CreateRemoteThread" <target> 2>/dev/null
Phase 7: YARA Scanning (if available)
# If yara is installed, scan with common rules
yara -r /path/to/rules <target> 2>/dev/null || echo "yara not available or no rules provided"
# Python yara module alternative
python3 -c "
import yara
# Basic packer/crypto detection rules inline
rules = yara.compile(source='''
rule upx_packed { strings: \$upx = \"UPX!\" condition: \$upx }
rule base64_payload { strings: \$b64 = /[A-Za-z0-9+\/=]{100,}/ condition: \$b64 }
rule suspicious_pe { strings: \$mz = \"MZ\" at 0 \$api1 = \"VirtualAlloc\" \$api2 = \"CreateRemoteThread\" condition: \$mz and (\$api1 or \$api2) }
''')
matches = rules.match(sys.argv[1])
for m in matches: print(f'YARA match: {m.rule}')
" <target> 2>/dev/null || echo "python3-yara not available"
Threat Assessment Criteria
Rate the file based on accumulated indicators:
| Indicator | Weight | |-----------|--------| | Suspicious API imports (injection, process manipulation) | High | | Network-related strings (URLs, IPs, C2 patterns) | High | | Anti-analysis/evasion techniques | High | | Packed/encrypted sections | Medium | | Persistence mechanisms in strings | Medium | | Credential theft keywords | Medium | | Unusual metadata (fake timestamps, mismatched names) | Low | | High entropy sections | Low (supports other findings) |
Validation Rules
- String hits: A suspicious string alone is not proof — correlate with imports, behavior, and context
- Packing: Confirmed by both high entropy AND packer signatures/section names
- Malicious intent: Requires MULTIPLE indicators (e.g., injection APIs + network strings + anti-debug)
- False positive check: Is this a legitimate tool (e.g., Metasploit, nmap) rather than actual malware?
Report Output
Write the report to ./reports/malware-triage-report.md:
# Malware Triage Report
**Date**: <date>
**File**: <filename>
**SHA256**: <hash>
**MD5**: <hash>
**File Type**: <type>
**File Size**: <size>
**Analyst**: Claude Code DFIR
## Executive Summary
<Threat assessment in 2-3 sentences>
## Threat Level: [CRITICAL / HIGH / MEDIUM / LOW / BENIGN]
## File Properties
| Property | Value |
|----------|-------|
| Type | |
| Size | |
| SHA256 | |
| MD5 | |
| Compiled | |
| Packer | |
## Findings
### Finding 1: <Title>
- **Category**: Injection / Evasion / Persistence / C2 / Credential Theft / Other
- **Evidence**: <specific data>
- **Validation**: <how confirmed>
- **MITRE ATT&CK**: <technique ID>
- **Reproduce**:
```bash
<exact command(s) the analyst can copy-paste to independently verify this finding>
Indicators of Compromise
| Type | Value | Context | |------|-------|---------| | SHA256 | | | | MD5 | | | | URL | | | | IP | | | | Domain | | | | Mutex | | | | Registry | | |
Suspicious Strings (Curated)
<Top 20 most relevant strings with context>
Recommendations
<Numbered response actions> ```Create the reports/ directory if it does not exist.
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/malware-static-analysis-mrwakbnn/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/malware-static-analysis-mrwakbnn' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/malware-static-analysis-mrwakbnn/download' --output '.skill-downloads/malware-static-analysis-mrwakbnn/SKILL.md.part' && mv '.skill-downloads/malware-static-analysis-mrwakbnn/SKILL.md.part' '.skill-downloads/malware-static-analysis-mrwakbnn/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Bash Read Write Grep Glob
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/malware-static-analysis-mrwakbnn/SKILL.md' && test -s '.skill-downloads/malware-static-analysis-mrwakbnn/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/malware-triage' && cp -R '.skill-downloads/malware-static-analysis-mrwakbnn' '.claude/skills/malware-triage'Cursor
test -f '.skill-downloads/malware-static-analysis-mrwakbnn/SKILL.md' && test -s '.skill-downloads/malware-static-analysis-mrwakbnn/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/malware-triage' && cp -R '.skill-downloads/malware-static-analysis-mrwakbnn' '.cursor/skills/malware-triage'Codex
test -f '.skill-downloads/malware-static-analysis-mrwakbnn/SKILL.md' && test -s '.skill-downloads/malware-static-analysis-mrwakbnn/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/malware-triage' && cp -R '.skill-downloads/malware-static-analysis-mrwakbnn' '.agents/skills/malware-triage'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/malware-static-analysis-mrwakbnn'openskills read 'malware-static-analysis-mrwakbnn'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/malware-static-analysis-mrwakbnn/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Sécurité AMM DeFi
Securite
Checklist de sécurité pour les contrats Solidity AMM, pools de liquidité et flux de swap. Couvre réentrance, attaques par donation, manipulation d'oracles, etc.
Créateur de règles Semgrep
Securite
Crée des règles Semgrep personnalisées pour détecter des vulnérabilités de sécurité, des motifs de bugs et des motifs de code. Inclut une méthodologie de test en premier, le support du mode taint et des étapes de validation. Utile pour construire des détections d'analyse statique ciblées.
Revue barre d'outils développement
Securite
Règles de sécurité pour la barre d'outils de développement, le client PostHog et les feature flags. À utiliser lors de la revue de modifications des composants dev-tools et connexes.