Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
test "X$libobj" != "X$qlibobj" \
&& $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \
&& $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
&& $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \
&& $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
&& $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
if test "X$xdir" = "X$obj"; then
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
if test "X$xdir" = "X$obj"; then
xdir=
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -z "$base_compile"; then
$echo "$modename: you must specify a compilation command" 1>&2
$echo "$help" 1>&2
exit $EXIT_FAILURE
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "$modename: you must specify a compilation command" 1>&2
$echo "$help" 1>&2
exit $EXIT_FAILURE
fi
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test "$compiler_c_o" = no; then
output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
lockfile="$output_obj.lock"
removelist="$removelist $output_obj $lockfile"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -f "$lockfile"; then
$echo "\
*** ERROR, $lockfile exists and contains:
`cat $lockfile 2>/dev/null`
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
fi
$echo "$srcfile" > "$lockfile"
fi
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
fi
qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
case $qsrcfile in
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
$echo "\
*** ERROR, $lockfile contains:
`cat $lockfile 2>/dev/null`
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
$echo "\
*** ERROR, $lockfile contains:
`cat $lockfile 2>/dev/null`
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
$echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
fi
if test -n "$link_static_flag"; then
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ;;
*) qarg=$arg ;;
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test ! -f "$arg"; then
$echo "$modename: symbol file \`$arg' does not exist"
exit $EXIT_FAILURE
fi
-
`source` called with a dynamic path — sourcing a variable script path (ast pass, confidence 0.75)
case $arg in
*/* | *\\*) . $arg ;;
*) . ./$arg ;;
esac
-
`source` called with a dynamic path — sourcing a variable script path (ast pass, confidence 0.75)
*/* | *\\*) . $arg ;;
*) . ./$arg ;;
esac
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
test "$non_pic_object" = none; then
$echo "$modename: cannot find name of object for \`$arg'" 1>&2
exit $EXIT_FAILURE
fi
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
if test "X$xdir" = "X$arg"; then
xdir=
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -z "$run"; then
$echo "$modename: \`$arg' is not a valid libtool object" 1>&2
exit $EXIT_FAILURE
else
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
if test "X$xdir" = "X$arg"; then
xdir=
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
libobjs="$libobjs $pic_object"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
libobjs="$libobjs $pic_object"
non_pic_objects="$non_pic_objects $non_pic_object"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
else
$echo "$modename: link input file \`$save_arg' does not exist"
exit $EXIT_FAILURE
fi
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
*)
$echo "$modename: only absolute run-paths are allowed" 1>&2
exit $EXIT_FAILURE
;;
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
continue
;;
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
$echo "$modename: more than one -exported-symbols argument is not allowed"
exit $EXIT_FAILURE
fi
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
-L*)
dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
case $dir in
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -z "$absdir"; then
$echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
absdir="$dir"
notinst_path="$notinst_path $dir"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$dir:"*) ;;
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
case $arg in
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
$echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
fast_install=no
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
$echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
fast_install=no
;;
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
-R*)
dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
case $dir in
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
*)
$echo "$modename: only absolute run-paths are allowed" 1>&2
exit $EXIT_FAILURE
;;
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
-Wc,*)
args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
arg=
save_ifs="$IFS"; IFS=','
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
IFS="$save_ifs"
arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
;;
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
-Wl,*)
args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
arg=
save_ifs="$IFS"; IFS=','
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
IFS="$save_ifs"
arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
;;
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
case $arg in
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
-
`source` called with a dynamic path — sourcing a variable script path (ast pass, confidence 0.75)
case $arg in
*/* | *\\*) . $arg ;;
*) . ./$arg ;;
esac
-
`source` called with a dynamic path — sourcing a variable script path (ast pass, confidence 0.75)
*/* | *\\*) . $arg ;;
*) . ./$arg ;;
esac
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
test "$non_pic_object" = none; then
$echo "$modename: cannot find name of object for \`$arg'" 1>&2
exit $EXIT_FAILURE
fi
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
if test "X$xdir" = "X$arg"; then
xdir=
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -z "$run"; then
$echo "$modename: \`$arg' is not a valid libtool object" 1>&2
exit $EXIT_FAILURE
else
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
if test "X$xdir" = "X$arg"; then
xdir=
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
libobjs="$libobjs $pic_object"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
libobjs="$libobjs $pic_object"
non_pic_objects="$non_pic_objects $non_pic_object"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
case $arg in
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -n "$prev"; then
$echo "$modename: the \`$prevarg' option requires an argument" 1>&2
$echo "$help" 1>&2
exit $EXIT_FAILURE
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "$modename: the \`$prevarg' option requires an argument" 1>&2
$echo "$help" 1>&2
exit $EXIT_FAILURE
fi
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
libobjs_save="$libobjs"
-
`eval` called on a string literal (ast pass, confidence 0.85)
eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
else
shlib_search_path=
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
if test "X$output_objdir" = "X$output"; then
output_objdir="$objdir"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
"")
$echo "$modename: you must specify an output file" 1>&2
$echo "$help" 1>&2
exit $EXIT_FAILURE
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "$modename: you must specify an output file" 1>&2
$echo "$help" 1>&2
exit $EXIT_FAILURE
;;
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
*)
$echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
exit $EXIT_FAILURE
;;
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test "$linkmode" != lib && test "$linkmode" != prog; then
$echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
continue
fi
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
fi
name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
for search_ext in .la $std_shrext .so .a; do
-
`source` called with a dynamic path — sourcing a variable script path (ast pass, confidence 0.75)
case $lib in
*/* | *\\*) . $lib ;;
*) . ./$lib ;;
esac
-
`source` called with a dynamic path — sourcing a variable script path (ast pass, confidence 0.75)
*/* | *\\*) . $lib ;;
*) . ./$lib ;;
esac
for l in $old_library $library_names; do
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
found=no
ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
test "X$ladir" = "X$lib" && ladir="."
lib=$ladir/$old_library
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
newdependency_libs="$deplib $newdependency_libs"
newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
;;
prog)
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
fi
newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
;;
*)
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
*)
$echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
;;
esac
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test "$pass" = link; then
dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
case "$xrpath " in
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test "$valid_a_lib" != yes; then
$echo
$echo "*** Warning: Trying to link with static lib archive $deplib."
$echo "*** I have the capability to make that library automatically link in when"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo
$echo "*** Warning: Trying to link with static lib archive $deplib."
$echo "*** I have the capability to make that library automatically link in when"
$echo "*** you link to this library. But I can only do this if you have a"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "*** Warning: Trying to link with static lib archive $deplib."
$echo "*** I have the capability to make that library automatically link in when"
$echo "*** you link to this library. But I can only do this if you have a"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "*** I have the capability to make that library automatically link in when"
$echo "*** you link to this library. But I can only do this if you have a"
$echo "*** shared version of the library, which you do not appear to have"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "*** you link to this library. But I can only do this if you have a"
$echo "*** shared version of the library, which you do not appear to have"
$echo "*** because the file extensions .$libext of this argument makes me believe"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "*** shared version of the library, which you do not appear to have"
$echo "*** because the file extensions .$libext of this argument makes me believe"
$echo "*** that it is just a static archive that I should not used here."
else
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "*** because the file extensions .$libext of this argument makes me believe"
$echo "*** that it is just a static archive that I should not used here."
else
$echo
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
else
$echo
$echo "*** Warning: Linking the shared library $output against the"
$echo "*** static library $deplib is not portable!"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo
$echo "*** Warning: Linking the shared library $output against the"
$echo "*** static library $deplib is not portable!"
deplibs="$deplib $deplibs"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "*** Warning: Linking the shared library $output against the"
$echo "*** static library $deplib is not portable!"
deplibs="$deplib $deplibs"
fi
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
else
$echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
exit $EXIT_FAILURE
fi
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
else
$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
exit $EXIT_FAILURE
fi
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
test "X$ladir" = "X$lib" && ladir="."
-
`source` called with a dynamic path — sourcing a variable script path (ast pass, confidence 0.75)
case $lib in
*/* | *\\*) . $lib ;;
*) . ./$lib ;;
esac
-
`source` called with a dynamic path — sourcing a variable script path (ast pass, confidence 0.75)
*/* | *\\*) . $lib ;;
*) . ./$lib ;;
esac
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -z "$old_library"; then
$echo "$modename: cannot find name of link library for \`$lib'" 1>&2
exit $EXIT_FAILURE
fi
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
elif test "$linkmode" != prog && test "$linkmode" != lib; then
$echo "$modename: \`$lib' is not a convenience library" 1>&2
exit $EXIT_FAILURE
fi
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -z "$linklib"; then
$echo "$modename: cannot find name of link library for \`$lib'" 1>&2
exit $EXIT_FAILURE
fi
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -z "$libdir"; then
$echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
exit $EXIT_FAILURE
fi
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -z "$abs_ladir"; then
$echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
$echo "$modename: passing it literally to the linker, although it might fail" 1>&2
abs_ladir="$ladir"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
$echo "$modename: passing it literally to the linker, although it might fail" 1>&2
abs_ladir="$ladir"
fi
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
esac
laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
$echo "$modename: warning: library \`$lib' was moved." 1>&2
dir="$ladir"
absdir="$abs_ladir"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
fi name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -z "$libdir"; then
$echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
exit $EXIT_FAILURE
fi
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
case $deplib in
-L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; esac
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test "$shouldnotlink" = yes && test "$pass" = link ; then
$echo
if test "$linkmode" = prog; then
$echo "*** Warning: Linking the executable $output against the loadable module"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test "$linkmode" = prog; then
$echo "*** Warning: Linking the executable $output against the loadable module"
else
$echo "*** Warning: Linking the shared library $output against the loadable module"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
else
$echo "*** Warning: Linking the shared library $output against the loadable module"
fi
$echo "*** $linklib is not portable!"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
fi
$echo "*** $linklib is not portable!"
fi
if test "$linkmode" = lib &&
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
soroot="$soname"
soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$EGREP ": [^:]* bundle" >/dev/null ; then
$echo "** Warning, lib $linklib is a module, not a shared library"
if test -z "$old_library" ; then
$echo
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -z "$old_library" ; then
$echo
$echo "** And there doesn't seem to be a static archive available"
$echo "** The link will probably fail, sorry"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo
$echo "** And there doesn't seem to be a static archive available"
$echo "** The link will probably fail, sorry"
else
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "** And there doesn't seem to be a static archive available"
$echo "** The link will probably fail, sorry"
else
add="$dir/$old_library"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test "$lib_linked" != yes; then
$echo "$modename: configuration error: unsupported hardcode properties"
exit $EXIT_FAILURE
fi
-
identifier `sinθ` mixes scripts: Latin + Greek (raw pass, confidence 0.80)
var école;
var sinθ;
var เมือง;
var a\u1234b;
-
identifier `ab𝕊is` mixes scripts: Latin + Other (raw pass, confidence 0.80)
---input---
{ab𝕊is: ab}
---tokens---
-
identifier `α` contains homoglyph candidates: α (03B1)→a (raw pass, confidence 0.70)
---input---
Check (α ≻ β).
---tokens---
-
identifier `α` contains homoglyph candidates: α (03B1)→a (raw pass, confidence 0.70)
'(' Operator
'α' Name
' ' Text
'≻' Name.Builtin.Pseudo
-
[markup prose] `eval` called on a string literal (ast pass, confidence 0.85)
'eval' Name.Builtin
-
base64-like blob (92 bytes over 2 lines, compression ratio 1.05) (raw pass, confidence 0.60)
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEYCQjIxYJKwYBBAHaRw8BAQdAD/P5Nvvnvk66SxBBHDbhRml9ORg1WV5CvzKY
snippedpgppublickey123456789
-----END PGP PUBLIC KEY BLOCK-----
-
base64-like blob (64 bytes, compression ratio 1.17) (raw pass, confidence 0.60)
' mDMEYCQjIxYJKwYBBAHaRw8BAQdAD/P5Nvvnvk66SxBBHDbhRml9ORg1WV5CvzKY\n' Text
' snippedpgppublickey123456789\n' Text
-
identifier `Κόσμε` contains homoglyph candidates: Κ (039A)→K (raw pass, confidence 0.70)
"¡Hola Mundo!",
"Γειά σου Κόσμε!",
"Привіт, світе!",
"こんにちは世界!",
-
identifier `Κόσμε` mixes scripts: Greek + Latin (raw pass, confidence 0.80)
"¡Hola Mundo!",
"Γειά σου Κόσμε!",
"Привіт, світе!",
"こんにちは世界!",
-
identifier `Κόσμε` contains homoglyph candidates: Κ (039A)→K (raw pass, confidence 0.70)
'"' Literal.String
'Γειά σου Κόσμε!' Literal.String
'"' Literal.String
',' Punctuation
-
identifier `Κόσμε` mixes scripts: Greek + Latin (raw pass, confidence 0.80)
'"' Literal.String
'Γειά σου Κόσμε!' Literal.String
'"' Literal.String
',' Punctuation
-
line length 2560 characters (raw pass, confidence 0.65)
'.ui-helper-hidden { display: none }\n.ui-helper-hidden { display: none }\n.ui-helper-hidden { display: none }\n.ui-helper-hidden { display: none }\n.ui-helper-hidden { display: none }\n.ui-helper-hidden { display: none }\n.ui-helper-hidden { display: none }\n.ui-helper-hidden { display: none }\n.ui-helper-hidden { dis
-
identifier `Aʺ` mixes scripts: Latin + Other (raw pass, confidence 0.80)
ð # category Ll
Aʺ # category Lm -- \U02BA (MODIFIER LETTER DOUBLE PRIME), not \U2033 (DOUBLE PRIME)
א # category Lo
Ð # category Lu
-
identifier `Aʺ` mixes scripts: Latin + Other (raw pass, confidence 0.80)
'Aʺ' Name
' ' Text.Whitespace
'# category Lm -- \\U02BA (MODIFIER LETTER DOUBLE PRIME), not \\U2033 (DOUBLE PRIME)' Comment
-
identifier `α` contains homoglyph candidates: α (03B1)→a (raw pass, confidence 0.70)
:abc_def
:α
Val{:mysymbol}
-
identifier `α` contains homoglyph candidates: α (03B1)→a (raw pass, confidence 0.70)
':α' Literal.String.Symbol
'\n' Text.Whitespace
-
line length 3025 characters (raw pass, confidence 0.65)
"\n# sjfhasdkjfhsadlkjahl\n\nFile:The Last Supper - Leonardo Da Vinci - High Resolution 32x16.jpg|thumb|center|500px|alt=''The Last Supper'' by Leonardo da Vinci - Clickable Image|Image map example. Clicking on a person in the picture causes the browser to load the appropriate article.\npoly 550 2550 750 2400 1150 2300
-
file imports decoder module(s) bz2, gzip and calls `.decompress()` — embedded payload decompressed at runtime (ast pass, confidence 0.75)
raw_gz = highlight(code, PythonLexer(), RawTokenFormatter(compress="gz"))
assert gzip.decompress(raw_gz) == raw
assert highlight(raw_gz, RawTokenLexer(compress="gz"), RawTokenFormatter()) == raw
assert (
-
`exec` called on a non-literal expression (ast pass, confidence 0.70)
d = {}
exec(output, d)
assert isinstance(d['var'], tuple)
assert ('cat', 'dog') == d['var']
-
command name is a variable (`$num`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
num=15
if [ $num -gt 10 ]; then
echo "Number is greater than 10"
else
likely benign
LLM, confidence 0.85
Bash example file for highlighter tests with a variable used in an if-test.
Reasoning
This is a lexer test example file for bash syntax highlighting; $num is a local shell variable used in a conditional, not a dangerous command substitution.
-
`exec` called with a dynamic (variable/substitution) path (ast pass, confidence 0.85)
if [[ -n "$prereader" ]]; then
exec $concat "$file" | $prereader | $reader
else
exec $concat "$file" | $reader
likely benign
LLM, confidence 0.80
Shell wrapper executing a configured decompression/reader pipeline on an input file.
Reasoning
This is a pygmentize wrapper that runs a configured decompressor (concat) and optional prereader/reader pipeline on a user-supplied file. The dynamic path comes from script configuration, not a fetched or decoded payload, so it reads as a normal wrapper pattern.
-
command name is a variable (`$prereader`) that this file sets only to plain text (ast pass, confidence 0.40)
if [[ -n "$prereader" ]]; then
exec $concat "$file" | $prereader | $reader
else
exec $concat "$file" | $reader
-
command name is a variable (`$reader`) that this file sets only to plain text (ast pass, confidence 0.40)
if [[ -n "$prereader" ]]; then
exec $concat "$file" | $prereader | $reader
else
exec $concat "$file" | $reader
-
`exec` called with a dynamic (variable/substitution) path (ast pass, confidence 0.85)
else
exec $concat "$file" | $reader
fi
likely benign
LLM, confidence 0.80
Fallback branch of the same autopygmentize reader pipeline.
Reasoning
Same wrapper pipeline as the adjacent finding, with the else branch running the reader without a prereader. Nothing in the snippet fetches or decodes remote content.
-
command name is a variable (`$reader`) that this file sets only to plain text (ast pass, confidence 0.40)
else
exec $concat "$file" | $reader
fi
-
`sys._getframe` — call-stack frame introspection (ast pass, confidence 0.70)
try:
frame = sys._getframe(1)
filename = frame.f_locals['filename']
except Exception:
likely benign
LLM, confidence 0.85
Inspects the caller's stack frame to read a filename variable.
Reasoning
The code reads the caller's frame locals to get a filename, inside a try/except that tolerates failure. This is a common way for a parser to infer its source file, with no evasion or exfiltration visible.
-
`__import__` called on a non-literal expression (ast pass, confidence 0.70)
mod = __import__(module_name, None, None, ['__all__'])
for formatter_name in mod.__all__:
cls = getattr(mod, formatter_name)
likely benign
LLM, confidence 0.85
Dynamic import of a built-in formatter module by name.
Reasoning
This is Pygments' standard lazy loader for built-in formatter modules, which imports names from a fixed internal module set. The module name is a parameter that originates from the library's own lookup table.
-
`exec` called on a non-literal expression (ast pass, confidence 0.70)
with open(filename, 'rb') as f:
exec(f.read(), custom_namespace)
if formattername not in custom_namespace:
likely benign
LLM, confidence 0.75
Executes a user-provided custom formatter source file.
Reasoning
This exec runs a user-specified custom formatter file in a namespace, which matches Pygments' documented custom-formatter feature. It is an explicit user-driven plugin load, not a hidden payload.
-
`__import__` called on a non-literal expression (ast pass, confidence 0.70)
mod = __import__(module_name, None, None, ['__all__'])
for lexer_name in mod.__all__:
cls = getattr(mod, lexer_name)
likely benign
LLM, confidence 0.85
Dynamic import of a built-in lexer module by name.
Reasoning
This is Pygments' standard lazy loader for built-in lexer modules, importing from a fixed internal module name set.
-
`exec` called on a non-literal expression (ast pass, confidence 0.70)
with open(filename, 'rb') as f:
exec(f.read(), custom_namespace)
if lexername not in custom_namespace:
likely benign
LLM, confidence 0.75
Executes a user-provided custom lexer source file.
Reasoning
This exec loads a user-specified custom lexer file into a namespace, matching Pygments' documented custom-lexer feature. The source is chosen by the caller, not embedded in the package.
-
file mixes tab and space indentation (46 tab-indented and 5 space-indented lines) (raw pass, confidence 0.40)
-
`open(__file__)` — file reads its own source, common pattern for extracting payloads hidden in comments (ast pass, confidence 0.85)
with open(__file__, encoding="utf-8") as f:
data = f.read()
likely benign
LLM, confidence 0.90
Self-reading of an autogenerated builtins module during regeneration.
Reasoning
This is an autogenerated builtins module that reads its own source to regenerate keyword lists. Reading __file__ in a generator script is ordinary tooling, with no payload extraction visible.
-
`open(__file__)` — file reads its own source, common pattern for extracting payloads hidden in comments (ast pass, confidence 0.85)
with open(__file__, 'w', encoding='utf-8', newline='\n') as f:
f.write(data)
likely benign
LLM, confidence 0.90
Rewrites its own autogenerated builtins file.
Reasoning
The file is rewritten with regenerated data and a header. This is generator output in a code-generation script, not a hidden dropper.
-
`open(__file__)` — file reads its own source, common pattern for extracting payloads hidden in comments (ast pass, confidence 0.85)
with open(__file__, encoding='utf-8') as f:
content = f.read()
likely benign
LLM, confidence 0.90
Self-reading of an autogenerated Scilab builtins module.
Reasoning
This is the same autogenerated-builtins self-read pattern, used to regenerate keyword data. No decoding or execution of extracted content is shown.
-
`open(__file__)` — file reads its own source, common pattern for extracting payloads hidden in comments (ast pass, confidence 0.85)
with open(__file__, 'w', encoding='utf-8') as f:
f.write(header)
f.write('# Autogenerated\n\n')
likely benign
LLM, confidence 0.90
Rewrites the autogenerated Scilab builtins file with a header.
Reasoning
The file is rewritten with a generated header and autogenerated comment. This is a code-generation step writing its own output.
-
identifier `zΔ` mixes scripts: Latin + Greek (in string/comment) (raw pass, confidence 0.40)
(r'⎕[A-Za-zΔ∆⍙][A-Za-zΔ∆⍙_¯0-9]*', Name.Function),
-
identifier `zΔ` mixes scripts: Latin + Greek (in string/comment) (raw pass, confidence 0.40)
(r'⎕[A-Za-zΔ∆⍙][A-Za-zΔ∆⍙_¯0-9]*', Name.Function),
-
identifier `zΔ` mixes scripts: Latin + Greek (in string/comment) (raw pass, confidence 0.40)
-
identifier `zΔ` mixes scripts: Latin + Greek (in string/comment) (raw pass, confidence 0.40)
-
identifier `zΔ` mixes scripts: Latin + Greek (in string/comment) (raw pass, confidence 0.40)
(r'[A-Za-zΔ∆⍙_][A-Za-zΔ∆⍙_¯0-9]*', Name.Variable),
-
identifier `zΔ` mixes scripts: Latin + Greek (in string/comment) (raw pass, confidence 0.40)
(r'[A-Za-zΔ∆⍙_][A-Za-zΔ∆⍙_¯0-9]*', Name.Variable),
-
identifier `Zα` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)
_name_segment = (
"(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟]"
"(?:(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟0-9'ⁿ-₉ₐ-ₜᵢ-ᵪ])*")
_name = _name_segment + r"(\." + _name_segment + r")*"
-
identifier `Zα` mixes scripts: Latin + Greek (in string/comment) (raw pass, confidence 0.40)
_name_segment = (
"(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟]"
"(?:(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟0-9'ⁿ-₉ₐ-ₜᵢ-ᵪ])*")
_name = _name_segment + r"(\." + _name_segment + r")*"
-
identifier `Zα` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)
"(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟]"
"(?:(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟0-9'ⁿ-₉ₐ-ₜᵢ-ᵪ])*")
_name = _name_segment + r"(\." + _name_segment + r")*"
-
identifier `Zα` mixes scripts: Latin + Greek (in string/comment) (raw pass, confidence 0.40)
"(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟]"
"(?:(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟0-9'ⁿ-₉ₐ-ₜᵢ-ᵪ])*")
_name = _name_segment + r"(\." + _name_segment + r")*"
-
identifier `Zα` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)
_name_segment = (
"(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟]"
"(?:(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟0-9'ⁿ-₉ₐ-ₜᵢ-ᵪ!?])*")
_name = _name_segment + r"(\." + _name_segment + r")*"
-
identifier `Zα` mixes scripts: Latin + Greek (in string/comment) (raw pass, confidence 0.40)
_name_segment = (
"(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟]"
"(?:(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟0-9'ⁿ-₉ₐ-ₜᵢ-ᵪ!?])*")
_name = _name_segment + r"(\." + _name_segment + r")*"
-
identifier `Zα` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)
"(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟]"
"(?:(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟0-9'ⁿ-₉ₐ-ₜᵢ-ᵪ!?])*")
_name = _name_segment + r"(\." + _name_segment + r")*"
-
identifier `Zα` mixes scripts: Latin + Greek (in string/comment) (raw pass, confidence 0.40)
"(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟]"
"(?:(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟0-9'ⁿ-₉ₐ-ₜᵢ-ᵪ!?])*")
_name = _name_segment + r"(\." + _name_segment + r")*"
-
file imports decoder module(s) gzip, bz2 and calls `.decompress()` — embedded payload decompressed at runtime (ast pass, confidence 0.75)
import gzip
text = gzip.decompress(text)
elif self.compress == 'bz2':
import bz2
likely benign
LLM, confidence 0.90
Optionally decompresses gzip or bz2 raw-token input data.
Reasoning
Pygments' RawTokenLexer accepts optionally gzip- or bz2-compressed token dumps as input. Decompressing the caller's input data is a documented feature, not a hidden payload.
-
identifier `То` contains homoglyph candidates: Т (0422)→T, о (043E)→o (in string/comment) (raw pass, confidence 0.35)
זי |אז |אבל |Якщо |Унда |То |Припустимо, що |Припустимо |Онда |Но |Нехай |Лекин |Когато |Када |Кад |К тому же |И |Задато |Задати |Задате |Если |Допустим |Дадено |Ва |Бирок |Аммо |Али |Але |А
-
identifier `Но` contains homoglyph candidates: Н (041D)→H, о (043E)→o (in string/comment) (raw pass, confidence 0.35)
, що |Припустимо |Онда |Но |Нехай |Лекин |Когато |Када |Кад |К тому же |И |Задато |Задати |Задате |Если |Допустим |Дадено |Ва |Бирок |Аммо |Али |Але |Агар |А |І |Și |És |Zatati |Zakładając |Zadato |Zadate |Za
-
identifier `К` contains homoglyph candidates: К (041A)→K (in string/comment) (raw pass, confidence 0.35)
кин |Когато |Када |Кад |К тому же |И |Задато |Задати |Задате |Если |Допустим |Дадено |Ва |Бирок |Аммо |Али |Але |Агар |А |І |Și |És |Zatati |Zakładając |Zadato |Zadate |Zadano |Zadani |Zadan |Youse know when youse got |Youse know lik
-
identifier `Ва` contains homoglyph candidates: В (0412)→B, а (0430)→a (in string/comment) (raw pass, confidence 0.35)
сли |Допустим |Дадено |Ва |Бирок |Аммо |Али |Але |Агар |А |І |Și |És |Zatati |Zakładając |Zadato |Zadate |Zadano |Zadani |Zadan |Youse know when youse got |Youse know like when |Yna |Ya know how |Ya gotta |Y |Wun |Wtedy |When y\'all |When |Wenn |WEN |Và |Ve |Und |Un |Thì |T
-
identifier `А` contains homoglyph candidates: А (0410)→A (in string/comment) (raw pass, confidence 0.35)
к |Аммо |Али |Але |Агар |А |І |Și |És |Zatati |Zakładając |Zadato |Zadate |Zadano |Zadani |Zadan |Youse know when youse got |Youse know like when |Yna |Ya know how |Ya gotta |Y |Wun |Wtedy |When y\'all |When |Wenn |WEN |Và |Ve |Und |Un |Thì |Then y\'all |Then |Tapi |Tak |Tada |Tad |Så |Stel |Soi
-
`__import__` called on a non-literal expression (ast pass, confidence 0.70)
module = data[0]
mod = __import__(module, None, None, [classname])
self.filenames.add(mod.__file__)
cls = getattr(mod, classname)
likely benign
LLM, confidence 0.90
Dynamic __import__ of a lexer module named in configuration inside Pygments' Sphinx extension.
Reasoning
This is Pygments' Sphinx extension loading a lexer class from a module path taken from the lexer config, a standard plugin-loading idiom; the module name comes from the developer's own configuration, not untrusted input.
-
`__import__` called on a non-literal expression (ast pass, confidence 0.70)
module = data[0]
mod = __import__(module, None, None, [classname])
self.filenames.add(mod.__file__)
cls = getattr(mod, classname)
likely benign
LLM, confidence 0.90
Second dynamic __import__ for lexer loading in Pygments' Sphinx extension.
Reasoning
Same pattern as the other sphinxext finding: a lexer-module import driven by the library's own lexer registry data, which is ordinary plugin loading.
-
`__import__` called on a non-literal expression (ast pass, confidence 0.70)
try:
mod = __import__(mod, None, None, [cls])
except ImportError:
raise ClassNotFound(f"Could not find style module {mod!r}" +
likely benign
LLM, confidence 0.90
Dynamic __import__ used to load a Pygments style class by name.
Reasoning
Pygments resolves a style module name from a built-in style map (or user-provided name) and raises ClassNotFound on ImportError; this is the library's normal style-loading mechanism.
-
compression ratio 0.629 is >2σ above file mean 0.384 (raw pass, confidence 0.50)
Sc = '$\xa2-\xa5\u058f\u060b\u07fe-\u07ff\u09f2-\u09f3\u09fb\u0af1\u0bf9\u0e3f\u17db\u20a0-\u20bf\ua838\ufdfc\ufe69\uff04\uffe0-\uffe1\uffe5-\uffe6\U0001ecb0'
-
reach-by-name through `globals` (ast pass, confidence 0.60)
def combine(*args):
return ''.join(globals()[cat] for cat in args)
likely benign
LLM, confidence 0.90
Combines Unicode category string tables by looking them up in module globals.
Reasoning
Looking up Unicode category tables by name in globals() within a generator is a standard way to combine character-class strings in a generated data module; no external input or execution is involved.
-
reach-by-name through `globals` (ast pass, confidence 0.60)
newcats.remove(arg)
return ''.join(globals()[cat] for cat in newcats)
likely benign
LLM, confidence 0.90
Second globals() table lookup for combining Unicode categories.
Reasoning
Same globals() lookup of Unicode category tables used to subtract categories; purely data composition within a regeneration helper.
-
`open(__file__)` — file reads its own source, common pattern for extracting payloads hidden in comments (ast pass, confidence 0.85)
with open(__file__, encoding='utf-8') as fp:
content = fp.read()
likely benign
LLM, confidence 0.90
Script reads its own source file as part of regenerating the Unicode tables.
Reasoning
open(__file__) followed by read in a generator script is used to regenerate/inspect the module itself; the finding's own rationale concerns hidden payloads, but this is a benign self-rewrite of a data module with no execution.
-
`open(__file__)` — file reads its own source, common pattern for extracting payloads hidden in comments (ast pass, confidence 0.85)
with open(__file__, 'w', encoding='utf-8') as fp:
fp.write(header)
likely benign
LLM, confidence 0.90
Generator rewrites the unistring module file with a regenerated header.
Reasoning
Writing a header to the module's own file under the generator's main routine is a code-generation pattern; the written content is generated Unicode data, not a payload.
-
`compile` called on a non-literal expression (ast pass, confidence 0.70)
try:
compile('\n'.join(lines), fn, "exec")
except SyntaxError as err:
yield 0, f"not compilable: {err}"
likely benign
LLM, confidence 0.85
Compiles source lines to check syntax, not to run them.
Reasoning
compile() is used to syntax-check source lines of Pygments example files for a lint-style check, and only catches SyntaxError; it does not execute the code.
-
command name is a variable (`$SED`) that this file sets only to plain text (ast pass, confidence 0.40)
progname=`echo "$progpath" | $SED $basename`
modename="$progname"
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
:
elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
:
likely benign
LLM, confidence 0.90
Libtool script sample using $echo as a command variable in a shell test.
Reasoning
This is the standard GNU libtool ltmain.sh script used as a sample for lexer tests; $echo is a configured command variable in libtool's own shell logic.
-
`exec` called with a dynamic (variable/substitution) path (ast pass, confidence 0.85)
exec $SHELL "$progpath" --no-reexec ${1+"$@"}
fi
likely benign
LLM, confidence 0.90
Libtool re-execs itself under the correct shell as in upstream ltmain.sh.
Reasoning
The exec re-launches the script under a proper shell ($SHELL) with --no-reexec, a well-known libtool idiom; this is a test example file, not a dropper.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
$echo "$modename: not configured to build any kind of library" 1>&2
$echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
exit $EXIT_FAILURE
likely benign
LLM, confidence 0.90
Libtool error messages via $echo in a bash example file.
Reasoning
Standard libtool error-reporting lines using a configured $echo variable inside a sample script; no malicious behavior.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "$modename: not configured to build any kind of library" 1>&2
$echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
exit $EXIT_FAILURE
fi
likely benign
LLM, confidence 0.90
Second $echo error line in the libtool sample script.
Reasoning
Same benign libtool error output lines as the adjacent finding, present in a lexer test sample.
-
command name is a variable (`$SHELL`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
while (test "X"`$SHELL $0 --fallback-echo "X$testring" 2>/dev/null` \
= "XX$testring") >/dev/null 2>&1 &&
new_result=`expr "X$testring" : ".*" 2>&1` &&
likely benign
LLM, confidence 0.93
Libtool's shell feature test that runs $SHELL with --fallback-echo to detect a working echo.
Reasoning
The command substitution runs $SHELL to probe whether echo works, a standard autoconf/libtool feature test. The file is the well-known libtool ltmain.sh in a test-examples corpus, and the variable is set by the configure environment, not attacker input.
-
command name is a variable (`$mkdir`) that this file sets only to plain text (ast pass, confidence 0.40)
umask 0077
$mkdir "$my_tmpdir"
umask $save_mktempdir_umask
fi
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
test -d "$my_tmpdir" || {
$echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
exit $EXIT_FAILURE
}
dismissed
LLM, confidence 0.94
Error message printed via the $echo variable when temporary directory creation fails.
Reasoning
$echo is a configured variable that libtool sets to a working echo implementation. This is a routine error message in a temp-directory creation helper in a standard libtool script.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "X$my_tmpdir" | $Xsed
}
dismissed
LLM, confidence 0.94
Prints a path via the configured $echo and $Xsed variables.
Reasoning
Pipes $echo output into $Xsed, which libtool defines as a configured sed wrapper. This is ordinary libtool output handling with no network, download, or decode behaviour.
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
$echo "X$my_tmpdir" | $Xsed
}
-
`eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)
*ar\ archive*) if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
$EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
win32_nmres=`eval $NM -f posix -A $1 | \
likely benign
LLM, confidence 0.90
eval of objdump/nm commands to detect Windows PE import libraries.
Reasoning
eval runs the configured $OBJDUMP and $NM tools to inspect DLL import libraries on Windows. The variables come from libtool's configure step, and the eval is a documented, necessary pattern for that tool-probing logic, not obfuscation.
-
command name is a variable (`$SED`) that this file sets only to plain text (ast pass, confidence 0.40)
*ar\ archive*) if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
$EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
win32_nmres=`eval $NM -f posix -A $1 | \
-
command name is a variable (`$EGREP`) that this file sets only to plain text (ast pass, confidence 0.40)
if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
$EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
win32_nmres=`eval $NM -f posix -A $1 | \
$SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
-
`eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)
$EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
win32_nmres=`eval $NM -f posix -A $1 | \
$SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
case $win32_nmres in
likely benign
LLM, confidence 0.90
Backtick eval of nm output parsed with sed to classify Windows import archives.
Reasoning
Same eval pattern as the preceding line: a backtick-captured nm invocation that filters output with sed to identify Windows import archives. The commands are fixed tool names set by configure, so this is legitimate build logic.
-
command name is a variable (`$SED`) that this file sets only to plain text (ast pass, confidence 0.40)
win32_nmres=`eval $NM -f posix -A $1 | \
$SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
case $win32_nmres in
import*) win32_libid_type="x86 archive import";;
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
esac
$echo $win32_libid_type
}
dismissed
LLM, confidence 0.94
Prints the Windows library ID type using the configured $echo.
Reasoning
$echo prints the detected win32 library id type. It is a configured variable in a standard libtool function, with no external input or hidden execution.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
" $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
dismissed
LLM, confidence 0.95
Case-pattern string that embeds a `$echo $CC` substitution for compiler name matching.
Reasoning
Inside a case pattern matching against the compiler command, the $echo appears in a backtick substitution used only as a string pattern for the CC name. Nothing is executed based on untrusted input.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
" $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
dismissed
LLM, confidence 0.95
Another `$echo $CC` case pattern in the compiler-flag matching list.
Reasoning
Same case-pattern list, with the $echo substitution used only for pattern matching against the CC variable. It is a legitimate libtool idiom for stripping compiler flags from the command line.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
" $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
dismissed
LLM, confidence 0.95
Case pattern using `$echo $CC_quoted` to match the compiler prefix.
Reasoning
The same case-pattern expression with $echo $CC_quoted, used to match the compiler command. It is a pattern in a case statement, not an executed payload.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
" $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
dismissed
LLM, confidence 0.95
Case pattern with `$echo $CC_quoted` used for compiler-name matching.
Reasoning
Identical case-pattern construct for the quoted CC variable within libtool's compiler-matching logic. The finding is a false positive from the variable-command heuristic.
-
`eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)
eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
CC_quoted=
for arg in $CC; do
likely benign
LLM, confidence 0.90
Libtool's eval of its own embedded LIBTOOL TAG CONFIG section, read from the script file.
Reasoning
This eval reads a tagged configuration section from the script's own progpath via sed and evaluates it. That is a standard libtool pattern for loading per-tag configuration. The file is a copy of GNU libtool's ltmain.sh, and the eval source is the script itself, not attacker-supplied input.
-
command name is a variable (`$SED`) that this file sets only to plain text (ast pass, confidence 0.40)
eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
CC_quoted=
for arg in $CC; do
-
command name is a variable (`$SED`) that this file sets only to plain text (ast pass, confidence 0.40)
trimedcc=`echo ${CC} | $SED -e "s/${host}-//g"`
extendcc=${host}-${CC}
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
break ;;
"$trimedcc "* | " $trimedcc "* | "`$echo $trimedcc` "* | " `$echo $trimedcc` "*|\
"$extendcc "* | " $extendcc "* | "`$echo $extendcc` "* | " `$echo $extendcc` "*|\
"$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\
likely benign
LLM, confidence 0.90
A case pattern that uses the libtool-defined $echo variable in backtick substitution to match compiler command names.
Reasoning
The $echo variable is set earlier in libtool's script to select an echo implementation. It is used inside case patterns and backtick substitutions that match compiler command strings. This is ordinary libtool shell logic, not a dropper or hidden command.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
break ;;
"$trimedcc "* | " $trimedcc "* | "`$echo $trimedcc` "* | " `$echo $trimedcc` "*|\
"$extendcc "* | " $extendcc "* | "`$echo $extendcc` "* | " `$echo $extendcc` "*|\
"$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\
likely benign
LLM, confidence 0.90
Another $echo backtick use in the same libtool case pattern.
Reasoning
Same construct as the other findings on this line: $echo is a libtool-internal echo selector used in pattern matching against compiler flags. No external or obfuscated execution is involved.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
"$trimedcc "* | " $trimedcc "* | "`$echo $trimedcc` "* | " `$echo $trimedcc` "*|\
"$extendcc "* | " $extendcc "* | "`$echo $extendcc` "* | " `$echo $extendcc` "*|\
"$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\
likely benign
LLM, confidence 0.90
A libtool case-pattern line using $echo in backtick substitution to match compiler commands.
Reasoning
This is part of the same libtool case-pattern block using the internal $echo variable to normalise compiler command strings. It is consistent with the surrounding legitimate code.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
"$trimedcc "* | " $trimedcc "* | "`$echo $trimedcc` "* | " `$echo $trimedcc` "*|\
"$extendcc "* | " $extendcc "* | "`$echo $extendcc` "* | " `$echo $extendcc` "*|\
"$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\
likely benign
LLM, confidence 0.90
Another $echo use in the libtool compiler-matching case block.
Reasoning
Identical pattern to the neighbouring findings in the libtool case block. The $echo variable is defined by libtool itself, so the flag reflects only the variable name, not malicious execution.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
"$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\
" $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
likely benign
LLM, confidence 0.90
Libtool case-pattern matching of compiler command variants with $echo substitutions.
Reasoning
The line matches compiler command variants ($mungedcc, $CC, $CC_quoted) inside a libtool case statement. The $echo command substitutions are standard for portable echo handling in libtool. This is legitimate build-tool logic.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
"$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\
" $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
likely benign
LLM, confidence 0.90
A $echo backtick substitution within the libtool compiler-argument case match.
Reasoning
Same case-pattern line as the other findings. The $echo variable is libtool-defined and the code only classifies compiler arguments.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
"$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\
" $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
likely benign
LLM, confidence 0.90
A $echo-based pattern line in libtool's compiler-command matching logic.
Reasoning
This is a continuation of the libtool compiler-matching case block, using internal variables and $echo for portable output. The snippet shows no network access, decoding, or hidden execution.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
"$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\
" $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
likely benign
LLM, confidence 0.90
A further $echo backtick pattern in the libtool compiler-match case block.
Reasoning
Part of the same libtool case statement. The flagged variable is libtool's own echo selector, and the context is an ordinary compiler-argument classifier.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
"$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\
" $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
likely benign
LLM, confidence 0.90
Case pattern matching compiler command strings inside libtool's ltmain.sh, where $echo is an internal echo wrapper.
Reasoning
This is GNU libtool's ltmain.sh, a standard build script. $echo is a variable assigned earlier in the script (set to a printf/echo wrapper), and the case pattern only matches strings against compiler names. The flag is a false positive from the variable-command-name heuristic.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
"$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\
" $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
likely benign
LLM, confidence 0.90
Second occurrence of the compiler-name case pattern in libtool's ltmain.sh.
Reasoning
Same snippet as the previous finding: a case pattern in libtool's ltmain.sh with $echo as a standard internal variable. The variable-command heuristic fires on a benign pattern list.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -z "$tagname"; then
$echo "$modename: unable to infer tagged configuration"
$echo "$modename: specify a tag with \`--tag'" 1>&2
exit $EXIT_FAILURE
likely benign
LLM, confidence 0.92
Prints an error message about an unset tag before exiting, via the $echo variable.
Reasoning
Error message output in libtool using the internal $echo variable, which is defined earlier in the script as the echo command. Standard shell script idiom with no malicious behavior.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "$modename: unable to infer tagged configuration"
$echo "$modename: specify a tag with \`--tag'" 1>&2
exit $EXIT_FAILURE
likely benign
LLM, confidence 0.92
Prints a tag-specification error message via $echo and exits.
Reasoning
Error message printed with $echo before exit in libtool. Benign diagnostic output.
-
command name is a variable (`$show`) that this file sets only to plain text (ast pass, confidence 0.40)
$show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
$run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
$run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
:
-
command name is a variable (`$AR`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
:
else
likely benign
LLM, confidence 0.90
Invokes the configured archiver ($AR) to list members of an old library.
Reasoning
$AR is the archiver variable set by configure (e.g. ar). Running it to list archive members is the normal libtool workflow for extracting convenience archives.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
else
$echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
exit $EXIT_FAILURE
fi
likely benign
LLM, confidence 0.92
Reports an object name conflict and exits with failure.
Reasoning
Error reporting for an object-name conflict using $echo, followed by exit. Standard libtool diagnostic.
-
command name is a variable (`$show`) that this file sets only to plain text (ast pass, confidence 0.40)
$show "${rm}r $my_gentop"
$run ${rm}r "$my_gentop"
$show "$mkdir $my_gentop"
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$show "${rm}r $my_gentop"
$run ${rm}r "$my_gentop"
$show "$mkdir $my_gentop"
$run $mkdir "$my_gentop"
-
command name is a variable (`$show`) that this file sets only to plain text (ast pass, confidence 0.40)
$run ${rm}r "$my_gentop"
$show "$mkdir $my_gentop"
$run $mkdir "$my_gentop"
my_status=$?
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$show "$mkdir $my_gentop"
$run $mkdir "$my_gentop"
my_status=$?
if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
esac
my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
my_xdir="$my_gentop/$my_xlib"
likely benign
LLM, confidence 0.90
Computes a basename of an archive member using $echo and $Xsed.
Reasoning
Backtick command substitution using the internal $echo wrapper and $Xsed to compute a basename. Ordinary libtool text processing.
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
esac
my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
my_xdir="$my_gentop/$my_xlib"
-
command name is a variable (`$show`) that this file sets only to plain text (ast pass, confidence 0.40)
$show "${rm}r $my_xdir"
$run ${rm}r "$my_xdir"
$show "$mkdir $my_xdir"
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$show "${rm}r $my_xdir"
$run ${rm}r "$my_xdir"
$show "$mkdir $my_xdir"
$run $mkdir "$my_xdir"
-
command name is a variable (`$show`) that this file sets only to plain text (ast pass, confidence 0.40)
$run ${rm}r "$my_xdir"
$show "$mkdir $my_xdir"
$run $mkdir "$my_xdir"
exit_status=$?
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$show "$mkdir $my_xdir"
$run $mkdir "$my_xdir"
exit_status=$?
if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
-
command name is a variable (`$show`) that this file sets only to plain text (ast pass, confidence 0.40)
*-darwin*)
$show "Extracting $my_xabs"
if test -z "$run"; then
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
darwin_curdir=`pwd`
darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
if test -n "$darwin_arches"; then
likely benign
LLM, confidence 0.90
Darwin branch that extracts a base archive name and queries lipo for architectures.
Reasoning
Darwin-specific archive handling in libtool: basename extraction and lipo architecture query. Expected build logic for universal binaries.
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
darwin_curdir=`pwd`
darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
if test -n "$darwin_arches"; then
-
command name is a variable (`$EGREP`) that this file sets only to plain text (ast pass, confidence 0.40)
darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
if test -n "$darwin_arches"; then
darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
-
command name is a variable (`$SED`) that this file sets only to plain text (ast pass, confidence 0.40)
if test -n "$darwin_arches"; then
darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
darwin_arch=
$show "$darwin_base_archive has multiple architectures $darwin_arches"
-
command name is a variable (`$show`) that this file sets only to plain text (ast pass, confidence 0.40)
darwin_arch=
$show "$darwin_base_archive has multiple architectures $darwin_arches"
for darwin_arch in $darwin_arches ; do
mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-
command name is a variable (`$rm`) that this file sets only to plain text (ast pass, confidence 0.40)
cd "$darwin_curdir"
$rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
done
-
command name is a variable (`$NL2SP`) that this file sets only to plain text (ast pass, confidence 0.40)
darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
darwin_file=
darwin_files=
-
command name is a variable (`$NL2SP`) that this file sets only to plain text (ast pass, confidence 0.40)
for darwin_file in $darwin_filelist; do
darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
lipo -create -output "$darwin_file" $darwin_files
done
-
command name is a variable (`$rm`) that this file sets only to plain text (ast pass, confidence 0.40)
done ${rm}r unfat-$$
cd "$darwin_orig_dir"
else
-
command name is a variable (`$NL2SP`) that this file sets only to plain text (ast pass, confidence 0.40)
esac
my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
done
func_extract_archives_result="$my_oldobjs"
-
`eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)
eval std_shrext=\"$shrext_cmds\"
disable_libs=no
likely benign
LLM, confidence 0.85
Evaluates the shared-library extension command string from configuration.
Reasoning
eval on $shrext_cmds, a shell-extension command string set by libtool's configure-time logic. This is a standard, intentional pattern in libtool, not attacker-supplied input, though eval is a legitimate risk in general.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
case $arg in
-*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
*) optarg= ;;
esac
likely benign
LLM, confidence 0.90
Extracts the value of a -opt=value argument using $echo and $Xsed.
Reasoning
Parses an option value from the argument with $echo and $Xsed, a normal option-parsing idiom in libtool.
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
case $arg in
-*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
*) optarg= ;;
esac
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
*[!-_A-Za-z0-9,/]*)
$echo "$progname: invalid tag name: $tagname" 1>&2
exit $EXIT_FAILURE
;;
likely benign
LLM, confidence 0.92
Reports an invalid tag name and exits.
Reasoning
Error message for an invalid tag name using $echo, followed by exit. Standard input validation message.
-
`eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)
eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
else
$echo "$progname: ignoring unknown tag $tagname" 1>&2
likely benign
LLM, confidence 0.85
Libtool's eval of a sed-extracted LIBTOOL TAG CONFIG block from its own script.
Reasoning
This is the standard GNU libtool idiom for loading a tagged configuration block from the script itself via sed, then eval-ing it. The input is the script's own file, not attacker-controlled data, and the file sits under tests/examplefiles, so it is a syntax-highlighting sample rather than a shipped dropper.
-
command name is a variable (`$SED`) that this file sets only to plain text (ast pass, confidence 0.40)
eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
else
$echo "$progname: ignoring unknown tag $tagname" 1>&2
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
else
$echo "$progname: ignoring unknown tag $tagname" 1>&2
fi
;;
likely benign
LLM, confidence 0.90
Invocation of a variable-named echo command, a standard libtool portability idiom.
Reasoning
$echo is a variable that libtool assigns earlier to its echo command, a well-known portability pattern. Nothing here is encoded or hidden, and the file is a legitimate libtool script sample.
-
`eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)
*)
eval "$prev=\$arg"
;;
esac
likely benign
LLM, confidence 0.85
Eval assigning a parsed command-line argument to a variable named in $prev.
Reasoning
This is the libtool argument-parsing eval that assigns an option value to a variable named by the previous option ($prev). It is a known, if inelegant, pattern within libtool's option handling, with no network or encoded payload involved.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
--version)
$echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
$echo
$echo "Copyright (C) 2005 Free Software Foundation, Inc."
likely benign
LLM, confidence 0.90
Prints version information through the $echo variable.
Reasoning
Standard libtool --version output using the $echo variable. This is ordinary usage text with no malicious behavior.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
$echo
$echo "Copyright (C) 2005 Free Software Foundation, Inc."
$echo "This is free software; see the source for copying conditions. There is NO"
likely benign
LLM, confidence 0.90
Prints the copyright line through $echo.
Reasoning
Copyright banner printed through the $echo variable in libtool's version output. Ordinary and benign.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo
$echo "Copyright (C) 2005 Free Software Foundation, Inc."
$echo "This is free software; see the source for copying conditions. There is NO"
$echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
likely benign
LLM, confidence 0.90
Prints license text through $echo.
Reasoning
Prints a blank line and license text via $echo in libtool's version output. Benign.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "Copyright (C) 2005 Free Software Foundation, Inc."
$echo "This is free software; see the source for copying conditions. There is NO"
$echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
exit $?
likely benign
LLM, confidence 0.90
Prints license text and exits through $echo.
Reasoning
Prints license text through $echo and then exits with the status of the last command. Standard libtool version handling, benign.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "This is free software; see the source for copying conditions. There is NO"
$echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
exit $?
;;
likely benign
LLM, confidence 0.90
Prints warranty text through $echo before exiting.
Reasoning
Prints warranty text through $echo before exiting, matching the standard libtool version-output block. Benign.
-
command name is a variable (`$SED`) that this file sets only to plain text (ast pass, confidence 0.40)
--config)
${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
for tagname in $taglist; do
-
command name is a variable (`$SED`) that this file sets only to plain text (ast pass, confidence 0.40)
for tagname in $taglist; do
${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
done
exit $?
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
--debug)
$echo "$progname: enabling shell trace mode"
set -x
preserve_args="$preserve_args $arg"
likely benign
LLM, confidence 0.90
Enables shell trace mode for debugging via $echo and set -x.
Reasoning
Under --debug, libtool echoes a message and enables shell tracing with set -x. This is a normal debugging feature with no exfiltration or hidden execution.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
--features)
$echo "host: $host"
if test "$build_libtool_libs" = yes; then
$echo "enable shared libraries"
likely benign
LLM, confidence 0.90
Prints host and feature information through $echo.
Reasoning
The --features handler prints host and build-option information through $echo. Ordinary libtool behavior.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test "$build_libtool_libs" = yes; then
$echo "enable shared libraries"
else
$echo "disable shared libraries"
likely benign
LLM, confidence 0.90
Reports whether shared libraries are enabled, using $echo.
Reasoning
Conditional output of whether shared libraries are enabled, via $echo. Benign libtool feature reporting.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
else
$echo "disable shared libraries"
fi
if test "$build_old_libs" = yes; then
likely benign
LLM, confidence 0.93
Libtool script calling its configured $echo variable to print status messages.
Reasoning
This is the standard libtool ltmain.sh script, where $echo is a variable assigned by configure to the appropriate echo command. It is a test example file in a syntax highlighter repo. The variable-command pattern is a well-known idiom of autotools scripts and not malicious.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test "$build_old_libs" = yes; then
$echo "enable static libraries"
else
$echo "disable static libraries"
likely benign
LLM, confidence 0.93
Libtool printing library build status via the $echo variable.
Reasoning
Same libtool idiom: $echo is a configure-time variable used to print messages about static library builds. Legitimate autotools pattern in a test example file.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
else
$echo "disable static libraries"
fi
exit $?
likely benign
LLM, confidence 0.93
Libtool status message printed through $echo before exit.
Reasoning
Standard libtool $echo usage for a status message before exiting. Benign autotools boilerplate.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
-*)
$echo "$modename: unrecognized option \`$arg'" 1>&2
$echo "$help" 1>&2
exit $EXIT_FAILURE
likely benign
LLM, confidence 0.93
Error message for an unrecognized option printed via $echo.
Reasoning
Libtool option parsing error handling using $echo for the unrecognized-option message. Benign boilerplate from the libtool script.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "$modename: unrecognized option \`$arg'" 1>&2
$echo "$help" 1>&2
exit $EXIT_FAILURE
;;
likely benign
LLM, confidence 0.93
Printing help text via $echo on argument error.
Reasoning
Printing help text via $echo on an unrecognized option, followed by exit. Standard libtool code.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -n "$prevopt"; then
$echo "$modename: option \`$prevopt' requires an argument" 1>&2
$echo "$help" 1>&2
exit $EXIT_FAILURE
likely benign
LLM, confidence 0.93
Error message for an option missing its required argument via $echo.
Reasoning
Missing-argument error path in libtool option parsing using the configured $echo variable. Benign.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "$modename: option \`$prevopt' requires an argument" 1>&2
$echo "$help" 1>&2
exit $EXIT_FAILURE
fi
likely benign
LLM, confidence 0.93
Help text printed via $echo before exiting on missing argument.
Reasoning
Help output and exit on missing option argument, same libtool pattern. Benign.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -z "$mode"; then
$echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
$echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
case $nonopt in
likely benign
LLM, confidence 0.93
Deprecation warning about inferred mode printed via $echo.
Reasoning
Deprecation warning about inferring operation mode, printed via $echo in libtool. Benign.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
$echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
case $nonopt in
*cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
likely benign
LLM, confidence 0.93
Future-version warning about --mode requirement printed via $echo.
Reasoning
Second deprecation warning line via $echo in the libtool mode-inference logic. Benign.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -n "$nonopt"; then
$echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
else
$echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
likely benign
LLM, confidence 0.93
Warning about inability to infer operation mode via $echo.
Reasoning
Warning about being unable to infer operation mode, printed through $echo in libtool. Benign.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
else
$echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
fi
fi
likely benign
LLM, confidence 0.93
Warning about missing MODE-ARGS printed via $echo.
Reasoning
Same libtool warning pattern for missing MODE-ARGS, printed via $echo. Benign.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -n "$execute_dlfiles" && test "$mode" != execute; then
$echo "$modename: unrecognized option \`-dlopen'" 1>&2
$echo "$help" 1>&2
exit $EXIT_FAILURE
likely benign
LLM, confidence 0.90
Libtool script calling its configured $echo variable to print an error message.
Reasoning
This is GNU libtool's ltmain.sh, a standard build script. $echo is a variable set by the libtool configuration (conventionally printf or echo) and used as a command name; this is a common, documented idiom in libtool and not obfuscation. The file is also under tests/examplefiles, so it is a sample file rather than a shipped payload.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
$echo "$modename: unrecognized option \`-dlopen'" 1>&2
$echo "$help" 1>&2
exit $EXIT_FAILURE
fi
likely benign
LLM, confidence 0.90
Libtool error output via configured $echo variable followed by exit.
Reasoning
Same pattern as the rest of libtool's ltmain.sh: $echo is a configuration-provided command used to print help/error text before exiting. Standard autotools idiom, no malicious indicators.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
if test -n "$libobj" ; then
$echo "$modename: you cannot specify \`-o' more than once" 1>&2
exit $EXIT_FAILURE
fi
likely benign
LLM, confidence 0.90
Libtool option-parsing error message using $echo.
Reasoning
Standard libtool argument parsing emitting an error via $echo. The variable indirection is set by libtool's configure step, which is expected for this generated script.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
-Wc,*)
args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
lastarg=
save_ifs="$IFS"; IFS=','
likely benign
LLM, confidence 0.90
Libtool compiler-argument rewriting via $echo | $Xsed command substitution.
Reasoning
Command substitution using $echo piped to $Xsed for argument transformation in libtool's -Wc, handling. Ordinary generated-script plumbing; the variable-command pattern is inherent to libtool's portability design.
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
-Wc,*)
args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
lastarg=
save_ifs="$IFS"; IFS=','
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
IFS="$save_ifs"
lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
likely benign
LLM, confidence 0.88
Libtool argument-quoting pipeline via $echo and $Xsed.
Reasoning
Standard libtool quoting pipeline: $echo output piped through $Xsed to strip leading spaces from an argument. No network, decoding or dropper behavior.
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
IFS="$save_ifs"
lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
case $lastarg in
likely benign
LLM, confidence 0.90
Libtool argument quoting using $echo and sed substitution.
Reasoning
Aesthetic quoting of an argument via $echo and $Xsed with sed_quote_subst, a normal libtool construction for escaping shell arguments.
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
case $lastarg in
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
arg)
$echo "$modename: you must specify an argument for -Xcompile"
exit $EXIT_FAILURE
;;
likely benign
LLM, confidence 0.90
Libtool error message for missing argument via $echo.
Reasoning
Error message for missing -Xcompile argument via $echo, followed by exit. Ordinary libtool error handling.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
target)
$echo "$modename: you must specify a target with \`-o'" 1>&2
exit $EXIT_FAILURE
;;
likely benign
LLM, confidence 0.90
Libtool error message for missing target via $echo.
Reasoning
Error message for missing -o target via $echo, then exit. Ordinary libtool error handling.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
[ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
;;
esac
likely benign
LLM, confidence 0.90
Libtool derivation of object basename via $echo and sed.
Reasoning
Derives library object name from source path using $echo piped to $Xsed with a sed substitution. Standard libtool path manipulation.
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
[ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
;;
esac
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
case $libobj in
likely benign
LLM, confidence 0.90
Libtool suffix rewrite of library object name via $echo and sed.
Reasoning
Transforms the library object suffix via $echo and $Xsed, a normal libtool step for naming .lo files.
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
case $libobj in
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
case $libobj in
*.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
*)
$echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
likely benign
LLM, confidence 0.90
Libtool .lo-to-.o conversion via $echo and sed.
Reasoning
Converts .lo name to .o via $echo and $Xsed, with an error path via $echo. Standard libtool logic.
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
case $libobj in
*.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
*)
$echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
*)
$echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
exit $EXIT_FAILURE
;;
likely benign
LLM, confidence 0.90
Libtool error message via $echo for unknown library object name.
Reasoning
Error message via $echo followed by exit when the object name cannot be determined. Ordinary libtool error handling.
-
command name is a variable (`$echo`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)
qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
case $qlibobj in
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
likely benign
LLM, confidence 0.92
Libtool's ltmain.sh runs its configured echo command to quote an object path.
Reasoning
$echo is the standard libtool-configured echo command, set by the configure script and the surrounding build environment. The snippet only pipes a quoted value through $Xsed for escaping, which is ordinary libtool shell code.
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
case $qlibobj in
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
&& $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
if test "X$xdir" = "X$obj"; then
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
if test "X$xdir" = "X$obj"; then
xdir=
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$run $rm $removelist
trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
if test "$compiler_c_o" = no; then
output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
lockfile="$output_obj.lock"
removelist="$removelist $output_obj $lockfile"
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
if test "$need_locks" = yes; then
until $run ln "$srcfile" "$lockfile" 2>/dev/null; do
$show "Waiting for $lockfile to be removed"
sleep 2
-
command name is a variable (`$show`) that this file sets only to plain text (ast pass, confidence 0.40)
until $run ln "$srcfile" "$lockfile" 2>/dev/null; do
$show "Waiting for $lockfile to be removed"
sleep 2
done
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$run $rm $removelist
exit $EXIT_FAILURE
fi
-
`eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)
if test -n "$fix_srcfile_path"; then
eval srcfile=\"$fix_srcfile_path\"
fi
qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
likely benign
LLM, confidence 0.93
Libtool evaluates a configured source path variable to resolve the srcfile name.
Reasoning
The eval re-expands fix_srcfile_path, a value that libtool itself sets when it rewrites source paths for Cygwin/MSYS-style handling. This is the known eval-based variable expansion idiom in libtool's build logic, not a payload or dropper.
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
fi
qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
case $qsrcfile in
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$run $rm "$libobj" "${libobj}T"
-
command name is a variable (`$show`) that this file sets only to plain text (ast pass, confidence 0.40)
if test ! -d "${xdir}$objdir"; then
$show "$mkdir ${xdir}$objdir"
$run $mkdir ${xdir}$objdir
exit_status=$?
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$show "$mkdir ${xdir}$objdir"
$run $mkdir ${xdir}$objdir
exit_status=$?
if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$run $rm "$lobj" "$output_obj"
$show "$command"
-
command name is a variable (`$show`) that this file sets only to plain text (ast pass, confidence 0.40)
$show "$command"
if $run eval "$command"; then :
else
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$show "$command"
if $run eval "$command"; then :
else
test -n "$output_obj" && $run $rm $removelist
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
else
test -n "$output_obj" && $run $rm $removelist
exit $EXIT_FAILURE
fi
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$run $rm $removelist
exit $EXIT_FAILURE
fi
-
command name is a variable (`$show`) that this file sets only to plain text (ast pass, confidence 0.40)
if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
$show "$mv $output_obj $lobj"
if $run $mv $output_obj $lobj; then :
else
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$show "$mv $output_obj $lobj"
if $run $mv $output_obj $lobj; then :
else
error=$?
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
error=$?
$run $rm $removelist
exit $error
fi
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
command="$command$suppress_output"
$run $rm "$obj" "$output_obj"
$show "$command"
if $run eval "$command"; then :
-
command name is a variable (`$show`) that this file sets only to plain text (ast pass, confidence 0.40)
$run $rm "$obj" "$output_obj"
$show "$command"
if $run eval "$command"; then :
else
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$show "$command"
if $run eval "$command"; then :
else
$run $rm $removelist
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
else
$run $rm $removelist
exit $EXIT_FAILURE
fi
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$run $rm $removelist
exit $EXIT_FAILURE
fi
-
command name is a variable (`$show`) that this file sets only to plain text (ast pass, confidence 0.40)
if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
$show "$mv $output_obj $obj"
if $run $mv $output_obj $obj; then :
else
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$show "$mv $output_obj $obj"
if $run $mv $output_obj $obj; then :
else
error=$?
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
error=$?
$run $rm $removelist
exit $error
fi
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$run $mv "${libobj}T" "${libobj}"
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
if test "$need_locks" != no; then
$run $rm "$lockfile"
fi
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ;;
*) qarg=$arg ;;
-
command name is a variable (`$SED`) that this file sets only to plain text (ast pass, confidence 0.40)
if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
pic_object=
non_pic_object=
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
if test "X$xdir" = "X$arg"; then
xdir=
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
if test "X$xdir" = "X$arg"; then
xdir=
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
libobjs="$libobjs $pic_object"
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
libobjs="$libobjs $pic_object"
non_pic_objects="$non_pic_objects $non_pic_object"
-
`eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)
*)
eval "$prev=\"\$arg\""
prev=
continue
likely benign
LLM, confidence 0.93
Libtool's argument parser uses eval to store an option value into a named variable.
Reasoning
This eval assigns a command-line argument into a variable named by the prev state, which is the standard libtool option-parsing pattern for flags like -o or -L. The input comes from the local invocation, not from remote or hidden sources.
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
-L*)
dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
case $dir in
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$dir:"*) ;;
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
case $arg in
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
-R*)
dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
case $dir in
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
-Wc,*)
args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
arg=
save_ifs="$IFS"; IFS=','
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
IFS="$save_ifs"
arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
;;
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
-Wl,*)
args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
arg=
save_ifs="$IFS"; IFS=','
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
IFS="$save_ifs"
arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
;;
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
case $arg in
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
-
command name is a variable (`$SED`) that this file sets only to plain text (ast pass, confidence 0.40)
if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
pic_object=
non_pic_object=
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
if test "X$xdir" = "X$arg"; then
xdir=
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
if test "X$xdir" = "X$arg"; then
xdir=
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
libobjs="$libobjs $pic_object"
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
libobjs="$libobjs $pic_object"
non_pic_objects="$non_pic_objects $non_pic_object"
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
case $arg in
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
-
`eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)
if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
eval arg=\"$export_dynamic_flag_spec\"
compile_command="$compile_command $arg"
finalize_command="$finalize_command $arg"
likely benign
LLM, confidence 0.93
Libtool expands a configured export-dynamic flag template into the link command.
Reasoning
The eval re-expands export_dynamic_flag_spec, a compiler-flag template that libtool gets from its per-platform configuration. This is the routine libtool pattern for building link flags.
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
libobjs_save="$libobjs"
-
`eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)
fi
eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
likely benign
LLM, confidence 0.93
Libtool evaluates system library search path specs from its configuration.
Reasoning
These evals expand library search path specification strings that libtool derives from the compiler and system configuration. Expanding these specs is how libtool determines system library directories, and the snippet shows no network or decoding activity.
-
`eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)
eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
likely benign
LLM, confidence 0.93
Libtool evaluates the dynamic linker search path spec from its configuration.
Reasoning
This is the same pattern as the neighboring eval lines, expanding the dlsearch path spec from libtool's platform configuration. It is ordinary build-system logic.
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
if test "X$output_objdir" = "X$output"; then
output_objdir="$objdir"
-
command name is a variable (`$show`) that this file sets only to plain text (ast pass, confidence 0.40)
if test ! -d "$output_objdir"; then
$show "$mkdir $output_objdir"
$run $mkdir $output_objdir
exit_status=$?
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$show "$mkdir $output_objdir"
$run $mkdir $output_objdir
exit_status=$?
if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
fi
name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
for search_ext in .la $std_shrext .so .a; do
-
command name is a variable (`$SED`) that this file sets only to plain text (ast pass, confidence 0.40)
*" $deplib "*)
if (${SED} -e '2q' $lib |
grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
library_names=
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
found=no
ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
test "X$ladir" = "X$lib" && ladir="."
lib=$ladir/$old_library
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
newdependency_libs="$deplib $newdependency_libs"
newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
;;
prog)
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
fi
newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
;;
*)
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
if test "$pass" = link; then
dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
case "$xrpath " in
-
`eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)
match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
if eval $echo \"$deplib\" 2>/dev/null \
| $SED 10q \
| $EGREP "$match_pattern_regex" > /dev/null; then
likely benign
LLM, confidence 0.93
Libtool evaluates a dependency library name while checking its file type.
Reasoning
The eval runs echo on a quoted dependency library name to test whether it matches the deplibs check pattern. This is a standard libtool dependency-inspection step that reads library files and is not a dropper.
-
command name is a variable (`$SED`) that this file sets only to plain text (ast pass, confidence 0.40)
if eval $echo \"$deplib\" 2>/dev/null \
| $SED 10q \
| $EGREP "$match_pattern_regex" > /dev/null; then
valid_a_lib=yes
-
command name is a variable (`$EGREP`) that this file sets only to plain text (ast pass, confidence 0.40)
| $SED 10q \
| $EGREP "$match_pattern_regex" > /dev/null; then
valid_a_lib=yes
fi
-
command name is a variable (`$SED`) that this file sets only to plain text (ast pass, confidence 0.40)
if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
else
$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
test "X$ladir" = "X$lib" && ladir="."
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
esac
laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
fi name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
-
command name is a variable (`$Xsed`) that this file sets only to plain text (ast pass, confidence 0.40)
case $deplib in
-L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; esac
-
`eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)
shift; shift
libname=`eval \\$echo \"$libname_spec\"`
if test -n "$dlname"; then
likely benign
LLM, confidence 0.93
Libtool expands a configured library name template with eval.
Reasoning
The backtick eval expands libname_spec, a configured library naming template, to build the library name. This is standard libtool behavior with no external input or execution of fetched content.
-
`eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)
esac
eval soname=\"$soname_spec\"
else
soname="$realname"
likely benign
LLM, confidence 0.93
Libtool expands a configured soname template with eval.
Reasoning
The eval expands soname_spec, a configured shared-object naming template, to set the soname. This is a routine libtool step for constructing library filenames.
-
command name is a variable (`$SED`) that this file sets only to plain text (ast pass, confidence 0.40)
soroot="$soname"
soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
-
command name is a variable (`$SED`) that this file sets only to plain text (ast pass, confidence 0.40)
soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
-
command name is a variable (`$show`) that this file sets only to plain text (ast pass, confidence 0.40)
else
$show "extracting exported symbol list from \`$soname'"
save_ifs="$IFS"; IFS='~'
cmds=$extract_expsyms_cmds
-
`eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)
IFS="$save_ifs"
eval cmd=\"$cmd\"
$show "$cmd"
$run eval "$cmd" || exit $?
likely benign
LLM, confidence 0.92
Libtool evaluates and runs an internally built link or install command.
Reasoning
The eval re-expands a command string that libtool builds internally, and the command is then run through libtool's own $run and $show wrappers for logging and dry-run. It is the expected build-command execution inside a build tool.
-
command name is a variable (`$show`) that this file sets only to plain text (ast pass, confidence 0.40)
eval cmd=\"$cmd\"
$show "$cmd"
$run eval "$cmd" || exit $?
done
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$show "$cmd"
$run eval "$cmd" || exit $?
done
IFS="$save_ifs"
-
command name is a variable (`$show`) that this file sets only to plain text (ast pass, confidence 0.40)
if test -f "$output_objdir/$newlib"; then :; else
$show "generating import library for \`$soname'"
save_ifs="$IFS"; IFS='~'
cmds=$old_archive_from_expsyms_cmds
-
`eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)
IFS="$save_ifs"
eval cmd=\"$cmd\"
$show "$cmd"
$run eval "$cmd" || exit $?
likely benign
LLM, confidence 0.92
Libtool evaluates and runs another internally generated build command.
Reasoning
This is the same internal command-evaluation pattern as the preceding finding, where libtool expands and runs its own generated command through its wrappers. It is expected behavior for this file.
-
command name is a variable (`$show`) that this file sets only to plain text (ast pass, confidence 0.40)
eval cmd=\"$cmd\"
$show "$cmd"
$run eval "$cmd" || exit $?
done
-
command name is a variable (`$run`) that this file sets only to plain text (ast pass, confidence 0.40)
$show "$cmd"
$run eval "$cmd" || exit $?
done
IFS="$save_ifs"
-
command name is a variable (`$EGREP`) that this file sets only to plain text (ast pass, confidence 0.40)
if /usr/bin/file -L $add 2> /dev/null |
$EGREP ": [^:]* bundle" >/dev/null ; then
$echo "** Warning, lib $linklib is a module, not a shared library"
if test -z "$old_library" ; then
-
identifier `α` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)
def test_raw_token():
code = "2 + α"
raw = highlight(code, PythonLexer(), RawTokenFormatter())
html = highlight(code, PythonLexer(), HtmlFormatter())
-
identifier `α` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)
assert (
highlight("Token.Text\t'α'", RawTokenLexer(), RawTokenFormatter())
== b"Token.Text\t'\\u03b1'\n"
)
-
identifier `α` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)
assert (
highlight("Token.Text\tu'α'", RawTokenLexer(), RawTokenFormatter())
== b"Token.Text\t'\\u03b1'\n"
)
Run disclude locally to verify. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.