T01 · Skill Instruction Hijacking
- Location
src/gep/prompt.js:196- Finding
Untrusted Hub Content Reaches an Execute-by-Default Agent Prompt
- Content
View full analysis
0) { result.relevant_lessons = respPayload.relevant_lessons; } return result; ``` The remote lessons are retained for prompt generation: ```js // LessonL: capture relevant lessons from Hub if (Array.isArray(fetchResult.relevant_lessons) && fetchResult.relevant_lessons.length > 0) { hubLessons = fetchResult.relevant_lessons; console.log(`[LessonBank] Received ${hubLessons.length} lesson(s) from ecosystem.`); } ``` Remote content is represented as trusted cross-agent experience and the executor is instructed to apply it: ```js function buildLessonsBlock(hubLessons, signals) { if (!Array.isArray(hubLessons) || hubLessons.length === 0) return ''; var sigSet = new Set((Array.isArray(signals) ? signals : []).map(function (s) { return String(s).toLowerCase(); })); var positive = []; var negative = []; for (var i = 0; i < hubLessons.length && (positive.length + negative.length) < 6; i++) { var l = hubLessons[i]; if (!l || !l.content) continue; var entry = ' - [' + (l.scenario || l.lesson_type || '?') + '] ' + String(l.content).slice(0, 300); if (l.source_node_id) entry += ' (from: ' + String(l.source_node_id).slice( ...[truncated 5426 chars]- Remediation
View remediation
