Skip to content

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_SUSP_LNX_ARCH_Install_Hook_Jun26

Detects suspicious pre and post hooks in Arch install files

Suspicious / huntingSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compiles with YARA-X
Author
Marius Benthin
Date
2026-06-15
Score / Quality
70 / 85

What this rule detects

Detects suspicious pre and post hooks in Arch install files

It defines 9 patterns (9 text, 0 hex, 0 regex).

Summary generated from the rule's metadata and condition.

Rule source

susp-lnx-arch-install-hook-jun26.yarDetection Rule License 1.1
rule SIGNATURE_BASE_SUSP_LNX_ARCH_Install_Hook_Jun26 : FILE
{
	meta:
		description = "Detects suspicious pre and post hooks in Arch install files"
		author = "Marius Benthin"
		id = "926d4abf-1409-5d6f-b3f0-7db5227ff447"
		date = "2026-06-15"
		modified = "2026-06-15"
		reference = "https://aur.archlinux.org/cgit/aur.git/commit/?h=python-django-js-asset&id=af09b1cf1b59"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/susp_aur_packages.yar#L43-L70"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		hash = "47c076099e6715ffb0bd357b6832175741e77b88972033cd1f9b55b6ff7e5519"
		hash = "ef735bca8cb2acafe70831e33ed468a3046a61147af694000761970415c7eef1"
		logic_hash = "b9850b02ef5df3834c072d267d3449617e28f71ec9120a9e64f24d46e57b9a0f"
		score = 70
		quality = 85
		tags = "FILE"

	strings:
		$sa1 = "pre_install() {"
		$sa2 = "post_install() {"
		$sa3 = "pre_upgrade() {"
		$sa4 = "post_upgrade() {"
		$sa5 = "pre_remove() {"
		$sa6 = "post_remove() {"
		$sb1 = "npm install "
		$sb2 = "&& 'b''u''n'"
		$fp1 = "#!/bin/sh"

	condition:
		filesize < 5KB and 1 of ( $sa* ) and 1 of ( $sb* ) and not 1 of ( $fp* )
}

Strings (9 patterns)

IdentifierTypeValueModifiers
$sa1text"pre_install() {"
$sa2text"post_install() {"
$sa3text"pre_upgrade() {"
$sa4text"post_upgrade() {"
$sa5text"pre_remove() {"
$sa6text"post_remove() {"
$sb1text"npm install "
$sb2text"&& 'b''u''n'"
$fp1text"#!/bin/sh"

Condition

filesize < 5KB and 1 of ( $sa* ) and 1 of ( $sb* ) and not 1 of ( $fp* )

In plain words (Heuristic)

  • The file must be smaller than 5KB (a cheap guard that skips large files).
  • At least 1 patterns in ( $sa* ) must match.
  • At least 1 patterns in ( $sb* ) must match.
  • At least 1 patterns in ( $fp* ) must match.

Test this rule in your browser

Drop a file to scan it with this rule using YARA-X compiled to WebAssembly. Nothing is uploaded.

Drop a file here or click to chooseScanned locally with YARA-X. Files up to 200 MB.

Open in editor

References

Sample hashes

Hashes of samples the author lists in the rule's meta (look them up in your threat-intelligence platform).

  • 47c076099e6715ffb0bd357b6832175741e77b88972033cd1f9b55b6ff7e5519
  • ef735bca8cb2acafe70831e33ed468a3046a61147af694000761970415c7eef1

Licence & attribution

Author: Marius Benthin

Source repository: Signature Base (Florian Roth / Nextron) @ 94a1c48d7a

Licence: Detection Rule License 1.1 (repository licence)

Original rule

Mirrored via YARA Forge 20260927, which prefixes rule names with the source and adds normalised meta fields.

Rule id: 926d4abf-1409-5d6f-b3f0-7db5227ff447

Tags:FILE