34.81.7.31

blockedPersistentRegularToolkit

Case file

First seen on 2026-10-02T08:01:39Z, most recently active on 2026-10-03T06:02:53Z.

Recorded 650 attack-shaped requests across 2 separate days.

Its traffic requested a .env file, hoping to find API keys or database credentials; it also used a directory-traversal segment (literal or percent-encoded ../) in the request path to try to escape the web root; it also requested a common cloud/app secrets or credentials filename (AWS, GCP, Firebase, Kubernetes service-account token, SSH, master key) from a wordlist, hoping one was left in the webroot.

Seen from 2 of our sensors: edge, nl4-web.

Scored into the "Persistent" level, carrying the badges Regular, Toolkit.

Routed via AS396982 (Google LLC), an ASN we classify as cloud.

Blocked on every one of our hosts and at our edge since 2026-10-04T15:29:58Z, through 2027-01-02T15:29:58Z.

Enrichment

rDNS31.7.81.34.bc.googleusercontent.com
ASNAS396982 — Google LLC
ASN typecloud
CountryTaiwan (TW)
FlagsCloud range

External references: GreyNoise, Shodan, AbuseIPDB

Timeline

Evidence (newest first, up to 50)

Time (UTC)VantageSiteClassStatusEvidence
2026-10-02T08:02:06Znl4-webobdebug.comused Vite dev server's @fs/ path to try to read arbitrary files outside the project root40434.81.7.31 - - [02/Oct/2026:11:02:06 +0300] "GET /@fs/proc/self/cmdline? HTTP/1.1" 404 236 "http://obdebug.com:8080/@fs/proc/self/cmdline?" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)"
2026-10-02T08:02:04Znl4-webobdebug.comrequested a .env file, hoping to find API keys or database credentials40434.81.7.31 - - [02/Oct/2026:11:02:04 +0300] "GET /@fs/app/.env.production? HTTP/1.1" 404 236 "http://obdebug.com:8080/@fs/app/.env.production?" "Mozilla/5.0 (compatible; YouBot/1.0; +https://you.com/bot)"
2026-10-02T08:02:04Znl4-webobdebug.comrequested a .env file, hoping to find API keys or database credentials40434.81.7.31 - - [02/Oct/2026:11:02:04 +0300] "GET /@fs/app/.env.local? HTTP/1.1" 404 236 "http://obdebug.com:8080/@fs/app/.env.local?" "Mozilla/5.0 (compatible; Meta-ExternalAgent/1.0; +https://developers.facebook.com/docs/sharing/webmasters/crawler)"
2026-10-02T08:01:46Znl4-webobdebug.comused Vite dev server's @fs/ path to try to read arbitrary files outside the project root40434.81.7.31 - - [02/Oct/2026:11:01:46 +0300] "GET /@fs/proc/self/cmdline? HTTP/1.1" 404 236 "-" "Mozilla/5.0 (compatible; KimiBot/1.0; +https://kimi.ai/)"
2026-10-02T08:01:45Znl4-webobdebug.comrequested a .env file, hoping to find API keys or database credentials40434.81.7.31 - - [02/Oct/2026:11:01:45 +0300] "GET /@fs/app/.env.production? HTTP/1.1" 404 236 "-" "Mozilla/5.0 (compatible; Kimi-SearchBot/1.0; +https://kimi.ai/)"
2026-10-02T08:01:45Znl4-webobdebug.comrequested a .env file, hoping to find API keys or database credentials40434.81.7.31 - - [02/Oct/2026:11:01:45 +0300] "GET /@fs/app/.env.local? HTTP/1.1" 404 236 "-" "CCBot/2.0 (https://commoncrawl.org/faq/)"
2026-10-03T06:02:46Zedgeodor-ex.comtriggered Cloudflare's managed rule for a Next.js server-action request-smuggling/RCE attempt{"ts":"2026-10-03T06:02:46Z","ip":"34.81.7.31","zone":"odor-ex.com","host":"odor-ex.com","path":"/api/auth","method":"POST","query":"","ua":"Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)","action":"block","source":"firewallManaged","rule_id":"<redacted>","countr…
2026-10-03T06:02:46Zedgeodor-ex.comtriggered Cloudflare's managed rule for a Next.js server-action request-smuggling/RCE attempt{"ts":"2026-10-03T06:02:46Z","ip":"34.81.7.31","zone":"odor-ex.com","host":"odor-ex.com","path":"/api","method":"POST","query":"","ua":"Mozilla/5.0 (compatible; cohere-ai; +https://cohere.com/crawler)","action":"block","source":"firewallManaged","rule_id":"<redacted>","country":"TW","asn_org":"Googl…
2026-10-03T06:02:46Zedgeodor-ex.comtriggered Cloudflare's managed rule for a Next.js server-action request-smuggling/RCE attempt{"ts":"2026-10-03T06:02:46Z","ip":"34.81.7.31","zone":"odor-ex.com","host":"odor-ex.com","path":"/dashboard","method":"POST","query":"","ua":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)","action":"block","source":"firewallMa…
2026-10-03T06:02:46Zedgeodor-ex.comtriggered Cloudflare's managed rule for a Next.js server-action request-smuggling/RCE attempt{"ts":"2026-10-03T06:02:46Z","ip":"34.81.7.31","zone":"odor-ex.com","host":"odor-ex.com","path":"/admin","method":"POST","query":"","ua":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)","action":"block","source":"firewallManage…
2026-10-03T06:02:44Zedgeodor-ex.comrequested wp-config.php or a backup copy of it, hoping to read the database password in clear text{"ts":"2026-10-03T06:02:44Z","ip":"34.81.7.31","zone":"odor-ex.com","host":"odor-ex.com","path":"/wp-config.php.swp","method":"GET","query":"","ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15 (Applebot/0.1)","action":"block",…
2026-10-03T06:02:43Zedgeodor-ex.comrequested wp-config.php or a backup copy of it, hoping to read the database password in clear text{"ts":"2026-10-03T06:02:43Z","ip":"34.81.7.31","zone":"odor-ex.com","host":"odor-ex.com","path":"/wp-config.php~","method":"GET","query":"","ua":"Mozilla/5.0 (compatible; Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot)","action":"block","source":"firewallManaged","rule_id":"<redacted…
2026-10-03T06:02:41Zedgeodor-ex.comrequested wp-config.php or a backup copy of it, hoping to read the database password in clear text{"ts":"2026-10-03T06:02:41Z","ip":"34.81.7.31","zone":"odor-ex.com","host":"odor-ex.com","path":"/wp-config.php.old","method":"GET","query":"","ua":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)","action":"block","source":"fir…
2026-10-03T06:02:41Zedgeodor-ex.comrequested wp-config.php or a backup copy of it, hoping to read the database password in clear text{"ts":"2026-10-03T06:02:41Z","ip":"34.81.7.31","zone":"odor-ex.com","host":"odor-ex.com","path":"/wp-config.php.bak","method":"GET","query":"","ua":"Mozilla/5.0 (compatible; YiBot/1.0; +https://01.ai/)","action":"block","source":"firewallManaged","rule_id":"<redacted>","country":"TW","asn_org":"Goog…
2026-10-03T06:02:34Zedgeodor-ex.comtriggered Cloudflare's managed rule for a Next.js server-action request-smuggling/RCE attempt{"ts":"2026-10-03T06:02:34Z","ip":"34.81.7.31","zone":"odor-ex.com","host":"odor-ex.com","path":"/login","method":"POST","query":"","ua":"Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)","action":"block","source":"firewallManaged","rule_id":"<redacted>","country":…
2026-10-03T06:02:33Zedgeodor-ex.comtriggered Cloudflare's managed rule for a Next.js server-action request-smuggling/RCE attempt{"ts":"2026-10-03T06:02:33Z","ip":"34.81.7.31","zone":"odor-ex.com","host":"odor-ex.com","path":"/","method":"POST","query":"","ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.4; +https://openai.c…
2026-10-03T06:02:45Z – 2026-10-03T06:02:45Z ×2nl4-webodor-ex.com2 × matched a catalogue rule403[Sat Oct 03 09:02:45.406282 2026] [authz_core:error] AH01630: client denied by server configuration: <path>
2026-10-03T06:02:44Z – 2026-10-03T06:02:45Z ×4nl4-webodor-ex.com4 × requested a .env file, hoping to find API keys or database credentials403[Sat Oct 03 09:02:45.044475 2026] [authz_core:error] AH01630: client denied by server configuration: <path>
2026-10-03T06:02:43Znl4-webodor-ex.comrequested .htaccess or .htpasswd, which can leak access rules or password hashes403[Sat Oct 03 09:02:43.664665 2026] [authz_core:error] AH01630: client denied by server configuration: <path>
2026-10-03T06:02:37Z – 2026-10-03T06:02:42Z ×6nl4-webodor-ex.com6 × requested a .env file, hoping to find API keys or database credentials403[Sat Oct 03 09:02:42.834188 2026] [authz_core:error] AH01630: client denied by server configuration: <path>
2026-10-03T06:02:53Znl4-webodor-ex.comclaimed to be Googlebot while POSTing, something the real crawler never does40434.81.7.31 - - [03/Oct/2026:09:02:53 +0300] "POST /exec-py HTTP/1.1" 404 236 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
2026-10-03T06:02:52Znl4-webodor-ex.comtried to abuse a PHP-CGI argument-injection flaw (allow_url_include/auto_prepend_file) to execute code40434.81.7.31 - - [03/Oct/2026:09:02:52 +0300] "POST /cgi-bin/php? HTTP/1.1" 404 236 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexitybot)"
2026-10-03T06:02:52Znl4-webodor-ex.comtried to abuse a PHP-CGI argument-injection flaw (allow_url_include/auto_prepend_file) to execute code40434.81.7.31 - - [03/Oct/2026:09:02:52 +0300] "POST /cgi-bin/php-cgi? HTTP/1.1" 404 236 "-" "Mozilla/5.0 (compatible; YiBot/1.0; +https://01.ai/)"
2026-10-03T06:02:51Znl4-webodor-ex.comfuzzed a short, random filename looking for a forgotten script that responds40434.81.7.31 - - [03/Oct/2026:09:02:51 +0300] "POST /index.php? HTTP/1.1" 404 16 "-" "Mozilla/5.0 (compatible; YouBot/1.0; +https://you.com/bot)"
2026-10-03T06:02:51Znl4-webodor-ex.comtried to abuse a PHP-CGI argument-injection flaw (allow_url_include/auto_prepend_file) to execute code40434.81.7.31 - - [03/Oct/2026:09:02:51 +0300] "POST /cgi-bin/php? HTTP/1.1" 404 236 "-" "Mozilla/5.0 (compatible; Hunyuan/1.0; +https://hunyuan.tencent.com/)"
2026-10-03T06:02:51Znl4-webodor-ex.comtried to abuse a PHP-CGI argument-injection flaw (allow_url_include/auto_prepend_file) to execute code40434.81.7.31 - - [03/Oct/2026:09:02:51 +0300] "POST /cgi-bin/php-cgi.exe? HTTP/1.1" 404 236 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Claude-SearchBot/1.0; +<email>)"
2026-10-03T06:02:51Znl4-webodor-ex.comtried to abuse a local or remote file inclusion parameter such as allow_url_include40434.81.7.31 - - [03/Oct/2026:09:02:51 +0300] "POST /php-cgi/php-cgi.exe? HTTP/1.1" 404 236 "-" "Mozilla/5.0 (compatible; Hunyuan/1.0; +https://hunyuan.tencent.com/)"
2026-10-03T06:02:50Znl4-webodor-ex.comfuzzed a short, random filename looking for a forgotten script that responds40434.81.7.31 - - [03/Oct/2026:09:02:50 +0300] "POST /index.php? HTTP/1.1" 404 16 "-" "Mozilla/5.0 (compatible; YiBot/1.0; +https://01.ai/)"
2026-10-03T06:02:48Znl4-webodor-ex.comprobed a Spring Boot actuator endpoint, which can leak environment variables and internal config if left open40434.81.7.31 - - [03/Oct/2026:09:02:48 +0300] "GET /actuator/gateway/routes HTTP/1.1" 404 236 "-" "Mozilla/5.0 (compatible; Google-Extended; +http://www.google.com/bot.html)"
2026-10-03T06:02:48Znl4-webodor-ex.comswept a generic login/signup/account/dashboard route this site does not expose, consistent with an automated app-framework scanner40434.81.7.31 - - [03/Oct/2026:09:02:48 +0300] "GET /api/v1/loginmethod? HTTP/1.1" 404 236 "-" "Mozilla/5.0 (compatible; ChatGLM-Spider/1.0; +https://zhipuai.cn/)"
2026-10-03T06:02:47Znl4-webodor-ex.comrequested a generic /config or /api/config endpoint, hoping the app exposes its runtime configuration unauthenticated40434.81.7.31 - - [03/Oct/2026:09:02:47 +0300] "GET /api/v1/configs HTTP/1.1" 404 236 "-" "Mozilla/5.0 (compatible; xAI-Grok/1.0; +https://x.ai/)"
2026-10-03T06:02:46Znl4-webodor-ex.comclaimed to be Googlebot while POSTing, something the real crawler never does40434.81.7.31 - - [03/Oct/2026:09:02:46 +0300] "POST /v1/graphql HTTP/1.1" 404 236 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
2026-10-03T06:02:46Znl4-webodor-ex.comrequested a common cloud/app secrets or credentials filename (AWS, GCP, Firebase, Kubernetes service-account token, SSH, master key) from a wordlist, hoping one was left in the webroot40434.81.7.31 - - [03/Oct/2026:09:02:46 +0300] "GET /.git-credentials HTTP/1.1" 404 236 "-" "Mozilla/5.0 (compatible; GrokBot/1.0; +https://x.ai/)"
2026-10-03T06:02:46Znl4-webodor-ex.comrequested a .env file, hoping to find API keys or database credentials40434.81.7.31 - - [03/Oct/2026:09:02:46 +0300] "GET /.env.swp HTTP/1.1" 404 236 "-" "Mozilla/5.0 (compatible; ChatGLM-Spider/1.0; +https://zhipuai.cn/)"
2026-10-03T06:02:46Znl4-webodor-ex.commatched a catalogue rule40434.81.7.31 - - [03/Oct/2026:09:02:46 +0300] "GET /config/prod.exs HTTP/1.1" 404 236 "-" "Mozilla/5.0 (compatible; GrokBot/1.0; +https://x.ai/)"
2026-10-03T06:02:46Znl4-webodor-ex.comrequested a .env file, hoping to find API keys or database credentials40434.81.7.31 - - [03/Oct/2026:09:02:46 +0300] "GET /sendgrid.env HTTP/1.1" 404 236 "-" "Mozilla/5.0 (compatible; PanguBot/1.0; +https://www.huaweicloud.com/)"
2026-10-03T06:02:45Znl4-webodor-ex.comrequested a Vite/React-Server-Components source map, likely while mapping the app's bundled source40434.81.7.31 - - [03/Oct/2026:09:02:45 +0300] "GET /__vite_rsc_findSourceMapURL? HTTP/1.1" 404 236 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot"
2026-10-03T06:02:45Znl4-webodor-ex.comrequested a .env file, hoping to find API keys or database credentials40434.81.7.31 - - [03/Oct/2026:09:02:45 +0300] "GET /@fs/app/.env.production? HTTP/1.1" 404 236 "-" "Mozilla/5.0 (compatible; ChatGLM-Spider/1.0; +https://zhipuai.cn/)"
2026-10-03T06:02:45Znl4-webodor-ex.comrequested a .env file, hoping to find API keys or database credentials40434.81.7.31 - - [03/Oct/2026:09:02:45 +0300] "GET /config.env HTTP/1.1" 404 236 "-" "DuckAssistBot/1.1 (https://duckduckgo.com/duckassistbot)"
2026-10-03T06:02:45Znl4-webodor-ex.comused Vite dev server's @fs/ path to try to read arbitrary files outside the project root40434.81.7.31 - - [03/Oct/2026:09:02:45 +0300] "GET /@fs/proc/self/cmdline? HTTP/1.1" 404 236 "-" "CCBot/2.0 (https://commoncrawl.org/faq/)"
2026-10-03T06:02:45Znl4-webodor-ex.comrequested a .env file, hoping to find API keys or database credentials40434.81.7.31 - - [03/Oct/2026:09:02:45 +0300] "GET /@fs/app/.env.local? HTTP/1.1" 404 236 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Claude-SearchBot/1.0; +<email>)"

Report history

No abuse report sent for this address yet.

Not currently correlated with any campaign.

Dispute or removal: [email protected] — reference 34.81.7.31 (mailbox goes live with phase 3). See /threats/about for the method and the 7-day review window.

card.svg (used as this page's og:image)