跳转到正文
报告库
用途分类 / 文档处理

Azure Ai Skill 安全审计

作者说它能做什么(原文)

Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.

第三方安全检查结论

发现安全风险

已检查文件
16
发现的风险
3
会不会运行危险命令?检查是否下载程序后直接运行、让他人远程控制电脑,或藏起要运行的命令。未发现风险
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。发现 2 项风险
中风险

本地文档、图像、音频或文本可能被发送到 Azure 服务

原文依据:4 处
发现了什么

参考模式会把本地文档编码进分析请求、把图像字节交给图像分析客户端,或把音频文件发送到转写流。这些操作意味着内容会离开本地环境,由配置的 Azure 端点处理。

为什么需要注意

如果输入含合同、身份证件、会议录音、客户数据或其他机密信息,内容可能受到 Azure 资源所在区域、租户权限、服务日志及保留策略的约束,并可能产生使用费用。

这些是 SDK 参考用法,不会仅因安装 Skill 自动执行;但当用户采用这些模式并调用配置的 Azure 端点时,本地文档、图像字节或音频会被提交给 Azure 处理,可能涉及敏感内容外传。使用前可要求作者明确上传提示、目标端点、数据保留政策,并限制可读取的文件。

references/sdk/azure-ai-document-intelligence-ts.md:24来自说明文档打开原文件
- Must use `getLongRunningPoller(client, initialResponse)` then `poller.pollUntilDone()`- Local file: send as `base64Source` in body, not as binary stream- Pagination: `import { paginate } from "@azure-rest/ai-document-intelligence"`
查看另外 3 个位置
references/sdk/azure-ai-vision-imageanalysis-py.md:19来自说明文档打开原文件
## Non-Obvious Patterns- `analyze_from_url(image_url=..., visual_features=[...])` for URL; `analyze(image_data=bytes)` for file- VisualFeatures enum: `CAPTION`, `DENSE_CAPTIONS`, `TAGS`, `OBJECTS`, `READ`, `PEOPLE`, `SMART_CROPS`
references/sdk/azure-ai-transcription-py.md:22来自说明文档打开原文件
- Batch: `client.begin_transcription(name=..., locale="en-US", content_urls=[...], diarization_enabled=True)`- Real-time: `stream = client.begin_stream_transcription(locale="en-US"); stream.send_audio_file("audio.wav")`
references/sdk/azure-ai-translation-ts.md:22来自说明文档打开原文件
- Document translation: separate package `@azure-rest/ai-translation-document`- Batch docs require SAS URLs for source/target blob containers
中风险

内容安全分析结果可能被持续记录

原文依据:2 处
发现了什么

Python 和 TypeScript 指南都建议记录审核分析或决策,但没有限定日志是否包含原文、图像信息、分类结果、用户标识,也没有规定访问控制或保留期限。

为什么需要注意

审核输入及“有害内容”分类可能涉及私密通信或敏感标签;如果原始内容或可识别信息进入集中日志,更多人员和系统可能长期接触这些数据。

两份指南确实建议记录分析结果或审核决定,因此实现者可能创建持久日志。原文没有要求记录输入原文、图像、用户身份,也没有定义保存期限,所以具体暴露范围无法确定。用户可要求日志仅保留必要的类别和分数,并明确访问控制、脱敏与删除期限。

references/sdk/azure-ai-contentsafety-py.md:29来自说明文档打开原文件
4. Use `halt_on_blocklist_hit` for immediate rejection5. Log analysis results for audit and improvement6. Consider 8-severity mode for finer-grained control
查看另外 1 个位置
references/sdk/azure-ai-contentsafety-ts.md:29来自说明文档打开原文件
3. Use blocklists for domain-specific terms to supplement AI detection4. Log moderation decisions — keep audit trail for compliance5. Handle edge cases — empty text, very long text, unsupported image formats
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。未发现风险
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。发现 1 项风险
中风险

本地示例可自动使用当前开发者的 Azure 登录权限

原文依据:5 处
发现了什么

认证指南说明 `DefaultAzureCredential` 会从 Azure CLI、PowerShell、VS Code 等工具取得现有凭据。搜索客户端还能够创建或更新索引、上传或删除文档,因此实际权限取决于当前登录身份的 RBAC 范围。

为什么需要注意

如果代理连接到错误的租户、订阅、搜索服务或索引,操作可能读取组织搜索数据,或以用户现有权限改变索引及其中的文档。

认证指南明确说明本地的 `DefaultAzureCredential` 会使用 CLI、PowerShell 或 VS Code 中已有的开发者凭据;搜索参考还介绍创建或更新索引以及上传、删除文档。它们是示例而非自动执行指令,但若组合使用,操作权限取决于当前身份的 RBAC,可能修改云端数据。用户可要求先显示身份、订阅、资源和拟执行操作,并使用最小权限的专用身份。

references/auth-best-practices.md:77来自说明文档打开原文件
`DefaultAzureCredential` is ideal for local dev because it automatically picks up credentials from developer tools:1. **Azure CLI** — `az login`2. **Azure Developer CLI** — `azd auth login`3. **Azure PowerShell** — `Connect-AzAccount`4. **Visual Studio / VS Code** — sign in via Azure extension
查看另外 4 个位置
references/sdk/azure-search-documents-ts.md:20来自说明文档打开原文件
- Semantic search requires `queryType: "semantic"` + `semanticSearchOptions`- Batch ops: `searchClient.indexDocuments({ actions: [{ upload: doc }, { delete: doc }] })`
references/sdk/azure-search-documents-py.md:34来自说明文档打开原文件
9. Always define semantic configuration for agentic retrieval indexes10. Use `create_or_update_index` for idempotent index creation11. Close clients with context managers or explicit `close()`
references/sdk/azure-search-documents-dotnet.md:24来自说明文档打开原文件
## Best Practices1. Use `DefaultAzureCredential` for **local development only**. In production, use `ManagedIdentityCredential` — see [auth-best-practices.md](../auth-best-practices.md)2. Use `FieldBuilder` with model attributes for type-safe index definitions3. Use `CreateOrUpdateIndexAsync` for idempotent index creation4. Batch document operations for better throughput
references/auth-best-practices.md:20来自说明文档打开原文件
1. **Unpredictable fallback chain** — walks through multiple credential types, adding latency and making failures harder to diagnose.2. **Broad surface area** — checks environment variables, CLI tokens, and other sources that should not exist in production.3. **Non-deterministic** — which credential actually authenticates depends on the environment, making behavior inconsistent across deployments.4. **Performance** — each failed credential attempt adds network round-trips before falling back to the next.
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。未发现风险
会不会偷偷改推广链接或收款方?检查是否强制替换推广链接或收款对象,同时要求隐瞒更改。未发现风险

Skill 逻辑拆解

6 个说明模块

该 Skill 是 Azure AI 服务的操作与 SDK 参考指南;它优先建议通过 Azure MCP 查询搜索索引及执行语音转写或合成,并提供多种语言的依赖安装和客户端示例。

查看原文
SKILL.md:21来自说明文档打开原文件
## MCP Server (Preferred)When Azure MCP is enabled:
SKILL.md:26来自说明文档打开原文件
### AI Search- `azure__search` with command `search_index_list` - List search indexes- `azure__search` with command `search_index_get` - Get index details- `azure__search` with command `search_query` - Query search index### Speech- `azure__speech` with command `speech_transcribe` - Speech to text- `azure__speech` with command `speech_synthesize` - Text to speech

引用指南涵盖会把本地文件、文本、图像或 Blob URL 交给 Azure 客户端处理的模式,也包括能够创建或更新搜索索引、上传或删除索引文档、管理内容安全阻止列表的接口。

查看原文
references/sdk/azure-ai-document-intelligence-ts.md:22来自说明文档打开原文件
- REST client — `DocumentIntelligence` is a function, not a class- Analyze path: `client.path("/documentModels/{modelId}:analyze", "prebuilt-layout").post({...})`- Must use `getLongRunningPoller(client, initialResponse)` then `poller.pollUntilDone()`- Local file: send as `base64Source` in body, not as binary stream- Pagination: `import { paginate } from "@azure-rest/ai-document-intelligence"`
references/sdk/azure-search-documents-ts.md:20来自说明文档打开原文件
- Semantic search requires `queryType: "semantic"` + `semanticSearchOptions`- Batch ops: `searchClient.indexDocuments({ actions: [{ upload: doc }, { delete: doc }] })`
references/sdk/azure-search-documents-py.md:34来自说明文档打开原文件
9. Always define semantic configuration for agentic retrieval indexes10. Use `create_or_update_index` for idempotent index creation11. Close clients with context managers or explicit `close()`
references/sdk/azure-ai-contentsafety-ts.md:22来自说明文档打开原文件
- Image: `client.path("/image:analyze").post({ body: { image: { content: base64 } } })`- Blocklist create: `.path("/text/blocklists/{blocklistName}", name).patch({...})`- API key import: `AzureKeyCredential` from `@azure/core-auth` (not `@azure/identity`)

认证指南区分本地开发与生产环境:本地可使用开发者工具中的现有登录身份,生产环境建议托管身份、最小权限 RBAC,并明确禁止硬编码密钥。

查看原文
references/auth-best-practices.md:7来自说明文档打开原文件
Use **managed identities** and **Azure RBAC** in production. Reserve `DefaultAzureCredential` for **local development only**.
references/auth-best-practices.md:77来自说明文档打开原文件
`DefaultAzureCredential` is ideal for local dev because it automatically picks up credentials from developer tools:1. **Azure CLI** — `az login`2. **Azure Developer CLI** — `azd auth login`3. **Azure PowerShell** — `Connect-AzAccount`4. **Visual Studio / VS Code** — sign in via Azure extension
references/auth-best-practices.md:112来自说明文档打开原文件
- [ ] Use managed identity for all Azure-hosted apps- [ ] Never hardcode credentials, connection strings, or keys- [ ] Apply least-privilege RBAC roles at the narrowest scope- [ ] Use `ManagedIdentityCredential` (not `DefaultAzureCredential`) in production- [ ] Store any required secrets in Azure Key Vault- [ ] Rotate secrets and certificates on a schedule
从这里开始 · 工作说明SKILL.md
azure-ai
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。

文件引用关系图

17 处引用
哪些文件发起引用引用了什么
连线表示真实的文件引用,不是运行顺序。点击节点可高亮相关连线,并查看具体文件和原文位置。虚线表示还有文件需要定位。
文件与检查记录16 个文件

检查范围与遗漏

逐文件查看涉及的内容

下方列出本次涉及的原文范围;纳入检查不代表已查清所有问题。

  • SKILL.md已纳入全文
  • references/sdk/azure-ai-contentsafety-java.md已纳入全文
  • references/sdk/azure-ai-contentsafety-py.md已纳入全文
  • references/sdk/azure-ai-contentsafety-ts.md已纳入全文
  • references/sdk/azure-ai-document-intelligence-dotnet.md已纳入全文
  • references/sdk/azure-ai-document-intelligence-ts.md已纳入全文
  • references/sdk/azure-ai-openai-dotnet.md已纳入全文
  • references/sdk/azure-ai-transcription-py.md已纳入全文
  • references/sdk/azure-ai-translation-text-py.md已纳入全文
  • references/sdk/azure-ai-translation-ts.md已纳入全文
  • references/sdk/azure-ai-vision-imageanalysis-java.md已纳入全文
  • references/sdk/azure-ai-vision-imageanalysis-py.md已纳入全文
  • references/sdk/azure-search-documents-dotnet.md已纳入全文
  • references/sdk/azure-search-documents-py.md已纳入全文
  • references/sdk/azure-search-documents-ts.md已纳入全文
  • references/auth-best-practices.md已纳入全文

这份报告只针对上方版本。我们看了拿到的代码和说明文件,没有实际运行 Skill,也没有检查它另外安装的软件包。因此,这不是“保证安全”的承诺;换了版本或使用环境,结果也可能不同。

  • SKILL.md工作说明
  • references/auth-best-practices.md配套文件
  • references/sdk/azure-ai-contentsafety-java.md配套文件
  • references/sdk/azure-ai-contentsafety-py.md配套文件
  • references/sdk/azure-ai-contentsafety-ts.md配套文件
  • references/sdk/azure-ai-document-intelligence-dotnet.md配套文件
  • references/sdk/azure-ai-document-intelligence-ts.md配套文件
  • references/sdk/azure-ai-openai-dotnet.md配套文件
  • references/sdk/azure-ai-transcription-py.md配套文件
  • references/sdk/azure-ai-translation-text-py.md配套文件
  • references/sdk/azure-ai-translation-ts.md配套文件
  • references/sdk/azure-ai-vision-imageanalysis-java.md配套文件
  • references/sdk/azure-ai-vision-imageanalysis-py.md配套文件
  • references/sdk/azure-search-documents-dotnet.md配套文件
  • references/sdk/azure-search-documents-py.md配套文件
  • references/sdk/azure-search-documents-ts.md配套文件

代码和说明中提到的操作

连接外部网站
SKILL.md:70来自说明文档打开原文件
- AI Search indexing and queries -> [Azure AI Search documentation](https://learn.microsoft.com/azure/search/search-what-is-azure-search)- Speech transcription patterns -> [Azure AI Speech documentation](https://learn.microsoft.com/azure/ai-services/speech-service/overview)
SKILL.md:71来自说明文档打开原文件
- AI Search indexing and queries -> [Azure AI Search documentation](https://learn.microsoft.com/azure/search/search-what-is-azure-search)- Speech transcription patterns -> [Azure AI Speech documentation](https://learn.microsoft.com/azure/ai-services/speech-service/overview)
references/auth-best-practices.md:3来自说明文档打开原文件
> Source: [Microsoft — Passwordless connections for Azure services](https://learn.microsoft.com/azure/developer/intro/passwordless-overview) and [Azure Identity client libraries](https://learn.microsoft.com/dotnet/azure/sdk/authentication/).
运行命令
references/auth-best-practices.md:16来自说明文档打开原文件
| **CI/CD pipelines** | `AzurePipelinesCredential` / `WorkloadIdentityCredential` | Scoped to pipeline identity || **Local development** | `DefaultAzureCredential` | Chains CLI, PowerShell, and VS Code credentials for convenience |
references/auth-best-practices.md:81来自说明文档打开原文件
2. **Azure Developer CLI** — `azd auth login`3. **Azure PowerShell** — `Connect-AzAccount`4. **Visual Studio / VS Code** — sign in via Azure extension
references/auth-best-practices.md:87来自说明文档打开原文件
// Local development only — uses CLI/PowerShell/VS Code credentialsconst credential = new DefaultAzureCredential();
读取密钥或账号配置
references/auth-best-practices.md:16来自说明文档打开原文件
| **CI/CD pipelines** | `AzurePipelinesCredential` / `WorkloadIdentityCredential` | Scoped to pipeline identity || **Local development** | `DefaultAzureCredential` | Chains CLI, PowerShell, and VS Code credentials for convenience |
references/auth-best-practices.md:32来自说明文档打开原文件
var credential = Environment.GetEnvironmentVariable("AZURE_FUNCTIONS_ENVIRONMENT") == "Development"    ? new DefaultAzureCredential()                          // local dev — uses CLI/VS credentials
references/auth-best-practices.md:33来自说明文档打开原文件
var credential = Environment.GetEnvironmentVariable("AZURE_FUNCTIONS_ENVIRONMENT") == "Development"    ? new DefaultAzureCredential()                          // local dev — uses CLI/VS credentials    : new ManagedIdentityCredential();                      // production — deterministic, no fallback chain
安装其他软件包
references/sdk/azure-ai-contentsafety-py.md:8来自说明文档打开原文件
```bashpip install azure-ai-contentsafety```
references/sdk/azure-ai-contentsafety-ts.md:8来自说明文档打开原文件
```bashnpm install @azure-rest/ai-content-safety @azure/identity @azure/core-auth```
references/sdk/azure-ai-document-intelligence-ts.md:8来自说明文档打开原文件
```bashnpm install @azure-rest/ai-document-intelligence @azure/identity```
读取了多少行
655
文件校验值(用于核对版本)
4a2d52ac0e39dd7de8b606dacd3bffc844f31d95765c5526fbc4c4576f6ffc2a