T01 · Skill Instruction Hijacking
- Location
HEARTBEAT.md:102- Finding
Unsigned advisory feed content can inject operational guidance into the heartbeat workflow
- Content
View full analysis
/dev/null 2>&1; then echo "ERROR: Advisory feed has invalid format." exit 1 fi ``` Remote fields are subsequently emitted as operational guidance: ```bash if [ -s "$NEW_IDS_FILE" ]; then echo "New advisories:" while IFS= read -r id; do [ -z "$id" ] && continue jq -r --arg id "$id" '.advisories[] | select(.id == $id) | "- [\(.severity | ascii_upcase)] \(.id): \(.title)"' "$FEED_TMP" jq -r --arg id "$id" '.advisories[] | select(.id == $id) | " Exploitability: \(.exploitability_score // "unknown" | ascii_upcase)"' "$FEED_TMP" jq -r --arg id "$id" '.advisories[] | select(.id == $id) | " Action: \(.action // "Review advisory details")"' "$FEED_TMP" done < "$NEW_IDS_FILE" else echo "FEED_OK - no new advisories" fi echo "Affected installed skills (if any):" found_affected=0 removal_recommended=0 for skill_path in "$INSTALL_ROOT"/*; do [ -d "$skill_path" ] || continue skill_name="$(basename "$skill_path")" skill_hits="$(jq -r --arg skill_prefix "${skill_name}@" ' [.advisories[] | select(any(.affected[]?; startswith( ...[truncated 2519 chars]- Remediation
View remediation
