{"data":{"skill":{"slug":"sickn33-azure-mgmt-apimanagement-py","name":"azure-mgmt-apimanagement-py","icon":"📦","repo":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-mgmt-apimanagement-py","status":"approved","author":"sickn33","authorVersion":null,"skillstoreRevision":2},"audit":{"id":"c81b0538-60db-44ab-936d-0c90bd5434f5","skill_id":"7a7fbf27-d4a6-4971-bb72-3821bad3660a","version":5,"content_hash":"v3:f9e2c34b4f19c7f3e6b0a1e93227b5f77cc12526:495580423140171a720b6858a685e767a0a26e297d70730b22eb6e6d724e3891:aebde3a3566a1e92ab74ae9b4f25c33accc607926a662ba2828dd9374af6ac94:736b696c6c732f7369636b6e33332f617a7572652d6d676d742d6170696d616e6167656d656e742d7079:8b6874c80daa8b5d300bff48451dce26","risk_level":"high","is_blocked":false,"safe_to_publish":false,"analysis_status":"ok","agent_auto_install_policy":"confirmation_required","manual_install_policy":"allowed","summary":"All 45 static findings are false positives caused by Markdown formatting, fixed Python imports, documented URLs, and expected Azure configuration access. However, the examples print a subscription key and embed a secret value, which can expose credentials when copied into real workflows.","remediation":[{"issue":"The subscription example prints the primary subscription key.","severity":"high","suggestion":"Remove the key output and report only non-sensitive subscription metadata. Direct users to retrieve credentials through protected operational channels."},{"issue":"The named-value example embeds a secret literal in source code.","severity":"medium","suggestion":"Load secrets from Azure Key Vault or another protected source. Demonstrate Key Vault-backed named values instead of inline secret values."}],"risk_factor_evidence":[{"factor":"scripts","evidence":[{"file":"SKILL.md","line_end":46,"line_start":42},{"file":"SKILL.md","line_end":72,"line_start":68}]},{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":18,"line_start":15},{"file":"SKILL.md","line_end":22,"line_start":18},{"file":"SKILL.md","line_end":24,"line_start":22},{"file":"SKILL.md","line_end":28,"line_start":24},{"file":"SKILL.md","line_end":37,"line_start":28},{"file":"SKILL.md","line_end":41,"line_start":37},{"file":"SKILL.md","line_end":63,"line_start":41},{"file":"SKILL.md","line_end":67,"line_start":63},{"file":"SKILL.md","line_end":88,"line_start":67},{"file":"SKILL.md","line_end":92,"line_start":88},{"file":"SKILL.md","line_end":105,"line_start":92},{"file":"SKILL.md","line_end":109,"line_start":105},{"file":"SKILL.md","line_end":117,"line_start":109},{"file":"SKILL.md","line_end":121,"line_start":117},{"file":"SKILL.md","line_end":138,"line_start":121},{"file":"SKILL.md","line_end":142,"line_start":138},{"file":"SKILL.md","line_end":149,"line_start":142},{"file":"SKILL.md","line_end":153,"line_start":149},{"file":"SKILL.md","line_end":168,"line_start":153},{"file":"SKILL.md","line_end":172,"line_start":168},{"file":"SKILL.md","line_end":201,"line_start":172},{"file":"SKILL.md","line_end":205,"line_start":201},{"file":"SKILL.md","line_end":218,"line_start":205},{"file":"SKILL.md","line_end":222,"line_start":218},{"file":"SKILL.md","line_end":235,"line_start":222},{"file":"SKILL.md","line_end":239,"line_start":235},{"file":"SKILL.md","line_end":252,"line_start":239},{"file":"SKILL.md","line_end":258,"line_start":252},{"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":262,"line_start":261},{"file":"SKILL.md","line_end":263,"line_start":262},{"file":"SKILL.md","line_end":264,"line_start":263},{"file":"SKILL.md","line_end":265,"line_start":264},{"file":"SKILL.md","line_end":266,"line_start":265},{"file":"SKILL.md","line_end":267,"line_start":266},{"file":"SKILL.md","line_end":268,"line_start":267},{"file":"SKILL.md","line_end":269,"line_start":268}]},{"factor":"network","evidence":[{"file":"SKILL.md","line_end":102,"line_start":102},{"file":"SKILL.md","line_end":230,"line_start":230}]},{"factor":"env_access","evidence":[{"file":"SKILL.md","line_end":35,"line_start":35}]}],"critical_findings":[],"high_findings":[{"title":"Subscription Key Printed to Standard Output","locations":[{"file":"SKILL.md","line_end":167,"line_start":167}],"confidence":0.99,"description":"The subscription example prints subscription.primary_key. This can expose an active APIM credential through terminal history, logs, or captured assistant output.","review_kind":"security","source_category":"semantic","source_severity":"high","confidence_reasoning":"The example directly formats the returned primary subscription key into a print call, creating a clear credential disclosure path."}],"medium_findings":[{"title":"Secret Value Embedded in Example Source","locations":[{"file":"SKILL.md","line_end":214,"line_start":214}],"confidence":0.92,"description":"The named-value example places a secret directly in source code. Users may replace the placeholder with a real secret that enters repositories or transcripts.","review_kind":"security","source_category":"semantic","source_severity":"medium","confidence_reasoning":"The literal is visibly a placeholder, but the demonstrated secret-handling pattern directly embeds the value in code."}],"low_findings":[],"dangerous_patterns":[],"files_scanned":1,"total_lines":287,"audit_model":"codex","audited_at":"2026-07-23T21:05:42.754+00:00","created_at":"2026-07-26T05:24:06.716143+00:00","static_findings":[{"id":"scripts:SKILL.md:42:dynamic-import-expression","file":"SKILL.md","pattern":"Dynamic import() expression","snippet":"from azure.mgmt.apimanagement.models import (","category":"scripts","line_end":46,"severity":"medium","line_start":42},{"id":"scripts:SKILL.md:68:dynamic-import-expression","file":"SKILL.md","pattern":"Dynamic import() expression","snippet":"from azure.mgmt.apimanagement.models import (","category":"scripts","line_end":72,"severity":"medium","line_start":68},{"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":22,"severity":"medium","line_start":18},{"id":"external_commands:SKILL.md:22:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":24,"severity":"medium","line_start":22},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":28,"severity":"medium","line_start":24},{"id":"external_commands:SKILL.md:28:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":37,"severity":"medium","line_start":28},{"id":"external_commands:SKILL.md:37:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":41,"severity":"medium","line_start":37},{"id":"external_commands:SKILL.md:41:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":63,"severity":"medium","line_start":41},{"id":"external_commands:SKILL.md:63:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":67,"severity":"medium","line_start":63},{"id":"external_commands:SKILL.md:67:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":88,"severity":"medium","line_start":67},{"id":"external_commands:SKILL.md:88:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":92,"severity":"medium","line_start":88},{"id":"external_commands:SKILL.md:92:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":105,"severity":"medium","line_start":92},{"id":"external_commands:SKILL.md:105:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":109,"severity":"medium","line_start":105},{"id":"external_commands:SKILL.md:109:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":117,"severity":"medium","line_start":109},{"id":"external_commands:SKILL.md:117:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":121,"severity":"medium","line_start":117},{"id":"external_commands:SKILL.md:121:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":138,"severity":"medium","line_start":121},{"id":"external_commands:SKILL.md:138:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":142,"severity":"medium","line_start":138},{"id":"external_commands:SKILL.md:142:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":149,"severity":"medium","line_start":142},{"id":"external_commands:SKILL.md:149:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":153,"severity":"medium","line_start":149},{"id":"external_commands:SKILL.md:153:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":168,"severity":"medium","line_start":153},{"id":"external_commands:SKILL.md:168:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":172,"severity":"medium","line_start":168},{"id":"external_commands:SKILL.md:172:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":201,"severity":"medium","line_start":172},{"id":"external_commands:SKILL.md:201:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":205,"severity":"medium","line_start":201},{"id":"external_commands:SKILL.md:205:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":218,"severity":"medium","line_start":205},{"id":"external_commands:SKILL.md:218:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":222,"severity":"medium","line_start":218},{"id":"external_commands:SKILL.md:222:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":235,"severity":"medium","line_start":222},{"id":"external_commands:SKILL.md:235:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":239,"severity":"medium","line_start":235},{"id":"external_commands:SKILL.md:239:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":252,"severity":"medium","line_start":239},{"id":"external_commands:SKILL.md:252:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":258,"severity":"medium","line_start":252},{"id":"external_commands:SKILL.md:258:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `api_management_service` | APIM instance management |","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":"| `api` | API operations |","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":"| `api_operation` | API operation details |","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":"| `api_policy` | API-level policies |","category":"external_commands","line_end":262,"severity":"medium","line_start":261},{"id":"external_commands:SKILL.md:262:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `product` | Product management |","category":"external_commands","line_end":263,"severity":"medium","line_start":262},{"id":"external_commands:SKILL.md:263:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `product_api` | Product-API associations |","category":"external_commands","line_end":264,"severity":"medium","line_start":263},{"id":"external_commands:SKILL.md:264:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `subscription` | Subscription management |","category":"external_commands","line_end":265,"severity":"medium","line_start":264},{"id":"external_commands:SKILL.md:265:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `user` | User management |","category":"external_commands","line_end":266,"severity":"medium","line_start":265},{"id":"external_commands:SKILL.md:266:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `named_value` | Named values/secrets |","category":"external_commands","line_end":267,"severity":"medium","line_start":266},{"id":"external_commands:SKILL.md:267:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `backend` | Backend services |","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":"| `certificate` | Certificates |","category":"external_commands","line_end":269,"severity":"medium","line_start":268},{"id":"network:SKILL.md:102:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"value=\"https://petstore.swagger.io/v2/swagger.json\"","category":"network","line_end":102,"severity":"low","line_start":102},{"id":"network:SKILL.md:230:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"url=\"https://api.backend.example.com\",","category":"network","line_end":230,"severity":"low","line_start":230},{"id":"env_access:SKILL.md:35:python-environment-access","file":"SKILL.md","pattern":"Python environment access","snippet":"subscription_id=os.environ[\"AZURE_SUBSCRIPTION_ID\"]","category":"env_access","line_end":35,"severity":"low","line_start":35},{"id":"blocker:SKILL.md:23:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"AZURE_SUBSCRIPTION_ID=your-subscription-id","category":"blocker","line_end":24,"severity":"low","line_start":23}],"finding_verdicts":[{"id":"scripts:SKILL.md:42:dynamic-import-expression","reason":"The code uses a normal multiline Python from-import statement with fixed Azure SDK model names. It contains no dynamic import expression or runtime-controlled module loading.","verdict":"false_positive","confidence":0.99},{"id":"scripts:SKILL.md:68:dynamic-import-expression","reason":"The code uses a normal multiline Python from-import statement with fixed Azure SDK model names. It contains no dynamic import expression or runtime-controlled module loading.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:15:ruby-shell-backtick-execution","reason":"This is a Markdown fence for explicit installation or environment setup documentation. It is not Ruby backtick execution or an automatic command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:18:ruby-shell-backtick-execution","reason":"This is a closing Markdown code fence. It contains no shell command, Ruby expression, or executable backtick construct.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:22:ruby-shell-backtick-execution","reason":"This is a Markdown fence for explicit installation or environment setup documentation. It is not Ruby backtick execution or an automatic command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","reason":"This is a closing Markdown code fence. It contains no shell command, Ruby expression, or executable backtick construct.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:28:ruby-shell-backtick-execution","reason":"This is a Markdown fence opening a Python SDK example. No shell, Ruby backtick, subprocess, or command execution API appears.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:37:ruby-shell-backtick-execution","reason":"This is a closing Markdown code fence. It contains no shell command, Ruby expression, or executable backtick construct.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:41:ruby-shell-backtick-execution","reason":"This is a Markdown fence opening a Python SDK example. No shell, Ruby backtick, subprocess, or command execution API appears.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:63:ruby-shell-backtick-execution","reason":"This is a closing Markdown code fence. It contains no shell command, Ruby expression, or executable backtick construct.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:67:ruby-shell-backtick-execution","reason":"This is a Markdown fence opening a Python SDK example. No shell, Ruby backtick, subprocess, or command execution API appears.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:88:ruby-shell-backtick-execution","reason":"This is a closing Markdown code fence. It contains no shell command, Ruby expression, or executable backtick construct.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:92:ruby-shell-backtick-execution","reason":"This is a Markdown fence opening a Python SDK example. No shell, Ruby backtick, subprocess, or command execution API appears.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:105:ruby-shell-backtick-execution","reason":"This is a closing Markdown code fence. It contains no shell command, Ruby expression, or executable backtick construct.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:109:ruby-shell-backtick-execution","reason":"This is a Markdown fence opening a Python SDK example. No shell, Ruby backtick, subprocess, or command execution API appears.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:117:ruby-shell-backtick-execution","reason":"This is a closing Markdown code fence. It contains no shell command, Ruby expression, or executable backtick construct.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:121:ruby-shell-backtick-execution","reason":"This is a Markdown fence opening a Python SDK example. No shell, Ruby backtick, subprocess, or command execution API appears.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:138:ruby-shell-backtick-execution","reason":"This is a closing Markdown code fence. It contains no shell command, Ruby expression, or executable backtick construct.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:142:ruby-shell-backtick-execution","reason":"This is a Markdown fence opening a Python SDK example. No shell, Ruby backtick, subprocess, or command execution API appears.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:149:ruby-shell-backtick-execution","reason":"This is a closing Markdown code fence. It contains no shell command, Ruby expression, or executable backtick construct.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:153:ruby-shell-backtick-execution","reason":"This is a Markdown fence opening a Python SDK example. No shell, Ruby backtick, subprocess, or command execution API appears.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:168:ruby-shell-backtick-execution","reason":"This is a closing Markdown code fence. It contains no shell command, Ruby expression, or executable backtick construct.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:172:ruby-shell-backtick-execution","reason":"This is a Markdown fence opening a Python SDK example. No shell, Ruby backtick, subprocess, or command execution API appears.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:201:ruby-shell-backtick-execution","reason":"This is a closing Markdown code fence. It contains no shell command, Ruby expression, or executable backtick construct.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:205:ruby-shell-backtick-execution","reason":"This is a Markdown fence opening a Python SDK example. No shell, Ruby backtick, subprocess, or command execution API appears.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:218:ruby-shell-backtick-execution","reason":"This is a closing Markdown code fence. It contains no shell command, Ruby expression, or executable backtick construct.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:222:ruby-shell-backtick-execution","reason":"This is a Markdown fence opening a Python SDK example. No shell, Ruby backtick, subprocess, or command execution API appears.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:235:ruby-shell-backtick-execution","reason":"This is a closing Markdown code fence. It contains no shell command, Ruby expression, or executable backtick construct.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:239:ruby-shell-backtick-execution","reason":"This is a Markdown fence opening a Python SDK example. No shell, Ruby backtick, subprocess, or command execution API appears.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:252:ruby-shell-backtick-execution","reason":"This is a closing Markdown code fence. It contains no shell command, Ruby expression, or executable backtick construct.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:258:ruby-shell-backtick-execution","reason":"The backticks only format an APIM operation-group name in a Markdown table. They do not invoke a shell or Ruby runtime.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:259:ruby-shell-backtick-execution","reason":"The backticks only format an APIM operation-group name in a Markdown table. They do not invoke a shell or Ruby runtime.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:260:ruby-shell-backtick-execution","reason":"The backticks only format an APIM operation-group name in a Markdown table. They do not invoke a shell or Ruby runtime.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:261:ruby-shell-backtick-execution","reason":"The backticks only format an APIM operation-group name in a Markdown table. They do not invoke a shell or Ruby runtime.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:262:ruby-shell-backtick-execution","reason":"The backticks only format an APIM operation-group name in a Markdown table. They do not invoke a shell or Ruby runtime.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:263:ruby-shell-backtick-execution","reason":"The backticks only format an APIM operation-group name in a Markdown table. They do not invoke a shell or Ruby runtime.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:264:ruby-shell-backtick-execution","reason":"The backticks only format an APIM operation-group name in a Markdown table. They do not invoke a shell or Ruby runtime.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:265:ruby-shell-backtick-execution","reason":"The backticks only format an APIM operation-group name in a Markdown table. They do not invoke a shell or Ruby runtime.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:266:ruby-shell-backtick-execution","reason":"The backticks only format an APIM operation-group name in a Markdown table. They do not invoke a shell or Ruby runtime.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:267:ruby-shell-backtick-execution","reason":"The backticks only format an APIM operation-group name in a Markdown table. They do not invoke a shell or Ruby runtime.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:268:ruby-shell-backtick-execution","reason":"The backticks only format an APIM operation-group name in a Markdown table. They do not invoke a shell or Ruby runtime.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:102:hardcoded-url","reason":"The URL is an explicit public Petstore OpenAPI example used as an import source. The example sends no credentials or local data to that endpoint.","verdict":"false_positive","confidence":0.97},{"id":"network:SKILL.md:230:hardcoded-url","reason":"The backend address uses the reserved example.com domain as a visible placeholder. It is neither a live exfiltration endpoint nor a concealed network request.","verdict":"false_positive","confidence":0.99},{"id":"env_access:SKILL.md:35:python-environment-access","reason":"The example reads only AZURE_SUBSCRIPTION_ID, a non-secret Azure resource identifier required by the SDK client. It does not enumerate or transmit environment secrets.","verdict":"false_positive","confidence":0.98},{"id":"blocker:SKILL.md:23:system-reconnaissance","reason":"The text is a documented placeholder assignment for AZURE_SUBSCRIPTION_ID. It performs no host discovery, environment enumeration, or system reconnaissance.","verdict":"false_positive","confidence":0.99}],"semantic_findings":[{"title":"Subscription Key Printed to Standard Output","severity":"high","locations":[{"file":"SKILL.md","line_end":167,"line_start":167}],"confidence":0.99,"description":"The subscription example prints subscription.primary_key. This can expose an active APIM credential through terminal history, logs, or captured assistant output.","confidence_reasoning":"The example directly formats the returned primary subscription key into a print call, creating a clear credential disclosure path."},{"title":"Secret Value Embedded in Example Source","severity":"medium","locations":[{"file":"SKILL.md","line_end":214,"line_start":214}],"confidence":0.92,"description":"The named-value example places a secret directly in source code. Users may replace the placeholder with a real secret that enters repositories or transcripts.","confidence_reasoning":"The literal is visibly a placeholder, but the demonstrated secret-handling pattern directly embeds the value in code."}],"subject_marketplace_commit_sha":"f9e2c34b4f19c7f3e6b0a1e93227b5f77cc12526","subject_content_hash":"495580423140171a720b6858a685e767a0a26e297d70730b22eb6e6d724e3891","subject_tree_hash":"aebde3a3566a1e92ab74ae9b4f25c33accc607926a662ba2828dd9374af6ac94","subject_plugin_path":"skills/sickn33/azure-mgmt-apimanagement-py","audit_payload_hash":"8b6874c80daa8b5d300bff48451dce26","confirmed_risk_level":"high","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"f9e2c34b4f19c7f3e6b0a1e93227b5f77cc12526","contentHash":"495580423140171a720b6858a685e767a0a26e297d70730b22eb6e6d724e3891","treeHash":"aebde3a3566a1e92ab74ae9b4f25c33accc607926a662ba2828dd9374af6ac94","pluginPath":"skills/sickn33/azure-mgmt-apimanagement-py","auditPayloadHash":"8b6874c80daa8b5d300bff48451dce26"},"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-apimanagement-py/audits/5/attestation","status":"active"},"trust":{"publicState":"public","auditState":"complete","auditCurrentness":null,"confirmedRiskLevel":"high","confirmedFindingCount":2,"capabilityReviewCount":0,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"confirmation_required","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"active","verificationState":"not_verified"},"isLatest":true}}