◆ cyber.cashlessconsumer.in
Agentic work Human-supervised AI on Zo Computer ▸ what this means

Everything on this site is agentic cyber work: AI agents running on Zo Computer plan the probes, execute read-only scans, analyse the results and draft the findings — predominantly on GLM 5.3 Flash — the cheapest flash-tier model available, run with Zero Data Retention. A human steers and monitors every stage. No scan runs, no finding is disclosed and no text is published without human review and sign-off.

The machine does the legwork at speed and scale; the intent, the ethics and the accountability are human.

cyber / CERT-In · .env
🔑 Responsible disclosure

India's .bank.in domains kept serving .env files

A licensed payments bank and a co-operative bank were serving their production .env files directly at https://<domain>/.env — no auth, no WAF, no 403. SMTP passwords, Google API keys and full public/private key pairs, in plain text on the public web.

How it was found

Prompted by a post asking, “it shouldn't be this easy,” we ran a systematic, read-only scan across the entire .bank.in namespace on 18 August 2026.

MetricValue
Unique hostnames scanned1,393
Passive probesingle GET /<path>, read-only, no follow-ups, no other paths
Paths probed.env, phpinfo.php, composer.json, /actuator/env, /actuator/heapdump, Laravel logs
HTTP 200 for /.env284 hosts — but all but three were HTML soft-404s / SPA fallbacks
Real dotenv files2 banks / 3 hostnames

The confirmed .env exposures

HostBankWhat was exposed
nsdlpayments.bank.in/.env
www.nsdlpayments.bank.in/.env
NSDL Payments Bank Ltd
RBI-licensed payments bank, live since Oct 2018
APP_ENV=prod, Google API key, a 128-char secret key, full public/private key pair
bnsb.bank.in/.env Baran Nagrik Sahakari Bank, Baran Rajasthan SMTP mail credentials (MAIL_USERNAME, MAIL_PASSWORD, MAIL_PORT, MAIL_FROM/TO) + reCAPTCHA secret

These are real, parseable dotenv files served as application/octet-stream with HTTP 200 — not cached pages. Only key names and lengths were logged; no credential values were stored anywhere.

The wider scan: 9 entities revealed

Beyond the two live .env leaks, the scan surfaced additional misconfigurations that were all folded into a single expanded disclosure to CERT-In — nine entities in total:

#ClassEntities
1–2Production .envNSDL Payments Bank, Baran Nagrik Sahakari Bank
3Spring Boot Actuator (/actuator/env, /actuator/heapdump)Yes Bank (credit-card application portal) — CRITICAL
4–5phpinfo()RBL Bank, Krishna District CCB
6–8Laravel storage/logs (possible PII in stack traces)Akhandanand Co-op Bank, Kakinada Town CCB, NAMCO Co-op Bank
9composer.json / framework metadataVarachha, Panchganga, ABSL Co-op Banks

Disclosure timeline

18 Aug 2026 · 15:44–15:45 IST
Initial disclosure. Sent to CERT-In, RBI, and directly to NSDL Payments Bank and Baran Nagrik Sahakari Bank IT/security contacts.
19 Aug 2026
CERT-In follow-up. CERT-In requested exact URLs/paths and clarification. Our reply provided precise paths for every entity, re-verified live status, and retracted one erroneous earlier claim (Jana Small Finance Bank — no .env existed; domain does not resolve).
21 Aug 2026
First closures confirmed. CERT-In confirmed the two .env files are no longer accessible (refs CERTIn-19257826, CERTIn-49794926); our re-check agreed (403/404). The expanded 9-entity report was registered (Yes Bank ref CERTIn-26992926). A further follow-up flagged a .env on a co-operative-bank complaint portal.
24 Aug 2026
Attribution correction. CERT-In (PGP-signed) advised the complaint-portal host does not pertain to the bank its registry record suggests; the operator remains unattributed and the file remained reachable.
28 Aug 2026
Published re-check. All reported paths re-probed read-only; status table updated. No credential values stored or shown at any point.
Ongoing
Remediation tracking. We re-check hosts to confirm files are removed — not merely hidden behind a WAF.

Reports filed — 14–28 Aug 2026

Three separate disclosures went to CERT-In in the last fortnight, plus direct notifications to affected entities. CERT-In registered and actioned each; references are quoted from their PGP-signed replies.

ReportFiledCERT-In reference
Publicly accessible .env files — NSDL Payments Bank, Baran Nagrik Sahakari Bank 18 Aug CERTIn-49794926, CERTIn-19257826
Expanded .bank.in exposures — 9 entities (classes as tabled above; exact paths shared with CERT-In, withheld here for unfixed items) 18 Aug CERTIn-26992926 (Yes Bank) + per-entity refs
Follow-up: .env on a co-operative-bank complaint portal (registry records the registrant as a small-finance bank; CERT-In advises the host does not pertain to that bank — operator still unattributed) 21 Aug same thread

Re-check — 28 Aug 2026

Ten days after the expanded report, we re-probed every reported path with the same read-only method. Detail below is limited to the .env exposures; for the other classes we state only entity + class + status.

EntityClass19 Aug (reported)28 Aug (re-check)
Baran Nagrik Sahakari Bank.envlive (206)Fixed — 403; CERT-In confirmed closure 21 Aug
NSDL Payments Bank (both hostnames).envWAF pageBlocked — application page served, no dotenv; origin removal still to be confirmed
Co-op complaint portal (operator unattributed).envliveStill open — full production dotenv (35 keys incl. cloud + DB credentials) served, 1,539 bytes
Yes BankSpring Actuatorhost unreachableUnreachable — unchanged; removal unverified
RBL Bankphpinfo()WAF denialRemoved — 404
Krishna DCCBphpinfo()WAFRemoved — 404
Akhandanand Co-op BankLaravel logopenStill open
Kakinada Town CCBLaravel log + composer.jsonopenStill open — log now ~4.4 MB
NAMCO Co-op BankLaravel logopenStill open — log now ~12.6 MB
Varachha Co-op Bankcomposer.jsonopenChanged — path now returns the site's HTML app page
Panchganga Co-op Bankcomposer.jsonopenRemoved — 404
ABSL Co-op Bank (webmail host)composer.jsonopenHost unreachable — unverified

Score at ten days: 3 confirmed fixed (Baran, RBL, Krishna DCCB), 1 blocked pending origin (NSDL), 3 still open (the unattributed complaint-portal .env plus co-operative-bank log/metadata exposures), 2 unverifiable (unreachable hosts), 1 changed. The still-open .env is the most serious remaining item: a production Laravel environment with cloud and database credentials, on a host whose operator CERT-In says is not the bank the domain name suggests.

Earlier remediation status

EntityStatus
NSDL Payments BankWAF-blocked (19 Aug) — verify origin removal recommended
Baran Nagrik Sahakari BankRemediated — .env now returns 403 (21 Aug)
Yes Bank / RBL / Krishna DCCBBlocked / timeout — confirm upstream disable
Laravel-log + composer entitiespartly open — verification pending

Report & raw material

  • Analysis narrative: “India's .bank.in Domains Are Leaking Secrets” (Projects/bank-in-research/bank-in-misconfiguration-post.md)
  • Env-exposure scan record: bank_in_env_exposure.md, full results bank_in_env_scan.csv
  • CERT-In reply draft with exact paths and retraction: CERT-In-reply-draft.md

Deliberately, this page and our public post do not reproduce credential values. We publish the class of exposure and the disclosure record, so the sector fixes the pattern rather than the incident.