Mifteya API, Veşartî AWS, an Tokena Zindî ya Stripe ku ji Repoya GitHub-a Giştî re hatî peywirdar kirin: Di 60 Çirkeyan de Vegerandina Botê ya Xweser, Zivirandina Bişkojka Yekser, û Billing Kill-Switch¶
Wê gavê ku hûn direvin git push ji depoyek GitHub, GitLab, an Bitbucket giştî (or temporarily flip a private repository to "Public" for even 10 seconds) dema ku pelek, .env veavakirin, notebook Jupyter (.ipynb), an dîroka commit Git kevintir kilîtek veşartî ya zindî heye (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), torgilokek gerdûnî ya botên hilberandina pêbaweriya otomatîkî ya ku veşartî di 2 heya 60 çirkeyan de digire. Ji ber ku gelemperî GitHub Events API, GH Archive, û firehookên webhook-ê yên rast-dem her gel diherikin PushEvent li çaraliyê cîhanê, botên scraper yên xerab cudahiya we bi vegotinên birêkûpêk par dikin û berî ku hûn karibin binivîsin dest bi pêkanîna fermanên ewr ên otomatîkî dikin. git revert.
di nav 90 seconds ji an AWS an GCP nepenî li depoyek giştî dixe, botnetên otomatîkî mînakên GPU/CPU-ya herî mezin dizivirînin (such as p4d.24xlarge or c6i.32xlarge li seranserê herêmên nezelal wek ap-east-1 Hong Kong, me-south-1 Bahreyn, an sa-east-1 Sao Paulo) ji bo Monero (XMR), Daxwaza Karûbarê E-nameya Hêsan a AWS (SES) kota zêde dibe da ku spam phishing biteqîne, an jî taybetiya we klon bike S3 kepçe û RDS databas, çêker **$5,000 to $80,000+ di ewr de fatoreyên hesabkirin di şevekê de **. Bi heman awayî, a leaked OpenAI an Anthropic Mifteya API-ê tavilê di nav bazarên LLM-ê yên "berepaş-proxy" yên binerdê de tê berhev kirin ku di her hûrdemê de bi hezaran dolar ji krediyên nîşanan derdixîne, dema ku diherike. Stripe mifteya veşartî ya zindî (sk_live_...) ji êrîşkaran re gihandina xwendin/nivîsandina bi tevahî bernameyî dide da ku vegerandina xapînok, xerîdar hinarde bike PII, an dravdanên Connect ên bêdestûr bidin destpêkirin. Ger êrîşkarek bi awayekî çalak rêxistina we distîne piştî ku databasên xerîdar bi mifteya weya derçûyî derdixe, bi xetên germ ên înfazê yên dadrêsî û bûyera sîberê re bişêwirin. hejmarên acîl pelrêça yekser, û rêberên me yên têkildar li ser binirxînin Daxistina databasa hilberîna qezayî, zora git-push, û tîraja rijandina veşartî, databasa hilberînê daket an jî kepçeya S3 bêyî paşvekişandina dawî hate jêbirin, û ewlehiya xebata dûr a acîl û nepeniya daneyê.
Vê niha bikin¶
- ** 60 saniyeyên xwe yên ewil bi bez winda nekin
git rm .envangit push --force: DIRESTPÊR BIÇIN KONSOLA PÊŞKÊŞKIRIN (AWS IAM,Stripe,OpenAI,GCP) Û KÎLÊ LI VE BIKIN / BIKIN< 30 SECONDS.** Jêbirina pelê di peywirek nû ya Git de (or even making the GitHub repository Private) tiştekî nake da ku botên ku berî 10 saniyeyan mifteya we ji firehose-a GitHub Events qut kirine rawestîne. Divê kilît bixwe pêşî li çavkaniyê bê kuştin. - ** Ger ku
AWSkey (AKIA...anASIA...) derçû:** VekirîAWS IAM -> Users -> Security credentialsû li ser bişkoja gihîştinê tavilê ** Bêçalak / Jêbirin ** bikirtînin, dûv re pêve bikinAWSCompromisedKeyQuarantineV2(or a blanketînkar *inline policy) ji bikarhênerê IAM re û ya bikarhêner zêde bikeRevokeOldSessionssiyaseta kuştina her demkîSTSîşaretên ku êrîşkar berê xwe daye (see the exact STS bypass trap below). - Heke a
StripeMifteya Veşartî ya Zindî (sk_live_...anrk_live_...) leaked: Çûndashboard.stripe.com/apikeys, bikirtînin **...-> Bişkojka bizivirîne **, û bidawîbûna mifteya kevin wekî "Niha (Immediately)" (NOT "in 24 hours"). Tavilê kontrol bikinStripe Dashboard -> LogsûBalance -> Payouts / Refundsji bo bangên API-ê yên bê destûr. - ** Ger ku
OpenAI,Anthropic,Google Gemini, anSendGrid / TwilioBişkojka derketiye:** Bişkojka API-ê ya di tabloya pêşkêşkerê de tavilê jêbibe û Sînorek Xerca Zehmetî ya Mehane ($0an kapa weya normal) di mîhengên Billing de ji bo qutkirina daxwazên weşana di firînê de. - ** HEMÛ Herêmên Ewr bişopînin (
especially disabled/opt-in regions(like Stockholm eu-north-1, Osaka ap-northeast-3, or Mumbai ap-south-1) û bikarhênerek IAM-ê veşartî ya duyemîn biafirîne (or SSH key pair) ji ber vê yekê ew dikarin di hundurê hesabê we de bimînin piştî ku hûn mifteya leakkirî jêbirin. - Tenê PIŞTÎ ku nepenî hate betal kirin û hesabên IAM-ê yên paşîn têne paqij kirin, qanûnê ji Git paqij bikin (
using git-filter-repo) Û bi Piştgiriya GitHub re têkilî daynin (or remove cached PR/commit views) Ji bo paqijkirina kaşên SHA-yê yên dangling, dûv re ** Daxwaza Destûrdana Billinga Leaksaziya Rasthatî ya AWS / GCP ** heke bot fatûreya ewr a mezin biqede.
Danger
** Çima Leaked jêbirin AKIA Mifteya di AWS IAM de ne bes e (The STS GetSessionToken Persistence Trap).** Di nav 5 seconds xistina statîka xwe AKIA... Mifteya gihîştina AWS IAM ji GitHub, botnetên xweser ên sofîstîke ne tenê bi we re nimûneyên EC2 dest pê dikin AKIA key; yekem banga wan a API ye sts:GetSessionToken an sts:AssumeRole, ku demkî derdixe ASIA... Xizmeta Token Ewlekariyê (STS) nîşaneya danişînê heya heya derbasdar e 12 to 36 hours. Tewra piştî ku hûn orjînal jêbirin AKIA... mifteya gihîştinê di konsolê IAM de, ** her demkî ASIA... Nîşaneyên STS yên ku berî wê gavê hatine çêkirin 100% çalak û derbasdar dimînin** heya ku hûn eşkere jî pêve nekin **Deny All siyaseta navxwe ** (with a Condition checking aws:TokenIssueTime < CurrentUTC) ji Bikarhênerê IAM-ê yê lihevhatî û her Rola ku ew dikaribû bihesibîne.
Dara biryarê: 60-Bersiva Awarte ya Duyemîn ji hêla Tîpa Veşartî ya Leaked ve¶
Vê nexşeya rêvegirtina bûyerê bişopînin da ku pêbaweriya têkçûyî bikujin, domdariya êrişker qut bikin, û fatûreya ewrê reviyan berevajî bikin.
flowchart TD
A["Veşartina Zindî ya ku ji GitHub / GitLab Repoya Giştî (.env, Koda Çavkaniyê, an Dîroka git) re hatî peywirdar kirin"] --> B["DUYEMÎN 0 HETA 30: Pêşî git rm NEMEZIN. Konsola Pêşkêşkara Cloud/API-ê vekin û Bişkojka Yekser Vekin"]
B --> C{"Kîjan celeb pêbaweriya zindî hate eşkere kirin?"}
C -->|"1. Mifteya Têketinê ya AWS (AKIA... / ASIA...)"| D["1. Bişkojka di IAM-ê de neçalak bike/Jêbibe 2. Siyaseta 'Hemûyan Înkara' ya Inline bi Bikarhêner ve girêbide (Tokenên STS yên Minted Dikuje) 3. Kontrolkirina CloudTrail ji bo Bikarhênerên IAM-ê yên Backdoor"]
C -->|"2. Stripe Live Secret Key (sk_live_... / rk_live_...)"| E["1. Bişkojka Bi Dorpêdan = 'Di cih de' 2. /v1/vegerandin, /v1/ veguheztin û xalên dawî yên Webhook kontrol bikin 3. Ragihandina PII-ya Xerîdar binirxînin"]
C -->|"3. OpenAI (sk-proj-...), Antropîk (sk-ant-...), an Key Gemini"| F["1. Di Konsola Pêşdebirê de Kilîta Rabe 2. Bi Demkî Sermaseya Billê ya Zehmetî ya Rêxistinê Jê Bike 0 $ 3. Ji bo Derxistina Tokenê Têketinên Bikaranînê kontrol bikin"]
C -->|"4. Database URI (postgres://, mongodb+srv://) an URL Redis"| G["1. Tavilê şîfreya DB-ê bizivirînin 2. Pg_terminate_backend() / KILL bimeşînin da ku Têkiliyên Çalak bavêjin 3. Koma Ewlekariyê tenê li IP-yên VPC-ê kilît bikin"]
D --> H["Sweep Compute Multi-Region Bike (Li Hemî 30+ Herêmên Rogue EC2/EKS/SageMaker/Lambda biqedîne)"]
E --> I["Dîroka Git bi navgîniya 'git filter-repo' paqij bikin + Nêrînên GitHub Cached Commit SHA Paqij bikin"]
F --> I
G --> I
H --> J{"Ma botên otomatîk 1,000 $ heya 100,000 $+ fatûreya ewr berhev kirin?"}
J -->|"YES"| K["Doza Piştgiriya Billê ya AWS/GCP vekin -> Kontrola Ewlekariyê ya Pişt-Rêvekirinê bişînin + Daxwaza Xepêdana Dadwerî ya Yek-Care / Lêborîna Billê Leak"]
J -->|"NO"| I
Beş 1: Pêşkêşkar-ji-Pêşkêşkar Kill-Switch & Matrix Forensics (First 5 Minutes)¶
Vê tabloya referansê bikar bînin da ku bişkoja betalkirinê ya rastîn, tevgera Veşartina Veşartî ya GitHub-ê ya otomatîkî, û vektora domdariya veşartî ya ji bo pêbaweriya weya derçûyî bibînin.
| Tîpa pêbaweriyê & Nimûneya Pêşgir | Ma GitHub Veşartina Veşartî Xweber Vedixe? | Pêvajoya Kill-Switch 30-Duyemîn ya Yekser | Vektora Berdewamiya Êrîşkerê Veşartî ji bo Kontrolkirin (Critical.) |
Cihê ku meriv Bangên API-ya Nerasterast Kontrol bike |
|---|---|---|---|---|
1. Xizmetên Web Amazon (AKIA... IAM Key / ASIA... STS Token) |
** Veguhastina Xweser tune: ** GitHub AWS agahdar dike, ku bixweberek ** Doza Piştgiriya AWS vedike (Compromised Key Quarantine)** û pêve dike AWSCompromisedKeyQuarantineV2, gelek caran 3 to 15 minutes piştî botan berê êrîş kirin. |
1. IAM -> Users -> [User] -> Security credentials -> Deactivate & Delete2. Siyaseta Navxweyî lê zêde bike: Effect: Deny, Action: "*", Resource: "*" (kills active STS tokens). |
1. Demkî STS nîşanek (ASIA...)2. ** Bikarhênerên IAM-ê yên nû hatine afirandin / Bişkojkên gihîştinê 3. ** Piştgir ** Rolên IAM ** bi derve Principal polîtîkayên bawerî4.** EC2 ** Şablonên / Komên Pîvankirina Otomatîka Destpêkirinê** ku mînerên dawîn ji nû ve vedibêjin. |
**AWS CloudTrail -> Dîroka bûyerê ** (Filter by User name = compromised IAM user an Event source = sts.amazonaws.com / iam.amazonaws.com). |
2. Stripe Live Secret / Bişkojka Sînorkirî (sk_live_... / rk_live_...) |
**ERÊ (Gelek caran): ** Stripe bi Scanning Secret GitHub re hevkariyê dike ku bixweber bike sk_live_ bişkokên li ser hatine dîtin main, LÊ bişkokên ku di hundurê rêzikên base64, Gist, an pelên ne-standard de veşartiye dikarin ji paşvekêşana otomatîkî derbas bibin. |
1.* Biçe dashboard.stripe.com/apikeys2.* Bikirtînin ... -> Bişkojka Roll 3.* Hilbijêre Block old key immediately (Now) (never select a 12h/24h grace period.). |
Xalên Dawî yên Webhook-ê yên Xerîb: Êrîşkar derbeya we bikar tînin sk_live_ key to bang POST /v1/webhook_endpoints, URL-ya servera xwe tomar dikin da ku piştî ku hûn bişkojka API-ê bixin jî, kopiyên hemî danûstendina xerîdarên pêşerojê û bûyerên qerta bêdeng bistînin. |
** Stripe Dashboard -> Pêşdebir -> Têketin ** (filter by IP address and HTTP method POST/DELETE) + ** Pêşdebir -> Webhooks ** (delete any unrecognized URLs). |
3. Hesabê Xizmeta Ewrê Google JSON ("private_key_id", AIza... Bişkojka API) |
Qismî: GCP xwediyê projeyê hişyar dike (and optionally disables keys if Organization Policy is enabled), lê pir caran dema ku hişyariyek e-nameyê dişîne mifteyê çalak dihêle. |
1. GCP Console -> IAM & Admin -> Service Accounts2. Bikirtînin Hesabê Xizmetê -> Bişkojk tabloyê -> ** Jêbikin** Nasnameya Mifteya ku derketiye jêbirin. 3. Tevahiya Hesabê Xizmetê bi demkî neçalak bike. |
1. ** Bişkojkên Hesabê Xizmetê yên Nû** ku ji hêla mifteya leakkirî ve hatî çêkirin 2. ** Nimûneyên GPU Engine Compute ** ( A100/H100/T4) li herêmên biyanî zivirî** 3. ** Guhertin ** Projeya IAM Polîtîka Binding ( roles/owner an roles/editor)**. |
** Têketinên Kontrolkirina Ewrê GCP (Logs Explorer)** bi karanîna pirsê:protoPayload.authenticationInfo.principalEmail="<service-account-email>" |
4. OpenAI (sk-proj-...), Antropîk (sk-ant-...), & HuggingFace (hf_...) |
OpenAI / Anthropic: Bi GitHub re hevkariyê bikin da ku bixweber guheztinên teksta vekirî yên standard (usually within 30 to 120 seconds), dema ku bot hîn jî dikarin bi hezaran paralel bişewitînin gpt-4o / claude-3-5-sonnet daxwazên. |
1. Mifteyê jêbirin platform.openai.com/api-keys an console.anthropic.com/settings/keys2. Jêrîn Sînora Xerca Mehane ( Hard Cap) di mîhengên Billing de ji bo rawestandina herikên paralel ên di firînê de. |
** Bişkojkên Rêvebirê Rêxistinê (sk-admin-...):** Ger mifteyek API-ya OpenAI Admin derbikeve, bot dikare bi bernameyî bang bike POST /v1/organization/admin_api_keys berî ku hûn ya yekem betal bikin ** bişkokên API-ê yên projeya nû-nû bixin. Hemî mifteyên Rêxistinê kontrol bikin. |
**OpenAI / Tabloya Bikaranîna Antropîk ** (check activity by API key and model tier). |
5. Tokena Gihîştina Kesane ya GitHub (ghp_... / github_pat_...) an NPM Token (npm_...) |
ERÊ (Instant): GitHub bixweber her yekê betal dike ghp_ an github_pat_ nîşana perçe-duyemîn ew ber bi depoyek giştî ya GitHub ve tê avêtin. |
Ger li mêvandarek ne-GitHub were xistin (GitLab, Bitbucket, Pastebin, or Slack), bi destan betal bike li github.com/settings/tokens (or npmjs.com -> Access Tokens). |
** Derziya Malware ya Zincîra Pêşkêşkirinê: ** Êrîşkarek bi we re ghp_ an npm_ token dê tavilê peywirdariyek paşverû ya xirab biavêje depoyên weyên taybet, xapînokek xapînok lê zêde bike ** Karûbara Karên Karên Key / GitHub (pull_request_target)**, an guhertoyek trojanîzekirî ya pakêta xweya NPM-ê biweşînin. |
** Mîhengên GitHub -> Têketina Ewlekariyê ** (audit repo.create, hook.create, org.add_member, and oauth_authorization). |
Beş 2: Diveya Kûr: Meriv Çawa Êrîşkerek Ji Hesabê xweya AWS derxe (The 4-Step Cloud Eviction Protocol)¶
Ji ber ku derketiye AWS pêbawerî radiusa teqîna darayî ya herî bilind digire (up to $50,000+ per day in EC2/SageMaker/Bedrock bills), divê hûn her çar gavên jêrîn gava ku yek pêk bînin AKIA... an ASIA... kilît li depoyek giştî dixe:
+-----------------------------------------------------------------------------+
| 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 | |
| +-----------------------------------------------------------------------+ |
+-----------------------------------------------------------------------------+
Gav 1: Herdu Statîk bikujin AKIA Key Û Hemû Minted ASIA Nîşaneyên Rûniştinê¶
Jêbirina AKIA mifteya di Konsola AWS de **ne ** demî betal nake STS pêbaweriyên berê ji hêla sts:GetSessionToken. Ji bo ku her tiştî tavilê bi AWS CLI bikujin (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": "*"
}]
}'
Gav 2: Li CloudTrail Bikarhêner, Rol û Bişkojkên Gihîştinê yên IAM-ê paşde bigerin¶
Van emrên AWS CLI bişopînin da ku kontrol bikin ka botê bikarhênerek IAM-a paşverû ya veşartî çêkiriye an mifteyek gihîştina duyemîn bi yek ji hesabên karmendê weya heyî ve girêdaye di pencereyê de:
# 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
CreateUser, CreateAccessKey, CreateLoginProfile (gives the bot an AWS Console password), AttachUserPolicy, CreateRole, UpdateAssumeRolePolicy, û ImportKeyPair. Her bikarhênerek bêdestûr, rol, û cotek mifteyê tavilê jêbirin.
Gav 3: Hemî bişon 30+ Herêmên AWS ji bo Mînakên Rogue EC2, Komên Scaling Auto, û Karên Bedrock / SageMaker¶
Çima mexdûr hê jî distînin a $12,000 fatûreya di dawiya mehê de piştî ku wan "daştboarda EC2 kontrol kir û zero bûyer dîtin"? Ji ber ku AWS Console tenê ** yek herêmek di demekê de nîşan dide ** (e.g., us-east-1), dema ku bot dizivire 20 mînakên di ap-south-1 (Mumbai), eu-north-1 (Stockholm), û sa-east-1 (Sao Paulo), û wan di hundurê ** EC2 Komên Pîvankirina Xweser (ASGs)** ji ber vê yekê heke hûn mînaka EC2 bi destan biqedînin, Koma Scaling Auto veguhezek dest pê dike 30 seconds paşê.
Vê pir-herêmê bash-yek-hêlê bixebitîne da ku navnîş bike hemû mînakên EC2-ê yên xebitandin an li bendê li her devera AWS-ya çalak ** li 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
EC2 -> Auto Scaling Groups (and EC2 Spot Fleet Requests / ECS Clusters / EKS Node Groups / SageMaker Notebook & Training Jobs) li her herêmek bandorkirî û ** Grûba Pîvankirina Xweser / Daxwaza Cihê PÊŞÎ jêbirin, dûv re mînakan biqedînin.
- ** AWS Bedrock kontrol bikin (Model Invocation Logging) û Amazon SES: ** Botên berhevkirina pêbaweriya nûjen naha tavilê AWS Bedrock (Claude 3.5 Sonnet / Llama 3) pêbaweriyên xweyên AWS yên dizî bikar tînin da ku nîşaneyên LLM ji nû ve bifroşin (which does not show up under EC2 at all). Check AWS Cost Explorer (Group by: Service û Group by: Region) ji bo dîtina her çîpek karûbarê ne normal.
Beş 3: Rakirina Veşartî Ji Dîroka Git (git-filter-repo) & Paqijkirina Cache Veşartî ya GitHub¶
Gava ku pêbawerî di asta pêşkêşker de mirî ye, divê hûn rêzika veşartî ji depoya xwe derxînin .git dîrokê bipejirînin da ku ne hevkar û ne jî şopdarên pêşerojê nikaribin wê bibînin (and so GitHub's Push Protection stops blocking your branches).
1. Çima git rm .env + git commit Veşartî ji Git dernakeve¶
Running git rm .env && git commit -m "remove env" tenê pelê ji komîteya herî dawî (HEAD); raza nivîsa zelal di hundurê danûstendina dêûbav de bi domdarî tê xwendin (the parent commit) ji her kesê ku li ser GitHub "Pêşkêşan" bikirtîne.
2. Dîroka Depoyê Bi Paqij Bikaranîna Ji Nûve Binivîsin git-filter-repo¶
- ** Ger tenê kirina herî dawî (
HEAD) sirê dihewand (and nobody else has pulled it yet):** - Heke sir di dîroka we de çendîn kiryaran veşartiye (
or inside a code file you want to keep): Bikaranîngit-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. Xefika Veşartî ya GitHub (Dangling Commit SHAs)¶
Piştî ku hûn direvin jî git filter-repo û git push --force, Pêşkêşkerên webê yên GitHub hîn jî SHA-ya kevn, neçapkirî ("dangdar") zindî dihêlin û ji raya giştî re tê gihîştin. https://github.com/<owner>/<repo>/commit/<old-40-char-sha> (and in any forks or Pull Requests) heta komkirina çopê biçe.
- ** Meriv çawa Tavilê li ser GitHub Commit SHA-ya Cached Paqij dike:**
1. Bi tevahî kopî bikin 40-character Berî ku hûn dîrokê ji nû ve binivîsin, SHA-ya kiryara derketî bikin.
2. Vekir https://support.github.com/contact -> bipirsin "Daneyên hesas rakin / Ji bo pêkanîna SHA ya negihîştî dîtinên cache paqij bikin" di depoyê de owner/repo û SHA ya rastîn peyda bikin (or use the GitHub Support portal's automated cache-purge workflow).
Beş 4: Meriv çawa a $5,000 to $100,000+ AWS an GCP Bot Bill Rakir (The Courtesy Forgiveness Appeal)¶
Çi eger hûn an dehfdan .env dosya roja înê piştî nîvro, heta sibeha duşemê e-nameya xwe kontrol nekir, û bi a $28,400.00 AWS an fatûreya Google Cloud ji botên krîpto-mîner an LLM-proxy?
Xeber nebin, û qerta xweya krediyê betal nekin an jî berdêla berdêla bankê bidin. ** Herdu ** Karûbarên Web Amazon (AWS) û Platforma Ewrê Google (GCP) ji bo pêşdebirên takekesî, xwendekar û destpêkeran xwedan navxweyek damezrandî ye ** Veguhastina Bilêvkirina Qezaya Qezaya Yekcarî / Siyaseta Krediyê ** ji bo pêşdebirên kesane, xwendekar û destpêk, ** bi şertê ku hûn temam bikin. 100% navnîşa kontrolkirina sererastkirina ewlehiyê ya mecbûrî berî tîmê wana Billing Review îtiraza we dinirxîne.
Protokola Destûrdana Billê ya 5-Gavê AWS / GCP (90%+ Success Rate for First-Time Leaks)¶
- ** Pêşî Her Pêngava Çareserkirina Ewlekariyê temam bikin (
AWS Will Reject Your Waiver Until the Account Is Clean):**- Mifteya Têketinê ya IAM-ê ya têkçûyî jêbirin (
and the IAM User if possible). - Her mînakek EC2 ya nedestûr, Koma Pîvankirina Xweser, volta EBS, IP-ya Elastîk, mînaka RDS, û kelek S3 li hemû herêman (
verify via AWS Cost Explorer and AWS Billing -> Bills -> Charges by Region that daily accrual has dropped back to $0.00). - Hardware an Authenticator App MFA çalak bike (
Multi-Factor Authentication) li ser Hesabê Root AWS û her bikarhênerek IAM.
- Mifteya Têketinê ya IAM-ê ya têkçûyî jêbirin (
- ** Li binê Doza Piştgiriyê vekin
"Account and Billing"(Free for All AWS/GCP Tiers, No Paid Support Plan Required):**- Biçe
console.aws.amazon.com/support/home-> Meselê biafirîne -> Hesab û fatûreya -> Xizmet: Berçûn -> Kategorî: Berguzariyek / Hesabek lihevhatî nakok bike.
- Biçe
- ** Vê Serpêhatiya Rastî û Kurteya Zehmetiyê Bişînin:**
- ** Demjimêr & Sedem qebûl bikin: ** Kengî kilît bi xeletî li ser GitHub hate xuyang kirin, bi eşkere diyar bikin (
e.g., "October 30 at 22:14 UTC") û dema ku hate betal kirin ("October 31 at 09:05 UTC"). - ** Ji hêla Herêm û Xizmetê ve Berdêlên Bê Destûr binav bikin:** Navnîşana dravê rastîn a çalakiya botê ya xapînok li hember fatûreya mehane ya xweya dîrokî ya normal (
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"). - ** 100% Remediate piştrast bikin: ** Pêngavên tam ên ku we berê qedandine (
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 hurmetî Daxwaza Serastkirina Billê ya Yekcarî Daxwaz bikin:** Rave bikin ku hûn pêşdebirek ferdî / xwendekar / destpêkek qonaxa destpêkê ne, ku drav didin
$18,420fatûreya botê ya bêdestûr dê bibe sedema tengasiyek darayî ya giran, û ji bo karanîna xapînok **krediya fatûreya danûstendinê ya yek-carî / dev jê berdan ** bixwaze.
- ** Demjimêr & Sedem qebûl bikin: ** Kengî kilît bi xeletî li ser GitHub hate xuyang kirin, bi eşkere diyar bikin (
- ** Ger Bûyera Xweser Nêzîk be, Qerta Tezmînata Xweya Girêdayî biguhezînin an Bikin:**
- Dema ku doza weya Piştgiriya Billing AWS di binê çavan de ye (
which usually takes 5 to 15 business daysdema ku Tîmên Karûbarên Ewlekarî û Billing AWS piştrast dikin ku hemî çavkaniyên xapînok hatine qedandin), bi Piştgiriya AWS re têkilî bilêtê bidin û ji wan bipirsin ku ** girtina fatûreya demkî (defer auto-charge)** li ser fatûreya nakokî ji ber vê yekê dema ku verastkirina krediyê tê pêvajoy kirin ew hesabê weya bankê zêde nake.
- Dema ku doza weya Piştgiriya Billing AWS di binê çavan de ye (
Warning
** Çima divê hûn TU carî di Koda Aliyê Xerîdar de Bişkojkên Hardcode (NEXT_PUBLIC_, VITE_, REACT_APP_, Serlêdanên Mobîl, an Pêvekên Chrome-ê).** Her çend depoya weya GitHub hebe 100% ** Taybet **, danîna mifteyek API-ya veşartî (like an OpenAI, Stripe secret, or AWS key) di hundurê guhêrbarek jîngehê ya pêşîn de ku bi pêşgira NEXT_PUBLIC_, VITE_, an REACT_APP_ wê mifteya teksta vekirî rasterast di JavaScript-a gelemperî de berhev dike .js pelên ji geroka webê ya her mêvanan re têne xizmet kirin (where bots scrape it directly from your live production website in seconds). Tenê bişkojkên giştî/çapkirî (like Stripe pk_live_... an veavakirina muwekîlê Firebase ku ji hêla HTTP Referrer / Ewlekariya Asta Rêz ve hatî sînordar kirin) dibe ku tu carî koda pêşiyê bi dest bixe.
Tip
** Saz kirin gitleaks an trufflehog di 60 Çirkeyan de wekî Hookek Pêş-Pêşkêşiya Herêmî (So git Refuses to Commit a Secret Ever Again).** Ji bo ku ji aliyê fizîkî ve ne mimkun be ku bi xeletî an .env pel an mifteya API-ê dîsa li ser laptopa xwe saz bikin gitleaks (brew install gitleaks) û a lê zêde bike .pre-commit-config.yaml çeng (or turn on GitHub's free **"Push Protection for yourself"** at **github.com/settings/security_analysis**). Digel ku Parastina Push-ê çalak e, serverên GitHub we teftîş dikin git push di veguheztinê de û ** berî ku ew bikeve ser depoyê, pêlê red bikin** gava ku qalibek kilîtê ya naskirî tê dîtin.
(Ji bo bûyerên ewlehiyê yên pêşdebir û xebata dûr, binêre Daxistina databasa hilberîna qezayê, zora git-push, rijandina veşartî, û ceribandina bûyerê, Databasa hilberînê daket an jî kepçeya S3 bêyî paşvekişandina dawî hate jêbirin, Bi tesadufî mûçeya nepenî, PII-ya xerîdar, an pelgeya HIPAA-ê bi e-nameyê şandin, û Ewlekariya xebata dûr a lezgîn û nepeniya daneyê.)
Binpêkirina daneya herêmî û rayedarên raporkirina ewlehiya ewr¶
| Herêm / Welat | Qanûna Daxuyaniya Destdirêjiya Ewr û Binpêkirina Daneyê | Fermî Bûyera Cyber & Desthilatdar | Dema ku Klaveyek GitHub-ê Leaked Raporkirina Rêkûpêk a Mecbûrî hewce dike |
|---|---|---|---|
| ** Dewletên Yekbûyî ** | ** Rêbaza Parastina FTC (16 CFR Part 314) , ** Rêbaza Ewlehiya Sîberê ya SEC (Form 8-K Item 1.05), HIPAA, & **50 Qanûnên Agahdariya Binpêkirina Daneyên Dewletê ** |
CISA (cisa.gov/report / 1-844-SAY-CISA), FBI IC3 (ic3.gov), HHS OCR, & ** Serdozgerên Giştî** |
Ger têketinên CloudTrail an Stripe destnîşan dikin ku IP-ya derveyî mifteya weya derçûyî bikar aniye GetObject an xerîdarê neşîfrekirî derxînin PII, hejmarên Ewlekariya Civakî, an tomarên dravdanê (rather than purely mining crypto on empty EC2 instances), qanûnên hişyariya binpêkirina dewletê derbas dibin. |
** Yekîtiya Ewropî (EEA)** |
GDPR (Articles 33 & 34) & Rêbernameya NIS2 (Directive (EU) 2022/2555) |
** Desthilata Parastina Daneyên Neteweyî (CNIL, BfDI, DPC)** & CSIRT Neteweyî (ENISA) |
** hişk 72-Hour Saet (GDPR Art. 33):** Ger pêbaweriya derketî gihandina daneyên kesane yên Yekîtiya Ewropî xwendibû û hûn nekarin bi dadwerî ketina bêdestûr di Têketinên CloudTrail/VPC Flow de derxin, desthilatdariya xwe ya çavdêriyê di hundurê de agahdar bikin. 72 hours. |
| ** Keyaniya Yekbûyî ** | ** UK GDPR & Qanûna Parastina Daneyên 2018 ** | ** Ofîsa Komîseriya Agahdariyê (ICO: 0303 123 1113)** & NCSC (ncsc.gov.uk) |
Gihîştina daneyên kesane yên bêdestûr ji UK ICO-ya hundurîn re rapor bikin 72 hours bikaranîna portalê nirxandina binpêkirina serhêl a ICO; rotasyona xweya sereke û gavên karantînayê yên IAM-ê belge bikin. |
| **Kanada, Avusturalya û Zelanda Nû ** | ** Kanada PIPEDAAustralya Privacy Act 1988 (NDB Scheme)Zelanda Nû Privacy Act 2020** |
OPC (Canada), OAIC & ACSC (Australia: 1300 CYBER1), & OPC (New Zealand) |
Heke raporkirina pêbaweriyê metirsiyek rastîn a zirarek girîng çêbike (RROSH li Kanada) an binpêkirina daneya mafdar (Australia OAIC) bi agahdariya kesane ve girêdayî ye. |
Pirsên ku pir caran têne pirsîn¶
Ger min fêhm kir ku min an dehf kir .env pelê li depoyek GitHub ya giştî bike û 2 hûrdem şûnda depoyê taybet kir, ma ez hîn jî hewce dikim ku mifteyên xwe bizivirim?¶
Erê, ji sedî 100 kilîtên di wê pelê de divê bêne hesibandin û tavilê werin rakirin. Botên berhevkirina pêbaweriya otomatîkî li bendê ne ku Google depoya we navnîş bike; ew rasterast beşdarî raya giştî ya GitHub-ê ya rast-demê dibin `Events API` firehose (`and GH Archive`), ku her gel belav dike `PushEvent` gerdûnî di nav 1 heta 3 çirkeyên we de `git push`. Wexta ku we du hûrdeman klîk kir "Settings -> Guhertina Dîtina depoyê -> Taybetmendiyê Bikin" bikirtînin, bi dehan botên scraper-ê yên otomatîk berê cûdahiya kirina we daxistin û pêbaweriyên AWS, Stripe, OpenAI, û databasa we ji bo îstîsmarê danîne rêzê.
Çima piştî ku min venebû jêbirin, bot di hesabê min AWS de mînakên EC2 didin destpêkirin AKIA mifteya gihîştinê?¶
Jêbirina statîkek `AKIA...` mifteya gihîştinê di AWS IAM de tenê wê mifteya daîmî ya taybetî neçalak dike; ew demkî betal nake `ASIA...` Xizmeta Token Ewlekariyê (`STS`) Nîşaneyên danişînê yên ku êrîşkar berê bi kar anîne `sts:GetSessionToken` an `sts:AssumeRole` di çend saniyeyên ewil de piştî qutkirina mifteya xwe (`which remain valid for up to 12 to 36 hours`). Wekî din, skrîptên êrişa AWS-ya otomatîk bi rêkûpêk bang dikin `iam:CreateUser` û `iam:CreateAccessKey` di saniyeya yekem a gihîştina wan de ku hesabek rêveberê paşîn a duyemîn, veşartî saz bikin. Ji bo ku destwerdanek AWS ya çalak bi tevahî rawestîne, divê hûn jêbirin `AKIA` kilît, pêvekirinek eşkere `Deny *` Siyaseta hundurîn ji bikarhênerê IAM-ê re têkildar (`which immediately invalidates all minted STS tokens`), û CloudTrail ji bo her bikarhêner an rolên ku nû hatine afirandin IAM-ê kontrol bikin.
Ma AWS an Google Cloud dê girseyek bibaxşîne $10,000+ bill eger hackeran mifteya API-ya min ji GitHub dizîn û krîptoyê derxistin?¶
Di pirraniya lehiyên qezayê yên cara yekem de, erê, bi şertê ku hûn zû tevbigerin, bi tîmê ewlehiya wan re bi tevahî hevkariyê bikin, û fatûreyê paşguh nekin. Hem AWS û hem jî Google Cloud ji bo pêşdebiran û karsaziyên piçûk ên ku ji hêla pêlên pêbawer-leaksaziyê yên nedestûr ve hatine lêdan polîtîkayek sererastkirina fatûreya nezaketê ya yek-carî ya hundurîn heye. Berî ku hûn di bin piştgirîya "Hesab û Billing" de daxwaza betalkirina fatûreyê bikin, divê hûn pêşî îspat bikin ku derçûn ji sedî 100 girtî ye: Bişkojkên IAM-ê yên eşkerekirî betal bikin, hemî mînakên hesabkirinê yên nebaş û Komên Pîvankirina Xweser li hemî 30+ herêmên gerdûnî biqedînin, Nasnameya Pir-Faktorî çalak bikin (`MFA`) li ser hesabê xweya root, û hişyariyên lêçûnên AWS Budgets saz bikin.
Çima dike git rm .env mifteya min a veşartî ji GitHub dernakeve?¶
Git pirtûkek guhertoya-kontrola neguhêrbar e: gava ku hûn direvin `git rm .env` û komîteyek nû bişopîne, Git tenê tomar dike ku pel di wêneya herî nû de tune ye (`HEAD`), di heman demê de ku naveroka tam nivîsa sade diparêze `.env` bi domdarî di hundurê komîteya berê de hatî hilanîn (`the parent commit`) di dîroka commit depoya we de. Ger hûn dîroka xwe ji nû ve binivîsin jî `git filter-repo` û bi zorê bikişîne, her kes dîsa jî dikare razê bixwîne ger we ew li konsolê pêşkêşker betal nekiribe. Pêşî mifteya nepenî ya di dashboarda pêşkêşkarê ewrê xwe de her gav paşde bavêjin û bizivirînin, û dûv re bikar bînin `git filter-repo` da ku xêza mirî ji dîroka xwe ya peywirdar paqij bikin.
rêberên Related¶
- Daxistina databasa hilberîna qezayê, zora git-push, rijandina veşartî, û ceribandina bûyerê
- Databasa hilberînê daket an jî kepçeya S3 bêyî paşvekişandina dawî hate jêbirin
- Bi xeletî mûçeya nepenî, PII-ya xerîdar, an pelgeya HIPAA ji wergirê xelet re şandin.
- Parvekirina rasthatî ya pelgeya meaşê nepenî, rêveberê şîfreyê, an navnîşa betalkirinê li ser Zoom / Tîm
- Ewlekariya xebata dûr a lezgîn û nepeniya daneyê
- Hejmarên acîl
Çavkanî û rêbernameya fermî¶
- ** Karûbarên Web Amazon (
AWS Security Incident Response Guide & AWS Knowledge Center: "What should I do if I notice unauthorized activity or exposed IAM access keys?"):***AWSCompromisedKeyQuarantineV2Siyaseta Behavior, Betalkirina DemkîSTSNîşaneyên Rûniştinê (RevokeOldSessions), û Kontrolkirina Çavkaniya Pir-Herêm *. - ** Belgekirina GitHub (
GitHub Secret Scanning, Push Protection, & "Removing sensitive data from a repository" using git-filter-repo):** *Bernameya Vegerandina Xweser a Hevkar (Stripe, AWS, OpenAI, NPM),git-filter-repoJi nû ve nivîsandina Dîrokê, û Paqijkirina SHAyên Cached Commit *. - ** Stripe Inc.
Stripe Developer Security Guide: API Key Rotation & Compromised Key Incident Triage):** *Di cih desk_live_Kêmbûna Key, Kontrolkirin/v1/eventsû/v1/webhook_endpoints, û Bişkojkên Sînordar bi rêyark_live_Scopes *. - NIST (
Special Publication 800-61 Rev. 2 / Rev. 3: Computer Security Incident Handling Guide) & OWASP (Secrets Management Cheat Sheet): *Qedexekirina pêbaweriyê, Federasyona Nasnameya Karê Xebatê ya Efemeral (replacing static CI/CD keys), û Pêşniyarkirina Veşartî *.