YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_SUSP_JS_NPM_Setupscript_Nov25
Detects suspicious JavaScript which exits silently and checks operating system
- Autor
- Marius Benthin
- Fecha
- 2025-11-24
- Modificada
- 2025-12-15
- Puntuación / Calidad
- 70 / 85
Qué detecta esta regla
Detects suspicious JavaScript which exits silently and checks operating system
Define 4 patrones (4 de texto, 0 hex, 0 regex).
Resumen generado a partir de los metadatos y la condición de la regla.
Código de la regla
rule SIGNATURE_BASE_SUSP_JS_NPM_Setupscript_Nov25 : FILE
{
meta:
= "Detects suspicious JavaScript which exits silently and checks operating system"
= "Marius Benthin"
= "2d102efd-681a-5af1-b4fe-3489e5e7f8f2"
= "2025-11-24"
= "2025-12-15"
= "https://www.aikido.dev/blog/shai-hulud-strikes-again-hitting-zapier-ensdomains"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/mal_npm_supply_chain_nov25.yar#L43-L64"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "a3894003ad1d293ba96d77881ccd2071446dc3f65f434669b49b3da92421901a"
= "b685f642d1d62200da973aad7fd7a2d606a098b92524aaebe5e2bb45c63f3155"
= 70
= 85
= "FILE"
strings:
$sa1 = "require('child_process')"
$sa2 = "process.platform ==="
$sb1 = "().catch((e"
$sb2 = "process.exit(0)"
condition:
filesize < 100KB and all of ( $sa* ) and $sb1 in ( filesize - 50 .. filesize ) and $sb2 in ( filesize - 30 .. filesize )
}
Cadenas (4 patrones)
| Identificador | Tipo | Valor | Modificadores |
|---|---|---|---|
| $sa1 | texto | "require('child_process')" | |
| $sa2 | texto | "process.platform ===" | |
| $sb1 | texto | "().catch((e" | |
| $sb2 | texto | "process.exit(0)" |
Condición
filesize < 100KB and all of ( $sa* ) and $sb1 in ( filesize - 50 .. filesize ) and $sb2 in ( filesize - 30 .. filesize )En palabras sencillas (Heurística)
- El archivo debe ocupar menos de 100KB (un límite barato que descarta archivos grandes).
- Deben coincidir todos los patrones de ( $sa* ).
- El patrón $sb1 debe estar en el rango filesize - 50 .. filesize.
- El patrón $sb2 debe estar en el rango filesize - 30 .. filesize.
Prueba esta regla en tu navegador
Arrastra un archivo para escanearlo con esta regla usando YARA-X compilado a WebAssembly. No se sube nada.
Hashes de muestras
Hashes de las muestras que el autor lista en los metadatos de la regla (búscalos en tu plataforma de threat intelligence).
- a3894003ad1d293ba96d77881ccd2071446dc3f65f434669b49b3da92421901a
Licencia y atribución
Autor: Marius Benthin
Repositorio de origen: Signature Base (Florian Roth / Nextron) @ 94a1c48d7a
Licencia: Detection Rule License 1.1 (licencia del repositorio)
Obtenida a través de YARA Forge 20260927, que añade a los nombres el prefijo de la fuente y campos meta normalizados.
Id de la regla: 2d102efd-681a-5af1-b4fe-3489e5e7f8f2
Etiquetas:FILE
Reglas relacionadas
- Sospechoso / huntingSignature Base (Florian Roth / Nextron)· Marius Benthin· 2026-01-29
- Sospechoso / huntingSignature Base (Florian Roth / Nextron)· Marius Benthin· 2026-01-29
- Sospechoso / huntingSignature Base (Florian Roth / Nextron)· Marius Benthin· 2026-03-31
- Sospechoso / huntingSignature Base (Florian Roth / Nextron)· Marius Benthin· 2026-06-15
- Sospechoso / huntingSignature Base (Florian Roth / Nextron)· Marius Benthin· 2026-06-15
- Sospechoso / huntingSignature Base (Florian Roth / Nextron)· Marius Benthin· 2025-11-24
- Sospechoso / huntingSignature Base (Florian Roth / Nextron)· Marius Benthin· 2026-01-29
- MalwareSignature Base (Florian Roth / Nextron)· Marius Benthin· 2026-01-29