ms365-tenant-manager

Pass

Audited by Gen Agent Trust Hub on Sep 4, 2026

Risk Level: SAFECOMMAND_EXECUTIONINDIRECT_PROMPT_INJECTIONDATA_EXFILTRATIONDYNAMIC_EXECUTIONEXTERNAL_DOWNLOADS
Full Analysis
  • [INDIRECT_PROMPT_INJECTION]: The skill processes external data from CSV files to generate PowerShell scripts without adequate sanitization, creating a surface for command injection.
  • Ingestion points: The Bulk User Provisioning workflows in references/powershell-templates.md and scripts/user_management.py ingest data from local CSV files such as employees.csv.
  • Boundary markers: There are no explicit delimiters or instructions to ignore control characters within the ingested data.
  • Capability inventory: The generated scripts possess high-privilege capabilities including New-MgUser, Update-MgUser, and Set-MgUserLicense via the Microsoft.Graph module.
  • Sanitization: The Python generation logic (e.g., in UserLifecycleManager) directly interpolates user-provided strings like display_name and department into PowerShell code strings (e.g., DisplayName = "{display_name}") without escaping PowerShell special characters.
  • [COMMAND_EXECUTION]: The skill is designed to generate and facilitate the execution of commands with high administrative privileges.
  • Evidence: Scripts in SKILL.md and references/powershell-templates.md require Global Administrator or Security Administrator roles to manage tenant-wide settings, user lifecycles, and security policies.
  • Context: These capabilities are aligned with the skill's stated purpose, but they represent a high-impact execution environment if the generated scripts are not reviewed by the user.
  • [DATA_EXFILTRATION]: Administrative actions performed by the skill result in the exposure of sensitive credentials in plain-text files.
  • Evidence: The UserLifecycleManager.generate_user_creation_script and the provisioning template in references/powershell-templates.md generate random passwords for new accounts and export them directly to CSV files (e.g., UserProvisioning_results.csv).
  • Risk: Storing initial passwords in plain text on the local file system creates a risk of unauthorized credential access if the output directory is not restricted.
  • [DYNAMIC_EXECUTION]: The skill utilizes runtime script generation to perform its administrative tasks.
  • Evidence: The Python modules scripts/powershell_generator.py, scripts/tenant_setup.py, and scripts/user_management.py are dedicated to assembling executable PowerShell code blocks from string templates and user input.
  • [EXTERNAL_DOWNLOADS]: The skill requires the installation of external PowerShell modules to function.
  • Evidence: Instructions in SKILL.md and references/powershell-templates.md direct the user to run Install-Module for Microsoft.Graph, ExchangeOnlineManagement, and MicrosoftTeams from the PowerShell Gallery.
Audit Metadata
Risk Level
SAFE
Analyzed
Sep 4, 2026, 01:32 PM