Public surface assessment — Academia Lendária
The marketing site (hosted on Vercel, Next.js stack) is well maintained: strong email authentication (DMARC reject, hard-fail SPF, Google DKIM), HSTS, real security.txt, and no secrets in public JavaScript. The real r…
Executive summary
Why act now
These findings are not theoretical: they are public surfaces a human or a hacker agent can consume today. Each card has proof links, impact, owner, fix, and validation — so the team takes risk seriously and acts.
The marketing site (hosted on Vercel, Next.js stack) is well maintained: strong email authentication (DMARC reject, hard-fail SPF, Google DKIM), HSTS, real security.txt, and no secrets in public JavaScript. The real risk is brand DNS exposing operational and product systems — especially Grafana with unauthenticated metrics, SSH open on the portal host, and a publicly advertised impersonation auth provider.
Stack in this run
| Component | Used | Note |
|---|---|---|
| ParviClaw Core + AWP | YES (lab) | full pack on engagement |
| ParviSight browser | partial | HTTP walk / agentic |
| PayBotFin Witness live | as engaged | honest scope in annex |
Findings
Each finding includes: problem, where (clickable link), attacker/agent impact, owner, PoC (read-only), how to fix, and how to validate.
Grafana with public metrics (no authentication)
HIGHhttps://academialendaria.ai/ — 200, ~480 KB; version in /api/health last_reprobe=2026-07-31.
Public engineering/tooling yields free recon (versions, configs, APIs).
- Human: Public eng surface on academialendaria.ai expands attacker recon.
- Agent (LLM+tools): Probe APIs/health in loops; correlate versions with CVEs.
- If invasive/destructive: Source/secrets/CI risk if auth weak later. L3 only proves public exposure.
Academia Lendária — security / product / infrastructure (confirm internal owner)
Read-only. Does not change the system.
curl -sSI 'https://academialendaria.ai/'
Remove from public DNS or require VPN/SSO; disable anonymous APIs; re-test from the public internet on academialendaria.ai.
Remove from public DNS or require VPN/SSO; disable anonymous APIs; re-test from the public internet on academialendaria.ai.
SSH port 22 open on portal server
HIGHhttps://academialendaria.ai/ (host IP) + TCP/22 — OpenSSH 9.6 banner on 207.180.223.38 last_reprobe=2026-07-31.
SSH on public web IP is a permanent brute-force target.
academialendaria.ai · TCP/22
- Human: SSH on public IP is a permanent brute-force target.
- Agent (LLM+tools): Port-scan brand IPs; spray against TCP/22.
- If invasive/destructive: Shell on host. L3 only proves port open.
Academia Lendária — security / product / infrastructure (confirm internal owner)
Read-only. Does not change the system.
nc -zv -w 3 academialendaria.ai 22
Close TCP/22 on public edge or restrict by allowlist/bastion; keys-only; fail2ban; no password auth.
Close TCP/22 on public edge or restrict by allowlist/bastion; keys-only; fail2ban; no password auth.
Impersonation provider advertised in Auth.js
HIGHhttps://academialendaria.ai/ — /api/auth/providers JSON last_reprobe=2026-07-31.
Public auth/federation edges expand phishing and IdP attack surface.
- Human: Public auth surface on academialendaria.ai expands attacker recon.
- Agent (LLM+tools): Keep surface in continuous recon.
- If invasive/destructive: Escalate if second bug/credential. L3 public-max is read-only.
Academia Lendária — security / product / infrastructure (confirm internal owner)
Read-only. Does not change the system.
curl -sSI 'https://academialendaria.ai/'
Remove non-prod auth edges from public DNS; prefer auth code+PKCE; conditional access; minimize public metadata where possible.
Remove non-prod auth edges from public DNS; prefer auth code+PKCE; conditional access; minimize public metadata where possible.
Grafana UI on brand DNS
HIGHhttps://academialendaria.ai/ — ** Anyone on the internet can read Prometheus-style metrics and Grafana health/version without login. last_reprobe=2026-07-31.
Public engineering/tooling yields free recon (versions, configs, APIs).
- Human: Public eng surface on academialendaria.ai expands attacker recon.
- Agent (LLM+tools): Probe APIs/health in loops; correlate versions with CVEs.
- If invasive/destructive: Source/secrets/CI risk if auth weak later. L3 only proves public exposure.
Academia Lendária — security / product / infrastructure (confirm internal owner)
Read-only. Does not change the system.
curl -sSI 'https://academialendaria.ai/'
Remove from public DNS or require VPN/SSO; disable anonymous APIs; re-test from the public internet on academialendaria.ai.
Remove from public DNS or require VPN/SSO; disable anonymous APIs; re-test from the public internet on academialendaria.ai.
CSP report-only with unsafe scripts
MEDIUMEvidence: CSP-Report-Only (or equivalent) still permissive for GTM/Facebook style stacks. Safe PoC: curl -sSI https://www.academialendaria.ai/ | grep -i content-security Fix: Move to enforcing CSP; reduce unsafe-inline/eval over time. --- last_reprobe=2026-07-31.
Weak browser security headers increase impact of XSS/clickjacking/MITM.
- Human: Public headers surface on academialendaria.ai expands attacker recon.
- Agent (LLM+tools): Keep surface in continuous recon.
- If invasive/destructive: Escalate if second bug/credential. L3 public-max is read-only.
Academia Lendária — security / product / infrastructure (confirm internal owner)
Read-only. Does not change the system.
curl -sSI 'https://www.academialendaria.ai/' | egrep -i 'strict-transport|content-security|x-frame|x-content'
Add/tighten HSTS, CSP, XFO, nosniff, Referrer-Policy, Permissions-Policy on https://academialendaria.ai/.
Add/tighten HSTS, CSP, XFO, nosniff, Referrer-Policy, Permissions-Policy on https://academialendaria.ai/.
CORS open to any origin (*)
MEDIUMAll www responses advertise <code>Access-Control-Allow-Origin: *</code>. Lower risk on static pages, noisy and dangerous if authenticated APIs share the origin. last_reprobe=2026-07-31.
Over-permissive CORS can enable cross-origin data theft.
- Human: Public cors surface on academialendaria.ai expands attacker recon.
- Agent (LLM+tools): Keep surface in continuous recon.
- If invasive/destructive: Escalate if second bug/credential. L3 public-max is read-only.
Academia Lendária — security / product / infrastructure (confirm internal owner)
Read-only. Does not change the system.
curl -sSI 'https://academialendaria.ai/'
Reflect only trusted Origins; avoid Access-Control-Allow-Origin: * on credentialed APIs.
Reflect only trusted Origins; avoid Access-Control-Allow-Origin: * on credentialed APIs.
TLS cert shared with igorrover.com.br
MEDIUMEvidence: CSP-Report-Only (or equivalent) still permissive for GTM/Facebook style stacks. Safe PoC: curl -sSI https://www.academialendaria.ai/ | grep -i content-security Fix: Move to enforcing CSP; reduce unsafe-inline/eval over time. --- last_reprobe=2026-07-31.
Weak browser security headers increase impact of XSS/clickjacking/MITM.
- Human: Public headers surface on academialendaria.ai expands attacker recon.
- Agent (LLM+tools): Keep surface in continuous recon.
- If invasive/destructive: Escalate if second bug/credential. L3 public-max is read-only.
Academia Lendária — security / product / infrastructure (confirm internal owner)
Read-only. Does not change the system.
curl -sSI 'https://www.academialendaria.ai/' | egrep -i 'strict-transport|content-security|x-frame|x-content'
Add/tighten HSTS, CSP, XFO, nosniff, Referrer-Policy, Permissions-Policy on https://academialendaria.ai/.
Add/tighten HSTS, CSP, XFO, nosniff, Referrer-Policy, Permissions-Policy on https://academialendaria.ai/.
Public portal health endpoint
MEDIUM<code>/api/health</code> returns anonymous JSON with schema status — useful for recon. last_reprobe=2026-07-31.
Public metrics leak ops data useful for targeting.
- Human: Public metrics surface on academialendaria.ai expands attacker recon.
- Agent (LLM+tools): Keep surface in continuous recon.
- If invasive/destructive: Escalate if second bug/credential. L3 public-max is read-only.
Academia Lendária — security / product / infrastructure (confirm internal owner)
Read-only. Does not change the system.
curl -sSI 'https://academialendaria.ai/'
Require auth on metrics/Grafana/Prometheus or put behind VPN; never expose raw metrics publicly.
Require auth on metrics/Grafana/Prometheus or put behind VPN; never expose raw metrics publicly.
Public Prometheus hostname (basic auth)
MEDIUM<code>prometheus.academialendaria.ai</code> asks for user/password (better than Grafana) but remains brand-DNS attack surface. last_reprobe=2026-07-31.
Public engineering/tooling yields free recon (versions, configs, APIs).
- Human: Public eng surface on academialendaria.ai expands attacker recon.
- Agent (LLM+tools): Probe APIs/health in loops; correlate versions with CVEs.
- If invasive/destructive: Source/secrets/CI risk if auth weak later. L3 only proves public exposure.
Academia Lendária — security / product / infrastructure (confirm internal owner)
Read-only. Does not change the system.
curl -sSI 'https://prometheus.academialendaria.ai'
Remove from public DNS or require VPN/SSO; disable anonymous APIs; re-test from the public internet on academialendaria.ai.
Remove from public DNS or require VPN/SSO; disable anonymous APIs; re-test from the public internet on academialendaria.ai.
Messy / malformed CAA records
MEDIUMMultiple certificate issuers and malformed values (e.g. duplicated “issuewild” text). last_reprobe=2026-07-31.
Public brand surface on academialendaria.ai expands recon until closed.
- Human: Public edge surface on academialendaria.ai expands attacker recon.
- Agent (LLM+tools): Keep surface in continuous recon.
- If invasive/destructive: Escalate if second bug/credential. L3 public-max is read-only.
Academia Lendária — security / product / infrastructure (confirm internal owner)
Read-only. Does not change the system.
curl -sSI 'https://academialendaria.ai/'
Remove unnecessary public hosts on academialendaria.ai DNS or enforce strong auth/WAF; re-test from internet.
Remove unnecessary public hosts on academialendaria.ai DNS or enforce strong auth/WAF; re-test from internet.
Unknown paths return HTTP 502
MEDIUMWhat: Auth.js exposes credentials provider id impersonation on public API. Where: https://portal.academialendaria.ai/api/auth/providers → 200 Body includes: "impersonation":{"id":"impersonation","name":"Credentials","type":"credentials",...} Safe PoC: ``bash curl -sS https://portal.academialendaria.ai/api/auth/providers | jq . `` Expected if fixed: Provider list wi last_reprobe=2026-07-31.
Public auth/federation edges expand phishing and IdP attack surface.
- Human: Public auth surface on academialendaria.ai expands attacker recon.
- Agent (LLM+tools): Keep surface in continuous recon.
- If invasive/destructive: Escalate if second bug/credential. L3 public-max is read-only.
Academia Lendária — security / product / infrastructure (confirm internal owner)
Read-only. Does not change the system.
curl -sSI 'https://portal.academialendaria.ai/api/auth/providers'
Remove non-prod auth edges from public DNS; prefer auth code+PKCE; conditional access; minimize public metadata where possible.
Remove non-prod auth edges from public DNS; prefer auth code+PKCE; conditional access; minimize public metadata where possible.
Apex HSTS weaker than www
MEDIUMSafe PoC: ``bash curl -sS -D- -o /dev/null -H "Origin: https://evil.example" https://www.academialendaria.ai/ | grep -i access-control ` Observed access-control-allow-origin: '' Impact: Cross-origin read of responses that set ACAO ; usually lower on static marketing, higher if APIs inherit. Fix: Restrict ACAO to known origins; never *` with credentials. --- last_reprobe=2026-07-31.
Weak browser security headers increase impact of XSS/clickjacking/MITM.
- Human: Public headers surface on academialendaria.ai expands attacker recon.
- Agent (LLM+tools): Keep surface in continuous recon.
- If invasive/destructive: Escalate if second bug/credential. L3 public-max is read-only.
Academia Lendária — security / product / infrastructure (confirm internal owner)
Read-only. Does not change the system.
curl -sSI 'https://evil.example' | egrep -i 'strict-transport|content-security|x-frame|x-content'
Add/tighten HSTS, CSP, XFO, nosniff, Referrer-Policy, Permissions-Policy on https://academialendaria.ai/.
Add/tighten HSTS, CSP, XFO, nosniff, Referrer-Policy, Permissions-Policy on https://academialendaria.ai/.
Brand DNS pointing to n8n
MEDIUM<code>n8n.academialendaria.ai</code> resolves; HTTPS timed out this run (possible firewall). Still public inventory. last_reprobe=2026-07-31.
Public engineering/tooling yields free recon (versions, configs, APIs).
- Human: Public eng surface on academialendaria.ai expands attacker recon.
- Agent (LLM+tools): Probe APIs/health in loops; correlate versions with CVEs.
- If invasive/destructive: Source/secrets/CI risk if auth weak later. L3 only proves public exposure.
Academia Lendária — security / product / infrastructure (confirm internal owner)
Read-only. Does not change the system.
curl -sSI 'https://n8n.academialendaria.ai'
Remove from public DNS or require VPN/SSO; disable anonymous APIs; re-test from the public internet on academialendaria.ai.
Remove from public DNS or require VPN/SSO; disable anonymous APIs; re-test from the public internet on academialendaria.ai.
Supabase allowed in CSP connect-src
MEDIUMBrowser may talk to <code>*.supabase.co</code>. Ensure only intended anon key and RLS — no service key in client. last_reprobe=2026-07-31.
Weak browser security headers increase impact of XSS/clickjacking/MITM.
- Human: Public headers surface on academialendaria.ai expands attacker recon.
- Agent (LLM+tools): Keep surface in continuous recon.
- If invasive/destructive: Escalate if second bug/credential. L3 public-max is read-only.
Academia Lendária — security / product / infrastructure (confirm internal owner)
Read-only. Does not change the system.
curl -sSI 'https://academialendaria.ai/' | egrep -i 'strict-transport|content-security|x-frame|x-content'
Add/tighten HSTS, CSP, XFO, nosniff, Referrer-Policy, Permissions-Policy on https://academialendaria.ai/.
Add/tighten HSTS, CSP, XFO, nosniff, Referrer-Policy, Permissions-Policy on https://academialendaria.ai/.
Evidence annexes (AWP + Core)
Real pack from L3 max retest 2026-07-31 (public-max, non-destructive). Each file has a caption. Links open the artifact.
What it is: signed Agent Witness Protocol receipt (offline-verifiable).
What it proves: integrity of our test/engagement log.
What it is NOT: not alone proof of the bug on your host (that is each finding’s PoC).
→ download awp-receipt.json
What it is: append-only leaves (scope, probes seal, catalog, quality, seal).
What it proves: timeline of this retest run.
→ download leaves.jsonl · leaf-chain.txt (PASS)
What it is: status/headers/samples from public-max probes.
What it proves: what the internet saw during the run.
→ download retest-raw.json
What it is: multi-page walk summary (URLs, sizes, forms).
→ download agentic-walk.json · core-export.json
→ open full evidence folder · engagement eng_academialendaria_l3_retest_1361 · witness_mode local_awp_dev (DEV_LAB keys — not production ceremony).
How to use / verify AWP (open-source)
- Download
awp-receipt.jsonfrom the annex (or clone the evidence folder). - On any machine with Node 18+:
# from the evidence folder npx agent-witness-protocol verify awp-receipt.json # or with local package node /path/to/agent-witness-protocol/bin/awp.js verify awp-receipt.json
Honest PASS meaning: the receipt’s signature, Merkle inclusion, and checkpoint check out — the test log is intact.
PASS does NOT mean: your production bug is fixed, or that PayBotFin live network witness was used (this pack is local_awp_dev / DEV_LAB unless noted).
PayBotFin Witness: live network emit is optional and engagement-scoped. If not listed above as network_emit, do not claim live PayBot verification for this run.
Remediation order for the team
- Close HIGH public exposures first (auth / VPN / DNS / policy).
- Fix MEDIUM headers, mail policy, and non-prod exposure.
- Re-test every PoC from the public internet until closed.
- Archive AWP/evidence pack for audit and retest baseline.