azure-communication-callautomation-java
Verdict safe, but 1 finding (1 medium), mainly data exfiltration. Most recent scan 2026-02-05.
This Azure Communication Services Call Automation skill is primarily a documentation/tutorial skill providing Java SDK examples. It contains no executable scripts and poses minimal direct security risk. The main concerns are: (1) missing metadata fields (license, compatibility, allowed-tools) which are informational/low severity issues, (2) code examples that demonstrate credential handling patterns without sufficient security warnings, and (3) a missing referenced file. The skill does not contain prompt injection attempts, data exfiltration code, command injection, or other high-severity threats. The credential handling examples warrant a MEDIUM severity finding as they could lead users to hardcode secrets if not properly warned. Overall, this is a relatively safe documentation skill that would benefit from improved metadata and security guidance in the examples.
Scanner's overall assessment (LLM analyzer)
Second scanner: NVIDIA SkillSpector
SkillSpector found no issues but could not fully inspect the package, usually because SKILL.md refers to a file that is not present, so it fails closed to CAUTION instead of SAFE. Read it as "not fully checked", not as a finding. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
Build call automation workflows with Azure Communication Services Call Automation Java SDK. Use when implementing IVR systems, call routing, call recording, DTMF recognition, text-to-speech, or AI-powered call flows.
- Package
- 3 files, 32 KB
- SKILL.md
- 618 words, 12+ sections
- Code
- None. Instructions only.
SKILL.md covers: Azure Communication Call Automation (Java) · Installation · Client Creation · Key Concepts · Create Outbound Call · Answer Incoming Call · Play Audio (Text-to-Speech) · Recognize DTMF Input · Recognize Speech · Call Recording · Add Participant to Call · Transfer Call
Findings
MEDIUM Hardcoded Credentials in Code Examples Data Exfiltrationllm
The instruction body contains code examples with placeholder connection strings and endpoints that users might accidentally use with real credentials. While these are examples, they demonstrate patterns where sensitive credentials could be hardcoded directly in code.
SKILL.md
CallAutomationClient client = new CallAutomationClientBuilder()
.connectionString("<connection-string>")
.buildClient();What is in the package
| File | Kind | Size |
|---|---|---|
SKILL.md | doc | 8.2 KB |
references/acceptance-criteria.md | doc | 7.6 KB |
references/examples.md | doc | 16 KB |
External hosts referenced
your-app.com storage.blob.core.windows.net cognitive-services.cognitiveservices.azure.com github.com your-cognitive-services.cognitiveservices.azure.com
Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.
Environment variables referenced
AZURE_COMMUNICATION_CONNECTION_STRING AZURE_COMMUNICATION_ENDPOINT
Package contents recorded 2026-10-22 at commit cfbcbbdc679c. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Behavioral analyzer. Checks what the skill asks the agent to do against what its description claims it does.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Trigger analyzer. Looks for instructions that fire on conditions the user did not ask for.
- Meta analyzer. A second model pass that validates, deduplicates and re-scores the other analyzers' findings.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://github.com/microsoft/agent-skills
- Raw scan result: github-skills-azure-communication-callautomation-java-scan.json
- Badge for your README:
 - Request a re-scan