cowl.pro

PremiumPublic security posture · Completed

Share on X
$COWLCowlRobinhood ChainPonsMC $53.6k at scan
0xdCfa97774BA2cb8a9deD0612524984f6f46d4556

This report grades the token's website configuration, not the token contract, liquidity or team.

Security grade

C
Configuration score68/100

Grades reflect only the externally visible controls listed below. A good grade does not prove the application is secure. How grades work

0
High
2
Medium
3
Low
2
Informational
17 of 24 assessed checks passed

Website & claims

What the site says, checked against data
Screenshot of cowl.pro at scan time
cowl.pro · captured at scan time
Page title
COWL · Put a hood on your wallet
Domain registered
Unavailable
Registrar
–
Contract address on site
0xdCfa97774BA2cb8a9deD0612524984f6f46d4556
✓ Matches

Contract address shown on the website

The site shows 0xdCfa97774BA2cb8a9deD0612524984f6f46d4556.

✓ Matches

X account linked on the website

The site and the token both point to x.com/cowlhq.

✓ Matches

“Supply 980,413,898”

On-chain total supply is 980,413,898.067.

? Can't verify

“Creator tax 2% buy and sell, fixed at launch”

Trading tax isn't checked yet.

✓ Matches

“liquidity moves to Uniswap v4, where it is locked”

Graduated on Pons V2, which locks pool liquidity permanently.

? Can't verify

“Owner / admin None”

The contract has no owner() function to check.

? Can't verify

“AUDIT Not yet”

No link to an audit firm's report was found on the page.

Claims are quoted verbatim from the page. “Matches” and “Doesn't match” come from on-chain data, the token's metadata or public domain records. Anything we can't check against data is marked “Can't verify”, which is not the same as false.

TLS & transport

All checks passed
HTTPS works with a trusted certificatePassed
The homepage loaded over HTTPS and the certificate was accepted.
Final URL
https://cowl.pro/
Status
200
HTTP redirects to HTTPSPassed
The unencrypted homepage immediately redirects to HTTPS.
Redirect
308 → https://cowl.pro/
HSTS is enabledPassed
Browsers are told to use HTTPS for 365 days.
Strict-Transport-Security
max-age=31536000
Legacy TLS versions are refusedPassed
The server refused handshakes offering only TLS 1.0 or TLS 1.1.
TLS 1.0
rejected
TLS 1.1
rejected

HTTP security headers

1 finding
mediumConfirmed

Content Security Policy missing

The browser is not told which script sources to trust, so any injected script will run.

Content-Security-Policy
(not set)
Recommendation · Start with a policy such as default-src 'self'; script-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'none', then add only the origins the app needs. Use nonces or hashes instead of 'unsafe-inline'.
Why it matters ↓

CSP limits which scripts can run. For dApps it is the main browser-side defence against an injected script draining connected wallets.

How we check: Reads the Content-Security-Policy header and flags policies that still allow inline or arbitrary-origin scripts.

https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
Framing is restrictedPassed
Other sites can't embed this page in a frame.
X-Frame-Options
DENY
MIME sniffing disabledPassed
Browsers will respect declared content types.
X-Content-Type-Options
nosniff
Referrer-Policy is setPassed
Policy: no-referrer.
Referrer-Policy
no-referrer
Permissions-Policy is setPassed
Access to powerful browser features is restricted.
Permissions-Policy
camera=(), microphone=(), geolocation=()
No exact versions disclosedPassed
Server headers don't reveal exact software versions.

Cookie configuration

All checks passed
Secure flag: no cookies setPassed
No cookies were set while loading the homepage, so there is nothing to misconfigure here.
HttpOnly: no session cookies setPassed
No cookies were set while loading the homepage, so there is nothing to misconfigure here.
SameSite: no cookies setPassed
No cookies were set while loading the homepage, so there is nothing to misconfigure here.

DNS & email posture

4 findings
mediumConfirmed

No DMARC policy

Receiving mail servers aren't told what to do with mail that spoofs this domain.

Lookup
_dmarc.cowl.pro
Recommendation · Publish _dmarc TXT v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain and move to p=reject once reports look clean.
Why it matters ↓

DMARC tells receiving mail servers to reject mail that fails authentication — the main defence against spoofed announcements from your domain.

How we check: Reads the _dmarc TXT record for the domain or its organizational domain and checks the policy.

https://dmarc.org/overview/
lowConfirmed

No SPF record

The domain doesn't declare which servers may send mail as it.

MX
(none)
Recommendation · If the domain never sends mail, publish v=spf1 -all.
Why it matters ↓

SPF lists who may send mail as the domain. Crypto projects are frequent targets of impersonation emails.

How we check: Reads the domain's TXT records for an SPF policy and checks it is not permissive.

https://datatracker.ietf.org/doc/html/rfc7208
lowConfirmed

No CAA records

Any certificate authority may issue certificates for this domain.

Recommendation · Publish CAA records naming the CAs you use, e.g. 0 issue "letsencrypt.org".
Why it matters ↓

CAA restricts which certificate authorities may issue certificates for the domain, reducing the risk of a mis-issued certificate.

How we check: Looks up CAA records for the domain and its parents.

https://datatracker.ietf.org/doc/html/rfc8659
lowConfirmed

DNSSEC not enabled

DNS answers for this domain are not cryptographically signed.

AD flag
not set
Recommendation · Enable DNSSEC at your DNS provider and publish the DS record at your registrar.
Why it matters ↓

DNSSEC prevents forged DNS answers from sending visitors to a look-alike server.

How we check: Resolves the domain through a validating resolver and checks whether the answer is DNSSEC-authenticated.

https://www.cloudflare.com/dns/dnssec/how-dnssec-works/

Frontend & disclosure

1 finding
infoConfirmed

No security.txt

There is no published channel for reporting vulnerabilities.

https://cowl.pro/.well-known/security.txt
HTTP 404
Recommendation · Publish /.well-known/security.txt with Contact and Expires fields (see securitytxt.org).
Why it matters ↓

Gives researchers a clear way to report vulnerabilities privately instead of disclosing them publicly.

How we check: Requests /.well-known/security.txt and checks it contains a Contact field and has not expired.

https://securitytxt.org/
No mixed contentPassed
All resources referenced in the homepage HTML use HTTPS or relative URLs.
No third-party scripts in the HTMLPassed
All script tags in the homepage HTML load from the site's own domain.

Web3 frontend

1 finding
infoPotential · needs review

15 of 15 referenced addresses without verified source on Sourcify

These addresses appear in the page code but have no verified source on Sourcify for Ethereum, Base, Arbitrum One, OP Mainnet, Polygon, BNB Chain. They may be wallets rather than contracts, live on another chain, or be verified elsewhere, such as Etherscan.

Unverified address
0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC
Unverified address
0x4a0E65A3EcceC6dBe60AE065F2e7bb85Fae35eEa
Unverified address
0xaF3D76f1834A1d425780943C99Ea8A608f8a93f9
Unverified address
0x322F0929c4625eD5bAd873c95208D54E1c003b2d
Unverified address
0x117cc2133c37B721F49dE2A7a74833232B3B4C0C
Unverified address
0x2e0847E8910a9732eB3fb1bb4b70a580ADAD4FE3
Recommendation · Verify the source of every contract users interact with on Sourcify and the relevant block explorer.
Why it matters ↓

Users should be able to read the code they're asked to interact with. Unverified addresses aren't necessarily unsafe, so this is informational only.

How we check: Extracts EVM addresses referenced in the page code (up to 6) and checks Sourcify for verified source on Ethereum, Base, Arbitrum, OP Mainnet, Polygon and BNB Chain.

https://docs.sourcify.dev/
No known-malicious releases referencedPassed
Checked 1 script and the homepage HTML against published malicious wallet-package releases.
No wallet code loaded from public CDNsPassed
Wallet and chain libraries are not fetched from public CDNs at runtime.
No source maps referencedPassed
None of the 1 script and the homepage HTML reference a source map.

Wallet stack detected

No wallet or chain libraries recognised in the inspected code.

Inspected 1 script (553 KB) that the homepage loads for every visitor, plus the HTML. Lazy-loaded code beyond these may not be covered.

Contracts referenced in page code

  • 0xd060…9EECno Sourcify match
  • 0x4a0E…5eEano Sourcify match
  • 0xaF3D…93f9no Sourcify match
  • 0x322F…3b2dno Sourcify match
  • 0x117c…4C0Cno Sourcify match
  • 0x2e08…4FE3no Sourcify match
  • 0xe932…2e74no Sourcify match
  • 0x1b0E…153Eno Sourcify match
  • 0x12f1…bF54no Sourcify match
  • 0xc0D6…2f35no Sourcify match
  • 0x8692…3fdCno Sourcify match
  • 0xC9a9…FC4eno Sourcify match
  • 0xfF08…4afDno Sourcify match
  • 0x894E…4F2Ano Sourcify match
  • 0x1D11…4516no Sourcify match

Verification status from Sourcify. Green chains link to the block explorer.

Agent trace

36 steps · every action the agent took
Show the full trace ↓
  1. 0.0s▸Premium assessment of cowl.pro · budget 100 requests
  2. 0.0s✓Resolved cowl.pro → 31.220.55.35, all public
  3. 0.1s▸Probing HTTPS, HTTP and legacy TLS
  4. 0.3s✓GET https://cowl.pro/ → 200 in 185ms
  5. 0.3s·GET http://cowl.pro/ → 308 https://cowl.pro/
  6. 0.3s✓TLS 1.0 handshake refused
  7. 0.3s✓TLS 1.1 handshake refused
  8. 0.3s·Security headers present: strict-transport-security, x-frame-options, x-content-type-options, referrer-policy, permissions-policy
  9. 0.3s·0 cookies set on the homepage
  10. 0.4s▸Reading DNS, security.txt and the page's JavaScript
  11. 0.4s·Homepage references 1 script; reading landing.js
  12. 0.4s·landing.js (553 KB)
  13. 0.4s·No wallet or chain libraries recognised
  14. 0.4s▸Found 15 contract addresses in page code; checking Sourcify on 6 chains
  15. 0.4s·security.txt not found (HTTP 404)
  16. 2.0s·DNS: DNSSEC off · CAA none · SPF none · DMARC none
  17. 3.7s·0xd060…9EEC: no Sourcify match
  18. 3.7s·0x4a0E…5eEa: no Sourcify match
  19. 3.7s·0xaF3D…93f9: no Sourcify match
  20. 3.7s·0x322F…3b2d: no Sourcify match
  21. 3.7s·0x117c…4C0C: no Sourcify match
  22. 3.7s·0x2e08…4FE3: no Sourcify match
  23. 3.7s·0xe932…2e74: no Sourcify match
  24. 3.7s·0x1b0E…153E: no Sourcify match
  25. 3.7s·0x12f1…bF54: no Sourcify match
  26. 3.7s·0xc0D6…2f35: no Sourcify match
  27. 3.7s·0x8692…3fdC: no Sourcify match
  28. 3.7s·0xC9a9…FC4e: no Sourcify match
  29. 3.7s·0xfF08…4afD: no Sourcify match
  30. 3.7s·0x894E…4F2A: no Sourcify match
  31. 3.7s·0x1D11…4516: no Sourcify match
  32. 3.8s✓Graded C (68/100) · 0 high, 2 medium, 3 low · 13 requests to the target
  33. 31.8s✓Rendered the homepage in a browser and saved a screenshot: "COWL · Put a hood on your wallet"
  34. 31.8s◆Writing summary with openai/gpt-oss-120b and checking the site's claims
  35. 41.8s◆Checked 7 claims: 4 match, 0 don't match, 3 can't be verified
  36. 41.9s!Summary unavailable; the report is complete without it

Scope & limitations

Assessment type
Premium, public, non-invasive
Payment
Complimentary
Target
cowl.pro
Final URL
https://cowl.pro/
Resolved addresses
31.220.55.35
Scanned
Oct 21, 2026, 08:13 UTC
Duration
3.8s
Requests made
13 (budget 100)
Report ID
xhnpztsje4
  • This is a public, non-invasive assessment of externally visible configuration. It does not test application logic, authentication, APIs, smart contracts or wallet flows.
  • Only the homepage, up to 8 of the scripts it loads, and a few well-known paths were requested. Other pages, lazy-loaded code and subdomains may be configured differently.
  • A good grade means the checked controls are in place. It does not prove the application is secure.

Own cowl.pro? Verified owners will be able to request authorized deeper testing and receive findings privately. To dispute a result or opt out of public assessments, see opt-out & abuse reporting.