{"id":2777,"name":"accountswitch","author":"HR ID OY","framework":"goat","overall":88,"grade":"B","level":"review","verdict":"Review recommended — some behaviour worth a look","scores":{"security":84,"privacy":100,"quality":86,"maintenance":90,"community":0},"counts":{"critical":0,"high":0,"medium":1,"low":1},"alerts":[{"id":"process-control","severity":"medium","category":"security","title":"Can shut down the bot","description":"Calls process.exit / process.kill / process.abort, so one command can stop the whole bot.","count":1,"locations":[{"line":60,"snippet":"process.exit(2);"}]},{"id":"dynamic-require","severity":"low","category":"security","title":"Dynamic require","description":"require() is called with a value computed at runtime, so the loaded module cannot be known from reading the file.","count":1,"locations":[{"line":12,"snippet":"const twoIdModeHelper = require(process.cwd() + \"/bot/login/twoIdMode.js\");"}]}],"capabilities":[{"id":"network","label":"Network","active":false},{"id":"filesystem","label":"Filesystem","active":false},{"id":"shell","label":"Shell","active":false},{"id":"env","label":"Env vars","active":false},{"id":"eval","label":"Dynamic code","active":false},{"id":"credentials","label":"Session data","active":false},{"id":"install","label":"Installs packages","active":false},{"id":"process","label":"Process control","active":true}],"checks":[{"label":"Exports a command/module","ok":true},{"label":"Handles errors (try/catch or .catch)","ok":false},{"label":"Readable, not minified","ok":true},{"label":"Has explanatory comments","ok":true},{"label":"No deprecated dependencies","ok":true},{"label":"Reasonable size (< 200 KB)","ok":true}],"dependencies":{"builtin":[],"external":[],"local":[]},"domains":[],"scannedAt":"2026-11-05T15:04:03.132Z"}