{"data":{"skill":{"slug":"sickn33-azure-servicebus-py","name":"azure-servicebus-py","icon":"📦","repo":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-servicebus-py","status":"approved","author":"sickn33","authorVersion":null,"skillstoreRevision":2},"audit":{"id":"79c81aa8-3726-433c-8463-f3e4f8c5aa5e","skill_id":"1936efba-eb3d-4f42-b483-255c51e01f59","version":5,"content_hash":"v3:f9e2c34b4f19c7f3e6b0a1e93227b5f77cc12526:7f4ff00c7905557288ea6caec219da62094c884f40e2581cff66e212e5ad356c:4d839453364b93c17072e7575859faca93884f3ba7df38e963146727f472edf1:736b696c6c732f7369636b6e33332f617a7572652d736572766963656275732d7079:357f06d24eb6acc8b4e2fbb68275a8f1","risk_level":"safe","is_blocked":false,"safe_to_publish":true,"analysis_status":"ok","agent_auto_install_policy":"allowed","manual_install_policy":"allowed","summary":"All 37 static findings are false positives caused by Markdown syntax and ordinary Service Bus examples. No prompt injection, command execution, reconnaissance, or malicious intent was found.","remediation":[],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":17,"line_start":15},{"file":"SKILL.md","line_end":21,"line_start":17},{"file":"SKILL.md","line_end":26,"line_start":21},{"file":"SKILL.md","line_end":30,"line_start":26},{"file":"SKILL.md","line_end":41,"line_start":30},{"file":"SKILL.md","line_end":47,"line_start":41},{"file":"SKILL.md","line_end":48,"line_start":47},{"file":"SKILL.md","line_end":48,"line_start":48},{"file":"SKILL.md","line_end":49,"line_start":49},{"file":"SKILL.md","line_end":89,"line_start":53},{"file":"SKILL.md","line_end":93,"line_start":89},{"file":"SKILL.md","line_end":115,"line_start":93},{"file":"SKILL.md","line_end":121,"line_start":115},{"file":"SKILL.md","line_end":122,"line_start":121},{"file":"SKILL.md","line_end":124,"line_start":122},{"file":"SKILL.md","line_end":131,"line_start":124},{"file":"SKILL.md","line_end":135,"line_start":131},{"file":"SKILL.md","line_end":151,"line_start":135},{"file":"SKILL.md","line_end":155,"line_start":151},{"file":"SKILL.md","line_end":156,"line_start":155},{"file":"SKILL.md","line_end":157,"line_start":156},{"file":"SKILL.md","line_end":158,"line_start":157},{"file":"SKILL.md","line_end":162,"line_start":158},{"file":"SKILL.md","line_end":175,"line_start":162},{"file":"SKILL.md","line_end":179,"line_start":175},{"file":"SKILL.md","line_end":197,"line_start":179},{"file":"SKILL.md","line_end":201,"line_start":197},{"file":"SKILL.md","line_end":212,"line_start":201},{"file":"SKILL.md","line_end":216,"line_start":212},{"file":"SKILL.md","line_end":230,"line_start":216},{"file":"SKILL.md","line_end":234,"line_start":230},{"file":"SKILL.md","line_end":249,"line_start":234},{"file":"SKILL.md","line_end":254,"line_start":249},{"file":"SKILL.md","line_end":259,"line_start":254}]}],"critical_findings":[],"high_findings":[],"medium_findings":[],"low_findings":[],"dangerous_patterns":[],"files_scanned":1,"total_lines":276,"audit_model":"codex","audited_at":"2026-07-23T23:02:48.538+00:00","created_at":"2026-07-26T06:23:37.197245+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":17,"severity":"medium","line_start":15},{"id":"external_commands:SKILL.md:17:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":21,"severity":"medium","line_start":17},{"id":"external_commands:SKILL.md:21:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":26,"severity":"medium","line_start":21},{"id":"external_commands:SKILL.md:26:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":30,"severity":"medium","line_start":26},{"id":"external_commands:SKILL.md:30:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":41,"severity":"medium","line_start":30},{"id":"external_commands:SKILL.md:41:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":47,"severity":"medium","line_start":41},{"id":"external_commands:SKILL.md:47:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `ServiceBusClient` | Connection management | Direct instantiation |","category":"external_commands","line_end":48,"severity":"medium","line_start":47},{"id":"external_commands:SKILL.md:48:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `ServiceBusSender` | Send messages | `client.get_queue_sender()` / `get_topic_sender()` |","category":"external_commands","line_end":48,"severity":"medium","line_start":48},{"id":"external_commands:SKILL.md:49:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `ServiceBusReceiver` | Receive messages | `client.get_queue_receiver()` / `get_subscription_receiv","category":"external_commands","line_end":49,"severity":"medium","line_start":49},{"id":"external_commands:SKILL.md:53:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":89,"severity":"medium","line_start":53},{"id":"external_commands:SKILL.md:89:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":93,"severity":"medium","line_start":89},{"id":"external_commands:SKILL.md:93:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":115,"severity":"medium","line_start":93},{"id":"external_commands:SKILL.md:115:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":121,"severity":"medium","line_start":115},{"id":"external_commands:SKILL.md:121:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `PEEK_LOCK` (default) | Message locked, must complete/abandon | Reliable processing |","category":"external_commands","line_end":122,"severity":"medium","line_start":121},{"id":"external_commands:SKILL.md:122:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `RECEIVE_AND_DELETE` | Removed immediately on receive | At-most-once delivery |","category":"external_commands","line_end":124,"severity":"medium","line_start":122},{"id":"external_commands:SKILL.md:124:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":131,"severity":"medium","line_start":124},{"id":"external_commands:SKILL.md:131:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":135,"severity":"medium","line_start":131},{"id":"external_commands:SKILL.md:135:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":151,"severity":"medium","line_start":135},{"id":"external_commands:SKILL.md:151:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":155,"severity":"medium","line_start":151},{"id":"external_commands:SKILL.md:155:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `complete_message()` | Remove from queue (success) |","category":"external_commands","line_end":156,"severity":"medium","line_start":155},{"id":"external_commands:SKILL.md:156:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `abandon_message()` | Release lock, retry immediately |","category":"external_commands","line_end":157,"severity":"medium","line_start":156},{"id":"external_commands:SKILL.md:157:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `dead_letter_message()` | Move to dead-letter queue |","category":"external_commands","line_end":158,"severity":"medium","line_start":157},{"id":"external_commands:SKILL.md:158:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `defer_message()` | Set aside, receive by sequence number |","category":"external_commands","line_end":162,"severity":"medium","line_start":158},{"id":"external_commands:SKILL.md:162:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":175,"severity":"medium","line_start":162},{"id":"external_commands:SKILL.md:175:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":179,"severity":"medium","line_start":175},{"id":"external_commands:SKILL.md:179:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":197,"severity":"medium","line_start":179},{"id":"external_commands:SKILL.md:197:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":201,"severity":"medium","line_start":197},{"id":"external_commands:SKILL.md:201:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":212,"severity":"medium","line_start":201},{"id":"external_commands:SKILL.md:212:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":216,"severity":"medium","line_start":212},{"id":"external_commands:SKILL.md:216:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":230,"severity":"medium","line_start":216},{"id":"external_commands:SKILL.md:230:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":234,"severity":"medium","line_start":230},{"id":"external_commands:SKILL.md:234:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```python","category":"external_commands","line_end":249,"severity":"medium","line_start":234},{"id":"external_commands:SKILL.md:249:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":254,"severity":"medium","line_start":249},{"id":"external_commands:SKILL.md:254:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"2. **Use context managers** (`async with`) for proper cleanup","category":"external_commands","line_end":259,"severity":"medium","line_start":254},{"id":"blocker:SKILL.md:182:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"message.session_id = \"order-123\"","category":"blocker","line_end":182,"severity":"low","line_start":182},{"id":"blocker:SKILL.md:259:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"7. **Set `max_wait_time`** to avoid infinite blocking","category":"blocker","line_end":259,"severity":"low","line_start":259},{"id":"blocker:SKILL.md:142:network-reconnaissance","file":"SKILL.md","pattern":"Network reconnaissance","snippet":"await receiver.complete_message(msg)  # Success - remove from queue","category":"blocker","line_end":142,"severity":"low","line_start":142}],"finding_verdicts":[{"id":"external_commands:SKILL.md:15:ruby-shell-backtick-execution","reason":"Lines 15-17 are a fenced installation example. The document recommends standard Azure packages but does not execute shell commands.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:17:ruby-shell-backtick-execution","reason":"Line 17 closes a Markdown code fence. It is not Ruby or shell backtick execution.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:21:ruby-shell-backtick-execution","reason":"Line 21 opens a Markdown block listing configuration placeholders. It contains no executable command.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:26:ruby-shell-backtick-execution","reason":"Line 26 closes the environment-variable example. The backticks are Markdown delimiters, not execution syntax.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:30:ruby-shell-backtick-execution","reason":"Line 30 opens a Python example for Azure authentication. No shell or dynamic command execution occurs.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:41:ruby-shell-backtick-execution","reason":"Line 41 closes a Python code fence. It has no executable backtick expression.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:47:ruby-shell-backtick-execution","reason":"Line 47 uses inline Markdown code to name ServiceBusClient. It does not invoke an external command.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:48:ruby-shell-backtick-execution","reason":"Line 48 documents Python SDK class and method names in a table. The backticks only format identifiers.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:49:ruby-shell-backtick-execution","reason":"Line 49 formats receiver API names as inline code. No operating-system command is constructed or run.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:53:ruby-shell-backtick-execution","reason":"Line 53 opens a Python SDK example for sending messages. It contains no shell execution.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:89:ruby-shell-backtick-execution","reason":"Line 89 closes the asynchronous sender example. It is a Markdown delimiter only.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:93:ruby-shell-backtick-execution","reason":"Line 93 opens a Python receiver example. The code uses Azure SDK methods, not external processes.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:115:ruby-shell-backtick-execution","reason":"Line 115 closes a Python code block. There is no Ruby or shell backtick operation.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:121:ruby-shell-backtick-execution","reason":"Line 121 formats the PEEK_LOCK enum in Markdown. This is documentation, not command execution.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:122:ruby-shell-backtick-execution","reason":"Line 122 formats the RECEIVE_AND_DELETE enum in Markdown. It does not invoke a process.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:124:ruby-shell-backtick-execution","reason":"Line 124 opens a Python receive-mode example. The fence is not executable backtick syntax.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:131:ruby-shell-backtick-execution","reason":"Line 131 closes a Python example. It is purely Markdown structure.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:135:ruby-shell-backtick-execution","reason":"Line 135 opens a Python settlement example. The code calls receiver methods without spawning commands.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:151:ruby-shell-backtick-execution","reason":"Line 151 closes the settlement example. No backtick expression is evaluated.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:155:ruby-shell-backtick-execution","reason":"Line 155 uses inline code formatting for complete_message. It describes an SDK method, not a system command.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:156:ruby-shell-backtick-execution","reason":"Line 156 documents abandon_message with inline Markdown. It does not execute a shell command.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:157:ruby-shell-backtick-execution","reason":"Line 157 documents the dead_letter_message SDK method. The backticks only format its name.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:158:ruby-shell-backtick-execution","reason":"Line 158 documents defer_message as inline code. No external process is invoked.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:162:ruby-shell-backtick-execution","reason":"Line 162 opens a Python topics example. It contains Azure SDK calls and no command execution.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:175:ruby-shell-backtick-execution","reason":"Line 175 closes a Python code fence. It is non-executable Markdown.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:179:ruby-shell-backtick-execution","reason":"Line 179 opens a Python sessions example. Session identifiers are SDK data, not shell input.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:197:ruby-shell-backtick-execution","reason":"Line 197 closes the sessions example. No executable backtick syntax is present.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:201:ruby-shell-backtick-execution","reason":"Line 201 opens a Python scheduling example. It calls Azure SDK methods without invoking external commands.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:212:ruby-shell-backtick-execution","reason":"Line 212 closes a Python code block. The Markdown fence is not command substitution.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:216:ruby-shell-backtick-execution","reason":"Line 216 opens a Python dead-letter queue example. It uses SDK operations only.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:230:ruby-shell-backtick-execution","reason":"Line 230 closes the dead-letter queue example. It is a Markdown delimiter.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:234:ruby-shell-backtick-execution","reason":"Line 234 opens a synchronous Python SDK example. The example does not spawn operating-system commands.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:249:ruby-shell-backtick-execution","reason":"Line 249 closes a Python code block. No backtick execution occurs.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:254:ruby-shell-backtick-execution","reason":"Line 254 formats async with as inline Python. It is a cleanup recommendation, not a command.","verdict":"false_positive","confidence":1},{"id":"blocker:SKILL.md:182:system-reconnaissance","reason":"Line 182 assigns a fixed Service Bus session identifier. It does not inspect the host system.","verdict":"false_positive","confidence":1},{"id":"blocker:SKILL.md:259:system-reconnaissance","reason":"Line 259 recommends a bounded message wait time. It performs no system discovery.","verdict":"false_positive","confidence":1},{"id":"blocker:SKILL.md:142:network-reconnaissance","reason":"Line 142 completes a received Service Bus message. This documented SDK operation does not scan or enumerate networks.","verdict":"false_positive","confidence":1}],"semantic_findings":[],"subject_marketplace_commit_sha":"f9e2c34b4f19c7f3e6b0a1e93227b5f77cc12526","subject_content_hash":"7f4ff00c7905557288ea6caec219da62094c884f40e2581cff66e212e5ad356c","subject_tree_hash":"4d839453364b93c17072e7575859faca93884f3ba7df38e963146727f472edf1","subject_plugin_path":"skills/sickn33/azure-servicebus-py","audit_payload_hash":"357f06d24eb6acc8b4e2fbb68275a8f1","confirmed_risk_level":"safe","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"f9e2c34b4f19c7f3e6b0a1e93227b5f77cc12526","contentHash":"7f4ff00c7905557288ea6caec219da62094c884f40e2581cff66e212e5ad356c","treeHash":"4d839453364b93c17072e7575859faca93884f3ba7df38e963146727f472edf1","pluginPath":"skills/sickn33/azure-servicebus-py","auditPayloadHash":"357f06d24eb6acc8b4e2fbb68275a8f1"},"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-servicebus-py/audits/5/attestation","status":"active"},"trust":{"publicState":"public","auditState":"complete","auditCurrentness":null,"confirmedRiskLevel":"safe","confirmedFindingCount":0,"capabilityReviewCount":0,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"allowed","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"active","verificationState":"not_verified"},"isLatest":true}}