{"data":{"skill":{"slug":"sickn33-azure-mgmt-botservice-dotnet","name":"azure-mgmt-botservice-dotnet","icon":"📦","repo":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-mgmt-botservice-dotnet","status":"approved","author":"sickn33","authorVersion":null,"skillstoreRevision":2},"audit":{"id":"0f74653f-153a-4e6e-9ba1-fb3605b60e80","skill_id":"175d1675-4e17-4592-b893-6e3985ca3cf2","version":5,"content_hash":"v3:f9e2c34b4f19c7f3e6b0a1e93227b5f77cc12526:9cc43e8bcdbe520b384efdcf644e65154811e3a532340b4109934ae687e8498d:211a2425d90dc54d80f02c2614215ad1c8349a50a328902f64ae0524c293eda6:736b696c6c732f7369636b6e33332f617a7572652d6d676d742d626f74736572766963652d646f746e6574:f5a06322c55b91cbf647801417282a94","risk_level":"medium","is_blocked":false,"safe_to_publish":true,"analysis_status":"ok","agent_auto_install_policy":"allowed","manual_install_policy":"allowed","summary":"All 70 static matches are false positives. They are Markdown code markers, placeholder Azure settings, example URLs, or official links, with no embedded execution or secret exfiltration. A medium-risk concern remains because the guidance includes key regeneration and bot deletion without a workflow-specific confirmation step.","remediation":[{"issue":"Key regeneration and bot deletion can disrupt production services.","severity":"medium","suggestion":"Require explicit confirmation, identify the target subscription and resource group, and describe recovery steps before generating or running these operations."}],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":18,"line_start":15},{"file":"SKILL.md","line_end":24,"line_start":18},{"file":"SKILL.md","line_end":30,"line_start":24},{"file":"SKILL.md","line_end":34,"line_start":30},{"file":"SKILL.md","line_end":49,"line_start":34},{"file":"SKILL.md","line_end":53,"line_start":49},{"file":"SKILL.md","line_end":61,"line_start":53},{"file":"SKILL.md","line_end":67,"line_start":61},{"file":"SKILL.md","line_end":94,"line_start":67},{"file":"SKILL.md","line_end":98,"line_start":94},{"file":"SKILL.md","line_end":133,"line_start":98},{"file":"SKILL.md","line_end":137,"line_start":133},{"file":"SKILL.md","line_end":154,"line_start":137},{"file":"SKILL.md","line_end":158,"line_start":154},{"file":"SKILL.md","line_end":180,"line_start":158},{"file":"SKILL.md","line_end":184,"line_start":180},{"file":"SKILL.md","line_end":195,"line_start":184},{"file":"SKILL.md","line_end":199,"line_start":195},{"file":"SKILL.md","line_end":206,"line_start":199},{"file":"SKILL.md","line_end":210,"line_start":206},{"file":"SKILL.md","line_end":226,"line_start":210},{"file":"SKILL.md","line_end":230,"line_start":226},{"file":"SKILL.md","line_end":233,"line_start":230},{"file":"SKILL.md","line_end":239,"line_start":233},{"file":"SKILL.md","line_end":239,"line_start":239},{"file":"SKILL.md","line_end":240,"line_start":240},{"file":"SKILL.md","line_end":241,"line_start":241},{"file":"SKILL.md","line_end":242,"line_start":242},{"file":"SKILL.md","line_end":243,"line_start":243},{"file":"SKILL.md","line_end":244,"line_start":244},{"file":"SKILL.md","line_end":245,"line_start":245},{"file":"SKILL.md","line_end":246,"line_start":246},{"file":"SKILL.md","line_end":247,"line_start":247},{"file":"SKILL.md","line_end":254,"line_start":253},{"file":"SKILL.md","line_end":255,"line_start":254},{"file":"SKILL.md","line_end":256,"line_start":255},{"file":"SKILL.md","line_end":257,"line_start":256},{"file":"SKILL.md","line_end":258,"line_start":257},{"file":"SKILL.md","line_end":259,"line_start":258},{"file":"SKILL.md","line_end":260,"line_start":259},{"file":"SKILL.md","line_end":261,"line_start":260},{"file":"SKILL.md","line_end":267,"line_start":261},{"file":"SKILL.md","line_end":268,"line_start":267},{"file":"SKILL.md","line_end":269,"line_start":268},{"file":"SKILL.md","line_end":270,"line_start":269},{"file":"SKILL.md","line_end":271,"line_start":270},{"file":"SKILL.md","line_end":277,"line_start":271},{"file":"SKILL.md","line_end":278,"line_start":277},{"file":"SKILL.md","line_end":284,"line_start":278},{"file":"SKILL.md","line_end":285,"line_start":284}]},{"factor":"network","evidence":[{"file":"SKILL.md","line_end":78,"line_start":78},{"file":"SKILL.md","line_end":332,"line_start":332},{"file":"SKILL.md","line_end":333,"line_start":333},{"file":"SKILL.md","line_end":334,"line_start":334},{"file":"SKILL.md","line_end":335,"line_start":335}]},{"factor":"env_access","evidence":[{"file":"SKILL.md","line_end":27,"line_start":27},{"file":"SKILL.md","line_end":28,"line_start":28},{"file":"SKILL.md","line_end":29,"line_start":29}]}],"critical_findings":[],"high_findings":[],"medium_findings":[{"title":"Destructive operations lack confirmation guidance","locations":[{"file":"SKILL.md","line_end":205,"line_start":197},{"file":"SKILL.md","line_end":233,"line_start":228}],"confidence":0.96,"description":"The skill shows Direct Line key regeneration and bot deletion. These operations can invalidate clients or remove a production bot without workflow-specific confirmation.","review_kind":"security","source_category":"semantic","source_severity":"medium","confidence_reasoning":"Both operations are explicit in the documented workflows. The skill provides no operation-specific confirmation or recovery guidance."}],"low_findings":[],"dangerous_patterns":[],"files_scanned":1,"total_lines":344,"audit_model":"codex","audited_at":"2026-07-23T21:17:23.222+00:00","created_at":"2026-07-26T05:24:34.747276+00:00","static_findings":[{"id":"external_commands:SKILL.md:15:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":18,"severity":"medium","line_start":15},{"id":"external_commands:SKILL.md:18:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":24,"severity":"medium","line_start":18},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":30,"severity":"medium","line_start":24},{"id":"external_commands:SKILL.md:30:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":34,"severity":"medium","line_start":30},{"id":"external_commands:SKILL.md:34:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```csharp","category":"external_commands","line_end":49,"severity":"medium","line_start":34},{"id":"external_commands:SKILL.md:49:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":53,"severity":"medium","line_start":49},{"id":"external_commands:SKILL.md:53:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":61,"severity":"medium","line_start":53},{"id":"external_commands:SKILL.md:61:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":67,"severity":"medium","line_start":61},{"id":"external_commands:SKILL.md:67:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```csharp","category":"external_commands","line_end":94,"severity":"medium","line_start":67},{"id":"external_commands:SKILL.md:94:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":98,"severity":"medium","line_start":94},{"id":"external_commands:SKILL.md:98:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```csharp","category":"external_commands","line_end":133,"severity":"medium","line_start":98},{"id":"external_commands:SKILL.md:133:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":137,"severity":"medium","line_start":133},{"id":"external_commands:SKILL.md:137:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```csharp","category":"external_commands","line_end":154,"severity":"medium","line_start":137},{"id":"external_commands:SKILL.md:154:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":158,"severity":"medium","line_start":154},{"id":"external_commands:SKILL.md:158:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```csharp","category":"external_commands","line_end":180,"severity":"medium","line_start":158},{"id":"external_commands:SKILL.md:180:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":184,"severity":"medium","line_start":180},{"id":"external_commands:SKILL.md:184:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```csharp","category":"external_commands","line_end":195,"severity":"medium","line_start":184},{"id":"external_commands:SKILL.md:195:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":199,"severity":"medium","line_start":195},{"id":"external_commands:SKILL.md:199:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```csharp","category":"external_commands","line_end":206,"severity":"medium","line_start":199},{"id":"external_commands:SKILL.md:206:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":210,"severity":"medium","line_start":206},{"id":"external_commands:SKILL.md:210:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```csharp","category":"external_commands","line_end":226,"severity":"medium","line_start":210},{"id":"external_commands:SKILL.md:226:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":230,"severity":"medium","line_start":226},{"id":"external_commands:SKILL.md:230:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```csharp","category":"external_commands","line_end":233,"severity":"medium","line_start":230},{"id":"external_commands:SKILL.md:233:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":239,"severity":"medium","line_start":233},{"id":"external_commands:SKILL.md:239:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Direct Line | `BotChannelName.DirectLineChannel` | `DirectLineChannel` |","category":"external_commands","line_end":239,"severity":"medium","line_start":239},{"id":"external_commands:SKILL.md:240:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Direct Line Speech | `BotChannelName.DirectLineSpeechChannel` | `DirectLineSpeechChannel` |","category":"external_commands","line_end":240,"severity":"medium","line_start":240},{"id":"external_commands:SKILL.md:241:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Microsoft Teams | `BotChannelName.MsTeamsChannel` | `MsTeamsChannel` |","category":"external_commands","line_end":241,"severity":"medium","line_start":241},{"id":"external_commands:SKILL.md:242:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Web Chat | `BotChannelName.WebChatChannel` | `WebChatChannel` |","category":"external_commands","line_end":242,"severity":"medium","line_start":242},{"id":"external_commands:SKILL.md:243:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Slack | `BotChannelName.SlackChannel` | `SlackChannel` |","category":"external_commands","line_end":243,"severity":"medium","line_start":243},{"id":"external_commands:SKILL.md:244:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Facebook | `BotChannelName.FacebookChannel` | `FacebookChannel` |","category":"external_commands","line_end":244,"severity":"medium","line_start":244},{"id":"external_commands:SKILL.md:245:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Email | `BotChannelName.EmailChannel` | `EmailChannel` |","category":"external_commands","line_end":245,"severity":"medium","line_start":245},{"id":"external_commands:SKILL.md:246:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Telegram | `BotChannelName.TelegramChannel` | `TelegramChannel` |","category":"external_commands","line_end":246,"severity":"medium","line_start":246},{"id":"external_commands:SKILL.md:247:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Telephony | `BotChannelName.TelephonyChannel` | `TelephonyChannel` |","category":"external_commands","line_end":247,"severity":"medium","line_start":247},{"id":"external_commands:SKILL.md:253:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `ArmClient` | Entry point for all ARM operations |","category":"external_commands","line_end":254,"severity":"medium","line_start":253},{"id":"external_commands:SKILL.md:254:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `BotResource` | Represents an Azure Bot resource |","category":"external_commands","line_end":255,"severity":"medium","line_start":254},{"id":"external_commands:SKILL.md:255:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `BotCollection` | Collection for bot CRUD |","category":"external_commands","line_end":256,"severity":"medium","line_start":255},{"id":"external_commands:SKILL.md:256:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `BotData` | Bot resource definition |","category":"external_commands","line_end":257,"severity":"medium","line_start":256},{"id":"external_commands:SKILL.md:257:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `BotProperties` | Bot configuration properties |","category":"external_commands","line_end":258,"severity":"medium","line_start":257},{"id":"external_commands:SKILL.md:258:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `BotChannelResource` | Channel configuration |","category":"external_commands","line_end":259,"severity":"medium","line_start":258},{"id":"external_commands:SKILL.md:259:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `BotChannelCollection` | Collection of channels |","category":"external_commands","line_end":260,"severity":"medium","line_start":259},{"id":"external_commands:SKILL.md:260:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `BotChannelData` | Channel configuration data |","category":"external_commands","line_end":261,"severity":"medium","line_start":260},{"id":"external_commands:SKILL.md:261:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `BotConnectionSettingResource` | OAuth connection settings |","category":"external_commands","line_end":267,"severity":"medium","line_start":261},{"id":"external_commands:SKILL.md:267:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `BotServiceKind.Azurebot` | Azure Bot (recommended) |","category":"external_commands","line_end":268,"severity":"medium","line_start":267},{"id":"external_commands:SKILL.md:268:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `BotServiceKind.Bot` | Legacy Bot Framework bot |","category":"external_commands","line_end":269,"severity":"medium","line_start":268},{"id":"external_commands:SKILL.md:269:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `BotServiceKind.Designer` | Composer bot |","category":"external_commands","line_end":270,"severity":"medium","line_start":269},{"id":"external_commands:SKILL.md:270:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `BotServiceKind.Function` | Function bot |","category":"external_commands","line_end":271,"severity":"medium","line_start":270},{"id":"external_commands:SKILL.md:271:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `BotServiceKind.Sdk` | SDK bot |","category":"external_commands","line_end":277,"severity":"medium","line_start":271},{"id":"external_commands:SKILL.md:277:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `BotServiceSkuName.F0` | Free tier |","category":"external_commands","line_end":278,"severity":"medium","line_start":277},{"id":"external_commands:SKILL.md:278:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `BotServiceSkuName.S1` | Standard tier |","category":"external_commands","line_end":284,"severity":"medium","line_start":278},{"id":"external_commands:SKILL.md:284:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `BotMsaAppType.MultiTenant` | Multi-tenant app |","category":"external_commands","line_end":285,"severity":"medium","line_start":284},{"id":"external_commands:SKILL.md:285:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `BotMsaAppType.SingleTenant` | Single-tenant app |","category":"external_commands","line_end":286,"severity":"medium","line_start":285},{"id":"external_commands:SKILL.md:286:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `BotMsaAppType.UserAssignedMSI` | User-assigned managed identity |","category":"external_commands","line_end":290,"severity":"medium","line_start":286},{"id":"external_commands:SKILL.md:290:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"1. **Always use `DefaultAzureCredential`** — supports multiple auth methods","category":"external_commands","line_end":291,"severity":"medium","line_start":290},{"id":"external_commands:SKILL.md:291:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"2. **Use `WaitUntil.Completed`** for synchronous operations","category":"external_commands","line_end":292,"severity":"medium","line_start":291},{"id":"external_commands:SKILL.md:292:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"3. **Handle `RequestFailedException`** for API errors","category":"external_commands","line_end":293,"severity":"medium","line_start":292},{"id":"external_commands:SKILL.md:293:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"4. **Use async methods** (`*Async`) for all operations","category":"external_commands","line_end":295,"severity":"medium","line_start":293},{"id":"external_commands:SKILL.md:295:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"6. **Use managed identity** (`BotMsaAppType.UserAssignedMSI`) for production bots","category":"external_commands","line_end":300,"severity":"medium","line_start":295},{"id":"external_commands:SKILL.md:300:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```csharp","category":"external_commands","line_end":318,"severity":"medium","line_start":300},{"id":"external_commands:SKILL.md:318:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":324,"severity":"medium","line_start":318},{"id":"external_commands:SKILL.md:324:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `Azure.ResourceManager.BotService` | Bot management (this SDK) | `dotnet add package Azure.Resourc","category":"external_commands","line_end":324,"severity":"medium","line_start":324},{"id":"external_commands:SKILL.md:325:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `Microsoft.Bot.Builder` | Bot Framework SDK | `dotnet add package Microsoft.Bot.Builder` |","category":"external_commands","line_end":325,"severity":"medium","line_start":325},{"id":"external_commands:SKILL.md:326:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `Microsoft.Bot.Builder.Integration.AspNet.Core` | ASP.NET Core integration | `dotnet add package M","category":"external_commands","line_end":326,"severity":"medium","line_start":326},{"id":"network:SKILL.md:78:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"endpoint: new Uri(\"https://mybot.azurewebsites.net/api/messages\"),","category":"network","line_end":78,"severity":"low","line_start":78},{"id":"network:SKILL.md:332:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"| NuGet Package | https://www.nuget.org/packages/Azure.ResourceManager.BotService |","category":"network","line_end":332,"severity":"low","line_start":332},{"id":"network:SKILL.md:333:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"| API Reference | https://learn.microsoft.com/dotnet/api/azure.resourcemanager.botservice |","category":"network","line_end":333,"severity":"low","line_start":333},{"id":"network:SKILL.md:334:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"| GitHub Source | https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/botservice/Azure.Resource","category":"network","line_end":334,"severity":"low","line_start":334},{"id":"network:SKILL.md:335:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"| Azure Bot Service Docs | https://learn.microsoft.com/azure/bot-service/ |","category":"network","line_end":335,"severity":"low","line_start":335},{"id":"env_access:SKILL.md:27:azure-credential-environment-variables","file":"SKILL.md","pattern":"Azure credential environment variables","snippet":"AZURE_TENANT_ID=<tenant-id>","category":"env_access","line_end":27,"severity":"high","line_start":27},{"id":"env_access:SKILL.md:28:azure-credential-environment-variables","file":"SKILL.md","pattern":"Azure credential environment variables","snippet":"AZURE_CLIENT_ID=<client-id>","category":"env_access","line_end":28,"severity":"high","line_start":28},{"id":"env_access:SKILL.md:29:azure-credential-environment-variables","file":"SKILL.md","pattern":"Azure credential environment variables","snippet":"AZURE_CLIENT_SECRET=<client-secret>","category":"env_access","line_end":29,"severity":"high","line_start":29}],"finding_verdicts":[{"id":"external_commands:SKILL.md:15:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:18:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:30:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:34:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:49:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:53:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:61:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:67:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:94:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:98:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:133:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:137:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:154:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:158:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:180:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:184:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:195:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:199:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:206:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:210:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:226:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:230:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:233:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:239:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:240:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:241:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:242:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:243:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:244:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:245:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:246:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:247:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:253:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:254:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:255:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:256:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:257:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:258:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:259:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:260:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:261:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:267:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:268:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:269:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:270:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:271:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:277:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:278:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:284:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:285:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:286:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:290:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:291:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:292:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:293:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:295:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:300:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:318:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:324:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:325:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:326:ruby-shell-backtick-execution","reason":"The match is Markdown inline code or a fenced example, not Ruby or shell backtick execution. The document contains no executable wrapper or dynamic command construction.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:78:hardcoded-url","reason":"This is a placeholder bot endpoint inside a C# provisioning example. It does not perform an undisclosed outbound request or transmit data.","verdict":"false_positive","confidence":0.98},{"id":"network:SKILL.md:332:hardcoded-url","reason":"This is a visible reference link to an official Microsoft, NuGet, or GitHub resource. The Markdown document does not automatically contact the URL or send data.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:333:hardcoded-url","reason":"This is a visible reference link to an official Microsoft, NuGet, or GitHub resource. The Markdown document does not automatically contact the URL or send data.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:334:hardcoded-url","reason":"This is a visible reference link to an official Microsoft, NuGet, or GitHub resource. The Markdown document does not automatically contact the URL or send data.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:335:hardcoded-url","reason":"This is a visible reference link to an official Microsoft, NuGet, or GitHub resource. The Markdown document does not automatically contact the URL or send data.","verdict":"false_positive","confidence":0.99},{"id":"env_access:SKILL.md:27:azure-credential-environment-variables","reason":"This is a placeholder assignment in a documentation block, not code reading or exporting a real credential. No secret value is embedded or transmitted.","verdict":"false_positive","confidence":0.99},{"id":"env_access:SKILL.md:28:azure-credential-environment-variables","reason":"This is a placeholder assignment in a documentation block, not code reading or exporting a real credential. No secret value is embedded or transmitted.","verdict":"false_positive","confidence":0.99},{"id":"env_access:SKILL.md:29:azure-credential-environment-variables","reason":"This is a placeholder assignment in a documentation block, not code reading or exporting a real credential. No secret value is embedded or transmitted.","verdict":"false_positive","confidence":0.99}],"semantic_findings":[{"title":"Destructive operations lack confirmation guidance","severity":"medium","locations":[{"file":"SKILL.md","line_end":205,"line_start":197},{"file":"SKILL.md","line_end":233,"line_start":228}],"confidence":0.96,"description":"The skill shows Direct Line key regeneration and bot deletion. These operations can invalidate clients or remove a production bot without workflow-specific confirmation.","confidence_reasoning":"Both operations are explicit in the documented workflows. The skill provides no operation-specific confirmation or recovery guidance."}],"subject_marketplace_commit_sha":"f9e2c34b4f19c7f3e6b0a1e93227b5f77cc12526","subject_content_hash":"9cc43e8bcdbe520b384efdcf644e65154811e3a532340b4109934ae687e8498d","subject_tree_hash":"211a2425d90dc54d80f02c2614215ad1c8349a50a328902f64ae0524c293eda6","subject_plugin_path":"skills/sickn33/azure-mgmt-botservice-dotnet","audit_payload_hash":"f5a06322c55b91cbf647801417282a94","confirmed_risk_level":"medium","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"f9e2c34b4f19c7f3e6b0a1e93227b5f77cc12526","contentHash":"9cc43e8bcdbe520b384efdcf644e65154811e3a532340b4109934ae687e8498d","treeHash":"211a2425d90dc54d80f02c2614215ad1c8349a50a328902f64ae0524c293eda6","pluginPath":"skills/sickn33/azure-mgmt-botservice-dotnet","auditPayloadHash":"f5a06322c55b91cbf647801417282a94"},"scannerVersion":"3.0.0","policyVersion":"skillstore-security-audit-policy-v1"},"auditTranslation":null,"localization":{"requestedLocale":"en","contentLocale":"en","availableLocales":["en"],"fallbackToEnglish":false},"attestation":{"availability":"issued","url":"/api/skills/sickn33-azure-mgmt-botservice-dotnet/audits/5/attestation","status":"active"},"trust":{"publicState":"public","auditState":"complete","auditCurrentness":null,"confirmedRiskLevel":"medium","confirmedFindingCount":1,"capabilityReviewCount":0,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"allowed","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"active","verificationState":"not_verified"},"isLatest":true}}