sql-bacpac-to-azure-sql-db-migration
Pass
Audited by Gen Agent Trust Hub on Sep 28, 2026
Risk Level: SAFEEXTERNAL_DOWNLOADSCOMMAND_EXECUTIONDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTION
Full Analysis
- [Command Execution]: The skill invokes external binaries, specifically
SqlPackage.exeandsqlcmd.exe, to perform database export and import operations. It utilizesArgumentListin PowerShell to pass parameters as individual process arguments, which is a recommended practice to prevent command injection. - [External Package Installation]: The skill provides an option to install the
sqlcmdutility viawinget install sqlcmdif it is not found on the system. This utilizes a well-known package management service from the vendor to ensure required prerequisites are available. - [Dynamic Script Loading]: The skill dynamically loads its own helper scripts, such as
bacpac-checkpoint.ps1andbacpac-command-helpers.ps1, using a computed path. This approach allows the skill to maintain modular logic across its distributed reference files. - [Indirect Prompt Injection]: The skill ingests database names from the source SQL Server and uses these strings in filesystem operations and as command parameters.
- Ingestion points: Database names are retrieved via discovery queries from the source SQL instance.
- Boundary markers: The skill implements validation logic to check for invalid Windows filename characters and reserved names before processing.
- Capability inventory: The skill possesses the capability to create directories and execute command-line tools with parameters derived from external data.
- Sanitization: Explicit filtering and validation of database names against a set of illegal characters and reserved words are performed during the manifest creation phase.
- [Data Protection]: A dedicated function,
Protect-SensitiveText, is used to redact sensitive patterns (like JWTs, bearer tokens, and account keys) from logs and terminal output, reducing the risk of accidental credential exposure.
Audit Metadata