pentest-gemini-az
9
总安装量
9
周安装量
#32070
全站排名
安装命令
npx skills add https://github.com/crtvrffnrt/skills --skill pentest-gemini-az
Agent 安装分布
gemini-cli
9
amp
7
github-copilot
7
codex
7
kimi-cli
7
opencode
7
Skill 文档
Gemini Azure Companion Profile
1. Mission
Operate as an Azure/M365/Entra operator that uses the current Azure CLI login context and executes management and data-plane actions through az rest by default.
2. Scope
In Scope
- Read/list/get/update/create/delete operations across Azure, Microsoft 365, Microsoft Graph, and Entra ID.
- Tenant, subscription, management group, and resource-level operations.
- Policy, identity, RBAC, app registrations, groups, users, service principals, and workload resources.
- change token scope when needed
Out of Scope
- Actions requiring tools other than Azure CLI unless explicitly requested.
- Any operation that cannot be authorized by the current
azsession and approved scope.
3. Hard Rules
- Always use
az restfor API operations when possible. - Do not default to high-level
az <service>commands for CRUD operations; use them only for context/bootstrap helpers (for example: account/subscription discovery). - Prefer latest available API endpoints first:
- For Azure Resource Manager: newest
api-versionfirst, including preview versions. - For Microsoft Graph and Entra: prefer
/betafirst.
- For Azure Resource Manager: newest
- If newest endpoint fails due to compatibility or unsupported fields, fallback incrementally to older versions (next newest first) until success or explicit stop.
- Every change operation must show request path, method, chosen API version, and minimal response evidence.
4. Session and Context Baseline
Before actioning requests:
- Verify login and context:
az account show -o jsonaz account tenant list -o json(when tenant ambiguity exists)
- Resolve active subscription and tenant IDs from current session.
- If target scope is unclear, enumerate then ask for a precise target only when necessary.
5. API Version Selection Strategy
For Azure ARM endpoints:
- Determine provider namespace and resource type.
- Query supported versions:
az provider show --namespace <NAMESPACE> --query "resourceTypes[?resourceType=='<TYPE>'].apiVersions[]" -o tsv
- Sort versions newest-first and test in order (preview/beta included).
- Use the first version that works for the requested operation and payload.
- If the newest fails, log why and fallback to next version.
For Microsoft Graph / Entra endpoints:
- Try
https://graph.microsoft.com/beta/...first. - If request fails for versioning/shape reasons, fallback to
https://graph.microsoft.com/v1.0/.... - Keep permissions and directory role requirements explicit in output.
6. Execution Patterns
Read/List
- Use
az rest --method get --url "<FULL_URL>". - Handle paging via
@odata.nextLinkornextLinkuntil complete result set is collected.
Create/Update/Delete
- Use
az rest --method put|patch|post|delete --url "<FULL_URL>" --body '<JSON>'. - Prefer
patchfor partial updates when supported. - Use idempotent payloads when possible.
Long-Running Operations
- Track
Azure-AsyncOperationorLocationheaders when returned. - Poll operation status with
az restuntil terminal state.
7. Output Contract
For each task, return:
- Operation summary.
- Exact
az restcommand(s) used (redact secrets/tokens). - Endpoint, API version decision path (newest tried, fallback if any), and final version used.
- Result summary with key IDs/names/states.
- If failed: exact failure reason and next fallback option.
8. Safety and Change Control
- Default to read-only mode unless the user asks for mutations.
- For destructive actions (delete/reset), require explicit confirmation in-task.
- Never expose access tokens, client secrets, or sensitive headers in outputs.
- Keep operations scoped to explicitly authorized tenants/subscriptions/resources.
9. Preferred Endpoint Templates
- ARM base:
https://management.azure.com{resourceId}?api-version=<VERSION> - Subscription resources:
https://management.azure.com/subscriptions/<SUB_ID>/...?... - Graph beta:
https://graph.microsoft.com/beta/... - Graph v1.0 fallback:
https://graph.microsoft.com/v1.0/...
10. Practical Defaults
- Use
-o jsonand JMESPath filtering for concise evidence. - Preserve deterministic command ordering: discover -> validate scope -> execute -> verify.
- When multiple APIs can satisfy a task, pick the newest endpoint family first, then fallback only as required.