GuardDog Rules Reference

August 19, 2026 ยท View on GitHub

This document lists all detection rules available in GuardDog, organized by ecosystem.

Rules are categorized by their identifies field which determines how they participate in risk scoring:

  • capability.* - Detects what code can do (function calls, APIs). Requires a matching threat to form a risk.
  • threat.* - Detects suspicious indicators. Forms risks when paired with matching capabilities.
  • threat.runtime.* - Standalone threats that auto-form risks without needing a capability.
  • threat.metadata.* - Package metadata threats that auto-form risks without needing a capability.

Capability rules

RuleIdentifiesDescriptionSeverityPyPInpmgocrates.ioGitHub ActionExtensionRubyGems
capability-filesystem-browsercapability.filesystem.browserDetects browser credential and cookie access capabilitiesmedium:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
capability-filesystem-deletecapability.filesystem.deleteDetects file/directory deletion capabilitieslow:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
capability-filesystem-readcapability.filesystem.readDetects filesystem read capabilitieslow:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
capability-filesystem-write-executablecapability.filesystem.write.executableDetects writing executable files or changing file permissions to executablemedium:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
capability-network-downloadcapability.network.downloadDetects downloading files from networklow:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
capability-network-lolbascapability.networkDetects usage of LOLBAS network tools (curl, wget, nc, etc.)low:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
capability-network-outboundcapability.network.outboundDetects network request capabilities (HTTP, sockets, etc.)low:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
capability-process-hookscapability.process.hooksDetects install hooks that can execute code during package installationlow:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
capability-process-schedulecapability.process.scheduleDetects ability to create scheduled tasks (cron, at, schtasks)medium:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
capability-process-spawncapability.process.spawnDetects process execution and spawninglow:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
capability-runtime-clipboardcapability.runtime.clipboardDetects clipboard access operationslow:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:

Threat rules (source code)

RuleIdentifiesDescriptionSeverityPyPInpmgocrates.ioGitHub ActionExtensionRubyGems
threat-filesystem-autostartthreat.filesystem.autostartDetects suspicious autostart persistence mechanismshigh:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-filesystem-destructionthreat.filesystem.destructionDetects destructive operations (recursive deletion, wiping)high:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-filesystem-readthreat.filesystem.readDetects access to sensitive files (credentials, configs, keys)high:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-network-dns-exfilthreat.network.outboundDetects DNS-based data exfiltration: encoding data in DNS querieshigh:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-network-exfil-messengerthreat.network.outboundDetects hardcoded messaging platform tokens/webhooks used for data exfiltrationhigh:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-network-exfil-sysinfothreat.network.outboundDetects system info collection combined with network exfiltration (hostname/user in HTTP requests)high:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-network-exfiltrationthreat.network.outboundDetects URLs to suspicious domains often used for exfiltration or C2high:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-network-outbound-shady-linksthreat.network.outbound.shady_linksDetects URLs to URL shorteners, file sharing, and suspicious servicesmedium:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-network-reverse-shellthreat.network.outboundDetects reverse shell patterns and remote access toolshigh:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-npm-dependency-confusionthreat.npm.http.dependencyDetects dependency confusion indicators: self-referencing dependencies or DNS exfil in scriptshigh:white_check_mark::white_check_mark::white_check_mark:
threat-npm-http-dependencythreat.npm.http.dependencyDetects HTTP/HTTPS URL dependencies in package.json (dependency confusion, untrusted sources)high:white_check_mark::white_check_mark::white_check_mark:
threat-npm-preinstall-scriptthreat.process.hooksDetects npm preinstall scripts, which are almost exclusively used for malware deliveryhigh:white_check_mark::white_check_mark::white_check_mark:
threat-process-cryptominingthreat.process.cryptominingDetects cryptocurrency mining activityhigh:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-process-download-execthreat.process.spawnDetects download-and-execute patterns: fetching a remote file then executing ithigh:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-process-hooksthreat.process.hooksDetects LOLBAS usage in install hooks (execution and network tools)medium:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-process-injection-dllthreat.process.injection.dllDetects DLL injection and process injection techniqueshigh:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-process-memorythreat.process.memoryDetects memory scraping and credential dumping from process memoryhigh:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-process-powershell-encodedthreat.process.spawnDetects PowerShell encoded commands, hidden windows, and download cradleshigh:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-process-spawn-silentthreat.process.spawn.silentDetects fully silent process execution (suppressing all output channels)low:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-process-sysinfothreat.process.spawn.sysinfoDetects LOLBAS usage in process spawningmedium:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-runtime-dynamic-loaderthreat.runtime.obfuscationDetects dynamic code loading: downloading and importing/executing code at runtimehigh:white_check_mark:
threat-runtime-enumerationthreat.runtime.enumerationDetects extensive system/network enumeration activitiesmedium:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-runtime-environment-readthreat.runtime.environment.readDetects reading of environment variables (credential access, often contains secrets)low:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-runtime-keyloggingthreat.runtime.keyloggingDetects keylogging and input capture patternshigh:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-runtime-obfuscationthreat.runtime.obfuscationDetects heavy obfuscation techniques commonly used by malwarelow:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-runtime-obfuscation-apithreat.runtime.obfuscation.apiDetects advanced API call obfuscation using introspection and reflection techniquesmedium:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-runtime-obfuscation-base64execthreat.runtime.obfuscation.base64execDetects base64 decoding followed by code executionhigh:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-runtime-obfuscation-chrthreat.runtime.obfuscationDetects chr-based code obfuscation: exec/eval of chr() sequenceshigh:white_check_mark:
threat-runtime-obfuscation-dynamic-evalthreat.runtime.obfuscation.dynamic-evalDetects JavaScript payloads executed through eval/Function over a self-decoding wrapper or character-code/base64 decoded datahigh:white_check_mark::white_check_mark::white_check_mark:
threat-runtime-obfuscation-generalthreat.runtime.obfuscation.generalDetects heavy code obfuscation techniquesmedium:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-runtime-obfuscation-hidden-codethreat.runtime.obfuscationDetects a payload hidden by excessive whitespace or require aliased through a global to evade static analysishigh:white_check_mark::white_check_mark::white_check_mark:
threat-runtime-obfuscation-import-execthreat.runtime.obfuscationDetects dynamic import chains used to obfuscate code executionhigh:white_check_mark:
threat-runtime-obfuscation-js-manglingthreat.runtime.obfuscation.js.manglingDetects JavaScript variable name mangling (_0x pattern) used by obfuscation toolsmedium:white_check_mark::white_check_mark::white_check_mark:
threat-runtime-obfuscation-log-suppressthreat.runtime.obfuscationDetects log/console suppression combined with obfuscated code, a common malware evasion patternmedium:white_check_mark::white_check_mark::white_check_mark:
threat-runtime-obfuscation-pyarmorthreat.runtime.obfuscation.pyarmorDetects PyArmor obfuscation, a commercial tool commonly used to hide malicious code in Python packagesmedium:white_check_mark:
threat-runtime-obfuscation-steganographythreat.runtime.obfuscation.steganographyDetects steganography decode followed by code executionhigh:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-runtime-obfuscation-unicodethreat.runtime.obfuscation.unicodeDetects unicode homoglyphs and uncommon characters used for obfuscationmedium:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-runtime-screencapturethreat.runtime.screencapturemedium:white_check_mark:
threat-runtime-self-propagationthreat.runtime.self-propagationDetects worm/self-propagating behavior: package code that rewrites its own manifest and programmatically publishes copies to a package registry to spreadhigh:white_check_mark::white_check_mark::white_check_mark:
threat-runtime-system-infothreat.runtime.system.infoDetects active collection of system information (hostname, platform, architecture, user)low:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
threat-setup-import-aliasingthreat.setup.import.aliasingDetects suspicious import aliasing of dangerous functions in setup.pyhigh:white_check_mark:
threat-setup-network-in-installthreat.network.outboundDetects network operations or hostname/system info collection in setup.py, which is suspicious at install timehigh:white_check_mark:
threat-setup-suspicious-importsthreat.setup.import.aliasingDetects suspicious imports in setup.py: network, system, or crypto libraries that have no place in a build scripthigh:white_check_mark:

Threat rules (metadata)

RuleIdentifiesDescriptionSeverityMITRE TacticPyPInpmgocrates.ioGitHub ActionExtensionRubyGems
bundled_binarythreat.metadata.bundled-binaryIdentify packages bundling binariesmediumdefense-evasion:white_check_mark::white_check_mark::white_check_mark:
deceptive_authorthreat.metadata.deceptive-authorThis heuristic detects when an author is using a disposable emailmediuminitial-access:white_check_mark::white_check_mark:
direct_url_dependencythreat.metadata.direct-url-depIdentify packages with direct URL dependencies. Dependencies fetched this way are not immutable and can be used to inject untrusted code or reduce the likelihood of a reproducible install.mediuminitial-access:white_check_mark:
metadata_mismatchthreat.metadata.manifest-mismatchIdentify packages with mismatches between registry metadata and the actual package manifestmediumexecution:white_check_mark::white_check_mark:
new_install_scriptthreat.metadata.new-install-scriptIdentify a version that adds npm install-time lifecycle scripts (preinstall/install/postinstall) to a package whose earlier versions never used them. Install scripts appearing on an established script-free package are a common malicious-takeover vector: they can execute arbitrary commands during dependency installation (older npm versions run them automatically; newer npm versions may require approval).mediumexecution:white_check_mark:
potentially_compromised_email_domainthreat.metadata.compromised-emailIdentify when a package maintainer e-mail domain (and therefore package manager account) might have been compromisedhighinitial-access:white_check_mark::white_check_mark:
provenance_regressionthreat.metadata.provenance-regressionIdentify a version that lost npm provenance attestations that earlier versions had. A version dropping provenance after prior versions carried it can indicate a publish made outside the normal CI-attested flow.mediuminitial-access:white_check_mark:
repository_integrity_mismatchthreat.metadata.integrity-mismatchIdentify packages with a linked GitHub repository where the package has extra unexpected fileshighinitial-access:white_check_mark::white_check_mark:
risky_new_dependencythreat.npm.risky-new-dependencyIdentify newly added dependencies that are themselves risky. A dependency introduced in this version but absent from the previous one is scanned as a package; it is flagged when its risk score is high.highinitial-access:white_check_mark:
typosquattingthreat.metadata.typosquattingIdentify packages that are named closely to an highly popular packagehighinitial-access:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
unclaimed_maintainer_email_domainthreat.metadata.unclaimed-emailIdentify when a package maintainer e-mail domain (and therefore npm account) is unclaimed and can be registered by an attackerhighinitial-access:white_check_mark::white_check_mark: