Skip to content

API Key, AWS Secret, ຫຼື Stripe Live Token ມຸ່ງຫມັ້ນໃຫ້ກັບ GitHub Repo ສາທາລະນະ: ການຂູດ Bot ອັດຕະໂນມັດໃນ 60 ວິນາທີ, ການຫມຸນລະຫັດທັນທີ, ແລະ Billing Kill-Switch

ທັນທີທີ່ທ່ານແລ່ນ git push ໄປຫາບ່ອນເກັບມ້ຽນ GitHub, GitLab, ຫຼື Bitbucket ສາທາລະນະ (or temporarily flip a private repository to "Public" for even 10 seconds) ໃນ​ຂະ​ນະ​ທີ່​ໄຟລ​໌​, .env ການຕັ້ງຄ່າ, ປື້ມບັນທຶກ Jupyter (.ipynb), ຫຼືເກົ່າກວ່າ Git commit history ມີກະແຈລັບສົດ (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), ເຄືອຂ່າຍທົ່ວໂລກຂອງ bots ການເກັບກ່ຽວຂໍ້ມູນຮັບຮອງອັດຕະໂນມັດຈະຂັດຂວາງຄວາມລັບນັ້ນພາຍໃນ 2 ຫາ 60 ວິນາທີ. ເນື່ອງຈາກວ່າ GitHub ສາທາລະນະ Events API, GH Archive, ແລະ firehoses webhook ໃນເວລາຈິງ stream ທຸກສາທາລະນະ PushEvent ໃນທົ່ວໂລກ, scraper bots ທີ່ເປັນອັນຕະລາຍຈະວິເຄາະຄວາມແຕກຕ່າງຂອງທ່ານດ້ວຍການສະແດງອອກເປັນປົກກະຕິແລະເລີ່ມຕົ້ນປະຕິບັດຄໍາສັ່ງຟັງອັດຕະໂນມັດກ່ອນທີ່ທ່ານຈະສາມາດພິມໄດ້. git revert.

ພາຍ​ໃນ 90 seconds ຂອງ​ AWS ຫຼື GCP ການຕີຄວາມລັບຂອງ repo ສາທາລະນະ, botnets ອັດຕະໂນມັດ spin up ຂະຫນາດສູງສຸດຂອງ GPU / CPU instances (such as p4d.24xlarge or c6i.32xlarge ໃນທົ່ວພາກພື້ນທີ່ບໍ່ຊັດເຈນເຊັ່ນ ap-east-1 ຮົງ​ກົງ, me-south-1 ບາເຣນ, ຫຼື sa-east-1 Sao Paulo) ເພື່ອຂຸດຄົ້ນບໍ່ແຮ່ Monero (XMR), ຂໍ AWS Simple Email Service (SES) ໂຄຕ້າເພີ່ມຂຶ້ນເພື່ອລະເບີດ spam phishing, ຫຼື clone ສ່ວນຕົວຂອງທ່ານ S3 ຄຸ ແລະ RDS ຖານ​ຂໍ້​ມູນ​, ການ​ຜະ​ລິດ **$5,000 to $80,000+ ໃນ​ໃບ​ບິນ​ຄ່າ​ຄອມ​ພິວ​ເຕີ​ໃນ​ຕອນ​ກາງ​ຄືນ **​. ເຊັ່ນດຽວກັນ, ມີການຮົ່ວໄຫຼ OpenAI ຫຼື Anthropic ລະຫັດ API ທັນທີຖືກມັດເຂົ້າໄປໃນຕະຫຼາດ LLM "reverse-proxy" ໃຕ້ດິນເຊິ່ງເຮັດໃຫ້ສິນເຊື່ອ token ຫຼາຍພັນໂດລາຕໍ່ນາທີ, ໃນຂະນະທີ່ມີການຮົ່ວໄຫຼ. Stripe ກະແຈລັບສົດ (sk_live_...) ໃຫ້ຜູ້ໂຈມຕີເຂົ້າເຖິງການອ່ານ/ຂຽນໂປຣແກຣມເຕັມຮູບແບບເພື່ອອອກເງິນຄືນທີ່ຫຼອກລວງ, ສົ່ງອອກລູກຄ້າ PII, ຫຼືກະຕຸ້ນການຈ່າຍ Connect ທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດ. ຖ້າຜູ້ໂຈມຕີກໍາລັງດຶງເອົາອົງກອນຂອງເຈົ້າອອກຢ່າງຈິງຈັງ ຫຼັງຈາກການຂຸດຄົ້ນຖານຂໍ້ມູນລູກຄ້າດ້ວຍກະແຈທີ່ຮົ່ວໄຫຼຂອງເຈົ້າ, ໃຫ້ປຶກສາການບັງຄັບໃຊ້ກົດໝາຍທ້ອງຖິ່ນຂອງເຈົ້າ ແລະສາຍດ່ວນເຫດການທາງອິນເຕີເນັດຜ່ານທາງພວກເຮົາ. ຕົວເລກສຸກເສີນ ໄດເລກະທໍລີທັນທີ, ແລະທົບທວນຄືນຄູ່ມືທີ່ກ່ຽວຂ້ອງຂອງພວກເຮົາກ່ຽວກັບ ການຫຼຸດລົງຖານຂໍ້ມູນການຜະລິດໂດຍບັງເອີນ, git force-push, ແລະ triage ຮົ່ວລັບ, ຖານຂໍ້ມູນການຜະລິດຫຼຸດລົງຫຼື S3 bucket ຖືກລົບໂດຍບໍ່ມີການສໍາຮອງຂໍ້ມູນທີ່ຜ່ານມາ, ແລະ ຄວາມປອດໄພບ່ອນເຮັດວຽກທາງໄກສຸກເສີນ ແລະຄວາມເປັນສ່ວນຕົວຂອງຂໍ້ມູນ.

ເຮັດອັນນີ້ດຽວນີ້

  1. ** ຢ່າເສຍເວລາແລ່ນ 60 ວິນາທີທຳອິດຂອງເຈົ້າ git rm .env ຫຼື git push --force: ໄປ​ຫາ CONSOLE ຜູ້​ໃຫ້​ບໍ​ລິ​ການ​ໂດຍ​ກົງ (AWS IAM, Stripe, OpenAI, GCP) ແລະຖອນຄືນ / ຍົກເລີກກະແຈໃນ < 30 SECONDS.** ການລຶບໄຟລ໌ໃນ Git commit ໃໝ່ (or even making the GitHub repository Private) ບໍ່ ** ບໍ່ມີຫຍັງ ** ເພື່ອຢຸດ bots ທີ່ຂູດລະຫັດຂອງເຈົ້າຈາກ GitHub Events firehose 10 ວິນາທີກ່ອນ. ກຸນແຈຂອງມັນເອງຕ້ອງຖືກຂ້າຢູ່ແຫຼ່ງກ່ອນ.
  2. ** ຖ້າ​ຫາກ​ວ່າ​ AWS ກະແຈ (AKIA... ຫຼື ASIA...) ຮົ່ວ:** ເປີດ AWS IAM -> Users -> Security credentials ແລະ​ໃຫ້​ຄລິກ​ໃສ່ **Deactivate / Delete ** ກ່ຽວ​ກັບ​ລະ​ຫັດ​ການ​ເຂົ້າ​ເຖິງ​ທັນ​ທີ​ທັນ​ໃດ​, ຫຼັງ​ຈາກ​ນັ້ນ​ຄັດ​ຕິດ AWSCompromisedKeyQuarantineV2 (or a blanketປະຕິເສດ *inline policy) ໃຫ້ກັບຜູ້ໃຊ້ IAM ແລະເພີ່ມຜູ້ໃຊ້ RevokeOldSessions ນະໂຍບາຍທີ່ຈະຂ້າຊົ່ວຄາວ STS tokens ຜູ້​ໂຈມ​ຕີ​ໄດ້ minted ແລ້ວ (see the exact STS bypass trap below).
  3. ** ຖ້າ ກ Stripe Live Secret Key (sk_live_... ຫຼື rk_live_...) leaked:** Go to dashboard.stripe.com/apikeys, click ... -> Roll key, and set the expiration of the old key to "Now (Immediately)" (NOT "in 24 hours"). Immediately check Stripe Dashboard -> Logs ແລະ Balance -> Payouts / Refunds for unauthorized API calls.
  4. ** ຖ້າ​ຫາກ​ວ່າ​ OpenAI, Anthropic, Google Gemini, ຫຼື 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) AND contact 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 of scraping your static AKIA... AWS IAM access key from GitHub, sophisticated automated botnets do not just launch EC2 instances with your AKIA key; their very first API call is sts:GetSessionToken ຫຼື sts:AssumeRole, which mints a temporary ASIA... Security Token Service (STS) session token valid for up to 12 to 36 hours. Even after you delete the original AKIA... access key in the IAM console, any temporary ASIA... STS tokens minted before that moment remain 100% active and valid unless you also attach an explicit Deny All inline policy (with a Condition checking aws:TokenIssueTime < CurrentUTC) to the compromised IAM User and every Role it could assume.

Decision tree: 60-Second Emergency Response by Leaked Secret Type

Follow this incident containment flowchart to kill the compromised credential, sever attacker persistence, and reverse runaway cloud billing.

flowchart TD
    A["Live Secret Committed to Public GitHub / GitLab Repo (.env, Source Code, or git History)"] --> B["SECOND 0 TO 30: DO NOT Run git rm First. Open Cloud/API Provider Console & REVOKE Key Immediately"]
    B --> C{"Which type of live credential was exposed?"}
    C -->|"1. AWS Access Key (AKIA... / ASIA...)"| D["1. Deactivate/Delete Key in IAM 2. Attach Inline 'Deny All' Policy to User (Kills Minted STS Tokens) 3. Audit CloudTrail for Backdoor IAM Users"]
    C -->|"2. Stripe Live Secret Key (sk_live_... / rk_live_...)"| E["1. Roll Key with Expiration = 'Immediately' 2. Check /v1/refunds, /v1/transfers & Webhook Endpoints 3. Assess Customer PII Exposure"]
    C -->|"3. OpenAI (sk-proj-...), Anthropic (sk-ant-...), or 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 -->|"ແມ່ນແລ້ວ"| K["Open AWS/GCP Billing Support Case -> Submit Post-Remediation Security Audit + Request One-Time Courtesy Fraud/Leak Bill Forgiveness"]
    J -->|"ບໍ່"| 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, ເລື້ອຍໆ 3 to 15 minutes after bots have already attacked. 1. IAM -> Users -> [User] -> Security credentials -> Deactivate & Delete
2. Add Inline Policy: Effect: Deny, Action: "*", Resource: "*" (kills active STS tokens).
1. Temporary STS tokens (ASIA...)
2. Newly created IAM Users / Access Keys
3. Backdoor IAM Roles with external Principal trust policies
4. EC2 Launch Templates / Auto Scaling Groups that respawn terminated miners.
AWS CloudTrail -> Event history (Filter by User name = compromised IAM user ຫຼື Event source = sts.amazonaws.com / iam.amazonaws.com).
2. Stripe Live Secret / Restricted Key (sk_live_... / rk_live_...) YES (Often): Stripe partners with GitHub Secret Scanning to auto-roll 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 ຫຼື roles/editor).
GCP Cloud Audit Logs (Logs Explorer) ການ​ນໍາ​ໃຊ້​ແບບ​ສອບ​ຖາມ​:
protoPayload.authenticationInfo.principalEmail="<service-account-email>"
4. OpenAI (sk-proj-...), Anthropic (sk-ant-...), & HuggingFace (hf_...) OpenAI / Anthropic: ຮ່ວມ​ມື​ກັບ GitHub ເພື່ອ​ຖອນ​ຄືນ​ອັດ​ຕະ​ໂນ​ມັດ​ການ​ຊຸກ​ຍູ້​ຂໍ້​ຄວາມ​ທໍາ​ມະ​ດາ (usually within 30 to 120 seconds), ໃນໄລຍະທີ່ bots ຍັງສາມາດຍິງພັນຂະຫນານ gpt-4o / claude-3-5-sonnet ການຮ້ອງຂໍ. 1. ລົບຄີໃນ platform.openai.com/api-keys ຫຼື console.anthropic.com/settings/keys
2. ຫຼຸດ ** ຈຳກັດການໃຊ້ຈ່າຍລາຍເດືອນ (Hard Cap)** ໃນ​ການ​ຕັ້ງ​ຄ່າ​ໃບ​ບິນ​ເພື່ອ​ຢຸດ​ການ​ສະ​ຕ​ຣີມ​ຂະ​ຫນານ​ໃນ​ການ​ບິນ​.
** ກະ​ແຈ​ບໍ​ລິ​ຫານ​ອົງ​ການ​ຈັດ​ຕັ້ງ (sk-admin-...):** ຖ້າລະຫັດ OpenAI Admin API ຮົ່ວ, ບອທ໌ສາມາດໂທດ້ວຍໂປຣແກຣມໄດ້ POST /v1/organization/admin_api_keys ເພື່ອ mint ລະຫັດ API ໂຄງການຍີ່ຫໍ້ໃຫມ່ ກ່ອນທີ່ທ່ານຈະຖອນຄືນອັນທໍາອິດ. ກວດສອບຄີທັງໝົດໃນອົງການ. ** OpenAI / Anthropic Usage Dashboard ** (check activity by API key and model tier).
5. GitHub Personal Access Token (ghp_... / github_pat_...) ຫຼື NPM Token (npm_...) ແມ່ນ (Instant): GitHub ຖອນອັດຕະໂນມັດໃດໆ ghp_ ຫຼື github_pat_ token ການແບ່ງປັນວິນາທີມັນຖືກ pushed ໄປຫາບ່ອນເກັບມ້ຽນ GitHub ສາທາລະນະ. ຖ້າ pushed ກັບ host ທີ່ບໍ່ແມ່ນ GitHub (GitLab, Bitbucket, Pastebin, or Slack), ຖອດຖອນດ້ວຍຕົນເອງຢູ່ທີ່ github.com/settings/tokens (or npmjs.com -> Access Tokens). Supply-Chain Malware Injection: ຜູ້ໂຈມຕີກັບເຈົ້າ ghp_ ຫຼື npm_ token ທັນທີຈະຊຸກດັນໃຫ້ຄໍາຫມັ້ນສັນຍາ backdoor malicious ກັບ repos ສ່ວນຕົວຂອງທ່ານ, ເພີ່ມ rogue ** Deploy Key / GitHub Actions Workflow (pull_request_target)**, ຫຼືເຜີຍແຜ່ສະບັບ Trojanized ຂອງແພັກເກດ NPM ຂອງທ່ານ. ** ການ​ຕັ້ງ​ຄ່າ GitHub -​> ບັນ​ທຶກ​ຄວາມ​ປອດ​ໄພ ** (audit repo.create, hook.create, org.add_member, and oauth_authorization).

ສ່ວນທີ 2: Deep Dive: ວິທີການຂັບໄລ່ຜູ້ໂຈມຕີອອກຈາກບັນຊີ AWS ຂອງທ່ານ (The 4-Step Cloud Eviction Protocol)

ເນື່ອງຈາກວ່າຮົ່ວ AWS ຂໍ້ມູນປະຈຳຕົວມີລັດສະໝີລະເບີດທາງການເງິນສູງສຸດ (up to $50,000+ per day in EC2/SageMaker/Bedrock bills), ທ່ານຕ້ອງປະຕິບັດທັງສີ່ຂັ້ນຕອນຂ້າງລຸ່ມນີ້ທຸກຄັ້ງທີ່ AKIA... ຫຼື ASIA... ຄີ hits a public repository:

+-----------------------------------------------------------------------------+
|     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   |  |
|  +-----------------------------------------------------------------------+  |
+-----------------------------------------------------------------------------+

ຂັ້ນຕອນທີ 1: ຂ້າທັງສອງ Static ໄດ້ AKIA ຄີ AND ທັງຫມົດ minted ASIA Session Token

ການລຶບ AKIA ລະຫັດໃນ AWS Console ບໍ່ ** ບໍ່ ** ບໍ່ຖືກຕ້ອງຊົ່ວຄາວ STS ໃບຢັ້ງຢືນທີ່ອອກໃຫ້ແລ້ວໂດຍ sts:GetSessionToken. ເພື່ອຂ້າທຸກສິ່ງທຸກຢ່າງທັນທີໂດຍຜ່ານ 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": "*"
    }]
  }'

ຂັ້ນຕອນທີ 2: ລ່າສັດຜູ້ໃຊ້ Backdoor IAM, ບົດບາດ, ແລະກະແຈການເຂົ້າເຖິງໃນ CloudTrail

ດໍາເນີນການຄໍາສັ່ງ AWS CLI ເຫຼົ່ານີ້ເພື່ອກວດເບິ່ງວ່າ bot ສ້າງຜູ້ໃຊ້ IAM backdoor ທີ່ເຊື່ອງໄວ້ຫຼືແນບລະຫັດການເຂົ້າເຖິງຂັ້ນສອງໃສ່ຫນຶ່ງໃນບັນຊີພະນັກງານທີ່ມີຢູ່ຂອງທ່ານໃນລະຫວ່າງປ່ອງຢ້ຽມ:

# 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. ລຶບທຸກຜູ້ໃຊ້ທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດ, ບົດບາດ, ແລະຄູ່ຄີໃນທັນທີ.

ຂັ້ນຕອນທີ 3: ກວາດທັງຫມົດ 30+ ພາກພື້ນ AWS ສໍາລັບ Rogue EC2 Instances, Auto Scaling Groups, ແລະວຽກ Bedrock/SageMaker

ເປັນຫຍັງຜູ້ເຄາະຮ້າຍຍັງໄດ້ຮັບ ກ $12,000 ໃບບິນໃນທ້າຍເດືອນຫຼັງຈາກທີ່ພວກເຂົາ "ກວດເບິ່ງ dashboard EC2 ແລະເຫັນວ່າບໍ່ມີຕົວຢ່າງ"? ເນື່ອງຈາກວ່າ AWS Console ພຽງແຕ່ສະແດງ ** ພາກພື້ນຫນຶ່ງຕໍ່ເວລາ ** (e.g., us-east-1), ໃນຂະນະທີ່ bot spun ເຖິງ 20 ຕົວ​ຢ່າງ​ໃນ ap-south-1 (Mumbai), eu-north-1 (Stockholm), ແລະ sa-east-1 (Sao Paulo), ແລະເຊື່ອງພວກມັນໄວ້ພາຍໃນ EC2 Auto Scaling Groups (ASGs) ເພື່ອວ່າຖ້າທ່ານປິດຕົວຢ່າງ EC2 ດ້ວຍຕົນເອງ, Auto Scaling Group ເປີດຕົວການທົດແທນ. 30 seconds later.

ແລ່ນ bash one-liner ຫຼາຍພາກພື້ນນີ້ເພື່ອລາຍຊື່ ** EC2 ທັງຫມົດທີ່ກໍາລັງແລ່ນຫຼືລໍຖ້າຢູ່ໃນທຸກໆພາກພື້ນ AWS ທີ່ໃຊ້ວຽກ ** ໃນ 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 rogue​: ** ກວດ​ສອບ EC2 -> Auto Scaling Groups (and EC2 Spot Fleet Requests / ECS Clusters / EKS Node Groups / SageMaker Notebook & Training Jobs) ໃນ​ແຕ່​ລະ​ພາກ​ພື້ນ​ທີ່​ໄດ້​ຮັບ​ຜົນ​ກະ​ທົບ​ແລະ ລຶບ​ກຸ່ມ​ການ​ຂະ​ຫຍາຍ​ອັດ​ຕະ​ໂນ​ມັດ / Spot Request FIRST, ຫຼັງ​ຈາກ​ນັ້ນ​ຢຸດ​ການ​ຍົກ​ຕົວ​ຢ່າງ. - ** ກວດ​ສອບ AWS Bedrock (Model Invocation Logging) ແລະ Amazon SES:** ບອທ໌ເກັບກ່ຽວຂໍ້ມູນປະຈຳຕົວທີ່ທັນສະ ໄໝ ດຽວນີ້ເອີ້ນ ** AWS Bedrock (Claude 3.5 Sonnet / Llama 3)** ການ​ນໍາ​ໃຊ້​ຂໍ້​ມູນ​ຢັ້ງ​ຢືນ AWS ຂອງ​ທ່ານ​ຖືກ​ລັກ​ເພື່ອ​ຂາຍ​ຕໍ່ LLM tokens (which does not show up under EC2 at all). ກວດເບິ່ງ AWS Cost Explorer (Group by: Service ແລະ Group by: Region) ເພື່ອ​ກວດ​ກາ​ເບິ່ງ​ການ​ບໍ​ລິ​ການ​ທີ່​ຜິດ​ປົກ​ກະ​ຕິ​ເພີ່ມ​ຂຶ້ນ​.


ສ່ວນ​ທີ 3​: Scrubbing ຄວາມ​ລັບ​ຈາກ​ປະ​ຫວັດ​ສາດ Git (git-filter-repo) & Purging GitHub's Hidden Commit Cache

ເມື່ອຂໍ້ມູນປະຈໍາຕົວຕາຍຢູ່ໃນລະດັບຜູ້ໃຫ້ບໍລິການ, ທ່ານຕ້ອງເອົາສາຍລັບອອກຈາກບ່ອນເກັບມ້ຽນຂອງເຈົ້າ. .git ປະ​ຫວັດ​ສາດ​ເພື່ອ​ບໍ່​ວ່າ​ເພື່ອນ​ຮ່ວມ​ງານ​ຫຼື scrapers ໃນ​ອະ​ນາ​ຄົດ​ບໍ່​ສາ​ມາດ​ເບິ່ງ​ມັນ (and so GitHub's Push Protection stops blocking your branches).

1. Why git rm .env + git commit ບໍ່ເອົາຄວາມລັບອອກຈາກ Git

ແລ່ນ git rm .env && git commit -m "remove env" ພຽງແຕ່ເອົາໄຟລ໌ອອກຈາກ ** ຄໍາຫມັ້ນສັນຍາຫຼ້າສຸດ (HEAD)**; ຄວາມລັບຂອງຂໍ້ຄວາມທໍາມະດາຍັງຄົງສາມາດອ່ານໄດ້ຢ່າງຖາວອນພາຍໃນຄໍາຫມັ້ນສັນຍາຂອງພໍ່ແມ່ (the parent commit) ກັບທຸກຄົນທີ່ຄລິກໃສ່ "Commits" ໃນ GitHub.

2. Rewrite the Repository History Cleanly using git-filter-repo

  1. ** ຖ້າ​ຫາກ​ວ່າ​ພຽງ​ແຕ່​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ສຸດ​ທ້າຍ (HEAD) ມີ​ຄວາມ​ລັບ (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. ** ຖ້າ​ຫາກ​ວ່າ​ຄວາມ​ລັບ​ໄດ້​ຖືກ​ຝັງ​ໄວ້​ຫຼາຍ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ກັບ​ຄືນ​ໄປ​ບ່ອນ​ໃນ​ປະ​ຫວັດ​ສາດ​ຂອງ​ທ່ານ (or inside a code file you want to keep):** ໃຊ້ 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. GitHub Cache Trap ທີ່ເຊື່ອງໄວ້ (Dangling Commit SHAs)

ເຖິງແມ່ນວ່າຫຼັງຈາກທ່ານແລ່ນ git filter-repo ແລະ git push --force, ** ເຊີບເວີເວັບຂອງ GitHub ຍັງຄົງຮັກສາແບບເກົ່າ, ບໍ່ມີການອ້າງອີງ ("dangling") ຫມັ້ນສັນຍາ SHA ມີຊີວິດຢູ່ແລະສາທາລະນະສາມາດເຂົ້າເຖິງໄດ້ຢູ່ທີ່ https://github.com/<owner>/<repo>/commit/<old-40-char-sha>** (and in any forks or Pull Requests) ຈົນກ່ວາການເກັບຂີ້ເຫຍື້ອແລ່ນ. - ** ວິ​ທີ​ການ​ລົບ​ລ້າງ Cached ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ SHA ໃນ GitHub ທັນ​ທີ​ທັນ​ໃດ​:* 1. ສຳເນົາສະບັບເຕັມ 40-character ຄໍາຫມັ້ນສັນຍາ SHA ຂອງຄໍາຫມັ້ນສັນຍາທີ່ຮົ່ວໄຫລກ່ອນທີ່ທ່ານຈະຂຽນປະຫວັດສາດໃຫມ່. 2. ເປີດ https://support.github.com/contact -> ຂໍໃຫ້ "ເອົາຂໍ້ມູນທີ່ລະອຽດອ່ອນອອກ / ລຶບມຸມເບິ່ງທີ່ເກັບໄວ້ໃນຖານຄວາມຈໍາສໍາລັບ SHA ທີ່ບໍ່ສາມາດເຂົ້າຫາໄດ້" ໃນບ່ອນເກັບມ້ຽນ owner/repo ແລະສະຫນອງຄໍາຫມັ້ນສັນຍາທີ່ແນ່ນອນ SHA (or use the GitHub Support portal's automated cache-purge workflow).


ສ່ວນທີ 4: ວິທີການຮັບ a $5,000 to $100,000+ AWS ຫຼື GCP Bot Bill Waived (The Courtesy Forgiveness Appeal)

ຈະເປັນແນວໃດຖ້າຫາກວ່າທ່ານ pushed .env ໄຟລ໌ໃນຕອນບ່າຍວັນສຸກ, ບໍ່ໄດ້ກວດເບິ່ງອີເມວຂອງເຈົ້າຈົນກ່ວາຕອນເຊົ້າວັນຈັນ, ແລະຕື່ນຂຶ້ນເປັນ $28,400.00 ໃບບິນ AWS ຫຼື Google Cloud ຈາກ crypto-mining ຫຼື LLM-proxy bots?

ຢ່າ​ຕົກ​ໃຈ, ແລະ​ຢ່າ​ຍົກ​ເລີກ​ບັດ​ເຄຣ​ດິດ​ຂອງ​ທ່ານ ຫຼື​ຍື່ນ​ໃບ​ແຈ້ງ​ເງິນ​ຄືນ​ຈາກ​ທະ​ນາ​ຄານ​ເທື່ອ. ທັງ​ສອງ ** Amazon Web Services (AWS)** ແລະ Google Cloud Platform (GCP) ມີ​ການ​ສ້າງ​ຕັ້ງ​ຂຶ້ນ​ພາຍ​ໃນ ການ​ປັບ​ໃບ​ບິນ​ໃບ​ຢັ້ງ​ຢືນ​ການ​ຮົ່ວ​ໄຫລ​ໂດຍ​ບັງ​ເອີນ​ຄັ້ງ​ດຽວ / ນະ​ໂຍ​ບາຍ​ການ​ປ່ອຍ​ສິນ​ເຊື່ອ ສໍາ​ລັບ​ຜູ້​ພັດ​ທະ​ນາ​ບຸກ​ຄົນ, ນັກ​ສຶກ​ສາ, ແລະ​ການ​ເລີ່ມ​ຕົ້ນ, ** ສະ​ຫນອງ​ໃຫ້ ** ທ່ານ​ເຮັດ​ສໍາ​ເລັດ 100% ຂອງລາຍການກວດສອບການແກ້ໄຂຄວາມປອດໄພທີ່ບັງຄັບຂອງພວກເຂົາ ກ່ອນ ທີມງານກວດສອບການຮຽກເກັບເງິນຂອງພວກເຂົາຈະປະເມີນການອຸທອນຂອງທ່ານ.

5 ຂັ້ນຕອນ AWS / GCP Bill Waiver Protocol (90%+ Success Rate for First-Time Leaks)

  1. ** ເຮັດ​ໃຫ້​ສໍາ​ເລັດ​ທຸກ​ຂັ້ນ​ຕອນ​ການ​ແກ້​ໄຂ​ຄວາມ​ປອດ​ໄພ​ທໍາ​ອິດ (AWS Will Reject Your Waiver Until the Account Is Clean):**
    • ລຶບກະແຈການເຂົ້າເຖິງ IAM ທີ່ຖືກເຄາະຮ້າຍ (and the IAM User if possible).
    • ຢຸດທຸກຕົວຢ່າງ EC2 ທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດ, Auto Scaling Group, EBS volume, Elastic IP, RDS instance, ແລະ S3 bucket ທົ່ວ ທຸກຂົງເຂດ (verify via AWS Cost Explorer and AWS Billing -> Bills -> Charges by Region that daily accrual has dropped back to $0.00).
    • ເປີດໃຊ້ ** ຮາດແວ ຫຼື Authenticator App MFA (Multi-Factor Authentication)** ຢູ່ໃນ AWS Root Account ຂອງເຈົ້າ ແລະຜູ້ໃຊ້ IAM ທຸກຄົນ.
  2. ** ເປີດກໍລະນີສະຫນັບສະຫນູນພາຍໃຕ້ "Account and Billing" (Free for All AWS/GCP Tiers, No Paid Support Plan Required):**
    • ໄປທີ່ console.aws.amazon.com/support/home -> ສ້າງກໍລະນີ -> ບັນຊີ ແລະໃບບິນ -> ບໍລິການ: ການເອີ້ນເກັບເງິນ -> ໝວດໝູ່: ພິພາດການເກັບຄ່າທຳນຽມ/ບັນຊີທີ່ຖືກລະເມີດ.
  3. ** ຍື່ນ​ສະ​ເຫນີ​ການ​ແກ້​ໄຂ​ຄວາມ​ເປັນ​ຈິງ​ນີ້​ແລະ​ສະ​ຫຼຸບ​ຄວາມ​ຫຍຸ້ງ​ຍາກ​:**
    • ** ຮັບ​ຮູ້​ກໍາ​ນົດ​ເວ​ລາ​ແລະ​ເຫດ​ຜົນ​: ** ບອກ​ຢ່າງ​ຊັດ​ເຈນ​ໃນ​ເວ​ລາ​ທີ່​ກະ​ແຈ​ໄດ້​ຖືກ​ເປີດ​ເຜີຍ​ໂດຍ​ບັງ​ເອີນ​ກ່ຽວ​ກັບ GitHub (e.g., "October 30 at 22:14 UTC") ແລະ​ເມື່ອ​ໄດ້​ຖືກ​ຍົກ​ເລີກ ("October 31 at 09:05 UTC").
    • ເຮັດລາຍການຄ່າບໍລິການທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດຕາມພາກພື້ນ ແລະການບໍລິການ: ບອກຈຳນວນເງິນໂດລາທີ່ແນ່ນອນຂອງການເຄື່ອນໄຫວ bot ທີ່ມີການສໍ້ໂກງທຽບກັບບັນຊີລາຍການປະຈຳເດືອນປະຫວັດສາດປົກກະຕິຂອງເຈົ້າ (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% ການແກ້ໄຂ: Bullet-point ຂັ້ນຕອນທີ່ແນ່ນອນທີ່ທ່ານໄດ້ສໍາເລັດແລ້ວ (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).
    • ຂໍການປັບໃບບິນຄ່າທຳນຽມອັນໜຶ່ງຄັ້ງຢ່າງສຸພາບ: ອະທິບາຍວ່າທ່ານເປັນນັກພັດທະນາສ່ວນບຸກຄົນ/ນັກສຶກສາ/ການເລີ່ມຕົ້ນຂັ້ນຕົ້ນ, ທີ່ຈ່າຍເງິນ. $18,420 ບັນຊີລາຍການ bot ທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດຈະເຮັດໃຫ້ເກີດຄວາມຫຍຸ້ງຍາກທາງດ້ານການເງິນທີ່ຮ້າຍແຮງ, ແລະຂໍໃຫ້ ** ເຄດິດການເອີ້ນເກັບເງິນ / ການຍົກເວັ້ນຄັ້ງດຽວ ** ສໍາລັບການນໍາໃຊ້ທີ່ສໍ້ໂກງ.
  4. ** ແລກປ່ຽນ ຫຼືໃສ່ບັດການຈ່າຍເງິນທີ່ເຊື່ອມຕໍ່ຂອງເຈົ້າເປັນການຊົ່ວຄາວ ຖ້າການຮຽກເກັບເງິນອັດຕະໂນມັດແມ່ນກຳລັງເກີດຂຶ້ນ:**
    • ໃນຂະນະທີ່ກໍລະນີສະຫນັບສະຫນູນການເອີ້ນເກັບເງິນ AWS ຂອງທ່ານຢູ່ໃນການກວດສອບ (which usually takes 5 to 15 business days ໃນຂະນະທີ່ທີມບໍລິການຄວາມປອດໄພ ແລະ ການຮຽກເກັບເງິນຂອງ AWS ກວດສອບວ່າຊັບພະຍາກອນທີ່ຮ້າຍກາດທັງໝົດຖືກຢຸດຕິ), ຕິດຕໍ່ຝ່າຍຊ່ວຍເຫຼືອ AWS ພາຍໃນປີ້ ແລະຂໍໃຫ້ພວກເຂົາ ** ວາງການເອີ້ນເກັບເງິນຊົ່ວຄາວ (defer auto-charge)** ຢູ່ໃນໃບແຈ້ງໜີ້ທີ່ມີການໂຕ້ແຍ້ງ ເພື່ອບໍ່ໃຫ້ບັນຊີທະນາຄານຂອງທ່ານເກີນບັນຊີ ໃນຂະນະທີ່ການປັບສິນເຊື່ອກຳລັງດຳເນີນຢູ່.

Warning

** ເປັນ​ຫຍັງ​ທ່ານ​ຕ້ອງ​ບໍ່​ໄດ້​ກະ​ແຈ Hardcode ໃນ​ລະ​ຫັດ​ຂ້າງ​ລູກ​ຄ້າ (NEXT_PUBLIC_, VITE_, REACT_APP_, ແອັບຯມືຖື ຫຼື Chrome Extensions).** ເຖິງແມ່ນວ່າບ່ອນເກັບມ້ຽນ GitHub ຂອງທ່ານແມ່ນ 100% ** ສ່ວນຕົວ **, ການວາງລະຫັດ API ລັບ (like an OpenAI, Stripe secret, or AWS key) ພາຍໃນຕົວແປສະພາບແວດລ້ອມດ້ານໜ້າທີ່ນຳໜ້າດ້ວຍ NEXT_PUBLIC_, VITE_, ຫຼື REACT_APP_ ມັດທີ່ກະແຈຂໍ້ຄວາມທຳມະດາໂດຍກົງເຂົ້າໃນ JavaScript ສາທາລະນະ .js ໄຟລ​໌​ໄດ້​ຮັບ​ໃຊ້​ກັບ​ຕົວ​ທ່ອງ​ເວັບ​ຂອງ​ຜູ້​ເຂົ້າ​ຊົມ​ທຸກ (where bots scrape it directly from your live production website in seconds). ພຽງແຕ່ ** ສາທາລະນະ / ເຜີຍແຜ່ ** ລະຫັດ (like Stripe pk_live_... ຫຼື Firebase client config ຖືກຈໍາກັດໂດຍ HTTP Referrer / Row-Level Security) ອາດຈະແຕະລະຫັດ frontend.

Tip

** ການ​ຕິດ​ຕັ້ງ​ gitleaks ຫຼື trufflehog ເປັນ Hook Pre-Commit ທ້ອງຖິ່ນໃນ 60 ວິນາທີ (So git Refuses to Commit a Secret Ever Again)** ເພື່ອ ເຮັດ ໃຫ້ ມັນ ເປັນ ໄປ ບໍ່ ໄດ້ ທາງ ດ້ານ ຮ່າງ ກາຍ ທີ່ ຈະ ເຮັດ ໃຫ້ ອຸ ບັດ ຕິ ເຫດ .env file ຫຼື API key ເທິງແລັບທັອບຂອງເຈົ້າອີກຄັ້ງ, ໃຫ້ຕິດຕັ້ງ gitleaks (brew install gitleaks) ແລະ​ເພີ່ມ a .pre-commit-config.yaml hook (or turn on GitHub's free **"Push Protection for yourself"** at **github.com/settings/security_analysis**). ດ້ວຍການເປີດໃຊ້ Push Protection, ເຊີບເວີຂອງ GitHub ກວດເບິ່ງຂອງທ່ານ git push ໃນ​ລະ​ຫວ່າງ​ການ​ເດີນ​ທາງ​ແລະ **ປະ​ຕິ​ເສດ​ການ​ຊຸກ​ຍູ້​ກ່ອນ​ທີ່​ຈະ​ລົງ​ຈອດ​ໃນ​ບ່ອນ​ເກັບ​ຮັກ​ສາ ** ເມື່ອ​ໃດ​ກໍ​ຕາມ​ທີ່​ມີ​ການ​ກວດ​ພົບ​ຮູບ​ແບບ​ທີ່​ສໍາ​ຄັນ​.

(ສຳລັບຜູ້ພັດທະນາທີ່ກ່ຽວຂ້ອງ ແລະເຫດການຄວາມປອດໄພທີ່ເຮັດວຽກທາງໄກ, ເບິ່ງ ການຫຼຸດລົງຂອງຖານຂໍ້ມູນການຜະລິດໂດຍບັງເອີນ, git force-push, ຮົ່ວລັບ, ແລະ triage ເຫດການ, ຖານຂໍ້ມູນການຜະລິດຫຼຸດລົງຫຼື S3 bucket ຖືກລົບໂດຍບໍ່ມີການສໍາຮອງຂໍ້ມູນທີ່ຜ່ານມາ, ອີເມວບັນຊີເງິນເດືອນເປັນຄວາມລັບ, ລູກຄ້າ PII, ຫຼື HIPAA spreadsheet, ແລະ ຄວາມປອດໄພບ່ອນເຮັດວຽກສຸກເສີນທາງໄກ ແລະຄວາມເປັນສ່ວນຕົວຂອງຂໍ້ມູນ.)


ການລະເມີດຂໍ້ມູນພາກພື້ນ ແລະເຈົ້າໜ້າທີ່ລາຍງານຄວາມປອດໄພຄລາວ

ພາກພື້ນ / ປະເທດ ກົດ​ໝາຍ​ວ່າ​ດ້ວຍ​ການ​ແຈ້ງ​ເຕືອນ​ການ​ລ່ວງ​ລະ​ເມີດ​ໃນ​ຄລາວ ແລະ​ຂໍ້​ມູນ ເຈົ້າຫນ້າທີ່ Cyber Incident & Regulatory Authority ເມື່ອ GitHub Key ຮົ່ວໄຫຼຮຽກຮ້ອງໃຫ້ມີການລາຍງານກົດລະບຽບບັງຄັບ
** ສະ​ຫະ​ລັດ ** ** ກົດ​ລະ​ບຽບ​ການ​ປົກ​ປ້ອງ FTC (16 CFR Part 314)**, ກົດ​ລະ​ບຽບ SEC Cybersecurity (Form 8-K Item 1.05), HIPAA, ແລະ 50 ກົດໝາຍການແຈ້ງການລະເມີດຂໍ້ມູນຂອງລັດ ** CISA (cisa.gov/report / 1-844-SAY-CISA)**, FBI IC3 (ic3.gov), HHS OCR, ແລະ ລັດທິໄອຍະການທົ່ວໄປ ຖ້າບັນທຶກ CloudTrail ຫຼື Stripe ສະແດງໃຫ້ເຫັນວ່າ IP ພາຍນອກໄດ້ໃຊ້ກະແຈທີ່ຮົ່ວໄຫລຂອງເຈົ້າໄປ GetObject ຫຼືສົ່ງອອກລູກຄ້າທີ່ບໍ່ໄດ້ເຂົ້າລະຫັດ PII, ໝາຍເລກປະກັນສັງຄົມ, ຫຼືບັນທຶກການຈ່າຍເງິນ (rather than purely mining crypto on empty EC2 instances), ກົດຫມາຍແຈ້ງການການລະເມີດຂອງລັດນໍາໃຊ້.
** ສະ​ຫະ​ພາບ​ເອີ​ຣົບ (EEA)** GDPR (Articles 33 & 34) ແລະ ** ຄຳສັ່ງ NIS2 (Directive (EU) 2022/2555)** ** ອົງ​ການ​ປົກ​ປ້ອງ​ຂໍ້​ມູນ​ແຫ່ງ​ຊາດ (CNIL, BfDI, DPC)** ແລະ ** CSIRT ແຫ່ງຊາດ (ENISA)** ** ເຂັ້ມງວດ 72-Hour ໂມງ (GDPR Art. 33):** ຖ້າຂໍ້ມູນປະຈຳຕົວທີ່ຮົ່ວໄຫຼມີການເຂົ້າເຖິງຂໍ້ມູນສ່ວນຕົວຂອງ EU ແລະທ່ານບໍ່ສາມາດປະຕິເສດການເຂົ້າເຖິງທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດໃນ CloudTrail/VPC Flow Logs, ແຈ້ງໃຫ້ເຈົ້າໜ້າທີ່ຄວບຄຸມຂອງທ່ານພາຍໃນ 72 hours.
** ສະ​ຫະ​ປະ​ຊາ​ຊະ​ອາ​ນາ​ຈັກ ** GDPR & ກົດໝາຍວ່າດ້ວຍການປົກປ້ອງຂໍ້ມູນຂອງອັງກິດ 2018 ** ຫ້ອງ​ການ​ຂໍ້​ມູນ​ຂ່າວ​ສານ (ICO: 0303 123 1113)** ແລະ NCSC (ncsc.gov.uk) ລາຍ​ງານ​ຂໍ້​ມູນ​ສ່ວນ​ບຸກ​ຄົນ​ທີ່​ບໍ່​ໄດ້​ຮັບ​ອະ​ນຸ​ຍາດ​ເຂົ້າ​ເຖິງ ICO UK ພາຍ​ໃນ 72 hours ການນໍາໃຊ້ປະຕູການປະເມີນການລະເມີດອອນໄລນ໌ຂອງ ICO; ບັນທຶກການຫມຸນຫຼັກຂອງທ່ານແລະຂັ້ນຕອນການກັກກັນ IAM.
ການາດາ, ອົດສະຕາລີ ແລະນິວຊີແລນ ** ກາ​ນາ​ດາ​ PIPEDA
ອົດ​ສະ​ຕາ​ລີ​ Privacy Act 1988 (NDB Scheme)
ນິວ​ຊີ​ແລນ​ Privacy Act 2020**
** OPC (Canada)**, OAIC & ACSC (Australia: 1300 CYBER1), & OPC (New Zealand) ສາມາດລາຍງານໄດ້ຖ້າຫາກວ່າການເປີດເຜີຍຂໍ້ມູນປະຈໍາຕົວສ້າງຄວາມສ່ຽງທີ່ແທ້ຈິງຂອງອັນຕະລາຍທີ່ສໍາຄັນ (RROSH ໃນປະເທດການາດາ) ຫຼືການລະເມີດຂໍ້ມູນທີ່ມີສິດ (Australia OAIC) ກ່ຽວຂ້ອງກັບຂໍ້ມູນສ່ວນຕົວ.

ຄຳຖາມທີ່ມັກຖາມເລື້ອຍໆ

ຖ້າຂ້ອຍຮູ້ວ່າຂ້ອຍໄດ້ຍູ້ .env ຍື່ນໄປຫາ repo ສາທາລະນະ GitHub ແລະເຮັດໃຫ້ repo ເປັນສ່ວນຕົວ 2 ນາທີຕໍ່ມາ, ຂ້ອຍຍັງຈໍາເປັນຕ້ອງໄດ້ຫມຸນລະຫັດຂອງຂ້ອຍບໍ?

ແມ່ນແລ້ວ, 100 ເປີເຊັນຂອງກະແຈໃນໄຟລ໌ນັ້ນຕ້ອງຖືກພິຈາລະນາວ່າຖືກປະນີປະນອມ ແລະຖືກຖອນຄືນທັນທີ. bots ການຂຸດຄົ້ນຂໍ້ມູນການຢັ້ງຢືນອັດຕະໂນມັດບໍ່ໄດ້ລໍຖ້າໃຫ້ Google ດັດສະນີບ່ອນເກັບມ້ຽນຂອງທ່ານ; ພວກເຂົາເຈົ້າສະຫມັກໂດຍກົງກັບສາທາລະນະໃນເວລາຈິງຂອງ GitHub `Events API` ທໍ່ດັບເພີງ (`and GH Archive`), ເຊິ່ງອອກອາກາດທຸກສາທາລະນະ `PushEvent` ທົ່ວໂລກພາຍໃນ 1 ຫາ 3 ວິນາທີຂອງເຈົ້າ `git push`. ເມື່ອເວລາທີ່ທ່ານຄລິກ "Settings -> Change repository visibility -> Make private" ສອງນາທີຕໍ່ມາ, bots scraper ອັດຕະໂນມັດຫຼາຍສິບໂຕໄດ້ດາວໂຫລດ commit diff ຂອງເຈົ້າແລ້ວ ແລະຈັດຄິວກັບ AWS, Stripe, OpenAI, ແລະຖານຂໍ້ມູນຖານຂໍ້ມູນຂອງເຈົ້າເພື່ອການຂຸດຄົ້ນ.

ເປັນຫຍັງ bots ຈຶ່ງສືບຕໍ່ເປີດຕົວຢ່າງ EC2 ໃນບັນຊີ AWS ຂອງຂ້ອຍເຖິງແມ່ນວ່າຫຼັງຈາກທີ່ຂ້ອຍລຶບການຮົ່ວໄຫຼ AKIA ກະແຈການເຂົ້າເຖິງ?

ການລຶບສະຖິດ `AKIA...` ກະແຈການເຂົ້າເຖິງໃນ AWS IAM ພຽງແຕ່ປິດການນຳໃຊ້ລະຫັດຖາວອນສະເພາະນັ້ນເທົ່ານັ້ນ; ມັນບໍ່ໄດ້ເຮັດໃຫ້ບໍ່ຖືກຕ້ອງຊົ່ວຄາວ `ASIA...` Security Token Service (`STS`) session tokens ທີ່ຜູ້ໂຈມຕີສ້າງແລ້ວໂດຍໃຊ້ `sts:GetSessionToken` ຫຼື `sts:AssumeRole` ໃນລະຫວ່າງສອງສາມວິນາທີທໍາອິດຫຼັງຈາກຂູດກະແຈຂອງເຈົ້າ (`which remain valid for up to 12 to 36 hours`). ນອກຈາກນັ້ນ, ອັດຕະໂນມັດ AWS attack scripts ປົກກະຕິໂທຫາ `iam:CreateUser` ແລະ `iam:CreateAccessKey` ໃນວິນາທີທໍາອິດຂອງພວກເຂົາໃນການເຂົ້າເຖິງການປູກທີສອງ, ບັນຊີຜູ້ເບິ່ງແຍງ backdoor ທີ່ເຊື່ອງໄວ້. ເພື່ອຢຸດການບຸກລຸກຂອງ AWS ທີ່ເຄື່ອນໄຫວຢ່າງສົມບູນ, ທ່ານຕ້ອງລຶບ `AKIA` ຄີ, ຄັດຕິດຢ່າງຈະແຈ້ງ `Deny *` ນະໂຍບາຍໃນແຖວຕໍ່ຜູ້ໃຊ້ IAM ທີ່ຖືກເຄາະຮ້າຍ (`which immediately invalidates all minted STS tokens`), ແລະກວດສອບ CloudTrail ສໍາລັບຜູ້ໃຊ້ ຫຼືບົດບາດ IAM ທີ່ສ້າງຂຶ້ນໃໝ່.

AWS ຫຼື Google Cloud ຈະໃຫ້ອະໄພອັນໃຫຍ່ຫຼວງ $10,000+ ໃບບິນຖ້າແຮກເກີລັກລະຫັດ API ຂອງຂ້ອຍຈາກ GitHub ແລະ crypto ຂຸດຄົ້ນບໍ່?

ໃນສ່ວນໃຫຍ່ຂອງການຮົ່ວໄຫຼໂດຍບັງເອີນຄັ້ງທໍາອິດ, ແມ່ນແລ້ວ, ໃຫ້ທ່ານປະຕິບັດຢ່າງໄວວາ, ຮ່ວມມືຢ່າງເຕັມທີ່ກັບທີມງານຄວາມປອດໄພຂອງພວກເຂົາ, ແລະບໍ່ສົນໃຈໃບແຈ້ງຫນີ້. ທັງ AWS ແລະ Google Cloud ມີນະໂຍບາຍການປັບການເອີ້ນເກັບເງິນຕາມມາລະຍາດພາຍໃນຄັ້ງດຽວສຳລັບນັກພັດທະນາ ແລະ ທຸລະກິດຂະໜາດນ້ອຍທີ່ໄດ້ຮັບຜົນກະທົບຈາກການຮົ່ວໄຫຼຂອງຂໍ້ມູນຮັບຮອງທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດ. ກ່ອນທີ່ຈະຮ້ອງຂໍການຍົກເວັ້ນໃບບິນພາຍໃຕ້ການສະຫນັບສະຫນູນ "ບັນຊີແລະການເອີ້ນເກັບເງິນ", ກ່ອນອື່ນ ໝົດ ທ່ານຕ້ອງພິສູດວ່າການຮົ່ວໄຫຼຖືກປິດລົງ 100 ເປີເຊັນ: ຖອນລະຫັດ IAM ທີ່ຖືກເປີດເຜີຍ, ຍົກເລີກການຄິດໄລ່ທີ່ຫຼອກລວງທັງຫມົດແລະກຸ່ມການຂະຫຍາຍອັດຕະໂນມັດໃນທົ່ວພາກພື້ນທົ່ວໂລກ 30+, ເປີດໃຊ້ການພິສູດຄວາມຖືກຕ້ອງຫຼາຍປັດໃຈ (`MFA`) ໃນບັນຊີຮາກຂອງທ່ານ, ແລະຕັ້ງຄ່າການແຈ້ງເຕືອນຄ່າໃຊ້ຈ່າຍ AWS Budgets.

ເປັນຫຍັງ git rm .env ບໍ່ເອົາກະແຈລັບຂອງຂ້ອຍອອກຈາກ GitHub ບໍ?

Git ແມ່ນບັນຊີລາຍການຄວບຄຸມເວີຊັນທີ່ບໍ່ປ່ຽນແປງໄດ້: ເມື່ອທ່ານແລ່ນ `git rm .env` ແລະຊຸກຍູ້ໃຫ້ຄໍາຫມັ້ນສັນຍາໃຫມ່, Git ພຽງແຕ່ບັນທຶກວ່າໄຟລ໌ແມ່ນບໍ່ມີຢູ່ໃນຮູບຖ່າຍໃຫມ່ຫຼ້າສຸດ (`HEAD`), ໃນຂະນະທີ່ຮັກສາເນື້ອໃນ plaintext ເຕັມຂອງ `.env` ເກັບຮັກສາໄວ້ຢ່າງຖາວອນພາຍໃນຄໍາຫມັ້ນສັນຍາທີ່ຜ່ານມາ (`the parent commit`) ໃນ​ປະ​ຫວັດ​ສາດ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຂອງ repository ຂອງ​ທ່ານ​. ເຖິງແມ່ນວ່າທ່ານຈະຂຽນປະຫວັດສາດຂອງທ່ານກັບ `git filter-repo` ແລະ force-push, ທຸກຄົນຍັງສາມາດອ່ານຄວາມລັບຖ້າທ່ານບໍ່ໄດ້ຖອນຄືນມັນຢູ່ທີ່ console ຜູ້ໃຫ້ບໍລິການ. ຖອນຄືນ ແລະໝຸນລະຫັດລັບຢູ່ໃນ dashboard ຂອງຜູ້ໃຫ້ບໍລິການຄລາວທຸກຄັ້ງກ່ອນ, ແລ້ວໃຊ້ `git filter-repo` ເພື່ອຂັດສາຍທີ່ຕາຍແລ້ວຈາກປະຫວັດຄໍາຫມັ້ນສັນຍາຂອງເຈົ້າ.

ຄູ່ມືທີ່ກ່ຽວຂ້ອງ

ແຫຼ່ງຂໍ້ມູນແລະຄໍາແນະນໍາຢ່າງເປັນທາງການ

  • ** ບໍ​ລິ​ການ​ເວັບ​ໄຊ​ຕ​໌ Amazon (AWS Security Incident Response Guide & AWS Knowledge Center: "What should I do if I notice unauthorized activity or exposed IAM access keys?"):*AWSCompromisedKeyQuarantineV2 ພຶດຕິກໍານະໂຍບາຍ, ບໍ່ຖືກຕ້ອງຊົ່ວຄາວ STS Session Token (RevokeOldSessions), ແລະການກວດສອບຊັບພະຍາກອນຫຼາຍພາກພື້ນ.
  • ** ເອ​ກະ​ສານ GitHub (GitHub Secret Scanning, Push Protection, & "Removing sensitive data from a repository" using git-filter-repo):** ໂຄງການຖອນຄືນອັດຕະໂນມັດຂອງຄູ່ຮ່ວມງານ (Stripe, AWS, OpenAI, NPM), git-filter-repo ປະຫວັດການຂຽນຄືນໃຫມ່, ແລະການກໍາຈັດ Cached Unreachable commit SHAs.
  • *Stripe Inc. (Stripe Developer Security Guide: API Key Rotation & Compromised Key Incident Triage): ** * ທັນ​ທີ​ sk_live_ ການຫມົດອາຍຸທີ່ສໍາຄັນ, ການກວດສອບ /v1/events ແລະ /v1/webhook_endpoints, ແລະຈໍາກັດຄີໂດຍຜ່ານ rk_live_ ຂອບເຂດ.
  • NIST (Special Publication 800-61 Rev. 2 / Rev. 3: Computer Security Incident Handling Guide) ແລະ OWASP (Secrets Management Cheat Sheet): ການບັນຈຸຂໍ້ມູນປະຈຳຕົວ, ສະຫະພັນກຳມະກອນ ODC ຊົ່ວຄາວ (replacing static CI/CD keys), ແລະ Pre-Commit Secret Scanning.