T06 · System Persistence
- Location
scripts/install.sh:82- Finding
Installer Automatically Establishes Recurring Cron Persistence
- Content
View full analysis
> $LOG_DIR/news_summary.log 2>&1" if crontab -l 2>/dev/null | grep -q "news_summary_v2.sh"; then echo " ✅ Cron job đã có" else echo " 📝 Thêm cron job..." (crontab -l 2>/dev/null; echo "$CRON_LINE") | crontab - echo " ✅ Cron job đã thêm!" echo " → Chạy lúc 8h, 12h, 16h hàng ngày" fi ``` ### Technical Analysis The general-purpose installation script modifies the invoking user's crontab and registers `news_summary_v2.sh` to execute three times every day. The schedule supports the declared automatic news-delivery feature and is documented in `SKILL.md`; therefore, it is not concealed. Nevertheless, it creates cross-session persistence automatically and without a dedicated opt-in prompt. The installer only checks whether any existing crontab line contains `news_summary_v2.sh`. It does not use a unique managed marker, show the exact proposed entry for approval, provide an uninstall operation, or verify that the target script and its parent directories cannot be modified by less-trusted users. This behavior exceeds the minimum privilege necessary for basic installation or a one-time news summary. Persistent scheduling should be a separate, explicitly authorized action. ### Attack Path 1. A user runs `bash scripts/install.sh`. 2. The installer constructs a cron entry referencing the Skill's shell wrapper. 3. Without requesting confirmation, it appends that entry to the user's crontab. 4. Cron subsequently invokes `scripts/news_summary_v2.sh` at 08:00, 12:00, and 16:00 every day. 5. The wrapper runs the Python file present at the configured path. 6. If ...[truncated 744 chars]- Remediation
View remediation
