A complete web-based remote monitoring and management web site. Once setup you can install agents and perform remote desktop session to devices on the local network or over the Internet.
This report summarizes scanner evidence for Ylianst/MeshCentral, a HTML project with 7,382 GitHub stars. SynthScan examined 246,629 lines of code across 360 source files, recording 339 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 5.0 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 242 finding(s).
Are imports declared and package/API names verified? 97 finding(s).
Are wrappers, guards, and repeated structures necessary? 189 finding(s).
Which changes need focused human review? 339 finding(s).
Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 339 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | mpsserver.js | 447 | var xx = socket.tag.clientCert.subject.O.split('/'); | CODE |
| CRITICAL⚡ | certoperations.js | 282 | var x1 = obj.parent.certificates.root.cert.indexOf('-----BEGIN CERTIFICATE-----'), x2 = obj.parent.certifica | CODE |
| CRITICAL⚡ | certoperations.js | 284 | var sha256 = obj.crypto.createHash('sha256').update(Buffer.from(obj.parent.certificates.root.cert.substr | CODE |
| CRITICAL⚡ | certoperations.js | 285 | var sha1 = obj.crypto.createHash('sha1').update(Buffer.from(obj.parent.certificates.root.cert.substring( | CODE |
| CRITICAL | letsencrypt.js | 78 | if (typeof obj.parent.config.letsencrypt.names == 'string') { obj.parent.config.letsencrypt.names = obj.pare | CODE |
| CRITICAL | letsencrypt.js | 79 | obj.parent.config.letsencrypt.names.map(function (s) { return s.trim(); }); // Trim each name | CODE |
| CRITICAL | db.js | 3465 | if (!parent.config.settings.autobackup.mongodumpargs.includes("--db=")) {cmd += ' --db=' + (parent.config.se | CODE |
| CRITICAL | db.js | 3866 | globIgnoreFiles = parent.config.settings.autobackup.backupignorefilesglob ? parent.config.settings.autobacku | CODE |
| CRITICAL | meshcentral.js | 2208 | else if (typeof obj.config.settings.autobackup.backupignorefilesglob == 'string') { obj.config.s | CODE |
| CRITICAL | meshcentral.js | 2210 | else if (typeof obj.config.settings.autobackup.backupskipfoldersglob == 'string') { obj.config.s | CODE |
| CRITICAL | meshcentral.js | 2323 | xdomain.certkeyhash = obj.certificateOperations.forge.pki.getPublicKeyFingerprint(forgeC | CODE |
| CRITICAL | webserver.js | 347 | obj.swarmCertificateHash384 = parent.certificateOperations.forge.pki.getPublicKeyFingerprint(parent.certificateO | CODE |
| CRITICAL | webserver.js | 348 | obj.swarmCertificateHash256 = parent.certificateOperations.forge.pki.getPublicKeyFingerprint(parent.certificateO | CODE |
| CRITICAL | webserver.js | 1072 | logouturl = domain.authstrategies.oidc.issuer.end_session_endpoint + (domain.authstrategies.oidc.iss | CODE |
| CRITICAL | webserver.js | 6314 | if ((user != null) && ((user.siteadmin == 0xFFFFFFFF) || ((Array.isArray(obj.parent.config.settings.agen | CODE |
| CRITICAL | webserver.js | 6633 | if ((obj.parent.config.settings.agentcoredump === true) && ((user.siteadmin == 0xFFFFFFFF) || ((Array.isArra | CODE |
| CRITICAL | webserver.js | 6740 | if ((user.siteadmin == 0xFFFFFFFF) || ((Array.isArray(obj.parent.config.settings.agentcoredumpusers)) && | CODE |
| CRITICAL | webserver.js | 10815 | parent.config.settings.maxinvalidlogin.blocking = parent.config.settings.maxinvalidlogin.blocking.toLowerCas | CODE |
| CRITICAL | webserver.js | 10880 | : parent.config.settings.maxinvalidlogin.exclude.split(','); | CODE |
| CRITICAL | webserver.js | 10966 | const excludeSplit = parent.config.settings.maxinvalid2fa.exclude.split(','); | CODE |
| CRITICAL | amtprovisioningserver.js | 56 | obj.rootCertCN = obj.parent.certificateOperations.forge.pki.certificateFromPem(obj.parent.certificates.root.cert).su | CODE |
| CRITICAL⚡ | amtprovisioningserver.js | 396 | var pem = obj.parent.certificateOperations.forge.pki.certificateToPem(cert).replace(/(\r\n|\n|\r)/gm | CODE |
| CRITICAL⚡ | amtprovisioningserver.js | 399 | var md = obj.parent.certificateOperations.forge.md.sha1.create(); | CODE |
| CRITICAL⚡ | amtprovisioningserver.js | 400 | md.update(obj.parent.certificateOperations.forge.asn1.toDer(obj.parent.certificateOperations.forge.p | CODE |
| CRITICAL⚡ | amtprovisioningserver.js | 686 | var b = obj.parent.certificateOperations.forge.asn1.fromDer(cert.X509CertificateBin); | CODE |
| CRITICAL⚡ | amtprovisioningserver.js | 687 | var a = obj.parent.certificateOperations.forge.pki.certificateFromAsn1(b).publicKey; | CODE |
| CRITICAL⚡ | amtprovisioningserver.js | 688 | var publicKeyPEM = obj.parent.certificateOperations.forge.pki.publicKeyToPem(a).substring(28 + 32).repla | CODE |
| CRITICAL | meshscanner.js | 29 | obj.agentCertificateHashHex = parent.certificateOperations.forge.pki.getPublicKeyFingerprint(parent.certificateOpera | CODE |
| CRITICAL⚡ | amtmanager.js | 1301 | var pem = obj.parent.certificateOperations.forge.pki.certificateToPem(cert).replace(/(\r\n|\n|\r)/gm | CODE |
| CRITICAL⚡ | amtmanager.js | 1304 | var md = obj.parent.certificateOperations.forge.md.sha1.create(); | CODE |
| CRITICAL⚡ | amtmanager.js | 1305 | md.update(obj.parent.certificateOperations.forge.asn1.toDer(obj.parent.certificateOperations.forge.p | CODE |
| CRITICAL | amtmanager.js | 22 | obj.rootCertBase64 = obj.parent.certificates.root.cert.split('-----BEGIN CERTIFICATE-----').join('').split('-----END | CODE |
| CRITICAL | amtmanager.js | 23 | obj.rootCertCN = obj.parent.certificateOperations.forge.pki.certificateFromPem(obj.parent.certificates.root.cert).su | CODE |
| CRITICAL | amtmanager.js | 726 | if (stack.wsman.comm.xtls == 1) { dev.aquired.hash = stack.wsman.comm.xtlsCertificate.fingerprint.split(':') | CODE |
| CRITICAL | amtmanager.js | 1606 | try { cert = obj.parent.certificateOperations.forge.pki.certificateFromAsn1(obj.parent.certificateOp | CODE |
| CRITICAL | amtmanager.js | 2701 | var verSplit = dev.amtstack.wsman.comm.amtVersion.split('.'); | CODE |
| CRITICAL | amtmanager.js | 3026 | var verSplit = dev.amtstack.wsman.comm.amtVersion.split('.'); | CODE |
| CRITICAL | amtmanager.js | 3116 | var publicKeyPEM = obj.parent.certificateOperations.forge.pki.publicKeyToPem(obj.parent.certificateOpera | CODE |
| CRITICAL | amtmanager.js | 3169 | var keys, cert = obj.parent.certificateOperations.forge.pki.createCertificate(); | CODE |
| CRITICAL | amtmanager.js | 3170 | cert.publicKey = obj.parent.certificateOperations.forge.pki.publicKeyFromPem('-----BEGIN PUBLIC KEY-----' + DERK | CODE |
| CRITICAL | amtmanager.js | 3226 | var privatekey = obj.parent.certificateOperations.forge.pki.privateKeyFromPem(caPrivateKey); | CODE |
| CRITICAL | amtmanager.js | 3227 | cert.sign(privatekey, obj.parent.certificateOperations.forge.md.sha256.create()); | CODE |
| CRITICAL | meshuser.js | 124 | if (parent.parent.config.settings.managecrossdomain && (parent.parent.config.settings.managecrossdomain.indexOf(user | CODE |
| CRITICAL | meshuser.js | 639 | if (parent.parent.config.settings.managealldevicegroups.indexOf(user._id) >= 0 || (user.links && Object.keys | CODE |
| CRITICAL | meshuser.js | 6823 | const allowed = ((parent.parent.config.settings.interusermessaging === true) || (parent.parent.config.settings.i | CODE |
| CRITICAL | meshuser.js | 7050 | const manageAllDeviceGroups = ((user.siteadmin == 0xFFFFFFFF) && (parent.parent.config.settings.managealldeviceg | CODE |
| CRITICAL | amt/amt-redir-mesh.js | 541 | function hex_md5(str) { return meshcentral.certificateOperations.forge.md.md5.create().update(str).digest().toHex(); | CODE |
| CRITICAL⚡ | agents/meshcore.js | 3037 | this.httprequest.desktop.kvm.connectionBar.removeAllListeners('close'); | CODE |
| CRITICAL⚡ | agents/meshcore.js | 3038 | this.httprequest.desktop.kvm.connectionBar.close(); | CODE |
| CRITICAL⚡ | agents/meshcore.js | 3047 | for (var j in this.httprequest.desktop.kvm.rusers) { if (this.httprequest.desktop.kvm.rusers[j] == this. | CODE |
| CRITICAL⚡ | agents/meshcore.js | 3048 | this.httprequest.desktop.kvm.users.splice(i, 1); | CODE |
| CRITICAL⚡ | agents/meshcore.js | 3049 | this.httprequest.desktop.kvm.connectionBar.removeAllListeners('close'); | CODE |
| CRITICAL⚡ | agents/meshcore.js | 3050 | this.httprequest.desktop.kvm.connectionBar.close(); | CODE |
| CRITICAL⚡ | agents/meshcore.js | 3052 | this.httprequest.desktop.kvm.connectionBar = require('notifybar-desktop')(this.httprequest.privacybartex | CODE |
| CRITICAL⚡ | agents/meshcore.js | 3054 | this.httprequest.desktop.kvm.connectionBar.on('close', function () | CODE |
| CRITICAL⚡ | agents/meshcore.js | 3101 | ws.httprequest.desktop.kvm.connectionBar.removeAllListeners('close'); | CODE |
| CRITICAL⚡ | agents/meshcore.js | 3102 | ws.httprequest.desktop.kvm.connectionBar.close(); | CODE |
| CRITICAL⚡ | agents/meshcore.js | 3106 | ws.httprequest.desktop.kvm.connectionBar = require('notifybar-desktop')(ws.httprequest.privacybartext.replac | CODE |
| CRITICAL⚡ | agents/meshcore.js | 3210 | if (this.ws.httprequest.soptions.notifyMsgDesktop != null) { notifyMessage = this.ws.httprequest.soptions.no | CODE |
| CRITICAL⚡ | agents/meshcore.js | 3219 | this.ws.httprequest.desktop.kvm.connectionBar.removeAllListeners('close'); | CODE |
| 28 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mpsserver.js | 1209 | function SendTcpForwardSuccessReply(socket, port) { | CODE |
| LOW | mpsserver.js | 1214 | function SendTcpForwardCancelReply(socket) { | CODE |
| LOW | mpsserver.js | 1231 | function SendKeepaliveOptionsRequest(socket, keepaliveTime, timeout) { | CODE |
| LOW | mpsserver.js | 1242 | function SendChannelOpenConfirmation(socket, recipientChannelId, senderChannelId, initialWindowSize) { | CODE |
| LOW | certoperations.js | 32 | function checkAcmActivationCertName(commonName, trustedFqdn) { | CODE |
| LOW | meshagent.js | 20 | function isAgentConnectionAllowedByEnrollmentPolicy(settings, domain, ip, nodeExists) { | CODE |
| LOW | meshagent.js | 1024 | function recoveryAgentCoreIsStable(mesh) { | CODE |
| LOW | db.js | 644 | function performTypedRecordDecrypt(data) { | CODE |
| LOW | db.js | 657 | function performTypedRecordEncrypt(data) { | CODE |
| LOW | db.js | 676 | function performPartialRecordEncrypt(plainobj, encryptNames) { | CODE |
| LOW | db.js | 685 | function performPartialRecordDecrypt(plainobj) { | CODE |
| LOW | db.js | 3649 | function eventsFileBulkWriteCompleted() { | CODE |
| LOW | db.js | 3668 | function powerFileBulkWriteCompleted() { | CODE |
| LOW | webserver.js | 37 | function CreateAgentRegistrationLimiter(config, nowFunc, ipMatchFunc, onBlockFunc) { | CODE |
| LOW | webserver.js | 221 | function resolveSafeUploadTempPath(tempPath) { | CODE |
| LOW | webserver.js | 1027 | function parseAllowedFramingOrigins(val) { | CODE |
| LOW | webserver.js | 1091 | function checkUserOneTimePasswordSkip(domain, user, req, loginOptions) { | CODE |
| LOW | webserver.js | 1117 | function checkUserOneTimePasswordRequired(domain, user, req, loginOptions) { | CODE |
| LOW | webserver.js | 1725 | function handleCreateAccountRequest(req, res, direct) { | CODE |
| LOW | webserver.js | 1894 | function handleResetPasswordRequest(req, res, direct) { | CODE |
| LOW | webserver.js | 2011 | function handleResetAccountRequest(req, res, direct) { | CODE |
| LOW | webserver.js | 2151 | function handleCheckAccountEmailRequest(req, res, direct) { | CODE |
| LOW | webserver.js | 2485 | function handleFirebasePushOnlyRelayRequest(req, res) { | CODE |
| LOW | webserver.js | 2508 | function handleFirebaseRelayRequest(ws, req) { | CODE |
| LOW | webserver.js | 2600 | function handleDeleteAccountRequest(req, res, direct) { | CODE |
| LOW | webserver.js | 2785 | function handlePasswordChangeRequest(req, res, direct) { | CODE |
| LOW | webserver.js | 3929 | function handleNewAccountCaptchaRequest(req, res) { | CODE |
| LOW | webserver.js | 4068 | function handleMessengerImageRequest(req, res) { | CODE |
| LOW | webserver.js | 4313 | function handleTranslationsRequest(req, res) { | CODE |
| LOW | webserver.js | 4382 | function handleWelcomeImageRequest(req, res) { | CODE |
| LOW | webserver.js | 4454 | function handleGetRecordingsWebSocket(ws, req) { | CODE |
| LOW | webserver.js | 4786 | function handleOneClickRecoveryFile(req, res) { | CODE |
| LOW | webserver.js | 7478 | async function setupAllDomainAuthStrategies() { | CODE |
| LOW | webserver.js | 8992 | function PerformWSSessionInnerAuth(ws, req, domain, func) { | CODE |
| LOW | webserver.js | 10775 | function getRandomEightDigitInteger() { var bigInt; do { bigInt = parent.crypto.randomBytes(4).readUInt32BE(0); } wh | CODE |
| LOW | webserver.js | 10783 | function setContentDispositionHeader(res, type, name, size, altname) { | CODE |
| LOW | webserver.js | 11068 | function checkWebRelaySessionsTimeout() { | CODE |
| LOW | meshrelay.js | 59 | function checkDeviceSharePublicIdentifier(parent, domain, nodeid, pid, extraKey, func) { | CODE |
| LOW | meshrelay.js | 73 | function isProtocolAllowedByRights(rights, protocol) { | CODE |
| LOW | authenticode.js | 126 | function createAuthenticodeHandler(path) { | CODE |
| LOW | authenticode.js | 596 | function readLenPrefixUnicodeString(ptr) { | CODE |
| LOW | apprelays.js | 363 | function sendWebSocketFrameToDevice(op, payload) { | CODE |
| LOW | meshdevicefile.js | 296 | function setContentDispositionHeader(res, type, name, size, altname) { | CODE |
| LOW | common.js | 552 | function validateObjectForMongoRec(obj, maxStrLen) { | CODE |
| LOW | multiserver.js | 331 | function completePeerServerConnection() { | CODE |
| LOW | amtmanager.js | 691 | function attemptLocalConnectResponse(stack, name, responses, status) { | CODE |
| LOW | amtmanager.js | 984 | function performAdvancedPowerActionResponse(stack, name, responses, status) { | CODE |
| LOW | amtmanager.js | 1033 | function performPowerActionResponse(stack, name, responses, status) { | CODE |
| LOW | amtmanager.js | 1053 | function performOneClickRecoveryAction(nodeid, file) { | CODE |
| LOW | amtmanager.js | 1069 | function performOneClickRecoveryActionEx(stack, name, responses, status) { | CODE |
| LOW | amtmanager.js | 2192 | function checkEnvironmentDetection(dev) { | CODE |
| LOW | amtmanager.js | 2256 | function attemptSettingsSyncResponse(stack, name, responses, status) { | CODE |
| LOW | amtmanager.js | 2412 | function attemptFetchHardwareInventory(dev, func) { | CODE |
| LOW | amtmanager.js | 2427 | function attemptFetchNetworkResponse(stack, name, responses, status) { | CODE |
| LOW | amtmanager.js | 2500 | function attemptFetchHardwareInventoryResponse(stack, name, responses, status) { | CODE |
| LOW | amtmanager.js | 2774 | function checkAcmActivationCertName(commonName, trustedFqdn) { | CODE |
| LOW | meshdesktopmultiplex.js | 973 | function checkDeviceSharePublicIdentifier(parent, domain, nodeid, pid, extraKey, func) { | CODE |
| LOW | meshctrl.js | 2729 | function getDevicesThatMatchFilter(nodes, x) { | CODE |
| LOW⚡ | meshuser.js | 7223 | function serverCommandTrafficDelta(command) { | CODE |
| LOW⚡ | meshuser.js | 7229 | function serverCommandTrafficStats(command) { | CODE |
| 129 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | db.js | 561 | } | COMMENT |
| LOW | meshcentral.js | 2721 | } | COMMENT |
| LOW | meshrelay.js | 41 | COMMENT | |
| LOW | exeHandler.js | 21 | /*jshint strict: false */ | COMMENT |
| LOW | meshuser.js | 1881 | COMMENT | |
| LOW | amt/amt-setupbin.js | 121 | obj.dataRecordsConsumed = 0; | COMMENT |
| LOW | agents/meshcmd.js | 1241 | // Disable AMT Network | COMMENT |
| LOW | agents/modules_meshcore/win-terminal.js | 101 | } | COMMENT |
| LOW | agents/modules_meshcore/win-terminal.js | 121 | // | COMMENT |
| LOW | agents/modules_meshcore/win-terminal.js | 361 | // This is the WINEVENTPROC callback for the WinEventHook we set | COMMENT |
| LOW | agents/modules_meshcore/win-terminal.js | 401 | // The console has scrolled | COMMENT |
| LOW | agents/modules_meshcore/win-terminal.js | 441 | { | COMMENT |
| LOW | agents/modules_meshcore/win-wmi-fixed.js | 821 | // for static (class-level) methods. | COMMENT |
| LOW | rdp/core/rle.js | 1 | // Note: Some Emscripten settings will significantly limit the speed of the generated code. | COMMENT |
| LOW | rdp/core/rle.js | 541 | if (!condition) { | COMMENT |
| LOW | rdp/core/rle.js | 681 | COMMENT | |
| LOW | rdp/core/rle.js | 3361 | // setup /dev/tty and /dev/tty1 | COMMENT |
| LOW | rdp/security/jsbn.js | 561 | // xy == 1 (mod m) | COMMENT |
| LOW | public/mstsc/rle.js | 1 | // Note: Some Emscripten settings will significantly limit the speed of the generated code. | COMMENT |
| LOW | public/mstsc/rle.js | 541 | if (!condition) { | COMMENT |
| LOW | public/mstsc/rle.js | 681 | COMMENT | |
| LOW | public/mstsc/rle.js | 3361 | // setup /dev/tty and /dev/tty1 | COMMENT |
| LOW | public/novnc/core/rfb.js | 221 | // Some browsers add an outline on focus | COMMENT |
| LOW | public/novnc/core/util/cursor.js | 161 | // We might get this event because of a drag operation that | COMMENT |
| LOW | public/novnc/core/input/domkeytable.js | 221 | COMMENT | |
| LOW | public/styles/style-bootstrap.css | 2661 | background-image: linear-gradient(to right, #b9b9b9 0%, #fff 100%); | COMMENT |
| LOW | public/styles/style-bootstrap.css | 5641 | #p13toolbar, | COMMENT |
| LOW | public/styles/style.css | 301 | border-radius: 5px; | COMMENT |
| LOW | public/styles/style.css | 3141 | #DeskRunButton, | COMMENT |
| LOW | public/scripts/amt-terminal-0.0.2.js | 521 | //console.log('_ProcessVt100Char', ch, c); | COMMENT |
| LOW | public/scripts/amt-setupbin-0.1.0.js | 101 | return obj; | COMMENT |
| LOW | public/scripts/zlib-inflate.js | 641 | // continue; | COMMENT |
| LOW | public/scripts/zlib-inflate.js | 661 | if (op < len) { /* some from window */ | COMMENT |
| LOW | public/scripts/zlib-inflate.js | 1761 | state.mode = BAD; | COMMENT |
| LOW | public/scripts/jquery.js | 881 | COMMENT | |
| LOW | public/scripts/jquery.js | 1021 | */ | COMMENT |
| LOW | public/scripts/jquery.js | 1161 | // Support: IE 9 only | COMMENT |
| LOW | public/scripts/jquery.js | 1301 | // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ | COMMENT |
| LOW | public/scripts/jquery.js | 2461 | COMMENT | |
| LOW | public/scripts/jquery.js | 4041 | // 1. No key was specified | COMMENT |
| LOW | public/scripts/jquery.js | 5381 | // If this is a native event triggered above, everything is now in order | COMMENT |
| LOW | public/scripts/jquery.js | 5641 | delegateType: delegateType | COMMENT |
| LOW | public/scripts/jquery.js | 6421 | // Support: Firefox 51+ | COMMENT |
| LOW | public/scripts/jquery.js | 6441 | // disconnected elements. However, in IE even disconnected elements | COMMENT |
| LOW | public/scripts/jquery.js | 8561 | COMMENT | |
| LOW | .github/workflows/codeql-analysis.yml | 21 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | translate/translate.js | 809 | if (subnode.attributes[j].name == 'placeholder') { subnodeplaceholder = subnode.attributes[j].value; } | CODE |
| LOW | translate/translate.js | 1026 | if (subnode.attributes[j].name == 'placeholder') { subnodeplaceholder = subnode.attributes[j].value; sub | CODE |
| LOW | public/novnc/app/localization.js | 177 | if (elem.hasAttribute("placeholder") && | CODE |
| LOW | public/novnc/app/localization.js | 179 | translateAttribute(elem, "placeholder"); | CODE |
| LOW | public/scripts/purify-min.js | 2 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define | CODE |
| LOW | public/scripts/select2.full.min.js | 2 | !function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.e | CODE |
| LOW | public/scripts/purify.js | 319 | const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'au | CODE |
| LOW | public/scripts/purify.js | 589 | const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placehol | CODE |
| LOW | public/scripts/themes/theme-switcher.js | 59 | placeholder: $(this).data("placeholder"), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | rdp/core/rle.js | 3770 | function processData(byteArray) { | CODE |
| LOW | public/mstsc/rle.js | 3770 | function processData(byteArray) { | CODE |
| LOW | public/scripts/jquery.js | 4139 | function getData( data ) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | public/scripts/jquery.js | 8566 | // understands anonymous AMD modules. A named AMD is safest and most robust | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | meshagent.js | 204 | // We need to check if the core is current. Figure out what core we need. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pkcs7-modified.js | 183 | // TODO: implement CRLs | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/entrypoint.sh | 343 | # Check if we have some integrity | COMMENT |