Skip to content

API Key, AWS Secret, or Stripe Live Token Committed to Public GitHub Repo: Automated Bot Scraping in 60 Seconds, Immediate Key Rotation, and Billing Kill-Switch

The instant you run git push to a public GitHub, GitLab, or Bitbucket repository (or temporarily flip a private repository to "Public" for even 10 seconds) while a file, .env configuration, Jupyter notebook (.ipynb), or older Git commit history contains a live secret key (such as an AWS Access Key ID starting with AKIA, a Stripe Live Secret Key sk_live_, an OpenAI key sk-proj-, an Anthropic key sk-ant-, or a Google Cloud service account .json), a global network of automated credential-harvesting bots intercepts that secret in 2 to 60 seconds. Because GitHub's public Events API, GH Archive, and real-time webhook firehoses stream every public PushEvent globally, malicious scraper bots parse your diff with regular expressions and begin executing automated cloud commands before you can even type git revert.

Within 90 seconds of an AWS eða GCP secret hitting a public repo, automated botnets spin up maximum-size GPU/CPU instances (such as p4d.24xlarge or c6i.32xlarge across obscure regions like ap-east-1 Hong Kong, me-south-1 Bahrain, or sa-east-1 Sao Paulo) to mine Monero (XMR), request AWS Simple Email Service (SES) quota increases to blast phishing spam, or clone your private S3 buckets and RDS databases, generating $5,000 to $80,000+ in cloud compute bills overnight. Similarly, a leaked OpenAI eða Anthropic API-lykill er samstundis settur í neðanjarðar „reverse-proxy“ LLM markaðstorg sem tæma þúsundir dollara í tákneiningum á mínútu, á meðan leki Stripe lifandi leynilykill (sk_live_...) veitir árásarmönnum fullan forritunarlegan les-/skrifaðgang til að gefa út sviksamlegar endurgreiðslur, útflutnings viðskiptavina PII, eða kveikja á óheimilum Connect-útborgunum. Ef árásarmaður er virkur að kúga fyrirtæki þitt eftir að hafa farið yfir gagnagrunna viðskiptavina með lyklinum þínum, skaltu hafa samband við löggæslu og netatvikslínur á staðnum í gegnum okkar neyðarnúmer directory immediately, and review our related guides on accidental production database drop, git force-push, and secret leak triage, framleiðslugagnagrunnur sleppt eða S3 fötu eytt án nýlegrar öryggisafrits, og emergency remote work security and data privacy.

Gerðu þetta núna

  1. EKKI sóa fyrstu 60 sekúndunum í að keyra git rm .env eða git push --force: GO DIRECTLY TO THE PROVIDER CONSOLE (AWS IAM, Stripe, OpenAI, GCP) AND REVOKE / DEACTIVATE THE KEY IN < 30 SECONDS. Deleting the file in a new Git commit (or even making the GitHub repository Private) does nothing to stop the bots that already scraped your key from the GitHub Events firehose 10 seconds ago. The key itself must be killed at the source first.
  2. If an AWS key (AKIA... eða ASIA...) leaked: Open AWS IAM -> Users -> Security credentials and click Deactivate / Delete on the access key immediately, then attach the AWSCompromisedKeyQuarantineV2(or a blanketDeny *inline policy) to the IAM user and increment the user's RevokeOldSessions policy to kill any temporary STS tokens the attacker already minted (see the exact STS bypass trap below).
  3. If a Stripe Live Secret Key (sk_live_... eða rk_live_...) leaked: Go to dashboard.stripe.com/apikeys, click ... -> Veltilykil, og stilltu útrunn gamla takkans á "Nú (Immediately)" (NOT "in 24 hours"). Immediately check Stripe Dashboard -> Logs og Balance -> Payouts / Refunds for unauthorized API calls.
  4. If an OpenAI, Anthropic, Google Gemini, eða SendGrid / Twilio key leaked: Delete the API key in the provider dashboard immediately and set a Hard Monthly Spend Limit ($0 or your normal cap) in the Billing settings to cut off in-flight streaming requests.
  5. Sweep ALL Cloud Regions (especially disabled/opt-in regions) for rogue EC2 instances, Lambda functions, ECS tasks, S3 buckets, and backdoor IAM users created by the bot during the 2-minute exposure window. Attackers specifically launch crypto-mining instances in regions you never click on in the console (like Stockholm eu-north-1, Osaka ap-northeast-3, or Mumbai ap-south-1) and create a second hidden IAM user (or SSH key pair) so they can stay inside your account after you delete the leaked key.
  6. Only AFTER the secret is revoked and backdoor IAM accounts are purged, scrub the commit from Git (using git-filter-repo) OG hafðu samband við GitHub Support (or remove cached PR/commit views) to purge dangling commit SHA caches, then file an AWS / GCP Accidental Leak Billing Waiver Request if bots ran up a massive cloud bill.

Danger

Why Deleting the Leaked AKIA Key in AWS IAM Is NOT Enough (The STS GetSessionToken Persistence Trap). Within 5 seconds af skafa truflanir þínar AKIA... AWS IAM aðgangslykill frá GitHub, háþróuð sjálfvirk botnet ræsa ekki bara EC2 tilvik með AKIA lykill; fyrsta API símtalið þeirra er sts:GetSessionToken eða sts:AssumeRole, sem setur tímabundið ASIA... Öryggismerkisþjónusta (STS) lotumerki sem gildir í allt að 12 to 36 hours. Jafnvel eftir að þú eyðir frumritinu AKIA... aðgangslykill í IAM stjórnborðinu, hvað sem er tímabundið ASIA... STS-tákn sem eru slegin fyrir það augnablik eru 100% virk og gild nema þú hengir líka við skýran Deny All innbyggð stefna (with a Condition checking aws:TokenIssueTime < CurrentUTC) til IAM notandans sem er í hættu og sérhvers hlutverks sem hann gæti tekið að sér.

Ákvörðunartré: 60 sekúndna neyðarviðbrögð eftir leka leynitegund

Fylgdu þessu flæðiriti fyrir innilokun atvika til að drepa brotið skilríki, stöðva þrautseigju árásaraðila og snúa við skýjareikningi á flótta.

flowchart TD
    A["Lifandi leyndarmál skuldbundið sig til opinberra GitHub / GitLab Repo (.env, frumkóði eða git saga)"] --> B["ÖNNUR 0 TIL 30: EKKI keyra git rm fyrst. Opnaðu Cloud/API Provider Console & REVOKE lykillinn strax"]
    B --> C{"Hvaða tegund af lifandi skilríkjum var afhjúpuð?"}
    C -->|"1. AWS aðgangslykill (AKIA... / ASIA...)"| D["1. Slökktu/eyddu lykli í IAM 2. Hengdu innbyggða 'Neita öllum' stefnu við notanda (drepur myntsláttartákn) 3. Endurskoðun CloudTrail fyrir bakdyra IAM notendur"]
    C -->|"2. Stripe Live Secret Key (sk_live_... / rk_live_...)"| E["1. Roll Key with Expiration = 'Strax' 2. Athugaðu /v1/refunds, /v1/transfers & Webhook Endpoints 3. Metið PII útsetningu viðskiptavinar"]
    C -->|"3. OpenAI (sk-proj-...), Anthropic (sk-ant-...), eða Gemini Key"| F["1. Revoke Key in Developer Console 2. Lower Organization Hard Billing Cap to $0 Temporarily 3. Check Usage Logs for Token Drain"]
    C -->|"4. Database URI (postgres://, mongodb+srv://) or Redis URL"| G["1. Rotate DB Password Immediately 2. Run pg_terminate_backend() / KILL to Drop Active Connections 3. Lock Down Security Group to VPC IPs Only"]
    D --> H["Run Multi-Region Compute Sweep (Terminate Rogue EC2/EKS/SageMaker/Lambda in All 30+ Regions)"]
    E --> I["Purge Git History via 'git filter-repo' + Clear GitHub Cached Commit SHA Views"]
    F --> I
    G --> I
    H --> J{"Did automated bots rack up a $1,000 to $100,000+ cloud bill?"}
    J -->|"JÁ"| K["Open AWS/GCP Billing Support Case -> Submit Post-Remediation Security Audit + Request One-Time Courtesy Fraud/Leak Bill Forgiveness"]
    J -->|"NEI"| I

Part 1: Provider-by-Provider Kill-Switch & Forensics Matrix (First 5 Minutes)

Use this reference table to locate the exact revocation button, automatic GitHub Secret Scanning behavior, and hidden persistence vector for your leaked credential.

Credential Type & Prefix Pattern Does GitHub Secret Scanning Auto-Revoke It? Immediate 30-Second Kill-Switch Procedure Hidden Attacker Persistence Vector to Check (Critical.) Where to Audit Unauthorized API Calls
1. Amazon Web Services (AKIA... IAM Key / ASIA... STS Token) NO Auto-Revoke: GitHub notifies AWS, which opens an automated AWS Support Case (Compromised Key Quarantine) and attaches AWSCompromisedKeyQuarantineV2, oft 3 to 15 minutes eftir að bottar hafa þegar ráðist á. 1. IAM -> Users -> [User] -> Security credentials -> Deactivate & Delete
2. Bæta við innbyggðri stefnu: Effect: Deny, Action: "*", Resource: "*"(kills active STS tokens).
1. Tímabundið STS tákn (ASIA...)
2. Nýstofnað IAM notendur / aðgangslyklar
3. Bakdyr IAM Hlutverk með ytri Principal traust stefnu
4. EC2 Launch Templates / Auto Scaling Groups that respawn terminated miners.
AWS CloudTrail -> Event history (Filter by User name = compromised IAM user eða Event source = sts.amazonaws.com / iam.amazonaws.com).
2. Stripe Live Secret / Restricted Key (sk_live_... / rk_live_...) JÁ (oft): Stripe er í samstarfi við GitHub Secret Scanning til að rúlla sjálfkrafa sk_live_ keys detected on main, BUT keys hidden inside base64 strings, Gists, or non-standard files can slip past auto-revocation. 1. Go to dashboard.stripe.com/apikeys
2. Click ... -> Roll key
3. Select Block old key immediately (Now)(never select a 12h/24h grace period.).
Malicious Webhook Endpoints: Attackers use your leaked sk_live_ key to call POST /v1/webhook_endpoints, registering their own server URL to silently receive copies of all future customer checkout and card events even after you roll the API key. Stripe Dashboard -> Developers -> Logs (filter by IP address and HTTP method POST/DELETE) + Developers -> Webhooks (delete any unrecognized URLs).
3. Google Cloud Service Account JSON ("private_key_id", AIza... API Key) Partial: GCP alerts the project owner (and optionally disables keys if Organization Policy is enabled), but frequently leaves the key active while sending an email warning. 1. GCP Console -> IAM & Admin -> Service Accounts
2. Click the Service Account -> Keys tab -> Delete the leaked Key ID.
3. Disable the entire Service Account temporarily.
1. New Service Account Keys generated by the leaked key
2. Compute Engine GPU instances (A100/H100/T4) spun up in foreign zones
3. Modified Project IAM Policy bindings (roles/owner eða roles/editor).
GCP Cloud Audit Logs (Logs Explorer) using query:
protoPayload.authenticationInfo.principalEmail="<service-account-email>"
4. OpenAI (sk-proj-...), Anthropic (sk-ant-...), & HuggingFace (hf_...) OpenAI / Anthropic: Partner with GitHub to auto-revoke standard plaintext pushes (usually within 30 to 120 seconds), þar sem vélmenni geta samt skotið þúsundum samhliða gpt-4o / claude-3-5-sonnet beiðnir. 1. Eyddu lyklinum platform.openai.com/api-keys eða console.anthropic.com/settings/keys
2. Lægri Mánaðarlegt eyðslutakmark (Hard Cap) í innheimtustillingum til að stöðva samhliða strauma á flugi.
Stofnunarstjórnunarlyklar (sk-admin-...): Ef OpenAI Admin API lykill lekur, getur vélmenni hringt forritað POST /v1/organization/admin_api_keys að slá inn glænýja verkefni API lykla áður en þú afturkallar þann fyrsta. Endurskoðaðu alla lykla í stofnuninni. OpenAI / Anthropic Usage Mashboard (check activity by API key and model tier).
5. GitHub persónulegt aðgangsmerki (ghp_... / github_pat_...) eða NPM tákn (npm_...) JÁ (Instant): GitHub afturkallar sjálfkrafa hvaða ghp_ eða github_pat_ táknið á sekúndubrotinu sem það er ýtt í opinbera GitHub geymslu. Ef ýtt er á gestgjafa sem ekki er GitHub (GitLab, Bitbucket, Pastebin, or Slack), afturkalla handvirkt á github.com/settings/tokens(or npmjs.com -> Access Tokens). Supply-Chain Malware Injection: Árásarmaður með þinn ghp_ eða npm_ token mun strax ýta illgjarnri bakdyraskuldbindingu í einkasöluna þína, bæta við fantur Deploy Key / GitHub Actions Workflow (pull_request_target), eða birtu trójuútgáfu af NPM pakkanum þínum. GitHub Stillingar -> Öryggisskrá (audit repo.create, hook.create, org.add_member, and oauth_authorization).

Part 2: Deep Dive: Hvernig á að reka árásarmann af AWS reikningnum þínum (The 4-Step Cloud Eviction Protocol)

Vegna þess að lekið var AWS skilríki bera hæsta fjárhagslega sprengingarradíus (up to $50,000+ per day in EC2/SageMaker/Bedrock bills), þú verður að framkvæma öll fjögur skrefin hér að neðan þegar an AKIA... eða ASIA... lykill hittir á opinbera geymslu:

+-----------------------------------------------------------------------------+
|     ANATOMY OF A 60-SECOND AUTOMATED AWS GITHUB SCRAPER BOT ATTACK          |
+-----------------------------------------------------------------------------+
|                                                                             |
|  [ SEC 00 ] Developer runs 'git push origin main' with .env (AKIA...)       |
|       |                                                                     |
|  [ SEC 04 ] Bot scrapes GitHub Events API Firehose -> Extracts AKIA key     |
|       |                                                                     |
|  [ SEC 06 ] Bot calls 'sts:GetCallerIdentity' & 'sts:GetSessionToken'       |
|       |     (Mints temporary ASIA... token that survives AKIA deletion.)    |
|       v                                                                     |
|  +----+------------------------------------------------------------------+  |
|  | [ SEC 15 TO 90: PARALLEL MULTI-REGION EXPLOITATION ]                  |  |
|  |  1. Persistence: Calls 'iam:CreateUser' / 'iam:CreateAccessKey'       |  |
|  |     (Creates hidden user 'aws-support-backup' with AdministratorAccess)|  |
|  |  2. Compute Abuse: Launches Auto-Scaling Groups of c6i.32xlarge /     |  |
|  |     g5.48xlarge in 12 regions + AWS Bedrock / SageMaker LLM endpoints |  |
|  |  3. Spam Abuse: Calls 'ses:PutAccountSendingAttributes' (50k emails)  |  |
|  |  4. Data Exfiltration: Lists & downloads S3 buckets / RDS snapshots   |  |
|  +-----------------------------------------------------------------------+  |
+-----------------------------------------------------------------------------+

Skref 1: Dreptu Both the Static AKIA Lykill OG Allur myntaður ASIA Session Tokens

Er að eyða AKIA lykill í AWS stjórnborðinu ógildir ekki tímabundið STS skilríki sem þegar hafa verið gefin út af sts:GetSessionToken. Að drepa allt strax í gegnum AWS CLI (using a separate clean admin profile):

# 1. Delete the compromised Access Key immediately
aws iam delete-access-key --user-name CompromisedUser --access-key-id AKIAIOSFODNN7EXAMPLE

# 2. Attach an explicit 'Deny All' inline policy to the IAM User to immediately
#    invalidate any STS tokens minted by that user AND block all further actions:
aws iam put-user-policy --user-name CompromisedUser --policy-name EmergencyKillSwitch \
  --policy-document '{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Deny",
      "Action": "*",
      "Resource": "*"
    }]
  }'

Skref 2: Leitaðu að bakdyrum IAM notendum, hlutverkum og aðgangslyklum í CloudTrail

Keyrðu þessar AWS CLI skipanir til að athuga hvort botninn hafi búið til falinn IAM notanda í bakdyrum eða tengt aukaaðgangslykil við einn af núverandi starfsmannareikningum þínum í glugganum:

# List all IAM users created recently across the account
aws iam list-users --query 'Users[?CreateDate>=`2026-10-30`].[UserName,CreateDate]' --output table

# Audit CloudTrail for every API call made by the compromised user in the last 24 hours
aws cloudtrail lookup-events \
  --lookup-attributes AttributeKey=Username,AttributeValue=CompromisedUser \
  --max-results 50 \
  --query 'Events[].[EventTime,EventName,EventSource]' --output table
Leitaðu sérstaklega að: CreateUser, CreateAccessKey, CreateLoginProfile(gives the bot an AWS Console password), AttachUserPolicy, CreateRole, UpdateAssumeRolePolicy, og ImportKeyPair. Eyddu öllum óviðkomandi notendum, hlutverkum og lyklapari strax.

Skref 3: Sópaðu allt 30+ AWS svæði fyrir Rogue EC2 tilvik, sjálfvirka mælingarhópa og Bedrock/SageMaker störf

Hvers vegna fá fórnarlömb enn a $12,000 reikning í lok mánaðarins eftir að þeir "kíktu á EC2 mælaborðið og sáu núll tilvik"? Vegna þess að AWS stjórnborðið sýnir aðeins eitt svæði í einu (e.g., us-east-1), meðan botninn snérist upp 20 tilvik í ap-south-1 (Mumbai), eu-north-1 (Stockholm), og sa-east-1 (Sao Paulo), og faldi þær inni í EC2 Auto Scaling Groups (ASGs) þannig að ef þú slítur EC2 tilvikinu handvirkt, setur sjálfvirka mælikvarðahópurinn af stokkunum 30 seconds síðar.

Keyrðu þessa fjölsvæða bash einlínu til að skrá öll EC2 tilvik í gangi eða í bið á hverju virku AWS svæði í 10 seconds:

for region in $(aws ec2 describe-regions --query 'Regions[].RegionName' --output text); do
  echo "=== Checking Region: $region ==="
  aws ec2 describe-instances --region "$region" \
    --filters "Name=instance-state-name,Values=running,pending,stopped" \
    --query 'Reservations[].Instances[].[InstanceId,InstanceType,State.Name,LaunchTime]' \
    --output table
done
- Áður en hætt er við fantur EC2-tilvik: Athugaðu EC2 -> Auto Scaling Groups(and EC2 Spot Fleet Requests / ECS Clusters / EKS Node Groups / SageMaker Notebook & Training Jobs) á hverju svæði sem hefur áhrif á og eyddu sjálfvirkum mælikvarðahópi / punktabeiðni FYRST, slítu síðan tilvikunum. - Athugaðu AWS Berggrunn (Model Invocation Logging) og Amazon SES: Nútíma vélmenni til að safna skilríkjum kalla nú strax fram AWS Bedrock (Claude 3.5 Sonnet / Llama 3) nota stolið AWS skilríki til að endurselja LLM tákn (which does not show up under EC2 at all). Athugaðu AWS Cost Explorer (Group by: Service og Group by: Region) til að koma auga á hvers kyns óeðlilega þjónustuauk.


Part 3: Scrubbing the Secret From Git History (git-filter-repo) & Hreinsa GitHub's Hidden Commit Cache

Þegar skilríkin eru dauð á stigi veitunnar verður þú að fjarlægja leynistrenginn úr geymslunni þinni .git fremja sögu svo hvorki vinnufélagar né framtíðarsköfur geti séð hana (and so GitHub's Push Protection stops blocking your branches).

1. Hvers vegna git rm .env + git commit Fjarlægir EKKI leyndarmálið frá Git

Hlaupandi git rm .env && git commit -m "remove env" fjarlægir aðeins skrána úr nýjasta commit (HEAD); leyndarmál textans er varanlega læsilegt inni í foreldri commit (the parent commit) til allra sem smella á „Skuldir“ á GitHub.

2. Endurskrifaðu geymslusöguna hreint með því að nota git-filter-repo

  1. Ef aðeins síðasta skuldbindingin (HEAD) innihélt leyndarmálið (and nobody else has pulled it yet):
    # Remove the sensitive file from the staging index while keeping it on your local disk
    git rm --cached .env
    echo ".env" >> .gitignore
    git add .gitignore
    git commit --amend --no-edit
    git push --force-with-lease origin main
    
  2. Ef leyndarmálið er grafið nokkrar skuldbindingar aftur í sögu þína (or inside a code file you want to keep): Notaðu git-filter-repo(the official, fast replacement recommended by Git and GitHub instead of the deprecated git filter-branch):
    # Option A: Completely purge a file (.env) from every commit in history
    git filter-repo --path .env --invert-paths --force
    
    # Option B: Replace a specific secret string with '***REMOVED***' across all files in history
    echo "sk_live_51NzExampleSecretKey12345==>***REMOVED***" > expressions.txt
    git filter-repo --replace-text expressions.txt --force
    
    # Force-push the rewritten history to GitHub across all branches and tags
    git push origin --force --all
    git push origin --force --tags
    

3. The Hidden GitHub Cache Trap (Dangling Commit SHAs)

Jafnvel eftir að þú keyrir git filter-repo og git push --force, Vefþjónar GitHub halda enn gömlu, ótilvísuðu ("danglandi") skuldbindingu SHA lifandi og aðgengilega almenningi kl. https://github.com/<owner>/<repo>/commit/<old-40-char-sha>(and in any forks or Pull Requests) þar til sorphirðu lýkur. - Hvernig á að hreinsa skyndiminni skuldbindingar SHA á GitHub strax: 1. Afritaðu allt 40-character skuldbinda SHA af skuldbindingunni sem lekið var áður en þú endurskrifaðir sögu. 2. Opið https://support.github.com/contact -> biðja um "Fjarlægja viðkvæm gögn / Hreinsa skyndiminni skoðanir fyrir óaðgengilega skuldbindingu SHA" í geymslu owner/repo og gefðu upp nákvæma skuldbindingu SHA (or use the GitHub Support portal's automated cache-purge workflow).


Hluti 4: Hvernig á að fá a $5,000 to $100,000+ AWS eða GCP lánareikningur felldur niður (The Courtesy Forgiveness Appeal)

Hvað ef þú ýtir á .env skrá á föstudagseftirmiðdegi, skoðaði ekki tölvupóstinn þinn fyrr en á mánudagsmorgun og vaknaði við $28,400.00 AWS eða Google Cloud reikningur frá dulritunarnámu eða LLM-proxy bots?

EKKI örvænta og EKKI hætta við kreditkortið þitt eða leggja fram endurgreiðslu í banka ennþá. Bæði Amazon Web Services (AWS) og Google Cloud Platform (GCP) hafa staðfesta innri Einu sinni leiðréttingu á innheimtuskilríkjum fyrir slysni / kurteisislánastefnu fyrir einstaka þróunaraðila, nemendur og sprotafyrirtæki, að því gefnu að þú lýkur 100% af lögboðnum gátlista þeirra fyrir öryggisúrbætur áður en innheimtuskoðunarteymið þeirra metur áfrýjun þína.

5-þrepa AWS / GCP frumvarp um undanþágu frá reikningi (90%+ Success Rate for First-Time Leaks)

  1. ** Ljúktu við öll öryggisúrbætur fyrst (AWS Will Reject Your Waiver Until the Account Is Clean):**
    • Eyða IAM aðgangslyklinum sem hefur verið í hættu (and the IAM User if possible).
    • Lokaðu hverju óviðkomandi EC2 tilviki, sjálfvirkri stærðarhóp, EBS hljóðstyrk, Elastic IP, RDS tilviki og S3 fötu yfir öll svæði (verify via AWS Cost Explorer and AWS Billing -> Bills -> Charges by Region that daily accrual has dropped back to $0.00).
    • Virkja Vélbúnaðar- eða Authenticator App MFA (Multi-Factor Authentication) á AWS Root Account þínum og hverjum IAM notanda.
  2. Opnaðu stuðningsmál undir "Account and Billing" (Free for All AWS/GCP Tiers, No Paid Support Plan Required):
    • Farðu í console.aws.amazon.com/support/home -> Búa til mál -> Reikningur og innheimta -> Þjónusta: Innheimta -> Flokkur: Andmæli um gjald / reikning í hættu.
  3. Sendið inn þessa nákvæmu staðreyndaúrbætur og erfiðleikasamantekt:
    • Viðurkenndu tímalínuna og orsökina: Segðu skýrt frá því þegar lykillinn var óvart afhjúpaður á GitHub (e.g., "October 30 at 22:14 UTC") og þegar það var afturkallað ("October 31 at 09:05 UTC").
    • Tilgreinið óviðkomandi gjöld eftir svæðum og þjónustu: Skráðu nákvæmar upphæðir í dollara fyrir sviksamlega botnavirkni á móti venjulegum sögulegum mánaðarreikningi þínum (e.g., "My normal monthly AWS bill for the past 8 months is $14.50/month in us-east-1; the unauthorized charges total $18,420.12 across ap-east-1, eu-north-1, and sa-east-1 EC2/Bedrock usage").
    • Staðfestu 100% úrbætur: Merktu nákvæmlega skrefin sem þú hefur þegar lokið (1. Deleted IAM key AKIA...; 2. Terminated all unauthorized resources across all regions; 3. Audited CloudTrail for backdoor users; 4. Enabled Root & IAM MFA; 5. Configured AWS Budgets alerts).
    • Biðjið kurteislega um leiðréttingu á kurteisi í eitt skipti: Útskýrðu að þú sért einstaklingur þróunaraðili / nemandi / byrjunarstig, að borga $18,420 óviðkomandi lánareikningur myndi valda miklum fjárhagserfiðleikum og biðja um einu sinni innheimtu/afsal fyrir sviksamlega notkun.
  4. Skiptu tímabundið eða settu þak á tengda greiðslukortið þitt ef sjálfvirk innheimta er yfirvofandi:
    • Á meðan AWS innheimtustuðningsmálið þitt er í skoðun (which usually takes 5 to 15 business days á meðan AWS öryggis- og innheimtuþjónustuteymi sannreyna að öllum sviknum auðlindum sé hætt), hafðu samband við AWS þjónustudeild inni í miðanum og biddu þá um að setja tímabundið greiðslustöðvun (defer auto-charge) á hinum umdeilda reikningi þannig að hann yfirdráttar ekki bankareikning þinn á meðan lánaleiðréttingin er í vinnslu.

Warning

Af hverju þú mátt ALDREI harðkóðalykla í kóða viðskiptavinarhliðar (NEXT_PUBLIC_, VITE_, REACT_APP_, farsímaforrit eða Chrome viðbætur). Jafnvel þótt GitHub geymslan þín sé það 100% Privat, setja leynilegan API lykil (like an OpenAI, Stripe secret, or AWS key) inni í framenda umhverfisbreytu með forskeytinu NEXT_PUBLIC_, VITE_, eða REACT_APP_ pakkar þessum textalykli beint inn í almenna JavaScript .js skrár birtar í vafra allra gesta (where bots scrape it directly from your live production website in seconds). Aðeins opinberir/birtanlegir lyklar (like Stripe pk_live_... eða stillingar Firebase biðlara sem takmarkast af HTTP tilvísun / Row-Level Security) gæti einhvern tíma snert framendakóða.

Tip

Setja upp gitleaks eða trufflehog sem Local Pre-Commit Hook á 60 sekúndum (So git Refuses to Commit a Secret Ever Again). Til að gera það líkamlega ómögulegt að fremja óvart .env skrá eða API lykil á fartölvunni þinni aftur, settu upp gitleaks(brew install gitleaks) og bætið við a .pre-commit-config.yaml krókur (or turn on GitHub's free **"Push Protection for yourself"** at **github.com/settings/security_analysis**). Með Push Protection virkt skoða netþjónar GitHub þinn git push í flutningi og hafna ýtinu áður en það lendir á geymslunni hvenær sem auðþekkjanlegt lyklamynstur greinist.

(Fyrir tengda þróunaraðila og öryggisatvik í fjarvinnu, sjá Fall framleiðslugagnagrunns fyrir slysni, git force-push, leynilegur leki og atviksrannsókn, Framleiðslugagnagrunnur sleppt eða S3 fötu eytt án nýlegrar öryggisafrits, Sendi fyrir slysni trúnaðarmál launaskrá, PII viðskiptavinar eða HIPAA töflureikni í tölvupósti, og Neyðaröryggi í fjarvinnu og gagnavernd.)


Svæðisbundin gagnabrot og skýjaöryggisskýrsluyfirvöld

Svæði / land Lög um innbrot í skýi og tilkynningar um gagnabrot Opinber netatvik og eftirlitsstofnun Þegar lekinn GitHub lykill krefst skyldubundinnar eftirlitsskýrslu
Bandaríkin FTC öryggisreglur (16 CFR Part 314), SEC netöryggisregla (Form 8-K Item 1.05), HIPAA, og 50 lög um tilkynningar um gagnabrot CISA (cisa.gov/report / 1-844-SAY-CISA), FBI IC3 (ic3.gov), HHS OCR og Ríkislögreglumenn Ef CloudTrail eða Stripe logs sýna að ytri IP notaði lykilinn þinn sem lekið var til GetObject eða flytja út ódulkóðaðan viðskiptavin PII, almannatryggingarnúmer eða greiðsluskrár (rather than purely mining crypto on empty EC2 instances), gilda lög um tilkynningar um brot ríkisins.
Evrópusambandið (EEA) GDPR (Articles 33 & 34) & NIS2 tilskipun (Directive (EU) 2022/2555) ** Persónuvernd (CNIL, BfDI, DPC)** & National CSIRT (ENISA) Strangt 72-Hour Klukka (GDPR Art. 33): Ef skilríkin sem lekið var hafði lesaðgang að persónuupplýsingum ESB og þú getur ekki útilokað óviðkomandi aðgang í CloudTrail/VPC flæðisskrám, tilkynntu eftirlitsyfirvaldinu þínu innan 72 hours.
Bretland Bretland GDPR & Data Protection Act 2018 ** Embætti upplýsingafulltrúa (ICO: 0303 123 1113)** & NCSC (ncsc.gov.uk) Tilkynna óviðkomandi aðgang að persónuupplýsingum að UK ICO innan 72 hours með því að nota netgátt ICO um mat á brotum; skjalfestu lykilsnúninginn þinn og IAM sóttkvískref.
Kanada, Ástralía og Nýja Sjáland Kanada PIPEDA
Ástralía Privacy Act 1988 (NDB Scheme)
Nýja Sjáland Privacy Act 2020
OPC (Canada), OAIC & ACSC (Australia: 1300 CYBER1), & OPC (New Zealand) Tilkynna skal ef váhrif á skilríkjum skapa raunverulega hættu á verulegum skaða (RROSH í Kanada) eða gjaldgengt gagnabrot (Australia OAIC) sem felur í sér persónulegar upplýsingar.

Algengar spurningar

Ef ég áttaði mig á því að ég ýtti á .env skrá í opinbera GitHub endurhverfu og gerði endurhverfan einkaaðila 2 mínútum síðar, þarf ég samt að snúa lyklunum mínum?

Já, 100 prósent af lyklunum í þeirri skrá verður að teljast í hættu og afturkalla strax. Sjálfvirkir heimildaruppskeruvélar bíða ekki eftir því að Google skrái geymsluna þína; þeir gerast áskrifendur beint að rauntíma almenningi GitHub `Events API` brunaslanga (`and GH Archive`), sem útvarpar öllum almenningi `PushEvent` á heimsvísu innan 1 til 3 sekúndna frá þínu `git push`. Þegar þú smelltir á „Stillingar -> Breyta sýnileika geymslu -> Gerðu einka“ tveimur mínútum síðar höfðu tugir sjálfvirkra skrapavéla þegar hlaðið niður skuldbindingunni þinni og sett AWS, Stripe, OpenAI og gagnagrunnsupplýsingarnar þínar í biðröð til að nýta.

Af hverju héldu vélmenni áfram að ræsa EC2 tilvik á AWS reikningnum mínum jafnvel eftir að ég eyddi lekanum AKIA aðgangslykill?

Eyðir kyrrstöðu `AKIA...` aðgangslykill í AWS IAM gerir aðeins þann tiltekna varanlega lykil óvirkan; það ógildir ekki tímabundið `ASIA...` Öryggismerkisþjónusta (`STS`) lotumerki sem árásarmaðurinn bjó til þegar hann notaði `sts:GetSessionToken` eða `sts:AssumeRole` á fyrstu sekúndunum eftir að þú skafar lyklinum (`which remain valid for up to 12 to 36 hours`). Að auki hringja sjálfvirk AWS árásarforskrift reglulega `iam:CreateUser` og `iam:CreateAccessKey` á fyrstu sekúndu þeirra aðgangs að planta annan, falinn bakdyra stjórnandareikning. Til að stöðva virka AWS afskipti algjörlega verður þú að eyða `AKIA` lykill, hengja skýrt `Deny *` innbyggð stefna fyrir IAM notandann sem er í hættu (`which immediately invalidates all minted STS tokens`), og endurskoða CloudTrail fyrir alla nýstofnaða IAM notendur eða hlutverk.

Mun AWS eða Google Cloud fyrirgefa stórfellda $10,000+ reikning ef tölvuþrjótar stálu API lyklinum mínum frá GitHub og námu dulkóðun?

Í langflestum leka fyrir slysni í fyrsta skipti, já, að því tilskildu að þú bregst hratt við, vinnur fullkomlega með öryggisteymi þeirra og hunsar ekki reikninginn. Bæði AWS og Google Cloud eru með innri stefnu um aðlögunarreglur um kurteisi í einu sinni fyrir þróunaraðila og lítil fyrirtæki sem verða fyrir óviðkomandi skilríkisleka. Áður en þú biður um afsal reiknings undir „Reikning og innheimtu“ stuðning, verður þú fyrst að sanna að lekinn sé 100 prósent lokaður: afturkalla afhjúpuðu IAM lyklana, slíta öllum óþekktum tölvutilvikum og sjálfvirkum stærðarflokkum á öllum 30+ heimssvæðum, virkja fjölþátta auðkenningu (`MFA`) á rótarreikningnum þínum og settu upp AWS Budgets kostnaðarviðvaranir.

Hvers vegna gerir git rm .env ekki fjarlægja leynilykilinn minn úr GitHub?

Git er óbreytanleg útgáfustýringarbók: þegar þú keyrir `git rm .env` og ýttu á nýtt commit, Git skráir aðeins að skráin sé fjarverandi í nýjustu skyndimyndinni (`HEAD`), á meðan haldið er öllu almennu textainnihaldi `.env` varanlega geymt inni í fyrri commit (`the parent commit`) í skuldbindingarsögu geymslunnar þinnar. Jafnvel þótt þú endurskrifir sögu þína með `git filter-repo` og þvinga ýttu, hver sem er getur samt lesið leyndarmálið ef þú hefur ekki afturkallað það á stjórnborði þjónustuveitunnar. Afturkallaðu og snúðu alltaf leynilyklinum á mælaborði skýjaveitunnar fyrst og notaðu síðan `git filter-repo` að skrúbba dauða strenginn úr skuldbindingarsögunni þinni.

Tengdir leiðsögumenn

Heimildir og opinberar leiðbeiningar

  • Amazon vefþjónusta (AWS Security Incident Response Guide & AWS Knowledge Center: "What should I do if I notice unauthorized activity or exposed IAM access keys?"): AWSCompromisedKeyQuarantineV2 Stefnuhegðun, ógilding tímabundið STS Session tokens (RevokeOldSessions), og endurskoðun margsvæða auðlinda.
  • GitHub skjöl (GitHub Secret Scanning, Push Protection, & "Removing sensitive data from a repository" using git-filter-repo): Sjálfvirkt afturköllunarkerfi samstarfsaðila (Stripe, AWS, OpenAI, NPM), git-filter-repo Endurskrifa sögu og hreinsa óaðgengilegar skyndiminni skuldbindingar SHA.
  • Stripe Inc. (Stripe Developer Security Guide: API Key Rotation & Compromised Key Incident Triage): * Strax sk_live_ Lykill rennur út, endurskoðun /v1/events og /v1/webhook_endpoints, og Takmörkun lykla í gegnum rk_live_ Gildissvið*.
  • NIST (Special Publication 800-61 Rev. 2 / Rev. 3: Computer Security Incident Handling Guide) & OWASP (Secrets Management Cheat Sheet): Geymsla á skilríkjum, skammvinnt OIDC vinnuálagsauðkennissamband (replacing static CI/CD keys), og Pre-Commit Secret Scanning.