@offgridsec/kira-lite-mcp 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +486 -34
- package/dist/config.d.ts +1 -0
- package/dist/config.js +1 -1
- package/dist/core/engines/kira-core.js +1 -1
- package/dist/core/engines/osv.js +1 -485
- package/dist/core/engines/runner.js +1 -30
- package/dist/core/scanner.js +1 -101
- package/dist/core/types.js +1 -1
- package/dist/core/utils.js +1 -70
- package/dist/index.js +1 -477
- package/dist/rules/c-cpp.js +1 -202
- package/dist/rules/cicd.js +1 -144
- package/dist/rules/csharp.js +1 -207
- package/dist/rules/docker.js +1 -143
- package/dist/rules/go.js +1 -184
- package/dist/rules/index.js +1 -147
- package/dist/rules/java.js +1 -1
- package/dist/rules/javascript-extended.js +1 -1
- package/dist/rules/javascript.js +1 -1
- package/dist/rules/kubernetes.js +1 -1
- package/dist/rules/php.js +1 -1
- package/dist/rules/python-extended.js +1 -1
- package/dist/rules/python.js +1 -1
- package/dist/rules/ruby.js +1 -1
- package/dist/rules/secrets-extended.js +1 -1
- package/dist/rules/secrets.js +1 -1
- package/dist/rules/shell.js +1 -1
- package/dist/rules/terraform.js +1 -1
- package/dist/telemetry.js +1 -1
- package/dist/tools/fix-vulnerability.js +1 -1
- package/dist/tools/scan-code.js +1 -1
- package/dist/tools/scan-dependencies.js +1 -1
- package/dist/tools/scan-diff.js +1 -1
- package/dist/tools/scan-file.js +1 -1
- package/package.json +1 -1
package/dist/rules/go.js
CHANGED
|
@@ -1,184 +1 @@
|
|
|
1
|
-
export const goRules = [
|
|
2
|
-
// === SQL Injection ===
|
|
3
|
-
{
|
|
4
|
-
id: "GO-SQLI-001",
|
|
5
|
-
cwe: "CWE-89",
|
|
6
|
-
severity: "critical",
|
|
7
|
-
title: "SQL Injection — String concatenation/formatting in query",
|
|
8
|
-
description: "Using fmt.Sprintf or string concatenation in SQL queries enables injection. Go's database/sql supports parameterized queries.",
|
|
9
|
-
languages: ["go"],
|
|
10
|
-
pattern: /(?:Query|Exec|QueryRow|QueryContext|ExecContext|QueryRowContext|Prepare)\s*\(\s*(?:ctx\s*,\s*)?(?:fmt\.Sprintf|[^,)]+\+)/g,
|
|
11
|
-
fix: "Use parameterized queries: db.Query(\"SELECT * FROM users WHERE id = $1\", id)",
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
id: "GO-SQLI-002",
|
|
15
|
-
cwe: "CWE-89",
|
|
16
|
-
severity: "critical",
|
|
17
|
-
title: "SQL Injection — String interpolation in raw SQL",
|
|
18
|
-
description: "String formatting used to build SQL queries dynamically.",
|
|
19
|
-
languages: ["go"],
|
|
20
|
-
pattern: /fmt\.Sprintf\s*\(\s*["'](?:SELECT|INSERT|UPDATE|DELETE|DROP|ALTER|CREATE)\b/gi,
|
|
21
|
-
fix: "Use parameterized queries with $1, $2 placeholders instead of fmt.Sprintf for SQL.",
|
|
22
|
-
},
|
|
23
|
-
// === Command Injection ===
|
|
24
|
-
{
|
|
25
|
-
id: "GO-CMDI-001",
|
|
26
|
-
cwe: "CWE-78",
|
|
27
|
-
severity: "critical",
|
|
28
|
-
title: "Command Injection — exec.Command with user input",
|
|
29
|
-
description: "Building shell commands from user input enables arbitrary command execution.",
|
|
30
|
-
languages: ["go"],
|
|
31
|
-
pattern: /exec\.Command\s*\(\s*(?:fmt\.Sprintf|[^,)]+\+)/g,
|
|
32
|
-
fix: "Pass arguments as separate parameters to exec.Command: exec.Command(\"cmd\", \"arg1\", \"arg2\").",
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
id: "GO-CMDI-002",
|
|
36
|
-
cwe: "CWE-78",
|
|
37
|
-
severity: "critical",
|
|
38
|
-
title: "Command Injection — Shell execution via bash -c",
|
|
39
|
-
description: "Using bash -c with dynamic strings passes through shell interpretation, enabling injection.",
|
|
40
|
-
languages: ["go"],
|
|
41
|
-
pattern: /exec\.Command\s*\(\s*['"](?:bash|sh|cmd)['"]\s*,\s*['"](?:-c|\/c)['"]\s*,/g,
|
|
42
|
-
fix: "Avoid shell invocation. Use exec.Command with direct binary and argument list.",
|
|
43
|
-
},
|
|
44
|
-
// === Path Traversal ===
|
|
45
|
-
{
|
|
46
|
-
id: "GO-PATH-001",
|
|
47
|
-
cwe: "CWE-22",
|
|
48
|
-
severity: "high",
|
|
49
|
-
title: "Path Traversal — Unsanitized file path",
|
|
50
|
-
description: "User input used in file operations without sanitization can access arbitrary files.",
|
|
51
|
-
languages: ["go"],
|
|
52
|
-
pattern: /(?:os\.(?:Open|Create|ReadFile|WriteFile|Remove|Stat|MkdirAll)|ioutil\.(?:ReadFile|WriteFile)|filepath\.Join)\s*\(\s*(?:r\.|req\.|c\.|ctx\.|params|query|mux\.Vars)/g,
|
|
53
|
-
fix: "Use filepath.Clean() and verify the resolved path is within the expected base directory using strings.HasPrefix.",
|
|
54
|
-
},
|
|
55
|
-
// === SSRF ===
|
|
56
|
-
{
|
|
57
|
-
id: "GO-SSRF-001",
|
|
58
|
-
cwe: "CWE-918",
|
|
59
|
-
severity: "high",
|
|
60
|
-
title: "Server-Side Request Forgery — Dynamic URL from user input",
|
|
61
|
-
description: "Fetching URLs constructed from user input can access internal services.",
|
|
62
|
-
languages: ["go"],
|
|
63
|
-
pattern: /http\.(?:Get|Post|Head|NewRequest)\s*\(\s*(?:fmt\.Sprintf|[^,)]+\+\s*(?:r\.|req\.|params|query))/g,
|
|
64
|
-
fix: "Validate URLs against an allowlist. Block private/internal IP ranges (10.x, 172.16-31.x, 192.168.x).",
|
|
65
|
-
},
|
|
66
|
-
// === Weak Crypto ===
|
|
67
|
-
{
|
|
68
|
-
id: "GO-CRYPTO-001",
|
|
69
|
-
cwe: "CWE-327",
|
|
70
|
-
severity: "high",
|
|
71
|
-
title: "Weak Cryptography — MD5 usage",
|
|
72
|
-
description: "MD5 is cryptographically broken. Collisions can be generated in seconds.",
|
|
73
|
-
languages: ["go"],
|
|
74
|
-
pattern: /(?:md5\.(?:New|Sum)|crypto\/md5)/g,
|
|
75
|
-
fix: "Use crypto/sha256 or stronger. For passwords, use golang.org/x/crypto/bcrypt.",
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
id: "GO-CRYPTO-002",
|
|
79
|
-
cwe: "CWE-327",
|
|
80
|
-
severity: "high",
|
|
81
|
-
title: "Weak Cryptography — SHA1 usage",
|
|
82
|
-
description: "SHA1 is deprecated for security use due to practical collision attacks.",
|
|
83
|
-
languages: ["go"],
|
|
84
|
-
pattern: /(?:sha1\.(?:New|Sum)|crypto\/sha1)/g,
|
|
85
|
-
fix: "Use crypto/sha256 or stronger.",
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
id: "GO-CRYPTO-003",
|
|
89
|
-
cwe: "CWE-327",
|
|
90
|
-
severity: "high",
|
|
91
|
-
title: "Weak Cryptography — DES usage",
|
|
92
|
-
description: "DES and 3DES are deprecated. DES has only 56-bit keys.",
|
|
93
|
-
languages: ["go"],
|
|
94
|
-
pattern: /(?:des\.NewCipher|des\.NewTripleDESCipher|crypto\/des)/g,
|
|
95
|
-
fix: "Use AES (crypto/aes) with GCM mode instead of DES.",
|
|
96
|
-
},
|
|
97
|
-
// === Insecure Random ===
|
|
98
|
-
{
|
|
99
|
-
id: "GO-RAND-001",
|
|
100
|
-
cwe: "CWE-338",
|
|
101
|
-
severity: "high",
|
|
102
|
-
title: "Insecure Random — math/rand for security",
|
|
103
|
-
description: "math/rand is predictable and must not be used for security-sensitive operations like tokens or keys.",
|
|
104
|
-
languages: ["go"],
|
|
105
|
-
pattern: /math\/rand|rand\.(?:Intn|Int31|Int63|Float64|Read)\s*\(/g,
|
|
106
|
-
fix: "Use crypto/rand for security-sensitive random values: crypto/rand.Read(buf)",
|
|
107
|
-
},
|
|
108
|
-
// === TLS ===
|
|
109
|
-
{
|
|
110
|
-
id: "GO-TLS-001",
|
|
111
|
-
cwe: "CWE-295",
|
|
112
|
-
severity: "critical",
|
|
113
|
-
title: "Disabled TLS Certificate Verification",
|
|
114
|
-
description: "InsecureSkipVerify disables certificate validation, allowing man-in-the-middle attacks.",
|
|
115
|
-
languages: ["go"],
|
|
116
|
-
pattern: /InsecureSkipVerify\s*:\s*true/g,
|
|
117
|
-
fix: "Remove InsecureSkipVerify: true. Use proper CA certificates for TLS verification.",
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
id: "GO-TLS-002",
|
|
121
|
-
cwe: "CWE-327",
|
|
122
|
-
severity: "high",
|
|
123
|
-
title: "Weak TLS Version — TLS 1.0 or 1.1",
|
|
124
|
-
description: "TLS versions below 1.2 have known vulnerabilities (POODLE, BEAST, etc.).",
|
|
125
|
-
languages: ["go"],
|
|
126
|
-
pattern: /(?:MinVersion|MaxVersion)\s*:\s*tls\.Version(?:SSL30|TLS10|TLS11)/g,
|
|
127
|
-
fix: "Set MinVersion to tls.VersionTLS12 or tls.VersionTLS13.",
|
|
128
|
-
},
|
|
129
|
-
// === Template Injection ===
|
|
130
|
-
{
|
|
131
|
-
id: "GO-TMPL-001",
|
|
132
|
-
cwe: "CWE-1336",
|
|
133
|
-
severity: "critical",
|
|
134
|
-
title: "Template Injection — Dynamic template from user input",
|
|
135
|
-
description: "Parsing user input as a Go template can lead to information disclosure or code execution.",
|
|
136
|
-
languages: ["go"],
|
|
137
|
-
pattern: /template\.(?:New|Must)\s*\([^)]*\)\.Parse\s*\(\s*(?:r\.|req\.|params|query|body|input)/g,
|
|
138
|
-
fix: "Use predefined template files. Never parse user input as template strings.",
|
|
139
|
-
},
|
|
140
|
-
// === Race Conditions ===
|
|
141
|
-
{
|
|
142
|
-
id: "GO-RACE-001",
|
|
143
|
-
cwe: "CWE-362",
|
|
144
|
-
severity: "medium",
|
|
145
|
-
title: "Potential Race Condition — Goroutine accessing shared state",
|
|
146
|
-
description: "Goroutines accessing shared variables without synchronization can cause data races.",
|
|
147
|
-
languages: ["go"],
|
|
148
|
-
pattern: /go\s+func\s*\(\s*\)\s*\{[^}]*(?:map\[|=\s*(?:append|[^=]))/g,
|
|
149
|
-
fix: "Use sync.Mutex, sync.RWMutex, channels, or atomic operations to protect shared state.",
|
|
150
|
-
},
|
|
151
|
-
// === Unhandled Errors ===
|
|
152
|
-
{
|
|
153
|
-
id: "GO-ERR-001",
|
|
154
|
-
cwe: "CWE-391",
|
|
155
|
-
severity: "medium",
|
|
156
|
-
title: "Unchecked Error Return — Discarded error value",
|
|
157
|
-
description: "Ignoring error returns in Go can hide failures and lead to unexpected behavior or security issues.",
|
|
158
|
-
languages: ["go"],
|
|
159
|
-
pattern: /[a-zA-Z_]+\s*,\s*_\s*[:=]=?\s*(?:os\.|ioutil\.|io\.|http\.|sql\.|json\.|crypto\.|tls\.)/g,
|
|
160
|
-
fix: "Always check error returns: if err != nil { return err }",
|
|
161
|
-
},
|
|
162
|
-
// === Hardcoded Bind to All Interfaces ===
|
|
163
|
-
{
|
|
164
|
-
id: "GO-NET-001",
|
|
165
|
-
cwe: "CWE-668",
|
|
166
|
-
severity: "medium",
|
|
167
|
-
title: "Server Listening on All Interfaces",
|
|
168
|
-
description: "Binding to 0.0.0.0 exposes the server to all network interfaces including public ones.",
|
|
169
|
-
languages: ["go"],
|
|
170
|
-
pattern: /(?:ListenAndServe|Listen)\s*\(\s*['"](?:0\.0\.0\.0|:)(?::\d+)?['"]/g,
|
|
171
|
-
fix: "Bind to localhost (127.0.0.1) for development or use firewall rules in production.",
|
|
172
|
-
},
|
|
173
|
-
// === Unsafe pointer ===
|
|
174
|
-
{
|
|
175
|
-
id: "GO-UNSAFE-001",
|
|
176
|
-
cwe: "CWE-242",
|
|
177
|
-
severity: "high",
|
|
178
|
-
title: "Use of unsafe Package",
|
|
179
|
-
description: "The unsafe package bypasses Go's type safety and memory safety guarantees.",
|
|
180
|
-
languages: ["go"],
|
|
181
|
-
pattern: /unsafe\.Pointer/g,
|
|
182
|
-
fix: "Avoid unsafe.Pointer unless absolutely necessary. Document why it's needed and review carefully.",
|
|
183
|
-
},
|
|
184
|
-
];
|
|
1
|
+
(function(_0x507014,_0x1c4b7b){const _0x5c234f={_0x33dd89:0xc2,_0x3bf5ff:0x3d0,_0x2ac013:0x3ec,_0xeefedd:0x383,_0x32bb72:0x1dd,_0x558436:0x22c,_0x1e4019:0x1c4},_0x3f4f8c={_0x49942f:0x3ab};function _0x5b72b0(_0x506ea0,_0x309ee6){return _0x28bf(_0x506ea0-0xd6,_0x309ee6);}function _0x1aa3c7(_0x39af96,_0x3c9738){return _0x28bf(_0x39af96- -_0x3f4f8c._0x49942f,_0x3c9738);}const _0x558fe9=_0x507014();while(!![]){try{const _0x1860f6=parseInt(_0x5b72b0(0x2c7,0x313))/(-0xbcb*-0x2+-0x1*-0x1db9+0x2*-0x1aa7)*(parseInt(_0x1aa3c7(-0xd2,-0xe1))/(0x941*0x1+-0x225b+-0x191c*-0x1))+parseInt(_0x1aa3c7(-0xcd,-0x14d))/(-0xc9e+-0x504*-0x1+-0x1*-0x79d)*(parseInt(_0x1aa3c7(-_0x5c234f._0x33dd89,-0x116))/(-0x2003+0x902+0x1705*0x1))+parseInt(_0x5b72b0(_0x5c234f._0x3bf5ff,_0x5c234f._0x2ac013))/(-0x1c10+-0x1*0x4a9+-0xb*-0x2fa)*(-parseInt(_0x5b72b0(0x43d,0x348))/(0x1846+-0x102b*0x2+0x816))+-parseInt(_0x5b72b0(_0x5c234f._0xeefedd,0x3b9))/(0x58*0x67+0x6c7*0x1+0x2*-0x1514)*(-parseInt(_0x1aa3c7(-0x1b1,-0xb4))/(0x25d1+0x2268*-0x1+-0x361))+parseInt(_0x1aa3c7(-_0x5c234f._0x32bb72,-_0x5c234f._0x558436))/(0xd52+-0x682+-0x6c7)*(-parseInt(_0x5b72b0(0x2ec,0x3b4))/(-0x187e+0x23b*0x9+-0xa3*-0x7))+parseInt(_0x1aa3c7(-0x1ce,-_0x5c234f._0x1e4019))/(0x1*-0x551+0x239f+-0x1e43*0x1)+-parseInt(_0x1aa3c7(-0x63,0x61))/(0x4*0x46c+-0x2*-0x1bd+0x66*-0x35);if(_0x1860f6===_0x1c4b7b)break;else _0x558fe9['push'](_0x558fe9['shift']());}catch(_0x503edc){_0x558fe9['push'](_0x558fe9['shift']());}}}(_0x4e00,0x138412+-0x50a1+-0x6b917));const _0x34ba48={};_0x34ba48['id']=_0x3ecdf8(0x48,-0x3)+_0x3ecdf8(0x191,0xaa)+'1',_0x34ba48[_0x2ae3bf(0x1a9,0x110)]='CWE-8'+'9',_0x34ba48[_0x3ecdf8(0x7,0xc)+'ity']='criti'+_0x2ae3bf(0x10a,0x12d),_0x34ba48[_0x2ae3bf(0x278,0x21b)]=_0x2ae3bf(0x269,0x2f0)+_0x3ecdf8(-0x13,0x64)+'ion\x20—'+_0x2ae3bf(0x262,0x24b)+_0x3ecdf8(0xcd,0x8c)+_0x2ae3bf(0x266,0x300)+'natio'+_0x2ae3bf(0x294,0x326)+_0x3ecdf8(0x6a,0x5c)+_0x3ecdf8(0xa0,0xa8)+_0x3ecdf8(-0x11f,-0xb4)+'y',_0x34ba48[_0x3ecdf8(-0x9e,-0x108)+'iptio'+'n']=_0x3ecdf8(-0x43,0x4e)+_0x2ae3bf(0xbb,0xfc)+_0x3ecdf8(0xc5,0xcc)+_0x2ae3bf(0x235,0x243)+_0x2ae3bf(0x116,0x205)+_0x3ecdf8(0xf9,0x8c)+_0x2ae3bf(0x266,0x1e3)+_0x2ae3bf(0x163,0x12d)+_0x2ae3bf(0xf5,0xf9)+_0x3ecdf8(-0x6a,-0xd4)+'uerie'+_0x3ecdf8(-0x147,-0x71)+_0x3ecdf8(0x15,-0xd8)+_0x3ecdf8(0x65,-0x4e)+_0x2ae3bf(0xd8,0x16)+_0x2ae3bf(0x232,0x14b)+'\x20data'+_0x2ae3bf(0xbe,0x1b)+_0x3ecdf8(-0x7a,-0x4d)+_0x3ecdf8(-0x2f,-0x38)+_0x3ecdf8(0x42,-0x7c)+'ramet'+_0x2ae3bf(0x20b,0x1ac)+'d\x20que'+'ries.',_0x34ba48[_0x3ecdf8(0xdc,0x7e)+_0x3ecdf8(-0x59,0x53)]=['go'],_0x34ba48[_0x3ecdf8(-0x59,-0xd9)+'rn']=/(?:Query|Exec|QueryRow|QueryContext|ExecContext|QueryRowContext|Prepare)\s*\(\s*(?:ctx\s*,\s*)?(?:fmt\.Sprintf|[^,)]+\+)/g,_0x34ba48['fix']='Use\x20p'+_0x3ecdf8(-0x5d,0x72)+'teriz'+_0x3ecdf8(-0x6d,0x7)+'eries'+_0x2ae3bf(0x254,0x2c4)+_0x2ae3bf(0x23a,0x264)+'(\x22SEL'+_0x2ae3bf(0x18e,0x17c)+'\x20FROM'+'\x20user'+'s\x20WHE'+_0x3ecdf8(0x47,-0x9a)+_0x3ecdf8(-0xe2,-0x52)+_0x3ecdf8(-0xdb,-0xa1)+')';const _0x3385b7={};_0x3385b7['id']=_0x2ae3bf(0x1d5,0x1d7)+_0x2ae3bf(0x282,0x299)+'2',_0x3385b7[_0x3ecdf8(0xc9,-0x2f)]=_0x2ae3bf(0x176,0x267)+'9',_0x3385b7[_0x3ecdf8(0x34,0xc)+_0x2ae3bf(0x1c9,0x29e)]=_0x2ae3bf(0x118,0xf4)+_0x3ecdf8(-0xb9,-0xce),_0x3385b7['title']='SQL\x20I'+_0x2ae3bf(0x23c,0x336)+_0x3ecdf8(-0x1a1,-0xc6)+_0x3ecdf8(0xdc,0x8a)+_0x3ecdf8(0x49,0xa8)+_0x3ecdf8(0x3c,-0xd)+'latio'+'n\x20in\x20'+_0x3ecdf8(0x140,0x94)+'QL',_0x3385b7[_0x3ecdf8(-0x10a,-0x108)+_0x2ae3bf(0x29b,0x36d)+'n']='Strin'+_0x2ae3bf(0x1ce,0x272)+_0x3ecdf8(0x93,0x5c)+_0x2ae3bf(0x1f5,0x119)+_0x3ecdf8(-0x3b,0x1f)+_0x3ecdf8(-0x8,-0x82)+'d\x20SQL'+_0x3ecdf8(-0x50,-0xb4)+_0x3ecdf8(-0x6b,-0xdc)+'ynami'+_0x2ae3bf(0x15f,0xac)+'.',_0x3385b7[_0x2ae3bf(0x256,0x34a)+_0x2ae3bf(0x22b,0x2b2)]=['go'],_0x3385b7['patte'+'rn']=/fmt\.Sprintf\s*\(\s*["'](?:SELECT|INSERT|UPDATE|DELETE|DROP|ALTER|CREATE)\b/gi,_0x3385b7[_0x2ae3bf(0x2a0,0x1cd)]=_0x3ecdf8(0x3e,-0x13)+'arame'+'teriz'+_0x2ae3bf(0x1df,0x26a)+_0x2ae3bf(0x14f,0x5b)+_0x3ecdf8(-0xfa,-0xd0)+_0x2ae3bf(0x1ba,0x153)+_0x2ae3bf(0x10b,0xc2)+'aceho'+_0x2ae3bf(0x242,0x299)+'\x20inst'+'ead\x20o'+_0x3ecdf8(-0xf6,-0x9b)+_0x2ae3bf(0x177,0x182)+_0x2ae3bf(0x291,0x240)+'or\x20SQ'+'L.';function _0x28bf(_0x2a328f,_0x3099b3){_0x2a328f=_0x2a328f-(-0x2*-0x317+-0x1fdc+0x1b62);const _0x4e5f41=_0x4e00();let _0x29d1fc=_0x4e5f41[_0x2a328f];if(_0x28bf['MWCDix']===undefined){var _0x5836ec=function(_0xa8d42){const _0x2ff76f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5d6801='',_0x1dca13='';for(let _0x23ed28=0x1*-0x1f71+0x1*0xf9+-0x4*-0x79e,_0x5a9bca,_0x29302a,_0x2cc545=0x1*-0x1fee+-0x155b+0x3549*0x1;_0x29302a=_0xa8d42['charAt'](_0x2cc545++);~_0x29302a&&(_0x5a9bca=_0x23ed28%(-0x6dc*-0x2+0x243*-0x4+0x254*-0x2)?_0x5a9bca*(-0xa7*-0xd+0x5bf*-0x4+0xec1*0x1)+_0x29302a:_0x29302a,_0x23ed28++%(0xee*0x1c+0x587+0x5*-0x64f))?_0x5d6801+=String['fromCharCode'](-0xdf*0x24+0x962*-0x3+0x3c81&_0x5a9bca>>(-(0x18dd+-0x2610+0x1*0xd35)*_0x23ed28&0x8*0x250+-0x1ef1*-0x1+-0x316b)):-0x10*-0x155+0x6a+-0x12*0x135){_0x29302a=_0x2ff76f['indexOf'](_0x29302a);}for(let _0x25a9c6=-0x2434+0x2*0xe12+0x810,_0x4d9d25=_0x5d6801['length'];_0x25a9c6<_0x4d9d25;_0x25a9c6++){_0x1dca13+='%'+('00'+_0x5d6801['charCodeAt'](_0x25a9c6)['toString'](0xf51+0x1916+-0x2857*0x1))['slice'](-(-0xd60+0x47*0x45+-0x3*0x1eb));}return decodeURIComponent(_0x1dca13);};_0x28bf['kORVgx']=_0x5836ec,_0x28bf['FvimTQ']={},_0x28bf['MWCDix']=!![];}const _0xd3450=_0x4e5f41[0x203a+-0x16bd+0x7*-0x15b],_0xeab6ca=_0x2a328f+_0xd3450,_0x375013=_0x28bf['FvimTQ'][_0xeab6ca];return!_0x375013?(_0x29d1fc=_0x28bf['kORVgx'](_0x29d1fc),_0x28bf['FvimTQ'][_0xeab6ca]=_0x29d1fc):_0x29d1fc=_0x375013,_0x29d1fc;}const _0x4e8981={};_0x4e8981['id']='GO-CM'+_0x2ae3bf(0xe8,0x1d1)+'1',_0x4e8981['cwe']=_0x3ecdf8(-0x24,0x84)+'8',_0x4e8981[_0x2ae3bf(0x1e4,0x1b6)+_0x2ae3bf(0x1c9,0x11e)]='criti'+_0x3ecdf8(-0x9d,-0xce),_0x4e8981[_0x2ae3bf(0x278,0x362)]=_0x2ae3bf(0xd5,-0x6)+_0x3ecdf8(-0x4b,-0xba)+_0x2ae3bf(0x218,0x2d0)+_0x2ae3bf(0x1ca,0x19a)+_0x2ae3bf(0x1d3,0xf5)+_0x3ecdf8(-0xd4,-0x103)+'nd\x20wi'+'th\x20us'+_0x2ae3bf(0x122,0x107)+_0x3ecdf8(0x15c,0x67),_0x4e8981[_0x3ecdf8(-0xa2,-0x108)+_0x2ae3bf(0x29b,0x30d)+'n']='Build'+_0x2ae3bf(0x1b4,0xb9)+_0x3ecdf8(-0x28,0xaf)+_0x3ecdf8(-0x6b,-0x47)+_0x2ae3bf(0x14e,0xf5)+_0x2ae3bf(0x214,0x23c)+'ser\x20i'+_0x3ecdf8(0xf3,0x15)+_0x3ecdf8(-0xe1,-0xfb)+_0x2ae3bf(0x103,0x8c)+_0x3ecdf8(-0x120,-0xc5)+'ry\x20co'+'mmand'+'\x20exec'+_0x2ae3bf(0xd4,0xd5)+'.',_0x4e8981[_0x2ae3bf(0x256,0x1d7)+'ages']=['go'],_0x4e8981['patte'+'rn']=/exec\.Command\s*\(\s*(?:fmt\.Sprintf|[^,)]+\+)/g,_0x4e8981[_0x3ecdf8(0x10f,0xc8)]=_0x2ae3bf(0xdf,0x1b7)+_0x3ecdf8(-0x124,-0xf3)+_0x2ae3bf(0x1d8,0x22d)+_0x3ecdf8(-0x122,-0xb3)+_0x3ecdf8(0x34,0x56)+_0x2ae3bf(0x105,0xc7)+_0x2ae3bf(0x183,0x1d9)+_0x3ecdf8(0xf,-0x88)+_0x2ae3bf(0x227,0x185)+_0x2ae3bf(0xc7,0x15f)+_0x3ecdf8(0x51,0xac)+_0x3ecdf8(0x47,-0x5)+_0x3ecdf8(-0x16c,-0x103)+'nd(\x22c'+'md\x22,\x20'+_0x3ecdf8(-0xc,0xc0)+'\x22,\x20\x22a'+'rg2\x22)'+'.';const _0x2bd472={};_0x2bd472['id']=_0x2ae3bf(0x219,0x2b2)+_0x2ae3bf(0xe8,0x168)+'2',_0x2bd472[_0x2ae3bf(0x1a9,0x1b7)]=_0x2ae3bf(0x25c,0x17a)+'8',_0x2bd472[_0x2ae3bf(0x1e4,0x1d4)+_0x2ae3bf(0x1c9,0x13b)]=_0x3ecdf8(-0x199,-0xc0)+_0x3ecdf8(-0x91,-0xce),_0x2bd472['title']=_0x2ae3bf(0xd5,0x28)+_0x2ae3bf(0x11e,0x29)+_0x2ae3bf(0x218,0x26c)+_0x2ae3bf(0x1ca,0x2bc)+_0x3ecdf8(-0x1f,0xcb)+_0x3ecdf8(0xe,0x4f)+'ution'+'\x20via\x20'+'bash\x20'+'-c',_0x2bd472[_0x3ecdf8(-0x1f9,-0x108)+_0x2ae3bf(0x29b,0x260)+'n']=_0x2ae3bf(0x226,0x2c5)+_0x2ae3bf(0x174,0x1c9)+'\x20-c\x20w'+_0x3ecdf8(-0x26,-0xf6)+_0x3ecdf8(-0x13e,-0xca)+_0x2ae3bf(0x120,0xc3)+'ings\x20'+_0x2ae3bf(0x237,0x311)+_0x3ecdf8(-0xcd,-0x1c)+_0x3ecdf8(-0x20,0xc6)+_0x2ae3bf(0x201,0x138)+_0x3ecdf8(0x62,-0x2c)+_0x3ecdf8(0x9b,0xb)+_0x3ecdf8(0x39,-0xaf)+_0x2ae3bf(0x166,0xbb)+_0x3ecdf8(0x42,0x36)+'\x20inje'+'ction'+'.',_0x2bd472[_0x2ae3bf(0x256,0x179)+_0x2ae3bf(0x22b,0x23c)]=['go'],_0x2bd472['patte'+'rn']=/exec\.Command\s*\(\s*['"](?:bash|sh|cmd)['"]\s*,\s*['"](?:-c|\/c)['"]\s*,/g,_0x2bd472[_0x2ae3bf(0x2a0,0x1e0)]=_0x2ae3bf(0xbf,0xce)+'\x20shel'+_0x2ae3bf(0xf2,0x1e4)+'ocati'+_0x3ecdf8(0x33,0x77)+_0x2ae3bf(0xbd,0x17f)+'ec.Co'+_0x3ecdf8(-0x8a,-0x49)+_0x3ecdf8(0x24,-0xd0)+_0x3ecdf8(-0xc6,-0x22)+'ct\x20bi'+'nary\x20'+'and\x20a'+_0x3ecdf8(-0xba,-0x95)+_0x2ae3bf(0x21d,0x1b9)+_0x2ae3bf(0x17b,0x192);const _0x8b7d09={};_0x8b7d09['id']=_0x3ecdf8(0xba,0xb4)+_0x3ecdf8(0x18,-0x3d)+'1',_0x8b7d09[_0x2ae3bf(0x1a9,0x1d7)]='CWE-2'+'2',_0x8b7d09[_0x3ecdf8(-0xa0,0xc)+_0x3ecdf8(0x63,-0xf)]=_0x2ae3bf(0x27d,0x211),_0x8b7d09[_0x3ecdf8(0x3,0xa0)]=_0x3ecdf8(-0xb0,-0x6e)+_0x2ae3bf(0x179,0x100)+'rsal\x20'+_0x3ecdf8(-0x18e,-0xe8)+_0x3ecdf8(0x66,0xbb)+'zed\x20f'+'ile\x20p'+_0x2ae3bf(0x2aa,0x337),_0x8b7d09[_0x2ae3bf(0xd0,0x6)+_0x3ecdf8(0xfd,0xc3)+'n']='User\x20'+_0x3ecdf8(0x1aa,0xce)+'\x20used'+_0x3ecdf8(0x22,0x10)+_0x3ecdf8(-0x14,0xc7)+_0x3ecdf8(0x18,0x78)+_0x2ae3bf(0x25d,0x207)+'witho'+_0x2ae3bf(0x21b,0x231)+_0x2ae3bf(0x268,0x1d6)+_0x2ae3bf(0x129,0xa4)+_0x3ecdf8(0x113,0x37)+_0x2ae3bf(0x283,0x276)+_0x2ae3bf(0xc6,0xc4)+_0x3ecdf8(-0x8b,-0xc8)+_0x3ecdf8(-0x81,-0x31)+_0x3ecdf8(0x69,-0x3e),_0x8b7d09['langu'+_0x2ae3bf(0x22b,0x2d7)]=['go'],_0x8b7d09[_0x2ae3bf(0xff,0x164)+'rn']=/(?:os\.(?:Open|Create|ReadFile|WriteFile|Remove|Stat|MkdirAll)|ioutil\.(?:ReadFile|WriteFile)|filepath\.Join)\s*\(\s*(?:r\.|req\.|c\.|ctx\.|params|query|mux\.Vars)/g,_0x8b7d09['fix']='Use\x20f'+_0x3ecdf8(0x6b,-0x32)+_0x2ae3bf(0x153,0x1b3)+_0x2ae3bf(0x1a8,0x121)+_0x2ae3bf(0x260,0x208)+_0x2ae3bf(0x28d,0x309)+_0x3ecdf8(-0x24,-0x3f)+_0x2ae3bf(0xf6,0x9f)+_0x3ecdf8(0xe5,0x24)+_0x2ae3bf(0x195,0x14e)+_0x3ecdf8(0xe,-0x48)+'thin\x20'+_0x3ecdf8(-0x1e9,-0x10b)+_0x3ecdf8(-0x110,-0x4f)+'ed\x20ba'+_0x3ecdf8(0x166,0xc1)+_0x2ae3bf(0x13f,0x225)+_0x2ae3bf(0x178,0x234)+_0x3ecdf8(-0xed,-0x24)+_0x3ecdf8(0x37,0xbe)+_0x2ae3bf(0xbc,0x19e)+_0x2ae3bf(0x240,0x27e)+'x.';const _0x159f84={};_0x159f84['id']='GO-SS'+_0x3ecdf8(0xd1,-0x19)+'1',_0x159f84['cwe']=_0x3ecdf8(0x26,-0x69)+'18',_0x159f84[_0x2ae3bf(0x1e4,0x23b)+_0x3ecdf8(-0xe,-0xf)]=_0x3ecdf8(0x88,0xa5),_0x159f84[_0x2ae3bf(0x278,0x30f)]=_0x3ecdf8(-0x14,-0x97)+_0x2ae3bf(0x1e2,0xf2)+'e\x20Req'+_0x3ecdf8(-0x120,-0x36)+_0x2ae3bf(0xd6,0x1d3)+_0x2ae3bf(0x106,0x128)+_0x3ecdf8(0x10,0x6)+_0x3ecdf8(0x35,-0x67)+_0x2ae3bf(0x207,0x20b)+_0x2ae3bf(0x139,0x195)+'r\x20inp'+'ut',_0x159f84['descr'+_0x3ecdf8(0x19d,0xc3)+'n']=_0x2ae3bf(0x230,0x170)+_0x3ecdf8(-0x6c,0x11)+_0x2ae3bf(0x2a5,0x23c)+'onstr'+_0x3ecdf8(-0x11a,-0xa4)+_0x2ae3bf(0x13c,0x43)+_0x3ecdf8(0x6f,0x39)+'\x20inpu'+_0x2ae3bf(0x267,0x24a)+'\x20acce'+_0x3ecdf8(-0x11,-0x109)+_0x2ae3bf(0xd2,0x155)+_0x2ae3bf(0x1be,0xf0)+_0x2ae3bf(0x208,0x1e1)+'.',_0x159f84[_0x3ecdf8(0xb0,0x7e)+_0x3ecdf8(-0x21,0x53)]=['go'],_0x159f84[_0x2ae3bf(0xff,0x57)+'rn']=/http\.(?:Get|Post|Head|NewRequest)\s*\(\s*(?:fmt\.Sprintf|[^,)]+\+\s*(?:r\.|req\.|params|query))/g,_0x159f84['fix']=_0x3ecdf8(0x23,0xc5)+_0x3ecdf8(-0x92,-0xb5)+_0x2ae3bf(0x285,0x1b8)+_0x2ae3bf(0x23e,0x186)+_0x3ecdf8(0x55,0x32)+_0x3ecdf8(-0x30,0x8b)+_0x3ecdf8(-0xb,-0xa9)+_0x2ae3bf(0x187,0x16f)+_0x2ae3bf(0x126,0x1d6)+_0x2ae3bf(0x292,0x370)+_0x3ecdf8(0xe1,0x3d)+_0x3ecdf8(0xb3,0x42)+_0x3ecdf8(0x175,0xa9)+_0x2ae3bf(0xea,0x50)+'10.x,'+_0x3ecdf8(-0x1,0x82)+_0x2ae3bf(0x16d,0x1ee)+'.x,\x201'+_0x3ecdf8(0x18,-0x8)+_0x2ae3bf(0x265,0x233);const _0x4126a3={};_0x4126a3['id']=_0x2ae3bf(0x1d1,0xf6)+_0x3ecdf8(-0x179,-0xe0)+'001',_0x4126a3[_0x2ae3bf(0x1a9,0x28e)]='CWE-3'+'27',_0x4126a3[_0x2ae3bf(0x1e4,0x29d)+_0x2ae3bf(0x1c9,0xce)]=_0x2ae3bf(0x27d,0x32b),_0x4126a3['title']='Weak\x20'+_0x2ae3bf(0x17f,0x107)+_0x2ae3bf(0x17a,0x87)+_0x2ae3bf(0x11a,0x13f)+_0x2ae3bf(0x1d6,0xf9)+_0x3ecdf8(0x2,-0x6d),_0x4126a3[_0x3ecdf8(-0x1f8,-0x108)+_0x3ecdf8(0x6,0xc3)+'n']='MD5\x20i'+_0x3ecdf8(-0x1ad,-0xea)+'ptogr'+_0x2ae3bf(0x273,0x263)+_0x3ecdf8(0xf,-0xa2)+_0x2ae3bf(0x194,0x1c6)+_0x3ecdf8(-0x27,0x1e)+_0x3ecdf8(-0xd,0xa2)+'ons\x20c'+_0x2ae3bf(0x22c,0x2af)+_0x3ecdf8(-0x1f7,-0x10f)+_0x3ecdf8(-0xbf,-0x10c)+_0x2ae3bf(0x1d4,0x13b)+_0x3ecdf8(-0xd9,0x16)+'s.',_0x4126a3[_0x2ae3bf(0x256,0x325)+_0x3ecdf8(-0x57,0x53)]=['go'],_0x4126a3['patte'+'rn']=/(?:md5\.(?:New|Sum)|crypto\/md5)/g,_0x4126a3[_0x2ae3bf(0x2a0,0x210)]=_0x3ecdf8(0x30,-0x10)+_0x3ecdf8(0xfa,0x1a)+_0x3ecdf8(-0x2e,-0xa7)+_0x2ae3bf(0x25b,0x2f1)+'\x20stro'+_0x2ae3bf(0xc4,0x80)+_0x2ae3bf(0x115,0x1a9)+_0x2ae3bf(0x258,0x29c)+_0x3ecdf8(0x94,0xd7)+_0x2ae3bf(0x28e,0x279)+'golan'+_0x3ecdf8(-0x130,-0x78)+_0x2ae3bf(0xc0,0x18f)+_0x3ecdf8(0x36,-0x3c)+_0x3ecdf8(0x75,0x9e)+'t.';const _0x30a4f7={};_0x30a4f7['id']=_0x3ecdf8(0xd4,-0x7)+'YPTO-'+_0x2ae3bf(0x1d2,0x127),_0x30a4f7['cwe']=_0x2ae3bf(0x1d9,0x1ca)+'27',_0x30a4f7[_0x2ae3bf(0x1e4,0x2db)+_0x3ecdf8(0x77,-0xf)]=_0x3ecdf8(0x169,0xa5),_0x30a4f7[_0x2ae3bf(0x278,0x369)]=_0x3ecdf8(-0x9a,0x5e)+'Crypt'+'ograp'+_0x2ae3bf(0x11a,0xab)+_0x3ecdf8(-0x1d,-0xc)+'usage',_0x30a4f7[_0x2ae3bf(0xd0,0x4c)+_0x2ae3bf(0x29b,0x1a3)+'n']=_0x3ecdf8(0xdd,-0xc)+_0x2ae3bf(0x228,0x1a5)+_0x3ecdf8(-0x9b,-0x8e)+_0x2ae3bf(0x128,0x10a)+'or\x20se'+'curit'+_0x3ecdf8(0x176,0x9c)+'\x20due\x20'+_0x2ae3bf(0x138,0x69)+_0x2ae3bf(0x22a,0x215)+_0x2ae3bf(0x1b2,0x297)+_0x2ae3bf(0x27a,0x1b4)+_0x2ae3bf(0x22d,0x26b)+'tacks'+'.',_0x30a4f7[_0x2ae3bf(0x256,0x19f)+'ages']=['go'],_0x30a4f7[_0x3ecdf8(-0xac,-0xd9)+'rn']=/(?:sha1\.(?:New|Sum)|crypto\/sha1)/g,_0x30a4f7[_0x3ecdf8(0x16,0xc8)]='Use\x20c'+_0x2ae3bf(0x1f2,0x105)+'/sha2'+_0x3ecdf8(-0x1d,0x83)+_0x2ae3bf(0x279,0x17c)+'nger.';const _0x1268cc={};function _0x4e00(){const _0x251358=['yxjHBwu','ntm3otuWnhvrBKT6qG','igvYCIa','Aw5Nigu','Dg8GAw4','B24Uifu','CgvYyxq','zwvZlG','DgvTCgW','C2uGDxm','oIbKyI4','q1Dflte','BgfUz3u','y2fSAg8','CgfZC3C','revtige','ide3mI4','ntyGB3i','q1DfltC','Aw9UCYa','Aw9UlG','zxmGr28','igfUzca','CYbJAgu','ifn0CMK','ywXSB3C','BMCGy28','oc54ks4','BMnHDgu','DcbJyw4','BML0AxO','u1fmieK','nZu2CeTrA2vu','qwXSieK','CMf3ifm','uMvTB3y','Dgf0zq','sw5Zzwm','C3nPBMC','DwjSAwm','AxzLihi','yxbOAwm','Esb1C2u','CIbWyxi','yMnYExa','zM9Yigq','DgL0Bgu','ihn0CM8','BgXPC2K','uY0Wmde','swDUB3i','AgLNAa','revtihu','zM9Yifq','BMCGAw4','ucbYyw4','teKTmda','ywnJzxm','yw5KoIa','uKXZige','ywnLCW','AgvSBca','ywjPBgK','y2vZigK','mZm2','zxjZAw8','r08Tuee','DMvYAwy','ihvZzsa','mJCUmc4','BMv4Cgu','BNrMigy','DMf0zs8','yw5PDgK','BI9MB3i','ywjSzsa','DhjPBMC','EgvJDxq','iMfYzZe','C2uGzgK','mdaX','Axb0Aw8','zxLZlG','vMfSAwq','B3vNAca','AwXLig8','zML4','ihnLCNy','ier5BMe','u2HLBgW','u3bYAw4','uKXZigm','Aw5WDxq','zYbVBIa','BNrLCMy','qMLUzgK','yxrO','ieDVigm','rvmGkgm','q1Dflti','B3DUihy','B3jKCYW','zgLZy2W','rgLZywi','DgLLCYa','q29UzgK','igzTDc4','CY5iyxm','C2uGzxG','yMfZzs8','qxzVAwq','l3GVy3i','igXLywq','AwX1CMu','Bw9Kzsa','BMDLCI4','BMnSDwq','CYbHCMi','lKnVBw0','rg9JDw0','igDLBMu','Dxn0ig4','ig9Uzxm','CMf0zwq','DgHLigu','tfmXmY4','C3mGAw4','zgvZy3i','ouDiEefrDW','DgvYBMe','zwqUieq','DxrPB24','q29TBwe','rM9Yz2u','zs4Gvxm','DgLVBI4','r08Tve0','Esa1nI0','tfmXmIa','DgLHBca','zw5HyMW','BIbJyw4','ugfZCYa','ndaZnte3nfLXDfH3Eq','CIbZzwm','AxrOigq','u2v0ie0','zw1VCNK','yxjNDw0','zsbKyxq','lcbHBgW','reKTmda','rgLZy2e','z2vZicG','DhrHy2S','CNrPzMK','ywDLigi','CYbJCNK','CYbVCIa','4OcuifvUCW','qMLUzca','BcbPBNy','AxzLig8','mti5mZe0mLLTufn5uq','BIbPBIa','ihjLC28','DxjLifi','wvbutY0','ywzLifa','BgvHzca','vMvYAwy','AwvZigq','mJroCfzRExe','Aw5Niha','Cgf0Dgu','yMXLCYa','y2f0zsa','mdaZ','zxmGyxi','u1fmihe','zsbWyxi','CNKG4Ocuia','BMqGzM8','ihDPDgG','tfmGms4','y2fS','jdiGCgW','C29SDxq','rvmGyxi','Ew5HBwK','CMv0Dxi','AxrYyxi','CguGC2e','Aw9UiokaLa','yML0CMe','zguGzMe','iezVCIa','ihn0CMK','zMv0Esa','y3jPDgK','mta4mdi2otbxywHfyue','AhKG4Ocuia','DMfSAwq','DxrLEcW','ysbYywm','BMqGsw4','B2rLigu','yYbZDhi','l3jHBMq','zxiGAw4','yxrLifu','ihf1zxi','yxmGC2u','AYbWCMK','ig1HBI0','DgvKigy','yxrPB24','B3n1CMu','BMv0D28','BNmGyMu','C2LVBIa','B3bLCMe','BgLZDc4','CMfUzca','l3nOyti','zxmGD2K','CMLHyMW','Dwn0zwq','ywqGB2y','ywXSEsa','iIWGAwq','Dg8GChi','Bsb1C2u','igzVCIa','it0GBMK','igzYB20','zIbMBxq','uKuGAwq','CMvJDg8','DcbZAge','u2vYDMu','CYbHieC','CMD1Bwu','DgLVBIa','zxnZAw4','DMuGA24','CY5wzxi','BNmGAw4','ihrViha','ChjLy2e','lLjxtxu','vgHLihu','CgXHDgu','BMrZigy','zxjPzxm','CNmGDg8','CgvYiem','Dgv4lca','DgGUq2W','zs1TAwq','zYbZAge','igj1AwW','tfmGDMu','CNjVCIa','CMvKihm','ignHDxm','teuSiei','DhmGCge','B3iGDgW','DgGVCMe','y2fSBhK','zY5VCMC','Chv0ige','y2SGzxi','BMf0Aw8','ierfuY4','DgLVBNm','lcbLBMe','CYbLBMe','zw5ZAxq','ihbYB2q','ugf0Aca','C2fNzq','zxiGDg8','mtyTmZe','yMvOyxy','q1DfltK','ExbHC3m','AwmGvvi','Cg1LBNq','vxnLiee','igjHC2G','rxjYB3i','q1DfltG','lLnWCMK','CNKGDxm','vhjHDMu','B2DYyxa','C3qU','ifjLDhu','mc4Wigu','BIdIGjqGva','q3j5Chq','ihnOyxi','DxjPDhK','ihn5BMm','yw1LDgu','BMqGm0q','zsbKzxa','id0Gjde','iejSB2m','q0uTmda','EhbLy3q','Aw5Qzwm','C3fSihm','tfmGq2u','yML0igS','runuicO','Bw1HBMq','AxmGD2K','y29TBwe','lLjLywq','CYb0Agu','yNjVA2u','Cgf0Aca','DgvUAw4','AhKGAxq','zwnLC3m','Esb0Agu','zxmU','veGTmda','Exb0BY8','Ew5JlK0','DguGzNi','AwXLCY4','DxbWB3i','CM4G4Ocuia','DwvZDca','Dg9Rzw4','uI0Wmde','lJiGAge','AwXLCge','EsbMAwW','zwfUkcK','y3DL','zwrPy3q','C3mGywi','igLUDgu','BgLRzsa','zxjPzNK','AwnHDgK','mZaXodiZowDYtwfzua','ugfYC2K','ywWGy28','uMfJzsa','Aw5Nihm','A2v5CY4','igrPCMu','igv0yY4','Aw5wzxi','zwqGDMe','icqXlca','ignHCMu','CYb0Ahi','ihrVihu','BcbZzxi','uKyTmda','u0fgrs0','zgXLige','yxrLCYa','idaUmc4','CM9Yihi','vxnLiha','yw5Kihi','DwXUzxi','vxnLigm','Axr5','B24G4Ocuia','DgvYCg8','u0Hbmsa','ihzHBhu','zYbMB3i','B3DPBMC','otiUmty','r08Tq1i','mdaY','zxHLyY4','igLUihm','r08Tu1e','tuq1ihu','DgLUzxm','zw50CYa','q1Dfltm','zMuUug8','zIb1BNm','mMfTDKHdtq','Dg8GBg8','rhLUyw0','zwqGCxu','C2LVBLq','mJeZmdqYvuThqMHX','CI1tAwq','CNbYzxq','C2v2zxi','iokaLcbTyq','Bwf0Ac8','ueWTmda','igLUigy','Aw5Nifu','EMf0Aw8','zwrLzca','mJbpquP0zfa','BNb1Dca','zwnVBMq','zw50ihC','Dwn0Aw8','BMDZlG','CNLWDg8','AxmGChi','vxnLig8','BMCGDxm','BI4Gq28','zwqGDg8','ihbHy2S','BwvKAxu','ig9Yigm','igLZC3u','BhzLzca','mZGXodvYyLnSvKC','zNvSBhK','DgHVDxq','C2vJDxi','C2HLBgW','BcbYDwW','vw5JAgu','Bcb7ihi','CMrLzca','yxj5lIa','tcbMCM8','DMLJzxm','yw5Kig0','DcbHBIa','zxjPEMu','CYbVBMW','EhbVC2u','yMXPBMC','ignHBIa','Axr5lxm','ihvZzxi','zsbjBNm','ihnHzMu','CM9Tihu','Aw50zxi','igfJy2u','j3mGDhK','AMvJDgK','r08Tq00','BMfSieK','DxqGC2e','zxzLBg8','BNqGBgK','zsbWCM8','CYbHBMq','zxjYB3i','yw5KB20','B3qGyMu','r08Trvi','CMvKzwy','C2uGzMK','vxnPBMC','igv4zwm','AxmGzgu','B21PyYa','ywn0Awm','ywDLCW','yw4GyMu','B24Gyxq','CgfYyxq','zxm6igm','rMv0y2G','CYb0zw0','ieDVj3m','AxnHyMW','Bwf0DgK','DgyGB3i','v2vHAYa','CgfZC2u','C3qGkde','4OcuieDVCG','uxvLCNK','q1Dflty','BMPLy3q','DgLMAwm','z2fPBNm','Chv0','uhjLzMK','B3v0Aw4','BgrLCNm','yxjHBNq','r29YB3u','igfSBca','zxzPzxC','r08TuKe','zxmGAw4','Axbwzxi'];_0x4e00=function(){return _0x251358;};return _0x4e00();}_0x1268cc['id']='GO-CR'+_0x3ecdf8(-0xb7,-0xe0)+_0x2ae3bf(0x102,0x134),_0x1268cc[_0x2ae3bf(0x1a9,0x22e)]=_0x2ae3bf(0x1d9,0x1a4)+'27',_0x1268cc[_0x2ae3bf(0x1e4,0x1aa)+'ity']=_0x2ae3bf(0x27d,0x209),_0x1268cc[_0x2ae3bf(0x278,0x351)]=_0x3ecdf8(0x135,0x5e)+_0x2ae3bf(0x17f,0x25c)+_0x3ecdf8(-0xfd,-0x5e)+'hy\x20—\x20'+_0x2ae3bf(0x27e,0x189)+'sage',_0x1268cc[_0x3ecdf8(-0x135,-0x108)+'iptio'+'n']=_0x3ecdf8(-0x57,0x81)+_0x3ecdf8(0xb,-0x54)+_0x2ae3bf(0x10d,0x157)+_0x3ecdf8(-0x11b,-0x53)+'recat'+_0x2ae3bf(0xd3,0x12)+'ES\x20ha'+_0x3ecdf8(0x92,0x34)+_0x2ae3bf(0xda,0x1d1)+_0x3ecdf8(-0x114,-0x4b)+_0x3ecdf8(0x36,0xc4),_0x1268cc['langu'+_0x3ecdf8(-0x2c,0x53)]=['go'],_0x1268cc['patte'+'rn']=/(?:des\.NewCipher|des\.NewTripleDESCipher|crypto\/des)/g,_0x1268cc['fix']=_0x2ae3bf(0x173,0x1eb)+_0x3ecdf8(-0xd,0xd4)+_0x2ae3bf(0x1f2,0x2da)+'/aes)'+_0x2ae3bf(0x108,0x8e)+'\x20GCM\x20'+_0x3ecdf8(-0x45,-0x115)+'inste'+_0x2ae3bf(0x135,0x10b)+_0x2ae3bf(0x164,0x88);const _0x5a5665={};_0x5a5665['id']=_0x3ecdf8(0xa5,0x6f)+'ND-00'+'1',_0x5a5665[_0x3ecdf8(0x8e,-0x2f)]=_0x2ae3bf(0x1d9,0x122)+'38',_0x5a5665[_0x3ecdf8(-0x3c,0xc)+_0x2ae3bf(0x1c9,0x1f5)]='high',_0x5a5665['title']='Insec'+_0x3ecdf8(-0x1d4,-0xe1)+_0x3ecdf8(0x13f,0x49)+_0x3ecdf8(0x13,0xd)+_0x2ae3bf(0x15e,0x137)+_0x2ae3bf(0x107,0x98)+_0x2ae3bf(0xe1,0xd8)+_0x3ecdf8(-0xf1,-0x57),_0x5a5665[_0x3ecdf8(-0x17d,-0x108)+_0x3ecdf8(0x38,0xc3)+'n']=_0x3ecdf8(-0x3f,0xe)+_0x2ae3bf(0x130,0x9e)+_0x2ae3bf(0x1f3,0x153)+_0x2ae3bf(0x1aa,0x1f2)+_0x2ae3bf(0x295,0x1df)+'and\x20m'+_0x2ae3bf(0xca,0x49)+_0x2ae3bf(0x222,0x2e1)+'\x20used'+_0x3ecdf8(-0x172,-0x9e)+_0x2ae3bf(0x200,0x150)+_0x2ae3bf(0x210,0x1ec)+_0x3ecdf8(-0x69,-0x70)+_0x2ae3bf(0xf3,0x1ef)+'perat'+_0x2ae3bf(0x25d,0x308)+_0x2ae3bf(0x1ad,0x28c)+_0x3ecdf8(-0x4a,-0x35)+_0x2ae3bf(0xef,0x4b)+_0x2ae3bf(0x1b5,0x2b0),_0x5a5665['langu'+_0x2ae3bf(0x22b,0x184)]=['go'],_0x5a5665[_0x2ae3bf(0xff,0x3c)+'rn']=/math\/rand|rand\.(?:Intn|Int31|Int63|Float64|Read)\s*\(/g,_0x5a5665[_0x2ae3bf(0x2a0,0x2d3)]=_0x2ae3bf(0x1c8,0x21c)+_0x3ecdf8(-0x20,0x1a)+_0x2ae3bf(0x121,0xb9)+'\x20for\x20'+_0x3ecdf8(0x88,0x28)+'ity-s'+_0x2ae3bf(0x168,0x16d)+_0x2ae3bf(0x272,0x245)+_0x3ecdf8(0x4b,0x49)+_0x2ae3bf(0x1cd,0x29b)+_0x2ae3bf(0x22f,0x1b7)+_0x3ecdf8(0x7b,0x1a)+'/rand'+_0x2ae3bf(0x192,0x169)+'(buf)';const _0x5ad5d9={};function _0x2ae3bf(_0x3ed876,_0x347b82){const _0xd6bc98={_0x61b05:0xfd};return _0x28bf(_0x3ed876- -_0xd6bc98._0x61b05,_0x347b82);}_0x5ad5d9['id']='GO-TL'+_0x2ae3bf(0x27b,0x1eb),_0x5ad5d9[_0x3ecdf8(0x84,-0x2f)]=_0x3ecdf8(0x141,0xd5)+'95',_0x5ad5d9['sever'+'ity']=_0x2ae3bf(0x118,0x12f)+_0x3ecdf8(0x18,-0xce),_0x5ad5d9[_0x3ecdf8(0x74,0xa0)]=_0x2ae3bf(0xb8,0x1ad)+'led\x20T'+_0x3ecdf8(0x95,-0x4c)+_0x2ae3bf(0xec,0xac)+_0x3ecdf8(-0x174,-0xd7)+_0x3ecdf8(-0x147,-0xdd)+_0x2ae3bf(0x1af,0x1cd)+'on',_0x5ad5d9[_0x2ae3bf(0xd0,0xe0)+_0x3ecdf8(0xcc,0xc3)+'n']=_0x3ecdf8(0xb0,0x97)+'ureSk'+_0x3ecdf8(0x116,0x71)+'ify\x20d'+_0x2ae3bf(0x233,0x24c)+'es\x20ce'+_0x3ecdf8(-0x144,-0xec)+_0x2ae3bf(0x101,0x15c)+_0x2ae3bf(0x11b,0x1b2)+_0x3ecdf8(0x1c,-0xaf)+_0x2ae3bf(0xe7,0x87)+_0x3ecdf8(0x3e,-0x9)+_0x3ecdf8(-0x10,-0xb1)+'in-th'+_0x2ae3bf(0x154,0xd0)+_0x2ae3bf(0x1c1,0x125)+_0x2ae3bf(0xeb,0x6c)+'s.',_0x5ad5d9[_0x2ae3bf(0x256,0x26a)+_0x2ae3bf(0x22b,0x26a)]=['go'],_0x5ad5d9[_0x3ecdf8(-0x166,-0xd9)+'rn']=/InsecureSkipVerify\s*:\s*true/g,_0x5ad5d9['fix']=_0x2ae3bf(0x26d,0x1d4)+_0x3ecdf8(-0x5,0x3a)+'ecure'+'SkipV'+_0x3ecdf8(0x88,-0x2a)+':\x20tru'+_0x3ecdf8(-0x1f,-0x101)+_0x3ecdf8(0xfc,0x46)+_0x2ae3bf(0x151,0x62)+'A\x20cer'+_0x3ecdf8(0x10d,0x65)+_0x2ae3bf(0x1c2,0x1a0)+_0x3ecdf8(0xef,0xa7)+_0x3ecdf8(-0x9b,-0x81)+'rific'+_0x3ecdf8(-0xbf,-0xaf)+'.';const _0x406f2e={};_0x406f2e['id']='GO-TL'+'S-002',_0x406f2e[_0x2ae3bf(0x1a9,0x281)]=_0x2ae3bf(0x1d9,0x151)+'27',_0x406f2e[_0x2ae3bf(0x1e4,0x2b0)+_0x3ecdf8(-0x4f,-0xf)]=_0x2ae3bf(0x27d,0x20d),_0x406f2e[_0x2ae3bf(0x278,0x337)]=_0x3ecdf8(0x119,0x5e)+'TLS\x20V'+_0x3ecdf8(0xb9,0xb3)+_0x2ae3bf(0x17e,0x11c)+_0x2ae3bf(0x109,0x1fb)+'0\x20or\x20'+'1.1',_0x406f2e[_0x3ecdf8(-0x13b,-0x108)+_0x2ae3bf(0x29b,0x1f4)+'n']='TLS\x20v'+'ersio'+_0x3ecdf8(-0x45,-0xac)+'low\x201'+_0x2ae3bf(0x1a5,0x233)+_0x3ecdf8(0x53,-0x92)+_0x2ae3bf(0x2ae,0x306)+_0x3ecdf8(0x95,-0x11)+_0x3ecdf8(-0x2a,0xb0)+_0x3ecdf8(-0x14d,-0x11f)+'(POOD'+_0x2ae3bf(0x15b,0x76)+'EAST,'+_0x3ecdf8(0xb6,-0x21)+').',_0x406f2e[_0x3ecdf8(0x3e,0x7e)+'ages']=['go'],_0x406f2e[_0x2ae3bf(0xff,0x22)+'rn']=/(?:MinVersion|MaxVersion)\s*:\s*tls\.Version(?:SSL30|TLS10|TLS11)/g,_0x406f2e['fix']=_0x2ae3bf(0xe3,0x14)+_0x2ae3bf(0x1b8,0x12e)+_0x2ae3bf(0x12d,0x20f)+'to\x20tl'+_0x3ecdf8(-0x15c,-0x91)+_0x3ecdf8(-0xd1,0x8)+_0x2ae3bf(0xdb,0xb8)+_0x2ae3bf(0x15d,0x148)+_0x2ae3bf(0x147,0xde)+_0x3ecdf8(0x80,0x8)+_0x3ecdf8(-0xb0,-0x10a);const _0x24a54f={};_0x24a54f['id']=_0x2ae3bf(0xd9,0x6d)+_0x3ecdf8(-0xb6,0xf)+'1',_0x24a54f['cwe']=_0x2ae3bf(0x255,0x2ff)+_0x2ae3bf(0x28a,0x190),_0x24a54f['sever'+_0x2ae3bf(0x1c9,0x26a)]=_0x2ae3bf(0x118,0x1f2)+_0x3ecdf8(-0x1a3,-0xce),_0x24a54f['title']='Templ'+'ate\x20I'+_0x2ae3bf(0x23c,0x332)+_0x3ecdf8(-0xc0,-0xc6)+_0x2ae3bf(0x2a2,0x211)+'mic\x20t'+'empla'+_0x3ecdf8(-0x9f,-0x3a)+'om\x20us'+_0x3ecdf8(-0xbc,-0xb6)+'put',_0x24a54f[_0x3ecdf8(-0x189,-0x108)+_0x2ae3bf(0x29b,0x2fe)+'n']=_0x3ecdf8(0xbf,-0x27)+_0x3ecdf8(0xbd,0x1d)+_0x3ecdf8(-0xc2,-0xb6)+_0x3ecdf8(0x15,-0x77)+_0x3ecdf8(-0x91,-0x96)+'o\x20tem'+_0x3ecdf8(-0x16c,-0x8b)+_0x2ae3bf(0x20f,0x2ec)+_0x2ae3bf(0xfa,0x66)+_0x3ecdf8(0x123,0x76)+'forma'+_0x2ae3bf(0x144,0x1b7)+_0x3ecdf8(-0x189,-0x121)+_0x2ae3bf(0x12a,0x85)+_0x2ae3bf(0x1fa,0x297)+_0x2ae3bf(0x11f,0x1b0)+_0x2ae3bf(0x297,0x33b)+_0x3ecdf8(0x73,0x86),_0x24a54f[_0x3ecdf8(0x10e,0x7e)+_0x2ae3bf(0x22b,0x300)]=['go'],_0x24a54f[_0x3ecdf8(-0x14b,-0xd9)+'rn']=/template\.(?:New|Must)\s*\([^)]*\)\.Parse\s*\(\s*(?:r\.|req\.|params|query|body|input)/g,_0x24a54f[_0x2ae3bf(0x2a0,0x37a)]=_0x3ecdf8(-0xc0,-0x13)+_0x3ecdf8(0x64,0x4c)+'ined\x20'+_0x3ecdf8(0x11,0x7a)+'ate\x20f'+_0x2ae3bf(0x19f,0x107)+'\x20Neve'+_0x2ae3bf(0x275,0x2ed)+_0x3ecdf8(0xbf,0x7b)+'er\x20in'+'put\x20a'+_0x2ae3bf(0x231,0x2e0)+_0x3ecdf8(-0x5,-0x8b)+'\x20stri'+_0x3ecdf8(0x109,0x19);const _0x449e1c={};_0x449e1c['id']='GO-RA'+_0x2ae3bf(0x188,0x112)+'1',_0x449e1c[_0x3ecdf8(0xc2,-0x2f)]=_0x3ecdf8(-0x4a,0x1)+'62',_0x449e1c['sever'+_0x3ecdf8(-0xe6,-0xf)]=_0x3ecdf8(0x23,0x21)+'m',_0x449e1c[_0x3ecdf8(-0x18,0xa0)]='Poten'+_0x2ae3bf(0xdc,0x1b8)+_0x3ecdf8(0x3c,-0x25)+_0x3ecdf8(-0x108,-0x11e)+_0x2ae3bf(0x144,0x1d5)+_0x2ae3bf(0x239,0x296)+_0x3ecdf8(0x102,0x69)+'e\x20acc'+_0x2ae3bf(0x145,0x1c2)+_0x2ae3bf(0x155,0xf1)+_0x3ecdf8(-0xc3,-0x7f)+_0x2ae3bf(0x26e,0x31a),_0x449e1c[_0x2ae3bf(0xd0,-0x3)+'iptio'+'n']=_0x2ae3bf(0x244,0x2ca)+_0x3ecdf8(0x1f,-0x1)+_0x2ae3bf(0x216,0x232)+_0x2ae3bf(0x270,0x1fa)+_0x3ecdf8(0x43,-0x58)+_0x3ecdf8(-0x66,-0x1f)+_0x3ecdf8(0x55,-0xa5)+_0x3ecdf8(-0x17c,-0xa6)+_0x3ecdf8(0x25,0x27)+_0x2ae3bf(0x182,0x18f)+'hroni'+_0x3ecdf8(0x5,0x12)+_0x3ecdf8(-0x1d5,-0xfa)+_0x3ecdf8(0x12,-0x7e)+_0x3ecdf8(-0x4c,-0xf2)+_0x2ae3bf(0x11d,0x1f6)+_0x2ae3bf(0x19a,0x256),_0x449e1c['langu'+_0x2ae3bf(0x22b,0x15f)]=['go'],_0x449e1c[_0x3ecdf8(0x18,-0xd9)+'rn']=/go\s+func\s*\(\s*\)\s*\{[^}]*(?:map\[|=\s*(?:append|[^=]))/g,_0x449e1c[_0x3ecdf8(0x1aa,0xc8)]='Use\x20s'+_0x2ae3bf(0x19d,0x1e3)+_0x2ae3bf(0x11c,0xb2)+_0x2ae3bf(0x182,0x1fd)+_0x3ecdf8(-0x4a,-0x8d)+_0x2ae3bf(0x152,0x239)+'chann'+'els,\x20'+'or\x20at'+_0x3ecdf8(0x1f,0x51)+_0x3ecdf8(0x17,-0xaa)+_0x3ecdf8(0x10,-0x73)+_0x3ecdf8(-0xaa,-0x8f)+'rotec'+_0x2ae3bf(0x140,0x17f)+_0x2ae3bf(0x159,0xe0)+'tate.';const _0x7fcd72={};_0x7fcd72['id']=_0x2ae3bf(0x223,0x297)+_0x3ecdf8(-0x8a,-0x34),_0x7fcd72[_0x3ecdf8(-0x120,-0x2f)]=_0x3ecdf8(0xd2,0x1)+'91',_0x7fcd72[_0x2ae3bf(0x1e4,0xfc)+_0x3ecdf8(0xce,-0xf)]='mediu'+'m',_0x7fcd72[_0x2ae3bf(0x278,0x245)]=_0x2ae3bf(0x203,0x10d)+'cked\x20'+_0x3ecdf8(-0x7a,-0x63)+_0x2ae3bf(0x17c,0x270)+_0x2ae3bf(0x1a1,0x28f)+_0x2ae3bf(0xe9,0xe)+_0x2ae3bf(0x205,0x193)+_0x3ecdf8(0x80,0x48)+_0x2ae3bf(0x1cd,0x16e)+'e',_0x7fcd72[_0x3ecdf8(-0x1ef,-0x108)+_0x2ae3bf(0x29b,0x256)+'n']=_0x2ae3bf(0x27c,0x1da)+_0x3ecdf8(0xb5,0x75)+_0x2ae3bf(0x158,0x77)+_0x3ecdf8(-0xda,-0xc9)+_0x2ae3bf(0x148,0x188)+_0x3ecdf8(0xf1,0xd3)+'an\x20hi'+_0x2ae3bf(0x114,0x1c8)+_0x2ae3bf(0xc2,0x18d)+_0x3ecdf8(0xd8,0x47)+_0x3ecdf8(-0x73,-0x117)+_0x3ecdf8(-0xf7,-0x1b)+_0x2ae3bf(0x290,0x1ca)+'cted\x20'+_0x3ecdf8(-0x76,-0x6a)+'ior\x20o'+_0x2ae3bf(0xe1,0xef)+_0x3ecdf8(-0x31,-0x57)+_0x2ae3bf(0x1fb,0x13b)+'es.',_0x7fcd72[_0x2ae3bf(0x256,0x304)+'ages']=['go'],_0x7fcd72[_0x2ae3bf(0xff,0x18d)+'rn']=/[a-zA-Z_]+\s*,\s*_\s*[:=]=?\s*(?:os\.|ioutil\.|io\.|http\.|sql\.|json\.|crypto\.|tls\.)/g,_0x7fcd72[_0x3ecdf8(0x12b,0xc8)]='Alway'+_0x2ae3bf(0x261,0x1de)+_0x3ecdf8(-0x116,-0x76)+_0x3ecdf8(-0xd,-0x14)+'eturn'+'s:\x20if'+_0x3ecdf8(0x5f,0x74)+_0x2ae3bf(0x13b,0x217)+_0x3ecdf8(0x21,0x2c)+'eturn'+_0x2ae3bf(0x24c,0x2a7)+'}';const _0x5b2b03={};_0x5b2b03['id']='GO-NE'+'T-001',_0x5b2b03['cwe']=_0x3ecdf8(0x106,0x63)+'68',_0x5b2b03[_0x3ecdf8(-0x7b,0xc)+_0x3ecdf8(0xf,-0xf)]=_0x3ecdf8(0xe7,0x21)+'m',_0x5b2b03['title']='Serve'+'r\x20Lis'+_0x2ae3bf(0x196,0xf1)+_0x2ae3bf(0x2a7,0x2b3)+_0x2ae3bf(0x26b,0x1f1)+_0x2ae3bf(0x2a8,0x20f)+_0x2ae3bf(0x286,0x343),_0x5b2b03[_0x3ecdf8(-0x1f,-0x108)+'iptio'+'n']=_0x3ecdf8(0xd7,0xd1)+'ng\x20to'+_0x2ae3bf(0x1c3,0x228)+_0x3ecdf8(-0x77,-0x5b)+_0x2ae3bf(0x20d,0x284)+_0x3ecdf8(-0xd,-0x45)+_0x2ae3bf(0x2a1,0x2b1)+_0x3ecdf8(0x87,-0x6c)+_0x2ae3bf(0x245,0x1f1)+_0x3ecdf8(-0x16c,-0xad)+'rk\x20in'+'terfa'+_0x3ecdf8(0x17e,0xb1)+_0x2ae3bf(0xc5,0xa7)+_0x3ecdf8(-0x179,-0xda)+_0x3ecdf8(-0x53,0x99)+_0x3ecdf8(-0x188,-0x10d)+'.',_0x5b2b03['langu'+_0x3ecdf8(0x9e,0x53)]=['go'],_0x5b2b03[_0x3ecdf8(-0x1c8,-0xd9)+'rn']=/(?:ListenAndServe|Listen)\s*\(\s*['"](?:0\.0\.0\.0|:)(?::\d+)?['"]/g,_0x5b2b03[_0x3ecdf8(0x15d,0xc8)]=_0x2ae3bf(0xf1,0xd0)+_0x3ecdf8(-0xb9,0x5)+_0x3ecdf8(0xc2,0x7f)+_0x2ae3bf(0x238,0x162)+_0x3ecdf8(-0x4,0xb7)+'0.1)\x20'+_0x3ecdf8(0x15a,0x9f)+_0x3ecdf8(-0x69,0x44)+_0x2ae3bf(0x172,0x1a7)+'\x20or\x20u'+_0x2ae3bf(0x225,0x1e1)+'rewal'+_0x3ecdf8(-0x37,0x2a)+_0x2ae3bf(0x248,0x2c3)+_0x2ae3bf(0x169,0xef)+_0x3ecdf8(0x21,0x18)+'n.';const _0x515ab4={};_0x515ab4['id']='GO-UN'+_0x2ae3bf(0x1c0,0x1df)+_0x2ae3bf(0x29a,0x1ae),_0x515ab4[_0x2ae3bf(0x1a9,0x1fa)]='CWE-2'+'42',_0x515ab4[_0x3ecdf8(-0x8f,0xc)+'ity']=_0x3ecdf8(0xb1,0xa5),_0x515ab4[_0x2ae3bf(0x278,0x188)]=_0x2ae3bf(0x1f4,0x2e4)+_0x3ecdf8(0x45,0x3)+_0x2ae3bf(0xf9,0x1a2)+'ackag'+'e',_0x515ab4[_0x3ecdf8(-0xa3,-0x108)+_0x3ecdf8(0xa2,0xc3)+'n']=_0x3ecdf8(-0x8c,-0x8c)+'nsafe'+_0x2ae3bf(0x1f8,0x2b5)+_0x3ecdf8(-0x1c2,-0xeb)+_0x3ecdf8(-0x114,-0x68)+_0x2ae3bf(0x25f,0x34d)+_0x3ecdf8(0xf3,0x3f)+_0x3ecdf8(-0x71,-0xc7)+_0x2ae3bf(0x117,0x159)+_0x2ae3bf(0x209,0x1ea)+_0x2ae3bf(0xe4,0x174)+_0x2ae3bf(0x213,0x2fa)+'ty\x20gu'+_0x3ecdf8(0x9f,0x6b)+_0x3ecdf8(-0x30,0x79),_0x515ab4[_0x2ae3bf(0x256,0x347)+'ages']=['go'],_0x515ab4[_0x2ae3bf(0xff,0x164)+'rn']=/unsafe\.Pointer/g;function _0x3ecdf8(_0x1d4f9b,_0x4de4bc){return _0x28bf(_0x4de4bc- -0x2d5,_0x1d4f9b);}_0x515ab4[_0x2ae3bf(0x2a0,0x25a)]='Avoid'+'\x20unsa'+_0x3ecdf8(-0x5d,0x2)+_0x2ae3bf(0x215,0x2f7)+'\x20unle'+_0x2ae3bf(0x1ab,0x25e)+_0x2ae3bf(0x10c,0xbf)+'ely\x20n'+_0x3ecdf8(-0x4,-0x40)+_0x3ecdf8(0xcb,0x2e)+_0x3ecdf8(-0x51,-0x110)+_0x3ecdf8(-0x7,0x17)+_0x2ae3bf(0x197,0x178)+'\x27s\x20ne'+_0x3ecdf8(0x1,0x13)+_0x2ae3bf(0x1c6,0x142)+_0x3ecdf8(0x108,0x6e)+_0x3ecdf8(-0xe,-0x1d)+_0x2ae3bf(0x1fe,0x28f)+'.';export const goRules=[_0x34ba48,_0x3385b7,_0x4e8981,_0x2bd472,_0x8b7d09,_0x159f84,_0x4126a3,_0x30a4f7,_0x1268cc,_0x5a5665,_0x5ad5d9,_0x406f2e,_0x24a54f,_0x449e1c,_0x7fcd72,_0x5b2b03,_0x515ab4];
|
package/dist/rules/index.js
CHANGED
|
@@ -1,147 +1 @@
|
|
|
1
|
-
import { javascriptRules } from "./javascript.js";
|
|
2
|
-
import { javascriptExtendedRules } from "./javascript-extended.js";
|
|
3
|
-
import { pythonRules } from "./python.js";
|
|
4
|
-
import { pythonExtendedRules } from "./python-extended.js";
|
|
5
|
-
import { goRules } from "./go.js";
|
|
6
|
-
import { javaRules } from "./java.js";
|
|
7
|
-
import { phpRules } from "./php.js";
|
|
8
|
-
import { rubyRules } from "./ruby.js";
|
|
9
|
-
import { cCppRules } from "./c-cpp.js";
|
|
10
|
-
import { csharpRules } from "./csharp.js";
|
|
11
|
-
import { shellRules } from "./shell.js";
|
|
12
|
-
import { dockerRules } from "./docker.js";
|
|
13
|
-
import { kubernetesRules } from "./kubernetes.js";
|
|
14
|
-
import { cicdRules } from "./cicd.js";
|
|
15
|
-
import { terraformRules } from "./terraform.js";
|
|
16
|
-
import { secretsRules } from "./secrets.js";
|
|
17
|
-
import { secretsExtendedRules } from "./secrets-extended.js";
|
|
18
|
-
const allRules = [
|
|
19
|
-
...javascriptRules,
|
|
20
|
-
...javascriptExtendedRules,
|
|
21
|
-
...pythonRules,
|
|
22
|
-
...pythonExtendedRules,
|
|
23
|
-
...goRules,
|
|
24
|
-
...javaRules,
|
|
25
|
-
...phpRules,
|
|
26
|
-
...rubyRules,
|
|
27
|
-
...cCppRules,
|
|
28
|
-
...csharpRules,
|
|
29
|
-
...shellRules,
|
|
30
|
-
...dockerRules,
|
|
31
|
-
...kubernetesRules,
|
|
32
|
-
...cicdRules,
|
|
33
|
-
...terraformRules,
|
|
34
|
-
...secretsRules,
|
|
35
|
-
...secretsExtendedRules,
|
|
36
|
-
];
|
|
37
|
-
const extensionToLanguage = {
|
|
38
|
-
// JavaScript / TypeScript
|
|
39
|
-
".js": "javascript",
|
|
40
|
-
".jsx": "javascript",
|
|
41
|
-
".mjs": "javascript",
|
|
42
|
-
".cjs": "javascript",
|
|
43
|
-
".ts": "typescript",
|
|
44
|
-
".tsx": "typescript",
|
|
45
|
-
".mts": "typescript",
|
|
46
|
-
".cts": "typescript",
|
|
47
|
-
// Python
|
|
48
|
-
".py": "python",
|
|
49
|
-
".pyw": "python",
|
|
50
|
-
".pyi": "python",
|
|
51
|
-
// Go
|
|
52
|
-
".go": "go",
|
|
53
|
-
// Java / Kotlin / Scala
|
|
54
|
-
".java": "java",
|
|
55
|
-
".kt": "java",
|
|
56
|
-
".kts": "java",
|
|
57
|
-
".scala": "java",
|
|
58
|
-
// PHP
|
|
59
|
-
".php": "php",
|
|
60
|
-
".phtml": "php",
|
|
61
|
-
".php3": "php",
|
|
62
|
-
".php4": "php",
|
|
63
|
-
".php5": "php",
|
|
64
|
-
".php7": "php",
|
|
65
|
-
".phps": "php",
|
|
66
|
-
// Ruby
|
|
67
|
-
".rb": "ruby",
|
|
68
|
-
".erb": "ruby",
|
|
69
|
-
".rake": "ruby",
|
|
70
|
-
".gemspec": "ruby",
|
|
71
|
-
// C / C++
|
|
72
|
-
".c": "c",
|
|
73
|
-
".h": "c",
|
|
74
|
-
".cpp": "cpp",
|
|
75
|
-
".cc": "cpp",
|
|
76
|
-
".cxx": "cpp",
|
|
77
|
-
".hpp": "cpp",
|
|
78
|
-
".hh": "cpp",
|
|
79
|
-
".hxx": "cpp",
|
|
80
|
-
// C# / .NET
|
|
81
|
-
".cs": "csharp",
|
|
82
|
-
".cshtml": "csharp",
|
|
83
|
-
".csx": "csharp",
|
|
84
|
-
// Rust (secrets rules apply)
|
|
85
|
-
".rs": "rust",
|
|
86
|
-
// Shell
|
|
87
|
-
".sh": "shell",
|
|
88
|
-
".bash": "shell",
|
|
89
|
-
".zsh": "shell",
|
|
90
|
-
".ksh": "shell",
|
|
91
|
-
".fish": "shell",
|
|
92
|
-
// Docker
|
|
93
|
-
".dockerfile": "dockerfile",
|
|
94
|
-
// Kubernetes / Docker Compose / CI/CD (all share yaml rules)
|
|
95
|
-
".yaml": "yaml",
|
|
96
|
-
".yml": "yaml",
|
|
97
|
-
// Terraform / HCL
|
|
98
|
-
".tf": "terraform",
|
|
99
|
-
".tfvars": "terraform",
|
|
100
|
-
".hcl": "terraform",
|
|
101
|
-
// JSON (package.json, IAM policies, etc.)
|
|
102
|
-
".json": "json",
|
|
103
|
-
// SQL
|
|
104
|
-
".sql": "sql",
|
|
105
|
-
// HTML (for inline secrets, XSS)
|
|
106
|
-
".html": "html",
|
|
107
|
-
".htm": "html",
|
|
108
|
-
// XML
|
|
109
|
-
".xml": "xml",
|
|
110
|
-
".xsl": "xml",
|
|
111
|
-
".xslt": "xml",
|
|
112
|
-
".svg": "xml",
|
|
113
|
-
};
|
|
114
|
-
/**
|
|
115
|
-
* Detect language from filename or hint.
|
|
116
|
-
* Also handles special filenames like Dockerfile, Jenkinsfile, Makefile.
|
|
117
|
-
*/
|
|
118
|
-
export function detectLanguage(filename, hint) {
|
|
119
|
-
if (hint)
|
|
120
|
-
return hint.toLowerCase();
|
|
121
|
-
if (!filename)
|
|
122
|
-
return "javascript";
|
|
123
|
-
// Handle special filenames without extensions
|
|
124
|
-
const basename = filename.split(/[/\\]/).pop()?.toLowerCase() || "";
|
|
125
|
-
if (basename === "dockerfile" || basename.startsWith("dockerfile."))
|
|
126
|
-
return "dockerfile";
|
|
127
|
-
if (basename === "jenkinsfile")
|
|
128
|
-
return "yaml";
|
|
129
|
-
if (basename === "makefile" || basename === "gnumakefile")
|
|
130
|
-
return "shell";
|
|
131
|
-
if (basename === ".env" || basename.startsWith(".env."))
|
|
132
|
-
return "shell";
|
|
133
|
-
if (basename === "gemfile" || basename === "rakefile")
|
|
134
|
-
return "ruby";
|
|
135
|
-
if (basename === "vagrantfile")
|
|
136
|
-
return "ruby";
|
|
137
|
-
const ext = filename.slice(filename.lastIndexOf(".")).toLowerCase();
|
|
138
|
-
return extensionToLanguage[ext] || "javascript";
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Get all rules that apply to a given language.
|
|
142
|
-
* Secrets rules are language-agnostic and match most languages.
|
|
143
|
-
*/
|
|
144
|
-
export function getRulesForLanguage(language) {
|
|
145
|
-
return allRules.filter((rule) => rule.languages.includes(language));
|
|
146
|
-
}
|
|
147
|
-
export { allRules, javascriptRules, javascriptExtendedRules, pythonRules, pythonExtendedRules, goRules, javaRules, phpRules, rubyRules, cCppRules, csharpRules, shellRules, dockerRules, kubernetesRules, cicdRules, terraformRules, secretsRules, secretsExtendedRules, };
|
|
1
|
+
function _0x28d3c1(_0x5ef00c,_0x5e56f6){return _0x4078(_0x5e56f6-0x3a2,_0x5ef00c);}(function(_0x128fcf,_0x24c616){const _0x381161={_0x2c03b9:0x29a,_0x14a3dc:0x280,_0x37ed7e:0x3a0,_0x313494:0x377,_0x1271b2:0x26a,_0x1e1740:0x293,_0x16f567:0x39b,_0x13541e:0x3e5,_0x1865f8:0x386,_0x125794:0x3cc,_0x5b1255:0x39c,_0x54f47f:0x370,_0xfa0e29:0x250},_0x4bd45b={_0x3ab097:0x24b},_0x44be1b={_0x4dec40:0x3de};function _0x540618(_0x2ee659,_0x46ad80){return _0x4078(_0x46ad80- -_0x44be1b._0x4dec40,_0x2ee659);}function _0x42e202(_0x158341,_0x2eb2d3){return _0x4078(_0x158341-_0x4bd45b._0x3ab097,_0x2eb2d3);}const _0x5f377f=_0x128fcf();while(!![]){try{const _0x40241c=parseInt(_0x42e202(0x37b,0x3a6))/(-0x6d*-0x2+0x1067*0x2+0x1*-0x21a7)+-parseInt(_0x540618(-_0x381161._0x2c03b9,-_0x381161._0x14a3dc))/(-0x890+-0x734+0x7e3*0x2)*(-parseInt(_0x42e202(0x384,0x381))/(-0x2b6*-0x8+0x1bcf+-0x317c))+-parseInt(_0x42e202(_0x381161._0x37ed7e,_0x381161._0x313494))/(-0x460+-0xe0+0x544)+-parseInt(_0x540618(-_0x381161._0x1271b2,-_0x381161._0x1e1740))/(-0xa6d+-0x1*0x1a9f+0x2511)*(parseInt(_0x42e202(0x3d0,_0x381161._0x16f567))/(-0x2a*-0x37+0x108*0xa+-0x1350))+parseInt(_0x42e202(0x3c9,_0x381161._0x13541e))/(0x1018+-0x38*0x14+-0xbb1)+-parseInt(_0x42e202(_0x381161._0x1865f8,0x396))/(0x122a*0x1+-0x21da+-0x1f7*-0x8)*(-parseInt(_0x42e202(_0x381161._0x125794,_0x381161._0x5b1255))/(-0x51*0x5d+-0x13de+0x3154))+parseInt(_0x42e202(0x397,_0x381161._0x54f47f))/(-0x2*0x1207+0x1*-0x6cb+0x2ae3)*(-parseInt(_0x540618(-0x24d,-_0x381161._0xfa0e29))/(-0x258c+0x7da+0x14b*0x17));if(_0x40241c===_0x24c616)break;else _0x5f377f['push'](_0x5f377f['shift']());}catch(_0x23c907){_0x5f377f['push'](_0x5f377f['shift']());}}}(_0x593d,-0x4aa61*0x1+-0x5*0x1349+-0x22*-0x4a27));import{javascriptRules}from'./javascript.js';import{javascriptExtendedRules}from'./javascript-extended.js';function _0x4078(_0x117fe8,_0x318b78){_0x117fe8=_0x117fe8-(0x5*0x6c3+-0x1*-0x20bd+-0x7*0x958);const _0x4e0613=_0x593d();let _0x1eacca=_0x4e0613[_0x117fe8];if(_0x4078['jDtlhS']===undefined){var _0x202f70=function(_0x2b087f){const _0x411e15='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x46e736='',_0x3b2b20='';for(let _0x219e57=0x11e4+0x25dc+-0x37c0,_0x458044,_0x4a98e6,_0x53d787=0xec6+0x34a*0xa+0x2faa*-0x1;_0x4a98e6=_0x2b087f['charAt'](_0x53d787++);~_0x4a98e6&&(_0x458044=_0x219e57%(0x65*0x49+0x380+0x1*-0x2049)?_0x458044*(-0xaac*0x2+0x1874*0x1+-0x2dc)+_0x4a98e6:_0x4a98e6,_0x219e57++%(0x1727*0x1+-0x523+-0x1200))?_0x46e736+=String['fromCharCode'](0x20fa+-0x2649+0x21a*0x3&_0x458044>>(-(-0x174d*-0x1+0x2*0x479+-0x203d)*_0x219e57&-0x312*0xb+0x164d+-0x1b*-0x6d)):0x23*0x81+0x16d6+-0x31d*0xd){_0x4a98e6=_0x411e15['indexOf'](_0x4a98e6);}for(let _0x1be4cb=0x929+0x148c+-0x1db5,_0x4f3391=_0x46e736['length'];_0x1be4cb<_0x4f3391;_0x1be4cb++){_0x3b2b20+='%'+('00'+_0x46e736['charCodeAt'](_0x1be4cb)['toString'](0x153b+0x5ea+-0x1*0x1b15))['slice'](-(-0x71d+-0x24c+0x96b));}return decodeURIComponent(_0x3b2b20);};_0x4078['mSJXon']=_0x202f70,_0x4078['ptlPnB']={},_0x4078['jDtlhS']=!![];}const _0x2646f8=_0x4e0613[-0x79c+-0x161d+0x1db9*0x1],_0x18e3d2=_0x117fe8+_0x2646f8,_0x28e241=_0x4078['ptlPnB'][_0x18e3d2];return!_0x28e241?(_0x1eacca=_0x4078['mSJXon'](_0x1eacca),_0x4078['ptlPnB'][_0x18e3d2]=_0x1eacca):_0x1eacca=_0x28e241,_0x1eacca;}import{pythonRules}from'./python.js';import{pythonExtendedRules}from'./python-extended.js';import{goRules}from'./go.js';import{javaRules}from'./java.js';import{phpRules}from'./php.js';import{rubyRules}from'./ruby.js';import{cCppRules}from'./c-cpp.js';import{csharpRules}from'./csharp.js';function _0x593d(){const _0x155e55=['lMH0Bq','C3rHCNq','lNnJywW','rMXKt1C','odi4mdGXwwzfDvzl','zeHfreu','otaZmtjSyKDUBNi','lMrVy2S','y3jPChq','zxjdyxm','A2vMAwW','lMzPC2G','lNrM','lMT0CW','zM9YBq','z2vTzMK','lNbODg0','lNjHA2u','lMHO','lMPZ','lNbOCdC','DMfNCMe','mti3nZv1DuLPq1i','nJu2oduXmg1Hvhb4wq','C3bSAxq','CNvZDa','z251Bwe','uNz2Ew4','lMH0BwW','lNbOCdq','zhznCwO','BgfUz3u','nZK4mtGWyKjlA2X2','lNjZ','ChL0Ag8','lMHJBa','CgHW','lMnQCW','DwXKDeC','lMnWCa','C1DPDgG','mLjSqM1eBG','CMzPBgu','DuHdDLi','BNrMAwW','lNHZBa','C2HLBgW','lMnZ','zMLSDgu','lMPZEa','C3fS','lMvUDG','lMn4Ea','BwfRzwy','D3bPzuW','lMnZEa','BMrLEe8','lMPZB24','B0XqvKS','lNbOCa','ywDLCW','Dw53EeO','Dg9mB3C','zg9JA2u','AMvUA2K','Aw5JBhu','lMjHC2G','Dw9St0q','rNrNAhy','C0Xpvha','CejXBge','zgvZ','y3nOyxi','ndmWnZeYohjxC2P6uq','lMT0','DhLWzxm','mZuXCM9nsMrK','lMHWCa','EwfTBa','lMnJ','odC2zuLjBhny','AwXL','BgfZDeK','lNHTBa','lMDV','lNbOCdm','lNn2zW','CMfRzwy','lMn0CW','mtfVD1zMDe8','lNnXBa','lM1QCW','lMvUDI4','AMf2yq','AhrTBa','Eg1S','DgvYCMe','y3bW','t3ngDu4','lNPZAa','lNHZBhq','lNb5DW','C2XPy2u','mJeYodaWBuDJqxbh','CNvIEq','y2L6r28','lMnZAhq','AMf2yxm'];_0x593d=function(){return _0x155e55;};return _0x593d();}import{shellRules}from'./shell.js';import{dockerRules}from'./docker.js';import{kubernetesRules}from'./kubernetes.js';import{cicdRules}from'./cicd.js';import{terraformRules}from'./terraform.js';import{secretsRules}from'./secrets.js';import{secretsExtendedRules}from'./secrets-extended.js';const allRules=[...javascriptRules,...javascriptExtendedRules,...pythonRules,...pythonExtendedRules,...goRules,...javaRules,...phpRules,...rubyRules,...cCppRules,...csharpRules,...shellRules,...dockerRules,...kubernetesRules,...cicdRules,...terraformRules,...secretsRules,...secretsExtendedRules],_0xae023b={};_0xae023b[_0xefe4ad(0x1de,0x1b1)]=_0xefe4ad(0x1ca,0x1e9)+'cript',_0xae023b[_0x28d3c1(0x4df,0x508)]='javas'+_0x28d3c1(0x4e4,0x4df),_0xae023b[_0xefe4ad(0x1ba,0x1bc)]=_0xefe4ad(0x1ca,0x19a)+_0x28d3c1(0x4ff,0x4df),_0xae023b[_0x28d3c1(0x4f4,0x4fc)]='javas'+'cript',_0xae023b['.ts']=_0xefe4ad(0x216,0x21b)+'cript',_0xae023b['.tsx']='types'+'cript',_0xae023b['.mts']=_0xefe4ad(0x216,0x23d)+_0x28d3c1(0x4d0,0x4df),_0xae023b[_0xefe4ad(0x223,0x1ff)]='types'+_0xefe4ad(0x1d3,0x1c7),_0xae023b['.py']=_0xefe4ad(0x1ed,0x20c)+'n',_0xae023b[_0xefe4ad(0x1c4,0x1ac)]=_0x28d3c1(0x508,0x4f9)+'n',_0xae023b['.pyi']='pytho'+'n',_0xae023b[_0x28d3c1(0x535,0x52b)]='go',_0xae023b['.java']=_0x28d3c1(0x4f4,0x4c8),_0xae023b[_0xefe4ad(0x215,0x242)]=_0xefe4ad(0x1bc,0x1be),_0xae023b[_0xefe4ad(0x1d8,0x1ee)]=_0x28d3c1(0x4a9,0x4c8),_0xae023b[_0x28d3c1(0x4f2,0x4d9)+'a']=_0xefe4ad(0x1bc,0x1c5),_0xae023b[_0xefe4ad(0x206,0x1fe)]='php',_0xae023b[_0x28d3c1(0x4f7,0x4e7)+'l']='php',_0xae023b[_0x28d3c1(0x4fe,0x52c)]=_0xefe4ad(0x1ef,0x208),_0xae023b[_0x28d3c1(0x4dd,0x4f4)]=_0xefe4ad(0x1ef,0x1b9),_0xae023b['.php5']=_0x28d3c1(0x502,0x4fb),_0xae023b[_0x28d3c1(0x504,0x4eb)]='php',_0xae023b['.phps']=_0x28d3c1(0x511,0x4fb),_0xae023b['.rb']=_0xefe4ad(0x1c7,0x1cf),_0xae023b['.erb']=_0xefe4ad(0x1c7,0x1d3),_0xae023b[_0x28d3c1(0x50f,0x4e8)]='ruby',_0xae023b['.gems'+'pec']=_0x28d3c1(0x4f8,0x4d3),_0xae023b['.c']='c',_0xae023b['.h']='c',_0xae023b[_0x28d3c1(0x4cf,0x4fe)]=_0x28d3c1(0x4a9,0x4cc),_0xae023b[_0x28d3c1(0x55b,0x526)]=_0xefe4ad(0x1c0,0x190),_0xae023b[_0x28d3c1(0x4f1,0x50b)]=_0xefe4ad(0x1c0,0x1bf),_0xae023b[_0x28d3c1(0x54e,0x524)]=_0xefe4ad(0x1c0,0x1f1),_0xae023b[_0xefe4ad(0x1dd,0x1e1)]=_0x28d3c1(0x496,0x4cc),_0xae023b['.hxx']=_0x28d3c1(0x4f8,0x4cc),_0xae023b[_0xefe4ad(0x1fa,0x1cd)]=_0x28d3c1(0x541,0x51f)+'p',_0xae023b[_0x28d3c1(0x4b0,0x4d5)+'ml']=_0xefe4ad(0x213,0x226)+'p',_0xae023b[_0xefe4ad(0x202,0x1f0)]=_0xefe4ad(0x213,0x1f7)+'p',_0xae023b[_0xefe4ad(0x1ec,0x1d9)]=_0x28d3c1(0x4c4,0x4f0),_0xae023b['.sh']=_0x28d3c1(0x539,0x505),_0xae023b[_0x28d3c1(0x535,0x519)]=_0x28d3c1(0x536,0x505),_0xae023b[_0xefe4ad(0x1c2,0x1c0)]=_0x28d3c1(0x505,0x505),_0xae023b['.ksh']=_0x28d3c1(0x50f,0x505),_0xae023b[_0x28d3c1(0x512,0x4e2)]=_0x28d3c1(0x528,0x505);function _0xefe4ad(_0x5532c2,_0x1ab1a2){const _0x1f966a={_0x1531d2:0x96};return _0x4078(_0x5532c2-_0x1f966a._0x1531d2,_0x1ab1a2);}_0xae023b[_0x28d3c1(0x4c0,0x4de)+'erfil'+'e']='docke'+_0x28d3c1(0x4f2,0x501),_0xae023b['.yaml']=_0x28d3c1(0x54a,0x525),_0xae023b['.yml']=_0x28d3c1(0x52a,0x525),_0xae023b[_0xefe4ad(0x1d7,0x1e1)]=_0xefe4ad(0x1bf,0x1ad)+'form',_0xae023b['.tfva'+'rs']='terra'+_0xefe4ad(0x1d9,0x204),_0xae023b[_0xefe4ad(0x1ee,0x1cf)]=_0xefe4ad(0x1bf,0x189)+'form',_0xae023b[_0x28d3c1(0x505,0x510)]='json',_0xae023b[_0x28d3c1(0x545,0x531)]=_0xefe4ad(0x1fd,0x1d9),_0xae023b[_0x28d3c1(0x518,0x4f3)]=_0xefe4ad(0x1bd,0x1e0),_0xae023b[_0x28d3c1(0x4d6,0x4d7)]=_0xefe4ad(0x1bd,0x1ef),_0xae023b[_0xefe4ad(0x21e,0x222)]=_0x28d3c1(0x4e9,0x4ca),_0xae023b[_0x28d3c1(0x4dc,0x504)]=_0x28d3c1(0x4b2,0x4ca),_0xae023b[_0xefe4ad(0x1c3,0x1ee)]=_0xefe4ad(0x1be,0x1d3),_0xae023b[_0x28d3c1(0x541,0x52d)]='xml';const extensionToLanguage=_0xae023b;export function detectLanguage(_0x13f1b7,_0x17c8f0){const _0x49bdec={_0x8309cc:0xe7,_0x5eae74:0xe0,_0x2624c0:0xe8,_0x13253c:0xcb,_0x30b24f:0x30d,_0x3ecf6b:0xc9,_0x3e340f:0x116,_0xfd823:0x2f7,_0x391ac5:0x2ea,_0x528a32:0xec,_0x129f47:0x2f4,_0x4bdb78:0x2f5,_0x1a20ca:0x106,_0x512f01:0x2fa,_0x845dca:0x118,_0x48f820:0xfb,_0x1370ec:0x2c1,_0x1b6b3a:0x319,_0x290d47:0xb9,_0x3327bb:0x2b8,_0x293d9b:0x104,_0x43e8ce:0x105,_0x1da22e:0xe6,_0x1dc9aa:0x110,_0x2c9259:0x337,_0x3eb6bb:0x306,_0x59777a:0x133,_0x27ec8e:0x2ca,_0x33f7f6:0xcc,_0x15f97e:0xef,_0x41b034:0x2de,_0x511e03:0x2cb,_0x3bd6d9:0x293,_0x2a10b3:0x2d9,_0x21d61c:0x305,_0x4b0577:0x2e0,_0x5ec746:0x2e8,_0x23cec6:0xa2,_0xbe7a66:0xc7,_0x20d239:0xcd,_0x2d2f1e:0x2e0,_0x5d2922:0x2f0,_0xddb059:0x109,_0x58249a:0x2da,_0x3aacf7:0x2bf,_0x550817:0xd4,_0x1bc41d:0x308,_0x2dcca7:0x32a,_0xdb228:0x123,_0x24337e:0x2dd,_0x1c2763:0x2bc,_0x3f78c0:0x33d,_0x611145:0xd2,_0x352539:0xa8,_0x3c9b5d:0xcc,_0x223ed9:0x2b5,_0x1a7d26:0xbd,_0x40b68f:0xc6},_0x1586b2={};_0x1586b2[_0x276bc5(0x2ea,0x2c5)]='docke'+_0x2e8e54(-_0x49bdec._0x8309cc,-_0x49bdec._0x5eae74);function _0x2e8e54(_0x16c9ea,_0x3b1e29){return _0x28d3c1(_0x16c9ea,_0x3b1e29- -0x5e1);}function _0x276bc5(_0x23f6d2,_0x58eaa9){return _0xefe4ad(_0x58eaa9-0xf7,_0x23f6d2);}_0x1586b2[_0x2e8e54(-_0x49bdec._0x2624c0,-0xd0)]=_0x2e8e54(-0xb7,-_0x49bdec._0x13253c)+_0x2e8e54(-0x105,-_0x49bdec._0x5eae74)+'.',_0x1586b2[_0x2e8e54(-0xc3,-0xc7)]=function(_0x55f3e0,_0x175dca){return _0x55f3e0===_0x175dca;},_0x1586b2[_0x276bc5(_0x49bdec._0x30b24f,0x2dd)]=_0x2e8e54(-_0x49bdec._0x3ecf6b,-0xca)+'nsfil'+'e',_0x1586b2[_0x2e8e54(-_0x49bdec._0x3e340f,-0xe4)]='yaml',_0x1586b2[_0x276bc5(_0x49bdec._0xfd823,0x2ff)]=_0x276bc5(_0x49bdec._0x391ac5,0x2f7)+'ile',_0x1586b2[_0x2e8e54(-0x9e,-0xc5)]=function(_0x3c889f,_0x2b6db5){return _0x3c889f===_0x2b6db5;},_0x1586b2[_0x2e8e54(-0xd8,-_0x49bdec._0x528a32)]=_0x276bc5(_0x49bdec._0x129f47,_0x49bdec._0x4bdb78),_0x1586b2[_0x276bc5(0x29b,0x2bf)]=_0x2e8e54(-_0x49bdec._0x1a20ca,-0x11a),_0x1586b2[_0x276bc5(_0x49bdec._0x512f01,0x2f8)]='shell',_0x1586b2['pBqla']=_0x2e8e54(-_0x49bdec._0x845dca,-_0x49bdec._0x48f820)+'le',_0x1586b2[_0x276bc5(_0x49bdec._0x1370ec,0x2ed)]=_0x276bc5(0x344,_0x49bdec._0x1b6b3a)+_0x2e8e54(-0xa1,-_0x49bdec._0x290d47),_0x1586b2[_0x276bc5(0x2b9,_0x49bdec._0x3327bb)]='ruby',_0x1586b2[_0x2e8e54(-_0x49bdec._0x293d9b,-_0x49bdec._0x43e8ce)]=_0x2e8e54(-_0x49bdec._0x1da22e,-0xf5)+_0x2e8e54(-_0x49bdec._0x1dc9aa,-0xde)+'e',_0x1586b2[_0x276bc5(_0x49bdec._0x2c9259,_0x49bdec._0x3eb6bb)]='javas'+'cript';const _0x46f159=_0x1586b2;if(_0x17c8f0)return _0x17c8f0['toLow'+'erCas'+'e']();if(!_0x13f1b7)return _0x2e8e54(-_0x49bdec._0x59777a,-0x10b)+_0x276bc5(0x2c4,_0x49bdec._0x27ec8e);const _0xbb5f35=_0x13f1b7[_0x2e8e54(-_0x49bdec._0x33f7f6,-0xf2)](/[/\\]/)['pop']()?.[_0x2e8e54(-_0x49bdec._0x15f97e,-0xcc)+_0x276bc5(_0x49bdec._0x41b034,_0x49bdec._0x511e03)+'e']()||'';if(_0xbb5f35===_0x46f159[_0x276bc5(_0x49bdec._0x3bd6d9,0x2c5)]||_0xbb5f35[_0x2e8e54(-0x117,-0x109)+'sWith'](_0x46f159[_0x2e8e54(-0x9c,-0xd0)]))return _0x46f159[_0x276bc5(_0x49bdec._0x2a10b3,0x2c5)];if(_0x46f159[_0x276bc5(_0x49bdec._0x21d61c,0x305)](_0xbb5f35,_0x46f159[_0x2e8e54(-0x10e,-_0x49bdec._0x15f97e)]))return _0x46f159[_0x276bc5(_0x49bdec._0x4b0577,_0x49bdec._0x5ec746)];if(_0x46f159[_0x2e8e54(-_0x49bdec._0x23cec6,-_0x49bdec._0xbe7a66)](_0xbb5f35,_0x46f159[_0x2e8e54(-0x97,-_0x49bdec._0x20d239)])||_0x46f159[_0x276bc5(0x2fb,0x307)](_0xbb5f35,_0x2e8e54(-0xc1,-0xf0)+_0x2e8e54(-0xf9,-0x100)+'e'))return _0x276bc5(_0x49bdec._0x2d2f1e,_0x49bdec._0x5d2922);if(_0xbb5f35===_0x46f159[_0x276bc5(0x2ba,0x2e0)]||_0xbb5f35[_0x2e8e54(-0xf1,-_0x49bdec._0xddb059)+_0x276bc5(0x2bb,_0x49bdec._0x391ac5)](_0x46f159[_0x276bc5(_0x49bdec._0x58249a,_0x49bdec._0x3aacf7)]))return _0x46f159[_0x2e8e54(-_0x49bdec._0x33f7f6,-_0x49bdec._0x550817)];if(_0xbb5f35===_0x46f159[_0x276bc5(0x2de,_0x49bdec._0x1bc41d)]||_0xbb5f35===_0x46f159[_0x276bc5(0x2da,0x2ed)])return _0x46f159['OsFuN'];if(_0x46f159[_0x276bc5(_0x49bdec._0x2dcca7,_0x49bdec._0x21d61c)](_0xbb5f35,_0x46f159[_0x2e8e54(-_0x49bdec._0xdb228,-0x105)]))return _0x46f159[_0x276bc5(_0x49bdec._0x24337e,_0x49bdec._0x3327bb)];const _0xcdf05f=_0x13f1b7[_0x276bc5(0x2a5,_0x49bdec._0x1c2763)](_0x13f1b7[_0x276bc5(_0x49bdec._0x3f78c0,0x314)+_0x2e8e54(-0xb2,-_0x49bdec._0x611145)+'f']('.'))[_0x2e8e54(-_0x49bdec._0x352539,-_0x49bdec._0x3c9b5d)+_0x276bc5(_0x49bdec._0x223ed9,_0x49bdec._0x511e03)+'e']();return extensionToLanguage[_0xcdf05f]||_0x46f159[_0x2e8e54(-_0x49bdec._0x1a7d26,-_0x49bdec._0x40b68f)];}export function getRulesForLanguage(_0x34ab99){const _0x3d80fd={_0x1ae2db:0x59f},_0x5b7bd4={_0x49f65d:0x476};function _0x118110(_0x3dc281,_0x5a52cc){return _0x28d3c1(_0x5a52cc,_0x3dc281- -_0x5b7bd4._0x49f65d);}function _0x5cf6b0(_0x1bfba4,_0x37fc53){return _0x28d3c1(_0x1bfba4,_0x37fc53- -_0x3d80fd._0x1ae2db);}return allRules[_0x5cf6b0(-0xcb,-0x98)+'r'](_0x2aa2c4=>_0x2aa2c4[_0x5cf6b0(-0xda,-0xa9)+_0x118110(0x9d,0x6c)][_0x118110(0xa2,0xad)+_0x118110(0xa8,0x8b)](_0x34ab99));}export{allRules,javascriptRules,javascriptExtendedRules,pythonRules,pythonExtendedRules,goRules,javaRules,phpRules,rubyRules,cCppRules,csharpRules,shellRules,dockerRules,kubernetesRules,cicdRules,terraformRules,secretsRules,secretsExtendedRules};
|