tools-sync: triage 按形状找落地文件(名字每轮都换,2026-10-01 .pwn/.k*/RootHawk 全部漏报)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M6dZ7Qcr3bdy7LuEbRPzNX
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
80c65a6b77
commit
181cb5af6a
@@ -145,7 +145,18 @@ if [ -n "$PAYLOAD" ]; then
|
||||
echo "$PAYLOAD" | sed 's/^/ /'
|
||||
[ "$FIX" = 1 ] && { dex "rm -f /tmp/giteahook* /tmp/col_*" >/dev/null 2>&1; fixed payload "removed"; }
|
||||
else
|
||||
note payload "none"
|
||||
note payload "none (known names)"
|
||||
fi
|
||||
# The names change every round (2026-10-01: /data/gitea/home/.pwn + /tmp/.k<pid> binaries,
|
||||
# RootHawk-* in /tmp) and the name list above said "none" through all of it. So also look
|
||||
# by shape, name-independent. Report only: these are evidence of a compromise, and what to
|
||||
# do with a compromised container (rebuild, rotate credentials) is the user's decision.
|
||||
DROPS=$(dex "find /tmp -maxdepth 1 -type f -perm -u+x 2>/dev/null | head -20; \
|
||||
ls -A /data/gitea/home 2>/dev/null | grep -Ev '^(\.cache|\.local|\.ssh|\.gitconfig(\..*)?)$' | sed 's|^|/data/gitea/home/|'" \
|
||||
| tr -d '\r' | sed '/^$/d' | grep -v '\.quarantine\.')
|
||||
if [ -n "$DROPS" ]; then
|
||||
bad payload "unexpected files (executables in /tmp, strays in gitea HOME) - treat the container as compromised:"
|
||||
echo "$DROPS" | sed 's/^/ /'
|
||||
fi
|
||||
|
||||
# ---------- F. git binary not shimmed ----------
|
||||
|
||||
Reference in New Issue
Block a user