sing
Play and download audio songs
3
views
0
likes
3
installs
Aliases: song, music
analysis — static scan, nothing executed
0
grade C
Risky — serious capabilities found, review before installing
Security
57
Privacy
93
Quality
100
Maintenance
90
Community
16
high
Shell access
2×
Spawns operating-system processes through child_process. A command running shell code can read or change anything the bot's account can.
L5
const { spawn, spawnSync } = require("child_process");L24
const has = (cmd, flag = "--version") => { try { return spawnSync(cmd, [flag], { stdio: "ignore", timeout: 8000 }).status === 0; } catch (e) { return false; …
medium
Deletes files
Calls fs.rm / unlink / rmdir. Check what path it deletes and whether a user can influence it.
L25
const safeUnlink = (f) => { try { if (f && fs.existsSync(f)) fs.unlinkSync(f); } catch (e) {} };
low
Environment variable access
9×
Reads process.env. Fine on its own; worth a look if the values are sent anywhere.
L12
const YTDLP = process.env.YTDLP_PATH || "yt-dlp";L13
const MAX_MIN = Number(process.env.SING_MAX_MIN || 10);L14
const MAX_MB = Number(process.env.SING_MAX_MB || 24);L15
const QUEUE_MAX = Number(process.env.SING_QUEUE_MAX || 5);L16
const FORMAT = String(process.env.SING_FORMAT || "m4a").toLowerCase() === "mp3" ? "mp3" : "m4a";
low
Filesystem access
Reads or writes files on the machine running the bot.
L3
const fs = require("fs-extra");capabilities — what this file can do, regardless of intent
Network
Filesystem
Shell
Env vars
Dynamic code
Session data
Installs packages
Process control
dependencies
@distube/ytdl-core, fs-extra, youtubei.js, yt-search
checks
Exports a command/module
Handles errors (try/catch or .catch)
Readable, not minified
Has explanatory comments
No deprecated dependencies
Reasonable size (< 200 KB)
raw source — loaded on demand
Loading source…