rename: IAMROOT → SKELETONKEY across the entire project
Breaking change. Tool name, binary name, function/type names,
constant names, env vars, header guards, file paths, and GitHub
repo URL all rebrand IAMROOT → SKELETONKEY.
Changes:
- All "IAMROOT" → "SKELETONKEY" (constants, env vars, enum
values, docs, comments)
- All "iamroot" → "skeletonkey" (functions, types, paths, CLI)
- iamroot.c → skeletonkey.c
- modules/*/iamroot_modules.{c,h} → modules/*/skeletonkey_modules.{c,h}
- tools/iamroot-fleet-scan.sh → tools/skeletonkey-fleet-scan.sh
- Binary "iamroot" → "skeletonkey"
- GitHub URL KaraZajac/IAMROOT → KaraZajac/SKELETONKEY
- .gitignore now expects build output named "skeletonkey"
- /tmp/iamroot-* tmpfiles → /tmp/skeletonkey-*
- Env vars IAMROOT_MODPROBE_PATH etc. → SKELETONKEY_*
New ASCII skeleton-key banner (horizontal key icon + ANSI Shadow
SKELETONKEY block letters) replaces the IAMROOT banner in
skeletonkey.c and README.md.
VERSION: 0.3.1 → 0.4.0 (breaking).
Build clean on Debian 6.12.86. `skeletonkey --version` → 0.4.0.
All 24 modules still register; no functional code changes — pure
rename + banner refresh.
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
# iamroot-fleet-scan — scan a host list with iamroot, aggregate results
|
||||
# skeletonkey-fleet-scan — scan a host list with skeletonkey, aggregate results
|
||||
#
|
||||
# Usage:
|
||||
# iamroot-fleet-scan.sh [OPTIONS] hosts.txt
|
||||
# iamroot-fleet-scan.sh [OPTIONS] - # hosts on stdin
|
||||
# iamroot-fleet-scan.sh [OPTIONS] - # one host per line
|
||||
# skeletonkey-fleet-scan.sh [OPTIONS] hosts.txt
|
||||
# skeletonkey-fleet-scan.sh [OPTIONS] - # hosts on stdin
|
||||
# skeletonkey-fleet-scan.sh [OPTIONS] - # one host per line
|
||||
#
|
||||
# Each line in the host list is either:
|
||||
# - a hostname/IP (uses default ssh user from your config)
|
||||
@@ -14,13 +14,13 @@
|
||||
# Output: combined JSON to stdout, one object per host:
|
||||
# { "generated_at": "...", "summary": {...},
|
||||
# "hosts": [ { "host": "...", "ok": true,
|
||||
# "scan": { /* iamroot --scan --json */ } }, ... ] }
|
||||
# "scan": { /* skeletonkey --scan --json */ } }, ... ] }
|
||||
#
|
||||
# Options:
|
||||
# --binary <path> path to iamroot binary (default: ./iamroot)
|
||||
# --binary <path> path to skeletonkey binary (default: ./skeletonkey)
|
||||
# --ssh-key <path> ssh key file (passed to scp and ssh)
|
||||
# --ssh-opts "..." extra ssh options (e.g. "-o ConnectTimeout=5")
|
||||
# --remote-path <p> where to scp the binary (default: /tmp/iamroot)
|
||||
# --remote-path <p> where to scp the binary (default: /tmp/skeletonkey)
|
||||
# --no-sudo don't prefix the remote command with sudo
|
||||
# --parallel <N> run N hosts concurrently (default: 4)
|
||||
# --summary-only skip per-host detail in stdout; print summary only
|
||||
@@ -32,10 +32,10 @@
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
BINARY="./iamroot"
|
||||
BINARY="./skeletonkey"
|
||||
SSH_KEY=""
|
||||
SSH_OPTS=""
|
||||
REMOTE_PATH="/tmp/iamroot"
|
||||
REMOTE_PATH="/tmp/skeletonkey"
|
||||
USE_SUDO=1
|
||||
PARALLEL=4
|
||||
SUMMARY_ONLY=0
|
||||
@@ -66,7 +66,7 @@ if [[ -z "$HOSTFILE" ]]; then
|
||||
fi
|
||||
|
||||
if [[ ! -x "$BINARY" ]]; then
|
||||
echo "error: iamroot binary not found / not executable: $BINARY" >&2
|
||||
echo "error: skeletonkey binary not found / not executable: $BINARY" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
@@ -109,7 +109,7 @@ scan_one_host() {
|
||||
fi
|
||||
|
||||
# 2. run --scan --json
|
||||
# iamroot's exit codes are SEMANTIC (0=OK, 2=VULNERABLE, 4=PRECOND_FAIL, etc.)
|
||||
# skeletonkey's exit codes are SEMANTIC (0=OK, 2=VULNERABLE, 4=PRECOND_FAIL, etc.)
|
||||
# — nonzero is NOT a failure here. Treat ANY stdout JSON as success;
|
||||
# only ssh-transport-level failures (key denied, network) are real
|
||||
# failures, and those manifest as empty stdout + nonzero exit.
|
||||
@@ -133,7 +133,7 @@ scan_one_host() {
|
||||
# 4. emit one combined JSON object
|
||||
if ! echo "$scan_out" | jq --arg h "$hostspec" \
|
||||
'{host: $h, ok: true, scan: .}' 2>/dev/null; then
|
||||
echo "{\"host\":\"${hostspec}\",\"ok\":false,\"error\":\"invalid JSON from iamroot\"}"
|
||||
echo "{\"host\":\"${hostspec}\",\"ok\":false,\"error\":\"invalid JSON from skeletonkey\"}"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user