MCPcopy Index your code
hub / github.com/ChinaSiro/claude-code-sourcemap / zy4

Function zy4

package/cli.js:1672–1672  ·  view source on GitHub ↗
(q)

Source from the content-addressed store, hash-verified

1670`);if(H===-1)continue;if(!/^[ \t]*$/.test(j.slice(0,H)))continue;let J=w+H+1,M=q.slice(J).split(`
1671`);for(let X=0;X<M.length;X++){let P=M[X],W=O?P.replace(/^\t*/,""):P;if(W.startsWith(A)){let D=W.slice(A.length),f=-1;if(/^[ \t]*\)/.test(D)){let G=J+M.slice(0,X).join(`
1672`).length+(X>0?1:0);f=q.indexOf(")",G)}else if(D===""){let G=M[X+1];if(G!==void 0&&/^[ \t]*\)/.test(G)){let Z=J+M.slice(0,X+1).join(`
1673`).length+1;f=q.indexOf(")",Z)}}if(f!==-1)$.push({start:Y.index,end:f+1}),z=!0;break}}}if(!z)return null;for(let A=$.length-1;A>=0;A--){let O=$[A];_=_.slice(0,O.start)+_.slice(O.end)}return _}function rN4(q){let{originalCommand:K}=q;if(!rm1.test(K))return{behavior:"passthrough",message:"No heredoc in substitution"};if(u_z(K))return{behavior:"allow",updatedInput:{command:K},decisionReason:{type:"other",reason:"Safe command substitution: cat with quoted/escaped heredoc delimiter"}};return{behavior:"passthrough",message:"Command substitution needs validation"}}function oN4(q){let{originalCommand:K,baseCommand:_}=q;if(_!=="git"||!/^git\s+commit\s+/.test(K))return{behavior:"passthrough",message:"Not a git commit"};if(K.includes("\\"))return{behavior:"passthrough",message:"Git commit contains backslash, needs full validation"};let z=K.match(/^git[ \t]+commit[ \t]+[^;&|`$<>()\n\r]*?-m[ \t]+(["'])([\s\S]*?)\1(.*)$/);if(z){let[,Y,$,A]=z;if(Y==='"'&&$&&/\$\(|`|\$\{/.test($))return d("tengu_bash_security_check_triggered",{checkId:t9.GIT_COMMIT_SUBSTITUTION,subId:1}),{behavior:"ask",message:"Git commit message contains command substitution patterns"};if(A&&/[;|&()`]|\$\(|\$\{/.test(A))return{behavior:"passthrough",message:"Git commit remainder contains shell metacharacters"};if(A){let O="",w=!1,j=!1;for(let H=0;H<A.length;H++){let J=A[H];if(J==="'"&&!j){w=!w;continue}if(J==='"'&&!w){j=!j;continue}if(!w&&!j)O+=J}if(/[<>]/.test(O))return{behavior:"passthrough",message:"Git commit remainder contains unquoted redirect operator"}}if($&&$.startsWith("-"))return d("tengu_bash_security_check_triggered",{checkId:t9.OBFUSCATED_FLAGS,subId:5}),{behavior:"ask",message:"Command contains quoted characters in flag names"};return{behavior:"allow",updatedInput:{command:K},decisionReason:{type:"other",reason:"Git commit with simple quoted message is allowed"}}}return{behavior:"passthrough",message:"Git commit needs validation"}}function aN4(q){let{originalCommand:K,baseCommand:_}=q;if(_!=="jq")return{behavior:"passthrough",message:"Not jq"};if(/\bsystem\s*\(/.test(K))return d("tengu_bash_security_check_triggered",{checkId:t9.JQ_SYSTEM_FUNCTION,subId:1}),{behavior:"ask",message:"jq command contains system() function which executes arbitrary commands"};let z=K.substring(3).trim();if(/(?:^|\s)(?:-f\b|--from-file|--rawfile|--slurpfile|-L\b|--library-path)/.test(z))return d("tengu_bash_security_check_triggered",{checkId:t9.JQ_FILE_ARGUMENTS,subId:1}),{behavior:"ask",message:"jq command contains dangerous flags that could execute code or read arbitrary files"};return{behavior:"passthrough",message:"jq command is safe"}}function sN4(q){let{unquotedContent:K}=q,_="Command contains shell metacharacters (;, |, or &) in arguments";if(/(?:^|\s)["'][^"']*[;&][^"']*["'](?:\s|$)/.test(K))return d("tengu_bash_security_check_triggered",{checkId:t9.SHELL_METACHARACTERS,subId:1}),{behavior:"ask",message:"Command contains shell metacharacters (;, |, or &) in arguments"};if([/-name\s+["'][^"']*[;|&][^"']*["']/,/-path\s+["'][^"']*[;|&][^"']*["']/,/-iname\s+["'][^"']*[;|&][^"']*["']/].some((Y)=>Y.test(K)))return d("tengu_bash_security_check_triggered",{checkId:t9.SHELL_METACHARACTERS,subId:2}),{behavior:"ask",message:"Command contains shell metacharacters (;, |, or &) in arguments"};if(/-regex\s+["'][^"']*[;&][^"']*["']/.test(K))return d("tengu_bash_security_check_triggered",{checkId:t9.SHELL_METACHARACTERS,subId:3}),{behavior:"ask",message:"Command contains shell metacharacters (;, |, or &) in arguments"};return{behavior:"passthrough",message:"No metacharacters"}}function tN4(q){let{fullyUnquotedContent:K}=q;if(/[<>|]\s*\$[A-Za-z_]/.test(K)||/\$[A-Za-z_][A-Za-z0-9_]*\s*[|<>]/.test(K))return d("tengu_bash_security_check_triggered",{checkId:t9.DANGEROUS_VARIABLES,subId:1}),{behavior:"ask",message:"Command contains variables in dangerous contexts (redirections or pipes)"};return{behavior:"passthrough",message:"No dangerous variables"}}function eN4(q){let{unquotedContent:K}=q;if(I_z(K,"`"))return{behavior:"ask",message:"Command contains backticks (`) for command substitution"};for(let{pattern:_,message:z}of b_z)if(_.test(K))return d("tengu_bash_security_check_triggered",{checkId:t9.DANGEROUS_PATTERNS_COMMAND_SUBSTITUTION,subId:1}),{behavior:"ask",message:`Command contains ${z}`};return{behavior:"passthrough",message:"No dangerous patterns"}}function VN8(q){let{fullyUnquotedContent:K}=q;if(/</.test(K))return d("tengu_bash_security_check_triggered",{checkId:t9.DANGEROUS_PATTERNS_INPUT_REDIRECTION,subId:1}),{behavior:"ask",message:"Command contains input redirection (<) which could read sensitive files"};if(/>/.test(K))return d("tengu_bash_security_check_triggered",{checkId:t9.DANGEROUS_PATTERNS_OUTPUT_REDIRECTION,subId:1}),{behavior:"ask",message:"Command contains output redirection (>) which could write to arbitrary files"};return{behavior:"passthrough",message:"No redirections"}}function NN8(q){let{fullyUnquotedPreStrip:K}=q;if(!/[\n\r]/.test(K))return{behavior:"passthrough",message:"No newlines"};if(/(?<![\s]\\)[\n\r]\s*\S/.test(K))return d("tengu_bash_security_check_triggered",{checkId:t9.NEWLINES,subId:1}),{behavior:"ask",message:"Command contains newlines that could separate multiple commands"};return{behavior:"passthrough",message:"Newlines appear to be within data"}}function qy4(q){let{originalCommand:K}=q;if(!K.includes("\r"))return{behavior:"passthrough",message:"No carriage return"};let _=!1,z=!1,Y=!1;for(let $=0;$<K.length;$++){let A=K[$];if(Y){Y=!1;continue}if(A==="\\"&&!_){Y=!0;continue}if(A==="'"&&!z){_=!_;continue}if(A==='"'&&!_){z=!z;continue}if(A==="\r"&&!z)return d("tengu_bash_security_check_triggered",{checkId:t9.NEWLINES,subId:2}),{behavior:"ask",message:"Command contains carriage return (\\r) which shell-quote and bash tokenize differently"}}return{behavior:"passthrough",message:"CR only inside double quotes"}}function Ky4(q){let{originalCommand:K}=q;if(/\$IFS|\$\{[^}]*IFS/.test(K))return d("tengu_bash_security_check_triggered",{checkId:t9.IFS_INJECTION,subId:1}),{behavior:"ask",message:"Command contains IFS variable usage which could bypass security validation"};return{behavior:"passthrough",message:"No IFS injection detected"}}function _y4(q){let{originalCommand:K}=q;if(/\/proc\/.*\/environ/.test(K))return d("tengu_bash_security_check_triggered",{checkId:t9.PROC_ENVIRON_ACCESS,subId:1}),{behavior:"ask",message:"Command accesses /proc/*/environ which could expose sensitive environment variables"};return{behavior:"passthrough",message:"No /proc/environ access detected"}}function zy4(q){let{originalCommand:K}=q,_=o$(K);if(!_.success)return{behavior:"passthrough",message:"Parse failed, handled elsewhere"};let z=_.tokens;if(!z.some(($)=>typeof $==="object"&&$!==null&&("op"in $)&&($.op===";"||$.op==="&&"||$.op==="||")))return{behavior:"passthrough",message:"No command separators"};if(JN8(K,z))return d("tengu_bash_security_check_triggered",{checkId:t9.MALFORMED_TOKEN_INJECTION,subId:1}),{behavior:"ask",message:"Command contains ambiguous syntax with command separators that could be misinterpreted"};return{behavior:"passthrough",message:"No malformed token injection detected"}}function Yy4(q){let{originalCommand:K,baseCommand:_}=q,z=/[|&;]/.test(K);if(_==="echo"&&!z)return{behavior:"passthrough",message:"echo command is safe and has no dangerous flags"};if(/\$'[^']*'/.test(K))return d("tengu_bash_security_check_triggered",{checkId:t9.OBFUSCATED_FLAGS,subId:5}),{behavior:"ask",message:"Command contains ANSI-C quoting which can hide characters"};if(/\$"[^"]*"/.test(K))return d("tengu_bash_security_check_triggered",{checkId:t9.OBFUSCATED_FLAGS,subId:6}),{behavior:"ask",message:"Command contains locale quoting which can hide characters"};if(/\$['"]{2}\s*-/.test(K))return d("tengu_bash_security_check_triggered",{checkId:t9.OBFUSCATED_FLAGS,subId:9}),{behavior:"ask",message:"Command contains empty special quotes before dash (potential bypass)"};if(/(?:^|\s)(?:''|"")+\s*-/.test(K))return d("tengu_bash_security_check_triggered",{checkId:t9.OBFUSCATED_FLAGS,subId:7}),{behavior:"ask",message:"Command contains empty quotes before dash (potential bypass)"};if(/(?:""|'')+['"]-/.test(K))return d("tengu_bash_security_check_triggered",{checkId:t9.OBFUSCATED_FLAGS,subId:10}),{behavior:"ask",message:"Command contains empty quote pair adjacent to quoted dash (potential flag obfuscation)"};if(/(?:^|\s)['"]{3,}/.test(K))return d("tengu_bash_security_check_triggered",{checkId:t9.OBFUSCATED_FLAGS,subId:11}),{behavior:"ask",message:"Command contains consecutive quote characters at word start (potential obfuscation)"};let Y=!1,$=!1,A=!1;for(let O=0;O<K.length-1;O++){let w=K[O],j=K[O+1];if(A){A=!1;continue}if(w==="\\"&&!Y){A=!0;continue}if(w==="'"&&!$){Y=!Y;continue}if(w==='"'&&!Y){$=!$;continue}if(Y||$)continue;if(w&&j&&/\s/.test(w)&&/['"`]/.test(j)){let H=j,J=O+2,M="";while(J<K.length&&K[J]!==H)M+=K[J],J++;let X=K[J+1],P=/^-+[a-zA-Z0-9$`]/.test(M),W=/[a-zA-Z0-9\\${`-]/,D=/^-+$/.test(M)&&X!==void 0&&W.test(X),f=(M===""||/^-+$/.test(M))&&X!==void 0&&/['"`]/.test(X)&&(()=>{let G=J+1,Z=M;while(G<K.length&&/['"`]/.test(K[G])){let T=K[G],v=G+1;while(v<K.length&&K[v]!==T)v++;let V=K.slice(G+1,v);if(Z+=V,/^-+[a-zA-Z0-9$`]/.test(Z))return!0;let E=V.length>0?Z.slice(0,-V.length):Z;if(/^-+$/.test(E)){if(/[a-zA-Z0-9$`]/.test(V))return!0}if(v>=K.length)break;G=v+1}if(G<K.length&&W.test(K[G])){if(/^-+$/.test(Z)||Z===""){let T=K[G];if(T==="-")return!0;if(/[a-zA-Z0-9\\${`]/.test(T)&&Z!=="")return!0}if(/^-/.test(Z))return!0}return!1})();if(J<K.length&&K[J]===H&&(P||D||f))return d("tengu_bash_security_check_triggered",{checkId:t9.OBFUSCATED_FLAGS,subId:4}),{behavior:"ask",message:"Command contains quoted characters in flag names"}}if(w&&j&&/\s/.test(w)&&j==="-"){let H=O+1,J="";while(H<K.length){let M=K[H];if(!M)break;if(/[\s=]/.test(M))break;if(/['"`]/.test(M)){if(_==="cut"&&J==="-d"&&/['"`]/.test(M))break;if(H+1<K.length){let X=K[H+1];if(X&&!/[a-zA-Z0-9_'"-]/.test(X))break}}J+=M,H++}if(J.includes('"')||J.includes("'"))return d("tengu_bash_security_check_triggered",{checkId:t9.OBFUSCATED_FLAGS,subId:1}),{behavior:"ask",message:"Command contains quoted characters in flag names"}}}if(/\s['"`]-/.test(q.fullyUnquotedContent))return d("tengu_bash_security_check_triggered",{checkId:t9.OBFUSCATED_FLAGS,subId:2}),{behavior:"ask",message:"Command contains quoted characters in flag names"};if(/['"`]{2}-/.test(q.fullyUnquotedContent))return d("tengu_bash_security_check_triggered",{checkId:t9.OBFUSCATED_FLAGS,subId:3}),{behavior:"ask",message:"Command contains quoted characters in flag names"};return{behavior:"passthrough",message:"No obfuscated flags detected"}}function m_z(q){let K=!1,_=!1;for(let z=0;z<q.length;z++){let Y=q[z];if(Y==="\\"&&!K){if(!_){let $=q[z+1];if($===" "||$==="\t")return!0}z++;continue}if(Y==='"'&&!K){_=!_;continue}if(Y==="'"&&!_){K=!K;continue}}return!1}function $y4(q){if(m_z(q.originalCommand))return d("tengu_bash_security_check_triggered",{checkId:t9.BACKSLASH_ESCAPED_WHITESPACE}),{behavior:"ask",message:"Command contains backslash-escaped whitespace that could alter command parsing"};return{behavior:"passthrough",message:"No backslash-escaped whitespace"}}function B_z(q){let K=!1,_=!1;for(let z=0;z<q.length;z++){let Y=q[z];if(Y==="\\"&&!K){if(!_){let $=q[z+1];if($&&p_z.has($))return!0}z++;continue}if(Y==="'"&&!_){K=!K;continue}if(Y==='"'&&!K){_=!_;continue}}return!1}function Ay4(q){if(q.treeSitter&&!q.treeSitter.hasActualOperatorNodes)return{behavior:"passthrough",message:"No operator nodes in AST"};if(B_z(q.originalCommand))return d("tengu_bash_security_check_triggered",{checkId:t9.BACKSLASH_ESCAPED_OPERATORS}),{behavior:"ask",message:"Command contains a backslash before a shell operator (;, |, &, <, >) which can hide command structure"};return{behavior:"passthrough",message:"No backslash-escaped operators"}}function Ow6(q,K){let _=0,z=K-1;while(z>=0&&q[z]==="\\")_++,z--;return _%2===1}function Oy4(q){let K=q.fullyUnquotedPreStrip,_=0,z=0;for(let Y=0;Y<K.length;Y++)if(K[Y]==="{"&&!Ow6(K,Y))_++;else if(K[Y]==="}"&&!Ow6(K,Y))z++;if(_>0&&z>_)return d("tengu_bash_security_check_triggered",{checkId:t9.BRACE_EXPANSION,subId:2}),{behavior:"ask",message:"Command has excess closing braces after quote stripping, indicating possible brace expansion obfuscation"};if(_>0){let Y=q.originalCommand;if(/['"][{}]['"]/.test(Y))return d("tengu_bash_security_check_triggered",{checkId:t9.BRACE_EXPANSION,subId:3}),{behavior:"ask",message:"Command contains quoted brace character inside brace context (potential brace expansion obfuscation)"}}for(let Y=0;Y<K.length;Y++){if(K[Y]!=="{")continue;if(Ow6(K,Y))continue;let $=1,A=-1;for(let w=Y+1;w<K.length;w++){let j=K[w];if(j==="{"&&!Ow6(K,w))$++;else if(j==="}"&&!Ow6(K,w)){if($--,$===0){A=w;break}}}if(A===-1)continue;let O=0;for(let w=Y+1;w<A;w++){let j=K[w];if(j==="{"&&!Ow6(K,w))O++;else if(j==="}"&&!Ow6(K,w))O--;else if(O===0){if(j===","||j==="."&&w+1<A&&K[w+1]===".")return d("tengu_bash_security_check_triggered",{checkId:t9.BRACE_EXPANSION,subId:1}),{behavior:"ask",message:"Command contains brace expansion that could alter command parsing"}}}}return{behavior:"passthrough",message:"No brace expansion detected"}}function wy4(q){let{originalCommand:K}=q;if(g_z.test(K))return d("tengu_bash_security_check_triggered",{checkId:t9.UNICODE_WHITESPACE}),{behavior:"ask",message:"Command contains Unicode whitespace characters that could cause parsing inconsistencies"};return{behavior:"passthrough",message:"No Unicode whitespace"}}function jy4(q){let{unquotedKeepQuoteChars:K}=q,_=K.replace(/\\+\n/g,(z)=>{let Y=z.length-1;return Y%2===1?"\\".repeat(Y-1):z});if(/\S(?<!\$\{)#/.test(K)||/\S(?<!\$\{)#/.test(_))return d("tengu_bash_security_check_triggered",{checkId:t9.MID_WORD_HASH}),{behavior:"ask",message:"Command contains mid-word # which is parsed differently by shell-quote vs bash"};return{behavior:"passthrough",message:"No mid-word hash"}}function Hy4(q){if(q.treeSitter)return{behavior:"passthrough",message:"Tree-sitter quote context is authoritative"};let{originalCommand:K}=q,_=!1,z=!1,Y=!1;for(let $=0;$<K.length;$++){let A=K[$];if(Y){Y=!1;continue}if(_){if(A==="'")_=!1;continue}if(A==="\\"){Y=!0;continue}if(z){if(A==='"')z=!1;continue}if(A==="'"){_=!0;continue}if(A==='"'){z=!0;continue}if(A==="#"){let O=K.indexOf(`
1674`,$),w=K.slice($+1,O===-1?K.length:O);if(/['"]/.test(w))return d("tengu_bash_security_check_triggered",{checkId:t9.COMMENT_QUOTE_DESYNC}),{behavior:"ask",message:"Command contains quote characters inside a # comment which can desync quote tracking"};if(O===-1)break;$=O}}return{behavior:"passthrough",message:"No comment quote desync"}}function Jy4(q){let{originalCommand:K}=q;if(!K.includes(`
1675`)||!K.includes("#"))return{behavior:"passthrough",message:"No newline or no hash"};let _=!1,z=!1,Y=!1;for(let $=0;$<K.length;$++){let A=K[$];if(Y){Y=!1;continue}if(A==="\\"&&!_){Y=!0;continue}if(A==="'"&&!z){_=!_;continue}if(A==='"'&&!_){z=!z;continue}if(A===`

Callers

nothing calls this directly

Calls 3

o$Function · 0.85
JN8Function · 0.85
dFunction · 0.85

Tested by

no test coverage detected