abusing-dpapi-for-cred…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Auditing Google Cloud Platform IAM permissions to identify overly permissive
Claude Code
$ npx -y skills add mukul975/Anthropic-Cybersecurity-Skills --skill auditing-gcp-iam-permissions --agent claude-code
Codex
$ npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill auditing-gcp-iam-permissions -a codex -y
Cursor
$ npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill auditing-gcp-iam-permissions -a cursor -y
Gemini CLI
$ npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill auditing-gcp-iam-permissions -a gemini-cli -y
GitHub Copilot
$ npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill auditing-gcp-iam-permissions -a github-copilot -y
OpenCode
$ npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill auditing-gcp-iam-permissions -a opencode -y
Windsurf
$ npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill auditing-gcp-iam-permissions -a windsurf -y
name: auditing-gcp-iam-permissions description: 'Auditing Google Cloud Platform IAM permissions to identify overly permissive bindings, primitive role usage, service account key proliferation, and cross-project access risks using gcloud CLI, Policy Analyzer, and IAM Recommender. ' domain: cybersecurity subdomain: cloud-security tags: - cloud-security - gcp - iam - permissions-audit - service-accounts - policy-analyzer version: '1.0' author: mahipal license: Apache-2.0 nist_csf: - PR.IR-01 - ID.AM-08 - GV.SC-06 - DE.CM-01 mitre_attack: - T1078.004 - T1098.003 - T1528 - T1548.005 - T1580
**Do not use** for VPC firewall rule auditing (use network security tools), for GKE RBAC auditing (use Kubernetes-specific RBAC tools), or for real-time threat detection on IAM actions (use SCC Event Threat Detection).
List all IAM bindings at organization, folder, and project levels to understand the full access landscape.
# Organization-level IAM bindings
gcloud organizations get-iam-policy ORG_ID \
--format=json > org-iam-policy.json
# Search all IAM policies across the organization
gcloud asset search-all-iam-policies \
--scope=organizations/ORG_ID \
--format="table(resource, policy.bindings.role, policy.bindings.members)" \
--limit=500
# Find all users and service accounts with Owner role
gcloud asset search-all-iam-policies \
--scope=organizations/ORG_ID \
--query="policy:roles/owner" \
--format="table(resource, policy.bindings.members)"
# Find all bindings using primitive roles (Owner, Editor, Viewer)
gcloud asset search-all-iam-policies \
--scope=organizations/ORG_ID \
--query="policy:roles/owner OR policy:roles/editor" \
--format=json | python3 -c "
import json, sys
data = json.load(sys.stdin)
for result in data:
resource = result.get('resource', '')
for binding in result.get('policy', {}).get('bindings', []):
role = binding.get('role', '')
if role in ['roles/owner', 'roles/editor']:
for member in binding.get('members', []):
print(f'{resource} | {role} | {member}')
"Identify service accounts with excessive permissions, user-managed keys, and unused accounts.
# List all service accounts in a project
gcloud iam service-accounts list \
--project=PROJECT_ID \
--format="table(email, displayName, disabled)"
# Check for user-managed keys (should be minimized)
for sa in $(gcloud iam service-accounts list --project=PROJECT_ID --format="value(email)"); do
keys=$(gcloud iam service-accounts keys list \
--iam-account="$sa" \
--managed-by=user \
--format="table(name.basename(),validAfterTime,validBeforeTime)")
if [ -n "$keys" ]; then
echo "=== $sa ==="
echo "$keys"
fi
done
# Find service accounts with admin roles across all projects
gcloud asset search-all-iam-policies \
--scope=organizations/ORG_ID \
--query="policy.bindings.members:serviceAccount AND (policy:roles/owner OR policy:roles/editor OR policy:admin)" \
--format="table(resource, policy.bindings.role, policy.bindings.members)"
# Check service account IAM policies (who can impersonate)
for sa in $(gcloud iam service-accounts list --project=PROJECT_ID --format="value(email)"); do
echo "=== $sa ==="
gcloud iam service-accounts get-iam-policy "$sa" --format=json 2>/dev/null
doneLeverage GCP's IAM Recommender to find roles that grant more access than actually used.
# List IAM role recommendations for a project gcloud recommender recommendations list \ --project=PROJECT_ID \ --recommender=google.iam.policy.Recommender \ --location=global \ --format="table(name, description, priority, stateInfo.state)" # Get detailed recommendation gcloud recommender recommendations describe RECOMMENDATION_ID \ --project=PROJECT_ID \ --recommender=google.iam.policy.Recommender \ --location=global \ --format=json # List insights about IAM usage gcloud recommender insights list \ --project=PROJECT_ID \ --insight-type=google.iam.policy.Insight \ --location=global \ --format="table(name, description, severity, category)" # Apply a recommendation (after review) gcloud recommender recommendations mark-claimed RECOMMENDATION_ID \ --project=PROJECT_ID \ --recommender=google.iam.policy.Recommender \ --location=global \ --etag=ETAG
Use Policy Analyzer to determine effective access for specific principals or resources.
# Check who has access to a specific resource gcloud asset analyze-iam-policy \ --organization=ORG_ID \ --full-resource-name="//storage.googleapis.com/projects/_/buckets/sensitive-data-bucket" \ --format="table(identityList.identities, accessControlLists.accesses.role)" # Check what resources a specific user can access gcloud asset analyze-iam-policy \ --organization=ORG_ID \ --identity="user:developer@company.com" \ --
817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATT&CK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF & MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI & 20+ platforms · 29 security domains · Apache 2.0
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials)…
Prepare a defense-contractor environment for CMMC Level 2 certification: scope CUI and FCI, implement the 110 NIST SP 800-171 Rev…
Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence…
Detect dangerous ACL misconfigurations in Active Directory using ldap3
Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and…
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…
Vercel AI SDK patterns for the installed major (ui/package.json: `ai` 6.x, `@ai-sdk/react` 3.x). The skill name is historical;…