|
12 | 12 | SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" |
13 | 13 | # shellcheck source=bin/lib/shell-common.sh |
14 | 14 | source "$SCRIPT_DIR/lib/shell-common.sh" |
| 15 | +# shellcheck source=bin/lib/paths-common.sh |
| 16 | +source "$SCRIPT_DIR/lib/paths-common.sh" |
15 | 17 | bb_enable_strict_mode |
| 18 | +bb_init_paths |
16 | 19 |
|
17 | | -BAUDBOT_HOME="${BAUDBOT_HOME:-/home/baudbot_agent}" |
18 | 20 | # Source repo — auto-detect from this script's location, or use env override |
19 | 21 | BAUDBOT_SRC="${BAUDBOT_SRC:-$(cd "$SCRIPT_DIR/.." && pwd)}" |
20 | 22 |
|
@@ -97,12 +99,12 @@ echo "" |
97 | 99 | # ── Docker group ───────────────────────────────────────────────────────────── |
98 | 100 |
|
99 | 101 | echo "Docker Access" |
100 | | -if id baudbot_agent 2>/dev/null | grep -q '(docker)'; then |
101 | | - finding "CRITICAL" "baudbot_agent is in docker group" \ |
| 102 | +if id "$BAUDBOT_AGENT_USER" 2>/dev/null | grep -q '(docker)'; then |
| 103 | + finding "CRITICAL" "$BAUDBOT_AGENT_USER is in docker group" \ |
102 | 104 | "Can bypass baudbot-docker wrapper via /usr/bin/docker directly" |
103 | | - fix_skip "Remove from docker group" "Requires root: sudo gpasswd -d baudbot_agent docker" |
| 105 | + fix_skip "Remove from docker group" "Requires root: sudo gpasswd -d $BAUDBOT_AGENT_USER docker" |
104 | 106 | else |
105 | | - ok "baudbot_agent not in docker group" |
| 107 | + ok "$BAUDBOT_AGENT_USER not in docker group" |
106 | 108 | fi |
107 | 109 |
|
108 | 110 | if [ -f /usr/local/bin/baudbot-docker ]; then |
@@ -191,7 +193,7 @@ echo "Source Isolation & Integrity" |
191 | 193 | # Source repo lives outside agent's home — agent should not be able to read it |
192 | 194 | if [ -r "$BAUDBOT_SRC/setup.sh" ] 2>/dev/null; then |
193 | 195 | # If we're running as admin, this is expected — check agent can't |
194 | | - agent_can_read=$(sudo -u baudbot_agent test -r "$BAUDBOT_SRC/setup.sh" 2>/dev/null && echo "yes" || echo "no") |
| 196 | + agent_can_read=$(sudo -u "$BAUDBOT_AGENT_USER" test -r "$BAUDBOT_SRC/setup.sh" 2>/dev/null && echo "yes" || echo "no") |
195 | 197 | if [ "$agent_can_read" = "yes" ]; then |
196 | 198 | finding "WARN" "Agent can read source repo at $BAUDBOT_SRC" \ |
197 | 199 | "Ensure admin home is 700: chmod 700 $(dirname "$BAUDBOT_SRC")" |
@@ -566,10 +568,10 @@ echo "" |
566 | 568 | echo "Extension & Skill Safety" |
567 | 569 |
|
568 | 570 | # Check pi extensions for suspicious patterns (deployed copies only) |
569 | | -AGENT_USER="${BAUDBOT_AGENT_USER:-baudbot_agent}" |
| 571 | +AGENT_USER="$BAUDBOT_AGENT_USER" |
570 | 572 | suspicious_extension_patterns="(eval\s*\(|new\s+Function\s*\(|child_process|execSync|execFile|spawn\s*\(|writeFileSync.*\/etc|writeFileSync.*\/home\/(?!${AGENT_USER}))" |
571 | 573 | ext_dirs=( |
572 | | - "$BAUDBOT_HOME/.pi/agent/extensions" |
| 574 | + "$BAUDBOT_AGENT_EXT_DIR" |
573 | 575 | ) |
574 | 576 | ext_findings=0 |
575 | 577 | for ext_dir in "${ext_dirs[@]}"; do |
|
588 | 590 |
|
589 | 591 | # Check skills for dangerous tool instructions (deployed copies only) |
590 | 592 | skill_dirs=( |
591 | | - "$BAUDBOT_HOME/.pi/agent/skills" |
| 593 | + "$BAUDBOT_AGENT_SKILLS_DIR" |
592 | 594 | ) |
593 | 595 | skill_findings=0 |
594 | 596 | for skill_dir in "${skill_dirs[@]}"; do |
|
0 commit comments