[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ET9BPC0T2WVR6RK0BK1KY3":3,"skill-same:01M6ET9BPC0T2WVR6RK0BK1KY3":111},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":31,"publishedAt":52,"linkOnly":53,"markdownContent":54,"markdownBody":55,"frontMatter":56,"refName":72,"commitSha":73,"skillDirectory":74,"forksCount":14,"repositoryHtmlUrl":75,"repositoryHomepageUrl":76,"ownerHtmlUrl":77,"ownerBlogUrl":6,"ownerDescription":78,"updatedAt":79,"install":80,"resources":93},"01M6ET9BPC0T2WVR6RK0BK1KY3","detecting-aws-credential-exposure-with-trufflehog",null,"Detecting exposed AWS credentials in source code repositories, CI\u002FCD pipelines, and configuration files using TruffleHog, git-secrets, and AWS-native detection mechanisms to prevent credential theft and unauthorized account access.","henriquescastilho\u002Fmy-claude","henriquescastilho","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F153296945?v=4","01M6ESH7EXPXTH9CVQ4K16SRG8","Henrique Scheer","01M6ESH7JHEK2PTNNH4HEH787Z",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fhenriquescastilho\u002Fmy-claude\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fdetecting-aws-credential-exposure-with-trufflehog\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],"with","aws","trufflehog","credential","detecting aws credential exposure with trufflehog","credentials","CI\u002FCD","native","de","files","cm","access","secrets","cybersecurity","t1078","secrets-detection","credential-exposure","cloud-security","ci","code","2026-11-10 10:12:30",false,"---\nname: detecting-aws-credential-exposure-with-trufflehog\ndescription: 'Detecting exposed AWS credentials in source code repositories, CI\u002FCD\n  pipelines, and configuration files using TruffleHog, git-secrets, and AWS-native\n  detection mechanisms to prevent credential theft and unauthorized account access.\n\n  '\ndomain: cybersecurity\nsubdomain: cloud-security\ntags:\n- cloud-security\n- aws\n- credential-exposure\n- trufflehog\n- secrets-detection\n- devsecops\nversion: '1.0'\nauthor: mahipal\nlicense: Apache-2.0\nnist_csf:\n- PR.IR-01\n- ID.AM-08\n- GV.SC-06\n- DE.CM-01\nmitre_attack:\n- T1552.001\n- T1552\n- T1078.004\n- T1589.001\n---\n\n# Detecting AWS Credential Exposure with TruffleHog\n\n## When to Use\n\n- When integrating secrets detection into CI\u002FCD pipelines to prevent credential commits reaching production\n- When performing a security audit of existing repositories for historically committed AWS credentials\n- When responding to an AWS GuardDuty alert about credential usage from an unexpected IP or region\n- When onboarding repositories from acquired companies or third-party vendors\n- When validating that credential rotation processes have removed all references to old access keys\n\n**Do not use** for real-time credential monitoring (use AWS GuardDuty or Amazon Macie), for managing secrets (use AWS Secrets Manager or HashiCorp Vault), or for detecting non-credential sensitive data like PII (use Amazon Macie or DLP tools).\n\n## Prerequisites\n\n- TruffleHog v3 installed (`brew install trufflehog` or `pip install trufflehog`)\n- git-secrets installed for pre-commit hook integration (`brew install git-secrets`)\n- Access to source code repositories (GitHub, GitLab, Bitbucket, or local git repos)\n- AWS CLI configured with permissions to check key status (`iam:ListAccessKeys`, `iam:GetAccessKeyLastUsed`)\n- GitHub or GitLab API token for scanning organization-wide repositories\n\n## Workflow\n\n### Step 1: Install and Configure TruffleHog\n\nInstall TruffleHog v3 and verify it can detect the AWS credential patterns.\n\n```bash\n# Install TruffleHog v3\npip install trufflehog\n\n# Or install from binary release\ncurl -sSfL https:\u002F\u002Fraw.githubusercontent.com\u002Ftrufflesecurity\u002Ftrufflehog\u002Fmain\u002Fscripts\u002Finstall.sh | sh -s -- -b \u002Fusr\u002Flocal\u002Fbin\n\n# Verify installation\ntrufflehog --version\n\n# Test with a known test repository\ntrufflehog git https:\u002F\u002Fgithub.com\u002Ftrufflesecurity\u002Ftest_keys --only-verified\n```\n\n### Step 2: Scan Git Repositories for Exposed Credentials\n\nScan entire git history including all branches and commits for AWS access keys, secret keys, and session tokens.\n\n```bash\n# Scan a local git repository (full history)\ntrufflehog git file:\u002F\u002F\u002Fpath\u002Fto\u002Frepo --only-verified --json > trufflehog-results.json\n\n# Scan a GitHub organization's repositories\ntrufflehog github --org=your-organization --token=$GITHUB_TOKEN --only-verified\n\n# Scan a specific GitHub repository with all branches\ntrufflehog git https:\u002F\u002Fgithub.com\u002Forg\u002Frepo.git --only-verified --branch=main\n\n# Scan a GitLab group\ntrufflehog gitlab --group=your-group --token=$GITLAB_TOKEN --only-verified\n\n# Scan filesystem paths for credentials in config files\ntrufflehog filesystem \u002Fpath\u002Fto\u002Fproject --only-verified\n```\n\n### Step 3: Analyze and Validate Detected Credentials\n\nParse TruffleHog results to identify verified (still-active) credentials versus rotated or test keys.\n\n```bash\n# Parse TruffleHog JSON output for AWS findings\ncat trufflehog-results.json | python3 -c \"\nimport json, sys\nfor line in sys.stdin:\n    finding = json.loads(line)\n    if 'AWS' in finding.get('DetectorName', ''):\n        print(f\\\"Detector: {finding['DetectorName']}\\\")\n        print(f\\\"Verified: {finding.get('Verified', False)}\\\")\n        print(f\\\"Source: {finding.get('SourceMetadata', {})}\\\")\n        print(f\\\"Commit: {finding.get('SourceMetadata', {}).get('Data', {}).get('Git', {}).get('commit', 'N\u002FA')}\\\")\n        print(f\\\"File: {finding.get('SourceMetadata', {}).get('Data', {}).get('Git', {}).get('file', 'N\u002FA')}\\\")\n        print('---')\n\"\n\n# Check if a detected access key is still active\naws iam get-access-key-last-used --access-key-id AKIAIOSFODNN7EXAMPLE\n\n# List all access keys for a user to find active keys\naws iam list-access-keys --user-name target-user \\\n  --query 'AccessKeyMetadata[*].[AccessKeyId,Status,CreateDate]' --output table\n```\n\n### Step 4: Set Up Pre-Commit Hooks with git-secrets\n\nPrevent credentials from being committed in the first place using git-secrets as a pre-commit hook.\n\n```bash\n# Install git-secrets\ngit secrets --install  # In each repository\n\n# Register AWS credential patterns\ngit secrets --register-aws\n\n# Add custom patterns for internal credential formats\ngit secrets --add 'AKIA[0-9A-Z]{16}'\ngit secrets --add 'aws_secret_access_key\\s*=\\s*.{40}'\ngit secrets --add 'aws_session_token\\s*=\\s*.+'\n\n# Scan entire repository history\ngit secrets --scan-history\n\n# Add to global git template for all new repos\ngit secrets --install ~\u002F.git-templates\u002Fgit-secrets\ngit config --global init.templateDir ~\u002F.git-templates\u002Fgit-secrets\n```\n\n### Step 5: Integrate TruffleHog into CI\u002FCD Pipeline\n\nAdd TruffleHog scanning as a CI\u002FCD gate to block deployments containing exposed credentials.\n\n```yaml\n# GitHub Actions workflow (.github\u002Fworkflows\u002Fsecrets-scan.yml)\nname: Secrets Scan\non: [push, pull_request]\n\njobs:\n  trufflehog:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\u002Fcheckout@v4\n        with:\n          fetch-depth: 0\n      - name: TruffleHog Scan\n        uses: trufflesecurity\u002Ftrufflehog@main\n        with:\n          extra_args: --only-verified --results=verified\n```\n\n```yaml\n# GitLab CI (.gitlab-ci.yml)\nsecrets_scan:\n  stage: test\n  image: trufflesecurity\u002Ftrufflehog:latest\n  script:\n    - trufflehog git file:\u002F\u002F$CI_PROJECT_DIR --since-commit $CI_COMMIT_BEFORE_SHA --only-verified --fail\n  allow_failure: false\n```\n\n### Step 6: Respond to Detected Credential Exposure\n\nExecute incident response procedures when verified credentials are found exposed.\n\n```bash\n# IMMEDIATE: Deactivate the exposed access key\naws iam update-access-key \\\n  --user-name compromised-user \\\n  --access-key-id AKIAEXPOSEDKEY123456 \\\n  --status Inactive\n\n# Generate new credentials\naws iam create-access-key --user-name compromised-user\n\n# Review CloudTrail for unauthorized usage of the exposed key\naws cloudtrail lookup-events \\\n  --lookup-attributes AttributeKey=AccessKeyId,AttributeValue=AKIAEXPOSEDKEY123456 \\\n  --start-time 2026-01-01T00:00:00Z \\\n  --query 'Events[*].[EventTime,EventName,EventSource,SourceIPAddress]' \\\n  --output table\n\n# Delete the exposed key after rotation is confirmed\naws iam delete-access-key \\\n  --user-name compromised-user \\\n  --access-key-id AKIAEXPOSEDKEY123456\n\n# Remove the credential from git history using BFG Repo Cleaner\njava -jar bfg.jar --replace-text credentials.txt repo.git\n```\n\n## Key Concepts\n\n| Term | Definition |\n|------|------------|\n| TruffleHog | Open-source secrets detection tool that scans git history, filesystems, and cloud services for exposed credentials using regex patterns and verification APIs |\n| Verified Secret | A credential that TruffleHog has confirmed is still active by making an API call to the target service (e.g., AWS STS GetCallerIdentity) |\n| git-secrets | AWS Labs pre-commit hook tool that prevents committing strings matching AWS credential patterns to git repositories |\n| Access Key Rotation | The practice of regularly replacing AWS access key pairs to limit the window of exposure if a key is compromised |\n| BFG Repo Cleaner | Tool for removing sensitive data from git history without rewriting the entire repository, faster than git filter-branch |\n| GitHub Secret Scanning | GitHub-native feature that scans public repositories for known credential patterns and notifies the credential provider |\n\n## Tools & Systems\n\n- **TruffleHog v3**: Primary scanning engine supporting git, filesystem, S3, and CI\u002FCD integration with verified credential detection\n- **git-secrets**: AWS Labs pre-commit hook for preventing credential commits at the developer workstation level\n- **BFG Repo Cleaner**: Fast tool for removing credentials from git history after exposure is detected\n- **AWS GuardDuty**: Threat detection service that alerts on anomalous usage of AWS credentials from unexpected locations\n- **GitHub Advanced Security**: Platform-native secret scanning for GitHub repositories with push protection\n\n## Common Scenarios\n\n### Scenario: Developer Commits AWS Credentials to a Public GitHub Repository\n\n**Context**: GitHub secret scanning notifies that an AWS access key was pushed to a public repository. The key belongs to a developer with production S3 and DynamoDB access.\n\n**Approach**:\n1. Immediately deactivate the access key using `aws iam update-access-key --status Inactive`\n2. Run `aws cloudtrail lookup-events` filtering by the exposed AccessKeyId to check for unauthorized usage\n3. Scan the full repository history with `trufflehog git` to find any other exposed credentials\n4. Generate a new access key for the developer and deliver it through Secrets Manager\n5. Remove the credential from git history using BFG Repo Cleaner\n6. Install git-secrets pre-commit hook on the developer's workstation\n7. Add TruffleHog to the repository's CI\u002FCD pipeline to prevent recurrence\n\n**Pitfalls**: Simply deleting the commit or force-pushing does not remove credentials from GitHub's cache or forks. The key must be deactivated at the AWS level immediately. GitHub secret scanning may have already notified AWS, triggering automated key deactivation.\n\n## Output Format\n\n```\nAWS Credential Exposure Scan Report\n======================================\nScan Target: github.com\u002Facme-corp (42 repositories)\nScan Date: 2026-02-23\nTool: TruffleHog v3.63.0\nMode: Full git history scan with verification\n\nVERIFIED FINDINGS (Active Credentials):\n[CRED-001] AWS Access Key - VERIFIED ACTIVE\n  Key ID: AKIA...WXYZ\n  Repository: acme-corp\u002Fbackend-api\n  File: deploy\u002Fconfig.env\n  Commit: a1b2c3d (2025-08-15)\n  Author: developer@acme.com\n  IAM User: svc-backend-deploy\n  Permissions: S3, DynamoDB, SQS (production)\n  Status: CRITICAL - Key active and used from 3 IP addresses\n  Action Required: Immediate deactivation and rotation\n\n[CRED-002] AWS Secret Key - VERIFIED ACTIVE\n  Repository: acme-corp\u002Fdata-pipeline\n  File: scripts\u002Fetl_config.py\n  Commit: d4e5f6g (2025-11-22)\n  Author: data-engineer@acme.com\n  Status: HIGH - Key active, last used 2 days ago\n\nUNVERIFIED FINDINGS (Potential Credentials):\n  Total pattern matches: 15\n  Likely test\u002Fexample keys: 12\n  Requires manual review: 3\n\nSUMMARY:\n  Repositories scanned: 42\n  Commits analyzed: 125,847\n  Verified active credentials: 2\n  Unverified credential patterns: 15\n  Repositories with pre-commit hooks: 8 \u002F 42\n```\n","# Detecting AWS Credential Exposure with TruffleHog\n\n## When to Use\n\n- When integrating secrets detection into CI\u002FCD pipelines to prevent credential commits reaching production\n- When performing a security audit of existing repositories for historically committed AWS credentials\n- When responding to an AWS GuardDuty alert about credential usage from an unexpected IP or region\n- When onboarding repositories from acquired companies or third-party vendors\n- When validating that credential rotation processes have removed all references to old access keys\n\n**Do not use** for real-time credential monitoring (use AWS GuardDuty or Amazon Macie), for managing secrets (use AWS Secrets Manager or HashiCorp Vault), or for detecting non-credential sensitive data like PII (use Amazon Macie or DLP tools).\n\n## Prerequisites\n\n- TruffleHog v3 installed (`brew install trufflehog` or `pip install trufflehog`)\n- git-secrets installed for pre-commit hook integration (`brew install git-secrets`)\n- Access to source code repositories (GitHub, GitLab, Bitbucket, or local git repos)\n- AWS CLI configured with permissions to check key status (`iam:ListAccessKeys`, `iam:GetAccessKeyLastUsed`)\n- GitHub or GitLab API token for scanning organization-wide repositories\n\n## Workflow\n\n### Step 1: Install and Configure TruffleHog\n\nInstall TruffleHog v3 and verify it can detect the AWS credential patterns.\n\n```bash\n# Install TruffleHog v3\npip install trufflehog\n\n# Or install from binary release\ncurl -sSfL https:\u002F\u002Fraw.githubusercontent.com\u002Ftrufflesecurity\u002Ftrufflehog\u002Fmain\u002Fscripts\u002Finstall.sh | sh -s -- -b \u002Fusr\u002Flocal\u002Fbin\n\n# Verify installation\ntrufflehog --version\n\n# Test with a known test repository\ntrufflehog git https:\u002F\u002Fgithub.com\u002Ftrufflesecurity\u002Ftest_keys --only-verified\n```\n\n### Step 2: Scan Git Repositories for Exposed Credentials\n\nScan entire git history including all branches and commits for AWS access keys, secret keys, and session tokens.\n\n```bash\n# Scan a local git repository (full history)\ntrufflehog git file:\u002F\u002F\u002Fpath\u002Fto\u002Frepo --only-verified --json > trufflehog-results.json\n\n# Scan a GitHub organization's repositories\ntrufflehog github --org=your-organization --token=$GITHUB_TOKEN --only-verified\n\n# Scan a specific GitHub repository with all branches\ntrufflehog git https:\u002F\u002Fgithub.com\u002Forg\u002Frepo.git --only-verified --branch=main\n\n# Scan a GitLab group\ntrufflehog gitlab --group=your-group --token=$GITLAB_TOKEN --only-verified\n\n# Scan filesystem paths for credentials in config files\ntrufflehog filesystem \u002Fpath\u002Fto\u002Fproject --only-verified\n```\n\n### Step 3: Analyze and Validate Detected Credentials\n\nParse TruffleHog results to identify verified (still-active) credentials versus rotated or test keys.\n\n```bash\n# Parse TruffleHog JSON output for AWS findings\ncat trufflehog-results.json | python3 -c \"\nimport json, sys\nfor line in sys.stdin:\n    finding = json.loads(line)\n    if 'AWS' in finding.get('DetectorName', ''):\n        print(f\\\"Detector: {finding['DetectorName']}\\\")\n        print(f\\\"Verified: {finding.get('Verified', False)}\\\")\n        print(f\\\"Source: {finding.get('SourceMetadata', {})}\\\")\n        print(f\\\"Commit: {finding.get('SourceMetadata', {}).get('Data', {}).get('Git', {}).get('commit', 'N\u002FA')}\\\")\n        print(f\\\"File: {finding.get('SourceMetadata', {}).get('Data', {}).get('Git', {}).get('file', 'N\u002FA')}\\\")\n        print('---')\n\"\n\n# Check if a detected access key is still active\naws iam get-access-key-last-used --access-key-id AKIAIOSFODNN7EXAMPLE\n\n# List all access keys for a user to find active keys\naws iam list-access-keys --user-name target-user \\\n  --query 'AccessKeyMetadata[*].[AccessKeyId,Status,CreateDate]' --output table\n```\n\n### Step 4: Set Up Pre-Commit Hooks with git-secrets\n\nPrevent credentials from being committed in the first place using git-secrets as a pre-commit hook.\n\n```bash\n# Install git-secrets\ngit secrets --install  # In each repository\n\n# Register AWS credential patterns\ngit secrets --register-aws\n\n# Add custom patterns for internal credential formats\ngit secrets --add 'AKIA[0-9A-Z]{16}'\ngit secrets --add 'aws_secret_access_key\\s*=\\s*.{40}'\ngit secrets --add 'aws_session_token\\s*=\\s*.+'\n\n# Scan entire repository history\ngit secrets --scan-history\n\n# Add to global git template for all new repos\ngit secrets --install ~\u002F.git-templates\u002Fgit-secrets\ngit config --global init.templateDir ~\u002F.git-templates\u002Fgit-secrets\n```\n\n### Step 5: Integrate TruffleHog into CI\u002FCD Pipeline\n\nAdd TruffleHog scanning as a CI\u002FCD gate to block deployments containing exposed credentials.\n\n```yaml\n# GitHub Actions workflow (.github\u002Fworkflows\u002Fsecrets-scan.yml)\nname: Secrets Scan\non: [push, pull_request]\n\njobs:\n  trufflehog:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\u002Fcheckout@v4\n        with:\n          fetch-depth: 0\n      - name: TruffleHog Scan\n        uses: trufflesecurity\u002Ftrufflehog@main\n        with:\n          extra_args: --only-verified --results=verified\n```\n\n```yaml\n# GitLab CI (.gitlab-ci.yml)\nsecrets_scan:\n  stage: test\n  image: trufflesecurity\u002Ftrufflehog:latest\n  script:\n    - trufflehog git file:\u002F\u002F$CI_PROJECT_DIR --since-commit $CI_COMMIT_BEFORE_SHA --only-verified --fail\n  allow_failure: false\n```\n\n### Step 6: Respond to Detected Credential Exposure\n\nExecute incident response procedures when verified credentials are found exposed.\n\n```bash\n# IMMEDIATE: Deactivate the exposed access key\naws iam update-access-key \\\n  --user-name compromised-user \\\n  --access-key-id AKIAEXPOSEDKEY123456 \\\n  --status Inactive\n\n# Generate new credentials\naws iam create-access-key --user-name compromised-user\n\n# Review CloudTrail for unauthorized usage of the exposed key\naws cloudtrail lookup-events \\\n  --lookup-attributes AttributeKey=AccessKeyId,AttributeValue=AKIAEXPOSEDKEY123456 \\\n  --start-time 2026-01-01T00:00:00Z \\\n  --query 'Events[*].[EventTime,EventName,EventSource,SourceIPAddress]' \\\n  --output table\n\n# Delete the exposed key after rotation is confirmed\naws iam delete-access-key \\\n  --user-name compromised-user \\\n  --access-key-id AKIAEXPOSEDKEY123456\n\n# Remove the credential from git history using BFG Repo Cleaner\njava -jar bfg.jar --replace-text credentials.txt repo.git\n```\n\n## Key Concepts\n\n| Term | Definition |\n|------|------------|\n| TruffleHog | Open-source secrets detection tool that scans git history, filesystems, and cloud services for exposed credentials using regex patterns and verification APIs |\n| Verified Secret | A credential that TruffleHog has confirmed is still active by making an API call to the target service (e.g., AWS STS GetCallerIdentity) |\n| git-secrets | AWS Labs pre-commit hook tool that prevents committing strings matching AWS credential patterns to git repositories |\n| Access Key Rotation | The practice of regularly replacing AWS access key pairs to limit the window of exposure if a key is compromised |\n| BFG Repo Cleaner | Tool for removing sensitive data from git history without rewriting the entire repository, faster than git filter-branch |\n| GitHub Secret Scanning | GitHub-native feature that scans public repositories for known credential patterns and notifies the credential provider |\n\n## Tools & Systems\n\n- **TruffleHog v3**: Primary scanning engine supporting git, filesystem, S3, and CI\u002FCD integration with verified credential detection\n- **git-secrets**: AWS Labs pre-commit hook for preventing credential commits at the developer workstation level\n- **BFG Repo Cleaner**: Fast tool for removing credentials from git history after exposure is detected\n- **AWS GuardDuty**: Threat detection service that alerts on anomalous usage of AWS credentials from unexpected locations\n- **GitHub Advanced Security**: Platform-native secret scanning for GitHub repositories with push protection\n\n## Common Scenarios\n\n### Scenario: Developer Commits AWS Credentials to a Public GitHub Repository\n\n**Context**: GitHub secret scanning notifies that an AWS access key was pushed to a public repository. The key belongs to a developer with production S3 and DynamoDB access.\n\n**Approach**:\n1. Immediately deactivate the access key using `aws iam update-access-key --status Inactive`\n2. Run `aws cloudtrail lookup-events` filtering by the exposed AccessKeyId to check for unauthorized usage\n3. Scan the full repository history with `trufflehog git` to find any other exposed credentials\n4. Generate a new access key for the developer and deliver it through Secrets Manager\n5. Remove the credential from git history using BFG Repo Cleaner\n6. Install git-secrets pre-commit hook on the developer's workstation\n7. Add TruffleHog to the repository's CI\u002FCD pipeline to prevent recurrence\n\n**Pitfalls**: Simply deleting the commit or force-pushing does not remove credentials from GitHub's cache or forks. The key must be deactivated at the AWS level immediately. GitHub secret scanning may have already notified AWS, triggering automated key deactivation.\n\n## Output Format\n\n```\nAWS Credential Exposure Scan Report\n======================================\nScan Target: github.com\u002Facme-corp (42 repositories)\nScan Date: 2026-02-23\nTool: TruffleHog v3.63.0\nMode: Full git history scan with verification\n\nVERIFIED FINDINGS (Active Credentials):\n[CRED-001] AWS Access Key - VERIFIED ACTIVE\n  Key ID: AKIA...WXYZ\n  Repository: acme-corp\u002Fbackend-api\n  File: deploy\u002Fconfig.env\n  Commit: a1b2c3d (2025-08-15)\n  Author: developer@acme.com\n  IAM User: svc-backend-deploy\n  Permissions: S3, DynamoDB, SQS (production)\n  Status: CRITICAL - Key active and used from 3 IP addresses\n  Action Required: Immediate deactivation and rotation\n\n[CRED-002] AWS Secret Key - VERIFIED ACTIVE\n  Repository: acme-corp\u002Fdata-pipeline\n  File: scripts\u002Fetl_config.py\n  Commit: d4e5f6g (2025-11-22)\n  Author: data-engineer@acme.com\n  Status: HIGH - Key active, last used 2 days ago\n\nUNVERIFIED FINDINGS (Potential Credentials):\n  Total pattern matches: 15\n  Likely test\u002Fexample keys: 12\n  Requires manual review: 3\n\nSUMMARY:\n  Repositories scanned: 42\n  Commits analyzed: 125,847\n  Verified active credentials: 2\n  Unverified credential patterns: 15\n  Repositories with pre-commit hooks: 8 \u002F 42\n```\n",{"name":5,"tags":57,"author":59,"domain":45,"license":15,"version":60,"nist_csf":61,"subdomain":49,"description":66,"mitre_attack":67},[49,33,48,34,47,58],"devsecops","mahipal","1.0",[62,63,64,65],"PR.IR-01","ID.AM-08","GV.SC-06","DE.CM-01","Detecting exposed AWS credentials in source code repositories, CI\u002FCD pipelines, and configuration files using TruffleHog, git-secrets, and AWS-native detection mechanisms to prevent credential theft and unauthorized account access.\n",[68,69,70,71],"T1552.001","T1552","T1078.004","T1589.001","main","7925716f065257435fdb12e97f7e52842147d5ad",".claude\u002Fskills\u002Fdetecting-aws-credential-exposure-with-trufflehog","https:\u002F\u002Fgithub.com\u002Fhenriquescastilho\u002Fmy-claude","https:\u002F\u002Fclaude.com\u002Fclaude-code","https:\u002F\u002Fgithub.com\u002Fhenriquescastilho","Software · Applied AI · Quantitative Modeling · Building with Claude.","2026-06-10 12:24:46",{"source":8,"skillName":5,"commands":81,"prompt":91,"zipAvailable":92},[82,85,88],{"tool":83,"command":84},"npx","npx skills add henriquescastilho\u002Fmy-claude --skill detecting-aws-credential-exposure-with-trufflehog",{"tool":86,"command":87},"bunx","bunx skills add henriquescastilho\u002Fmy-claude --skill detecting-aws-credential-exposure-with-trufflehog",{"tool":89,"command":90},"pnpm","pnpm dlx skills add henriquescastilho\u002Fmy-claude --skill detecting-aws-credential-exposure-with-trufflehog","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhenriquescastilho\u002Fmy-claude\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fdetecting-aws-credential-exposure-with-trufflehog\u002FSKILL.md",true,[94,99,105],{"path":95,"resourceType":95,"resourceTypeDesc":96,"sizeBytes":97,"sourceHtmlUrl":98},"LICENSE","许可证",11255,"https:\u002F\u002Fgithub.com\u002Fhenriquescastilho\u002Fmy-claude\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fdetecting-aws-credential-exposure-with-trufflehog\u002FLICENSE",{"path":100,"resourceType":101,"resourceTypeDesc":102,"sizeBytes":103,"sourceHtmlUrl":104},"references\u002Fapi-reference.md","REFERENCE","参考文档",2128,"https:\u002F\u002Fgithub.com\u002Fhenriquescastilho\u002Fmy-claude\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fdetecting-aws-credential-exposure-with-trufflehog\u002Freferences\u002Fapi-reference.md",{"path":106,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":109,"sourceHtmlUrl":110},"scripts\u002Fagent.py","SCRIPT","脚本",7790,"https:\u002F\u002Fgithub.com\u002Fhenriquescastilho\u002Fmy-claude\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fdetecting-aws-credential-exposure-with-trufflehog\u002Fscripts\u002Fagent.py",[112,149,158,167,189,215],{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":116,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":131,"publishedAt":52},"01M6F0B6XPQ65AX2X0DWK8KT3E","markitdown","Convert files and office documents to Markdown. Supports PDF, DOCX, PPTX, XLSX, images (with OCR), audio (with transcription), HTML, CSV, JSON, XML, ZIP, YouTube URLs, EPubs and more.","MIT","https:\u002F\u002Fgithub.com\u002Fhenriquescastilho\u002Fmy-claude\u002Fblob\u002Fmain\u002F.codex\u002Fvendor_imports\u002Fclaude\u002Fmarketplaces\u002Fclaude-scientific-writer\u002Fskills\u002Fmarkitdown\u002FSKILL.md",[119,122,125,128],{"categoryNo":120,"categoryName":121,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理",{"categoryNo":123,"categoryName":124,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":126,"categoryName":127,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000004","电子表格",{"categoryNo":129,"categoryName":130,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000034","行政与办公人员",[114,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,41,148,32],"docx","PDF","pptx","xlsx","documents","csv","ocr","Audio","Bash","markdown","convert","read","write","edit","html","images","youtube",{"skillNo":150,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":116,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":157,"publishedAt":52},"01M6F06SBHR9F0SDWE282Y8075","https:\u002F\u002Fgithub.com\u002Fhenriquescastilho\u002Fmy-claude\u002Fblob\u002Fmain\u002F.codex\u002Fvendor_imports\u002Fclaude\u002Fmarketplaces\u002Fclaude-scientific-writer\u002Fscientific_writer\u002F.claude\u002Fskills\u002Fmarkitdown\u002FSKILL.md",[153,154,155,156],{"categoryNo":120,"categoryName":121,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":123,"categoryName":124,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":126,"categoryName":127,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":129,"categoryName":130,"taxonomyType":29,"taxonomyTypeDesc":30},[114,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,41,148,32],{"skillNo":159,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":116,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":166,"publishedAt":52},"01M6F02D4R14EJAPBWVDF9J9VQ","https:\u002F\u002Fgithub.com\u002Fhenriquescastilho\u002Fmy-claude\u002Fblob\u002Fmain\u002F.codex\u002Fvendor_imports\u002Fclaude\u002Fmarketplaces\u002Fclaude-scientific-writer\u002F.claude\u002Fskills\u002Fmarkitdown\u002FSKILL.md",[162,163,164,165],{"categoryNo":120,"categoryName":121,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":123,"categoryName":124,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":126,"categoryName":127,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":129,"categoryName":130,"taxonomyType":29,"taxonomyTypeDesc":30},[114,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,41,148,32],{"skillNo":168,"name":169,"nameZh":6,"description":170,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":116,"licenseFileUrl":6,"sourceHtmlUrl":171,"categories":172,"keywords":173,"publishedAt":52},"01M6F000KS6YB4MKS774G4R8ND","zarr-python","Chunked N-D arrays for cloud storage. Compressed arrays, parallel I\u002FO, S3\u002FGCS integration, NumPy\u002FDask\u002FXarray compatible, for large-scale scientific computing pipelines.","https:\u002F\u002Fgithub.com\u002Fhenriquescastilho\u002Fmy-claude\u002Fblob\u002Fmain\u002F.codex\u002Fvendor_imports\u002Fclaude\u002Fmarketplaces\u002Fclaude-scientific-skills\u002Fscientific-skills\u002Fzarr-python\u002FSKILL.md",[],[174,175,176,177,178,179,180,181,182,183,184,185,186,187,188],"python","zarr python","storage","integration","s3","gcs","cloud","dask","parallel","pipelines","arrays","numpy","scientific computing","scale","scientific",{"skillNo":190,"name":191,"nameZh":6,"description":192,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":116,"licenseFileUrl":6,"sourceHtmlUrl":193,"categories":194,"keywords":196,"publishedAt":52},"01M6EZZJWFXM1GR78KTW6J0DN8","what-if-oracle","Run structured What-If scenario analysis with multi-branch possibility exploration. Use this skill when the user asks speculative questions like \"what if...\", \"what would happen if...\", \"what are the possibilities\", \"explore scenarios\", \"scenario analysis\", \"possibility space\", \"what could go wrong\", \"best case \u002F worst case\", \"risk analysis\", \"contingency planning\", \"strategic options\", or any question about uncertain futures. Also trigger when the user faces a fork-in-the-road decision, wants to stress-test an idea, or needs to think through consequences before committing.","https:\u002F\u002Fgithub.com\u002Fhenriquescastilho\u002Fmy-claude\u002Fblob\u002Fmain\u002F.codex\u002Fvendor_imports\u002Fclaude\u002Fmarketplaces\u002Fclaude-scientific-skills\u002Fscientific-skills\u002Fwhat-if-oracle\u002FSKILL.md",[195],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[197,198,199,200,201,202,203,204,205,206,207,143,144,208,209,210,211,212,213,214],"oracle","what if oracle","go","run","ux","futures","analysis","explore","decision","branch","question","idea","exploration","options","stress-test","strategies","scenario","stress",{"skillNo":216,"name":217,"nameZh":6,"description":218,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":116,"licenseFileUrl":6,"sourceHtmlUrl":219,"categories":220,"keywords":231,"publishedAt":52},"01M6EZZCXAEB49RXGQCJX5E8GB","venue-templates","Access comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.","https:\u002F\u002Fgithub.com\u002Fhenriquescastilho\u002Fmy-claude\u002Fblob\u002Fmain\u002F.codex\u002Fvendor_imports\u002Fclaude\u002Fmarketplaces\u002Fclaude-scientific-skills\u002Fscientific-skills\u002Fvenue-templates\u002FSKILL.md",[221,224,227,228],{"categoryNo":222,"categoryName":223,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":225,"categoryName":226,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":229,"categoryName":230,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000036","内容创作者",[232,233,234,235,236,237,238,239,140,43,143,144,145,240,241,242,243,244,188,245],"templates","venue templates","research","guidelines","NeurIPS","ICML","LaTeX","science","proposals","Academic","requirements","formatting","journal","chi"]