semantic-model
Pass
Audited by Gen Agent Trust Hub on Oct 17, 2026
Risk Level: SAFECOMMAND_EXECUTIONINDIRECT_PROMPT_INJECTIONEXTERNAL_DOWNLOADSDYNAMIC_EXECUTION
Full Analysis
- [COMMAND_EXECUTION]: The Python scripts
scripts/get_model_info.pyandscripts/get_semantic_model_ai_metadata.pyinvoke external command-line utilities such asfabandazusing thesubprocessmodule. These tools are utilized to interact with Power BI and Fabric service APIs. While the scripts use list-based argument passing to mitigate standard shell injection, they provide a mechanism for the agent to execute system-level commands based on model identifiers. - [INDIRECT_PROMPT_INJECTION]: The skill focuses on managing 'AI instructions' and 'AI schemas' stored within semantic models (e.g.,
instructions.md). These natural language components steer AI features like Copilot. Because the skill ingests these instructions for model review and auditing, it provides a surface for indirect prompt injection where malicious instructions in a model definition could influence the agent's output. - Ingestion points: Semantic model definition files such as
Copilot/Instructions/instructions.mdand culture linguistic metadata. - Boundary markers: None; natural language instructions are processed as raw content for review.
- Capability inventory: Model mutation via the
teCLI and deployment via thefabCLI. - Sanitization: Scripts decode and parse the metadata structures but do not sanitize the natural language content of the instructions sent to the agent.
- [EXTERNAL_DOWNLOADS]: As noted in
references/documentation-and-bpa.md, the Best Practice Analyzer (te bpa) used by the skill can be configured to fetch ruleset definitions from external URLs. - [DYNAMIC_EXECUTION]: The skill's core workflow relies on
te scriptto execute C# code against the Tabular Object Model. Additionally, interactive C# scripts likescripts/edit-ai-instructions-interactive.csxuse reflection (e.g.,Assembly.Load,Activator.CreateInstance) to dynamically load and invoke UI components.
Audit Metadata