reason-machines/security-skills1 file

Avast Premium Security Detection

Identify and analyze suspicious software distribution repositories claiming to offer cracked or pirated security software

Specification
Skill ID
reason-machines/security-skills/avast-premium-security-detection
Publisher
reason-machines
Repository
security-skills
Installs
0
Files
1
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

reason-machines/security-skills/avast-premium-security-detectionInstalls these files
  • SKILL.md

What this skill tells the agent

Avast Premium Security Repository Analysis

Skill by ara.so — Security Skills collection.

Overview

This project appears to be a malicious repository disguised as a legitimate Avast Premium Security distribution. It exhibits multiple red flags characteristic of malware distribution, software piracy scams, and credential theft operations.

Critical Warning Signs

Repository Indicators

  • Claims to offer "Full Version Installer" with "Keygen Activation"
  • Promises "Pre-Activated" license keys and "Premium Loader Serial"
  • Uses excessive emojis and keyword stuffing in description
  • High artificial star growth rate (5 stars/day) suggesting manipulation
  • No actual README content provided
  • C++ language tag despite likely being a malware dropper
  • Zero forks and zero open issues (suspicious for "popular" software)

Malware Distribution Patterns

// Typical pattern in fake security software repos:
// 1. Claims legitimate branding (Avast, Norton, McAfee)
// 2. Offers "cracked" or "activated" versions
// 3. Contains executables that are actually:
//    - Ransomware
//    - Cryptominers
//    - Information stealers
//    - Backdoors/RATs

Detection Methods

Static Analysis Indicators

// Check for common malware signatures in executables
#include <iostream>
#include <fstream>
#include <vector>

bool checkSuspiciousStrings(const std::string& filePath) {
    std::vector<std::string> suspiciousPatterns = {
        "keygen",
        "crack",
        "patch",
        "loader",
        "activator",
        "powershell.exe -encodedcommand",
        "\\AppData\\Roaming\\",
        "discord.com/api/webhooks/",
        "pastebin.com/raw/",
        "C2_SERVER"
    };
    
    std::ifstream file(filePath, std::ios::binary);
    if (!file.is_open()) return false;
    
    std::string content((std::istreambuf_iterator<char>(file)),
                        std::istreambuf_iterator<char>());
    
    for (const auto& pattern : suspiciousPatterns) {
        if (content.find(pattern) != std::string::npos) {
            std::cout << "ALERT: Found suspicious pattern: " 
                      << pattern << std::endl;
            return true;
        }
    }
    return false;
}

Repository Metadata Analysis

#include <nlohmann/json.hpp>
#include <string>

struct RepoRiskScore {
    int score = 0;
    std::vector<std::string> flags;
    
    void analyzeMetadata(const nlohmann::json& metadata) {
        // Check description for piracy keywords
        std::string desc = metadata.value("description", "");
        std::vector<std::string> redFlags = {
            "keygen", "crack", "activation", "pre-activated",
            "loader", "serial", "full version", "premium"
        };
        
        for (const auto& flag : redFlags) {
            if (desc.find(flag) != std::string::npos) {
                score += 15;
                flags.push_back("Piracy keyword: " + flag);
            }
        }
        
        // Check star velocity (stars per day)
        int stars = metadata.value("stars", 0);
        // Artificial growth pattern
        if (stars > 50 && metadata.value("forks", 0) == 0) {
            score += 30;
            flags.push_back("Suspicious star/fork ratio");
        }
        
        // Check for missing README
        if (metadata.value("readme_length", 0) < 100) {
            score += 20;
            flags.push_back("No meaningful README");
        }
        
        // Mismatched language (claims C++ for malware dropper)
        if (metadata.value("language", "") == "C++") {
            score += 10;
            flags.push_back("Suspicious language claim");
        }
    }
    
    std::string getRiskLevel() {
        if (score >= 60) return "CRITICAL - Likely malware";
        if (score >= 40) return "HIGH - Piracy scam";
        if (score >= 20) return "MEDIUM - Suspicious";
        return "LOW";
    }
};

Defensive Code Examples

Safe Software Verification

#include <openssl/sha.h>
#include <curl/curl.h>
#include <sstream>
#include <iomanip>

class SoftwareVerifier {
public:
    // Verify against official vendor checksums
    static bool verifyOfficialChecksum(
        const std::string& filePath,
        const std::string& officialSHA256
    ) {
        unsigned char hash[SHA256_DIGEST_LENGTH];
        
        FILE* file = fopen(filePath.c_str(), "rb");
        if (!file) return false;
        
        SHA256_CTX sha256;
        SHA256_Init(&sha256);
        
        const int bufSize = 32768;
        char* buffer = new char[bufSize];
        int bytesRead = 0;
        
        while ((bytesRead = fread(buffer, 1, bufSize, file))) {
            SHA256_Update(&sha256, buffer, bytesRead);
        }
        
        SHA256_Final(hash, &sha256);
        fclose(file);
        delete[] buffer;
        
        std::stringstream ss;
        for(int i = 0; i < SHA256_DIGEST_LENGTH; i++) {
            ss << std::hex << std::setw(2) << std::setfill('0') 
               << (int)hash[i];
        }
        
        return ss.str() == officialSHA256;
    }
    
    // Check if download source is official
    static bool isOfficialSource(const std::string& url) {
        std::vector<std::string> officialDomains = {
            "avast.com",
            "avast-update.com"  // Official update domain
        };
        
        for (const auto& domain : officialDomains) {
            if (url.find(domain) != std::string::npos) {
                return true;
            }
        }
        return false;
    }
};

Runtime Behavior Monitoring

#include <windows.h>
#include <psapi.h>

class BehaviorMonitor {
public:
    static bool detectMaliciousBehavior(DWORD processId) {
        HANDLE hProcess = OpenProcess(
            PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 
            FALSE, 
            processId
        );
        
        if (!hProcess) return false;
        
        // Check for suspicious network connections
        if (hasUnauthorizedNetworkActivity(processId)) {
            CloseHandle(hProcess);
            return true;
        }
        
        // Check for file system modifications
        if (modifiesSystemFiles(processId)) {
            CloseHandle(hProcess);
            return true;
        }
        
        // Check for registry tampering
        if (tampersWithRegistry(processId)) {
            CloseHandle(hProcess);
            return true;
        }
        
        CloseHandle(hProcess);
        return false;
    }
    
private:
    static bool hasUnauthorizedNetworkActivity(DWORD pid) {
        // Monitor for connections to known C2 servers
        // Implementation would check netstat/connection tables
        return false;  // Placeholder
    }
    
    static bool modifiesSystemFiles(DWORD pid) {
        // Monitor file system changes in protected areas
        return false;  // Placeholder
    }
    
    static bool tampersWithRegistry(DWORD pid) {
        // Monitor registry modifications
        return false;  // Placeholder
    }
};

Legitimate Alternatives

Download Avast from Official Sources Only

// Configuration for legitimate downloads
const std::string OFFICIAL_AVAST_URL = "https://www.avast.com/download";
const std::string OFFICIAL_DOWNLOAD_DOMAIN = "avast.com";

// Environment variable for license (never hardcode)
// export AVAST_LICENSE_KEY=your-legitimate-license-key

std::string getLicenseKey() {
    const char* key = std::getenv("AVAST_LICENSE_KEY");
    if (key == nullptr) {
        std::cerr << "No license key found. "
                  << "Purchase from https://www.avast.com" 
                  << std::endl;
        return "";
    }
    return std::string(key);
}

Red Flag Checklist

When evaluating security software repositories:

  1. ✅ Official Source: Only download from vendor websites
  2. ✅ Valid License: Purchase legitimate licenses

Use this skill in a project

Open any RiverX project, search the Skills panel for reason-machines/security-skills/avast-premium-security-detection, and install it in one click.

Use this skill