Reading progress 0 percent

JS Labs / Evidence-led analysis

The AI slop intelligence dashboard problem

Every day now, fresh batches of "AI intelligence" dashboards are posted across personal blogs, Hacker News, and Reddit, often in waves of thirty, forty, or fifty at a time. This page reviews a slice from just the last few days and finds the same pattern repeated: authority-forward interfaces, evidence-light internals, and avoidable safety failures. The audit trail now stands at 181 filed issues across 14 active public trackers, with one additional cloned repo blocked from public filing because GitHub issues are disabled. The exhausting part is not that one repo is bad. It is that the same bad ideas keep being cloned, rebranded, and relaunched as if a different coat of paint could turn fabricated output into evidence.

Key allegation summary

The evidence supports a narrow but serious claim: a significant share of these rapidly cloned dashboards present themselves as intelligence infrastructure while relying on fabricated outputs, unsafe operational surfaces, and weak provider boundaries. It is a category-level trust failure with wider downstream risk, including needless compute burn for synthetic outputs that should never have been generated. Read on, and if you are using tools like these for decisions, stop and verify everything.

View evidence by repo ↓

How to read this page

For non-technical readers: use one test throughout: does the product separate verified evidence from simulation, and does it disclose uncertainty when evidence is weak?

For technical readers: each section maps presentation claims to implementation behavior: route contracts, auth boundaries, provider integration patterns, runtime assumptions, and failure handling.

Editorial standard: this is a quality and risk critique, not a personality critique. Every major assertion is anchored to issue-linked public evidence.

What this investigation found

We reviewed only a recent slice, not every repo in the category, and still found the same recurring pattern: authority-signaling interfaces paired with implementation choices that would not pass a serious trust, safety, or reliability review.

Claim 1: some of these projects appear willing to fabricate intelligence-like output

This is the most consequential failure in the set: synthetic output presented in the rhetorical frame of verified intelligence. When that boundary collapses, the product actively distorts judgment.

Claim

Observed output paths blur the line between real evidence and synthetic filler

Based on the issue set already filed, several routes appear to emit plausible-looking intelligence output that is not clearly grounded in upstream truth. The observed pattern includes random commodity values labeled as live, deterministic fake vessel paths, synthetic news and sentiment fallback, and fabricated recon device results.

In practical terms, this is the software equivalent of correlating BGP instability with airport traffic, giving the output a stern label, and hoping the user mistakes narrative structure for intelligence. The interface gives the reader a story shape. The code does not necessarily give the reader evidence.

Evidence 01 / Public repo issue

Market route labeled live while generating commodity prices from randomness

Observed
14 May 2026
Finding
The issue documents a route returning status: LIVE while commodity prices are generated with random.uniform(...).
Confidence
High

Evidence 02 / Public repo issue

Vessel history path appears to be generated from pseudorandom data

Observed
14 May 2026
Finding
The issue documents a route seeded by MMSI that emits a repeatable “realistic” path rather than observed tracking history.
Confidence
High

Evidence 03 / Public repo issue

Geo-political news fallback appears to mix synthetic sentiment and synthetic summaries

Observed
14 May 2026
Finding
The issue documents random sentiment and simulated narrative generation entering the normal route path.
Confidence
High

Evidence 04 / Public repo issue

Recon route appears to fabricate devices when provider data is absent

Observed
14 May 2026
Finding
The issue documents random and hardcoded fallback devices returned through the same production response contract.
Confidence
High

Evidence 05 / Public repo issue

News API emits randomized escalation probabilities as if they were assessments

Observed
14 May 2026
Finding
The issue documents a news route that appends a random escalation probability to every article, presented without disclosure in the same field as evidence-backed intelligence.
Confidence
High

Evidence 06 / Public repo issue

Fire layer fabricates telemetry by mixing volcano events and inventing fire data

Observed
14 May 2026
Finding
The issue documents a fire intelligence layer that silently mixes volcano records into wildfire results and uses generated intensity values as if they were telemetry.
Confidence
High

Claim 2: some of these projects expose operationally unsafe control surfaces

The second pattern is operational, not theoretical: administrative and provider-backed capability exposed through weak boundary design. These are foundational engineering controls, not optional hardening tasks.

Claim

Unsafe control surfaces are visible from the public code and issue trail

The observed findings include public provider credential exposure, unauthenticated Docker control, SVG upload paths served from the application origin, and process-local runtime designs that appear likely to split state under normal multi-worker deployment.

There is no flattering way to describe a backend that talks about operations and then exposes stop and restart routes to unauthenticated callers. There is no serious way to describe client-visible credential material as “just a helper.” These are boundary failures.

Evidence 05 / Public repo issue

Provider credential material exposed through a public token route

Observed
14 May 2026
Finding
The issue documents a route returning encoded WiGLE credential material to callers.
Confidence
High

Evidence 06 / Public repo issue

Unauthenticated Docker control endpoints present in a public backend

Observed
14 May 2026
Finding
The issue documents stop, restart, status, and log routes backed by docker-compose.
Confidence
High

Evidence 07 / Public repo issue

SVG upload path served from the application origin

Observed
14 May 2026
Finding
The issue documents SVG uploads accepted and served from the same origin as the application.
Confidence
High

Evidence 08 / Public repo issue

Process-local runtime design appears likely to fragment state under scale

Observed
14 May 2026
Finding
The issue documents lazy background ingestion built around process-global state and likely multi-worker inconsistency.
Confidence
High

Claim 3: some provider integrations appear to be structurally weak or non-defensible

Even where direct fabrication is not visible, provider discipline often remains weak: throttling that does not hold, anonymous proxy-style patterns, plaintext or undocumented endpoints, and client-side bypasses that erode control intent.

Claim

Observed integrations suggest a preference for convenience over provider-safe design

The issue trail already documents anonymous recon routing into third-party sources, broken Nominatim throttling and bypass paths, and tower lookups that rely on plaintext or AJAX-style endpoints rather than a defensible machine contract.

This is how the genre keeps reproducing itself: a thin interface gets wrapped around someone else’s infrastructure, then marketed as a novel platform. The branding says strategic analysis; the implementation often says weekend prototype with production access.

Evidence 09 / Public repo issue

Public recon proxy into WiGLE, Shodan, and cell-data providers

Observed
14 May 2026
Finding
The issue documents anonymous callers driving server-side provider-backed recon operations.
Confidence
High

Evidence 10 / Public repo issue

Broken Nominatim throttling and direct frontend bypass

Observed
14 May 2026
Finding
The issue documents rate-limit logic that appears not to delay successful uncached requests, while browser components call Nominatim directly.
Confidence
High

Evidence 11 / Public repo issue

Plaintext and AJAX-style tower lookup paths

Observed
14 May 2026
Finding
The issue documents tower lookups using plaintext HTTP and public AJAX-like endpoints as if they were stable APIs.
Confidence
High

Timeline

This is not a long historical investigation yet. It is a tightly scoped sequence showing how quickly severe findings surfaced once the cloned repos were reviewed.

14 May 2026 / cloned set established

Target repositories were cloned locally for issue-backed triage.

Source: local audit workspace and public repositories.

14 May 2026 / first pass on GeoSentinel

Seven issues were documented, including fake market data, fake vessel history, a repository-known session key, and scraping routes masquerading as stable data sources.

Source: GeoSentinel issue tracker.

14 May 2026 / first pass on GHOST-osint-crm

Seven issues were documented, including unauthenticated Docker control, a repository-known session secret, and plaintext wireless-password retention.

Source: GHOST-osint-crm issue tracker.

14 May 2026 / first pass on WireTapper

Seven issues were documented, including anonymous provider-backed recon proxying, fabricated fallback recon data, direct DOM XSS sinks, and a committed debug server entrypoint.

Source: WireTapper issue tracker.

14 May 2026 / first pass on pharos-ai

Four issues were documented, including a public image proxy, unauthenticated chat spend exposure, public RSS fan-out, and unbounded process-local cache growth.

Source: pharos-ai issue tracker.

14 May 2026 / expose page assembled

The article and linked issue index were assembled into a static page for external hosting and continued expansion.

Impact: claims, evidence, caveats, and update path are now visible in one place.

14 May 2026 / second pass — new findings per repo

A second deep pass identified new findings not covered in the first pass: unauthenticated AI memory poisoning in GeoSentinel (#25), missing CSRF protection in GHOST-osint-crm (#21), silent network fingerprint exfiltration in WireTapper (#19), and a Tailscale-range SSRF bypass in the pharos-ai image proxy (#84).

osiris also received a dedicated second-pass audit that uncovered broken live features, hardcoded credentials, and data fabrication across additional routes.

14 May 2026 / AGENTS.md prompt injection discovered

osiris's AGENTS.md was found to contain a deliberate prompt injection claiming false Next.js breaking changes and redirecting AI agents to a non-existent path in node_modules/. Filed as osiris issue #46.

It is the only finding in the series that goes beyond bad engineering into apparent adversarial design: someone tried to prevent AI tools from reviewing the code accurately.

15 May 2026 / expansion pass complete: 181 filed issues across 14 active trackers, plus one blocked clone

The issue trail widened materially on 15 May 2026. The original cluster did not stabilize under deeper review; it spread. osiris now stands at 48 filed issues, GeoSentinel 20, GHOST-osint-crm 17, WireTapper 16, pharos-ai 14, and hantavirus-tracker 15.

Additional repos were then pulled into scope and produced the same pattern almost immediately: worldmonitor 6 issues, HantaTracker26 7, OSINT-Master-Tool 6, OSINT-War-Room 9, OSINTel-Dashboard 7, hantatracker 8, qgis-osint 6. delta-intelligence-dashboard added with 2 issues. VaradScript/GeoSentinel remains blocked by disabled issues.

Total filed issues: 181 across 14 active public trackers, with one additional clone blocked from the standard public filing path.

Technical findings

The blocks below are for readers who want implementation-level detail. They show enough to substantiate the claim without turning the page into a misuse guide. Sensitive or abuse-enabling detail should remain in the linked issue process where necessary.

Code evidence: random commodity values labeled live

Context: documented in GeoSentinel issue #19. The route appears to build commodity values with random offsets while returning a live-status response.

commodities = {
  "OIL": {"price": 74.23 + random.uniform(-0.5, 0.5), ...},
  "BRENT": {"price": 79.12 + random.uniform(-0.5, 0.5), ...}
}

return jsonify({
  "status": "LIVE",
  "commodities": commodities
})

Why it matters: the response preserves the presentation shape of a legitimate market feed while undermining the truth value of the returned numbers.

Code evidence: vessel history derived from pseudorandom generation

Context: documented in GeoSentinel issue #17. The route appears to seed a generator with MMSI and then emit a repeatable synthetic path.

random.seed(mmsi)
lat = random.uniform(-60, 70)
lon = random.uniform(-180, 180)

for _ in range(25):
  lat += random.uniform(-1.0, 1.0)
  lon += random.uniform(-1.0, 1.0)
  res.append([lat, lon])

Why it matters: a deterministic fiction can feel more trustworthy than an obvious error because it repeats cleanly.

Code evidence: unauthenticated Docker control surface

Context: documented in GHOST-osint-crm issue #13. The observed routes appear to call container-management commands without the sort of auth barrier implied elsewhere in the project.

app.post('/api/docker/restart', async (req, res) => {
  await execPromise('docker-compose restart')
})

app.post('/api/docker/stop', async (req, res) => {
  await execPromise('docker-compose stop')
})

Why it matters: dangerous host-control paths embedded directly in the application surface create denial-of-service and information-disclosure risk.

Code evidence: deliberate prompt injection in AGENTS.md targeting AI code reviewers

Context: documented in osiris issue #46. The repository's AGENTS.md — a file specifically read by AI coding agents such as Claude Code, Copilot Workspace, and similar tools — contains a false claim designed to redirect agents away from accurate code review.

<!-- BEGIN:nextjs-agent-rules -->
# This is NOT the Next.js you know

This version has breaking changes — APIs, conventions, and file
structure may all differ from your training data. Read the relevant
guide in `node_modules/next/dist/docs/` before writing any code.
Heed deprecation notices.
<!-- END:nextjs-agent-rules -->

Why it matters: node_modules/next/dist/docs/ does not exist in any standard Next.js distribution. The claim of "breaking changes" is fabricated. The structured HTML comment wrappers show this was intentionally written to target AI agent instruction parsing, not human readers. This is not a documentation error — it is an active attempt to subvert automated code review. In a supply-chain-compromised environment, it could redirect an agent to read attacker-controlled content. In the context of this audit series, it reads as a deliberate attempt to interfere with the security review process rather than accept its findings.

Repo coverage

The issue coverage below is the backbone of the article. The series now spans fifteen repos in scope: fourteen with active public issue trackers and one blocked clone where GitHub issues are disabled. The core pattern did not improve as the sample widened. It got worse: more fabricated output, more false “live” states, more open control surfaces, more borrowed authority, and more code that would rather simulate confidence than admit uncertainty.

Audit matrix

Repository Status Filed issues Observed pattern
simplifaisoul/osirisaudited48fabricated intelligence, exposed scanners, hardcoded secrets, adversarial prompt-injection against AI review
h9zdev/GeoSentinelaudited20randomized “live” outputs, false provider state, unauthenticated AI memory writes, debug exposure
elm1nst3r/GHOST-osint-crmaudited17admin exposure, plaintext credentials, public investigative data leakage, anonymous mutation
h9zdev/WireTapperaudited16anonymous recon proxying, fabricated recon results, XSS sinks, fake feature contracts
Juliusolsson05/pharos-aiaudited14public fan-out, SSRF/open-proxy risks, exposed operator tooling, wrong canonical reference data
EliseyRotar/hantavirus-trackeraudited15public-health source laundering, fabricated freshness, duplicate inflation, unsafe CI publishing
koala73/worldmonitoraudited6browser-held secrets, fail-open CORS, stale live-data fallback, synthetic “normal operations” state
schiffmannlevi-rgb/HantaTracker26audited7hand-authored outbreak records, hardcoded confidence, inflated totals, misleading freshness
aingram702/OSINT-Master-Toolaudited6public execution metadata, plaintext lookups, vendored binaries, weak operational custody
Hue-Jhan/OSINT-War-Roomaudited9logged credentials, unauthenticated scraper control, casualty theatre, simulated intercepts, permanently dead Twitter scraper
aenoshrajora/OSINTel-Dashboardaudited7public offensive tooling, mutable command templates, audit-history exposure, false-success streaming
aerayalkan/hantatrackeraudited8hardcoded outbreak corpus, fake freshness, non-merged claimed sources, heuristic row invention
Xpirix/qgis-osintaudited6embedded tokens, wildcard CORS, trust-auth defaults, unsafe remote URL trust
delta-intel/delta-intelligence-dashboardaudited2undocumented internal API abuse across five market signals, time-of-day fallback misrepresented as surveillance data
VaradScript/GeoSentinelblocked0 public issuesin scope, but GitHub issues are disabled so the normal evidence-backed filing path is blocked
Fifteen repos are now in scope. Fourteen have public issue trails. One is blocked by disabled issues. The names change faster than the failure pattern does.

simplifaisoul/osiris

48 issues filed

Observed pattern: the most thoroughly audited repo in the series, and the most revealing. Fabricated intelligence across multiple layers, hardcoded secrets, unauthenticated high-cost surfaces, broken live features masked as operational, and — uniquely — a deliberate prompt injection in AGENTS.md designed to subvert AI-assisted code review.

Why it leads the series

osiris presents itself as a comprehensive geopolitical intelligence platform with live feeds, threat metrics, satellite tracking, wildfire telemetry, and OSINT tooling. The issue trail shows most of these features are either broken, fabricated, or exploitable. The AGENTS.md prompt injection finding goes further: whoever pushed that file understood how AI code reviewers work and tried to deceive them rather than fix the code they were reviewing.

Issue summary (representative selection)

Issue Summary Class
#46AGENTS.md contains deliberate prompt injection targeting AI coding agents with false Next.js breaking-changes claimadversarial design
#45Unauthenticated scanner endpoint accepts arbitrary target with no SSRF protection — internal Tailscale network exposedSSRF / no auth
#29Wildfire ingestion route contains hardcoded NASA FIRMS API key committed to sourcecredential exposure
#8Scanner proxy leaks secret material via query strings and exposes internal error detail to callerssecret leakage
#6Hardcoded Basic Authorization credential committed in CCTV integrationcredential exposure
#30Fire layer mixes volcano events into wildfire data and fabricates fire telemetryfabricated data
#41Space-weather route converts missing Kp telemetry into a false 'Quiet' condition rather than an absencefabricated data
#38Live frontlines route is completely orphaned while the map renders static conflict markers as real-timebroken feature
#42Live Alerts news stream is dead due to a hard schema mismatch with /api/newsbroken feature
#43Global Threat metric is coupled to layer-loading state and structurally underreports by defaultdata integrity
Ten representative issues from a 48-issue trail. The full tracker documents additional findings across provider abuse, auth gaps, data integrity, broken live surfaces, and one deliberate attempt to mislead AI-assisted reviewers. View all open issues.

h9zdev/GeoSentinel

20 issues filed

Observed pattern: fabricated intelligence-like output, false provider-health claims, privacy-hostile search retention, unsafe runtime design, and unauthenticated write access to the AI memory layer — all presented through a high-authority interface.

Why it stands out

Among the current set, this repo most clearly demonstrates the danger of preserving a convincing interface shape while swapping out the evidentiary substance underneath.

Issue summary

Issue Summary Class
#16Public WiGLE token endpoint exfiltrates third-party API credentialscredential exposure
#17Vessel history endpoint fabricates AIS tracks from pseudorandom datafabricated data
#18Geopolitical news route fabricates and caches synthetic intelligence as live outputfabricated data
#19Market data API reports LIVE status while emitting fabricated commodity pricesfabricated data
#20AIS ingestion uses process-global background state and breaks under multi-worker deploymentruntime design
#21Search stack scrapes public search engines and onion indexes as if they were stable APIsprovider abuse
#22Flask session signing falls back to a repository-known SECRET_KEYsession security
#23Identity search routes fabricate contact records and assign random similarity scoresfabricated data
#24Flask debug server bound to 0.0.0.0 enables unauthenticated Werkzeug RCE on any reachable hostdebug exposure / RCE
#25Unauthenticated /api/search/inject route allows arbitrary AI memory poisoning via ChromaDB writeAI memory poisoning
#26Unauthenticated full CRUD on AI memory layer — single DELETE request wipes entire ChromaDB knowledge baseAI memory destruction
#27Unauthenticated /api/geosentialai/chat burns OpenRouter/HuggingFace API keys and proxies anonymous DuckDuckGo queriesAPI key abuse
#28/nearby route silently replaces empty WiGLE/Shodan scan results with hardcoded dummy surveillance devicesfabricated data
#30Status endpoints hardcode healthy subsystem state instead of checking dependenciesfalse health state
#31Placeholder HighSight route falsely reports provider online and key activefalse provider status
#32Reverse-image search uploads user photos to third parties and fabricates similarity scoresprivacy and fabricated scoring
#33Crime search silently stores guest investigative queries and results in SQLitesensitive data retention
Twenty published issues. The repo started as a fake-intelligence problem and widened into a trust catastrophe: false provider status, fabricated outputs, guest search archives, and a public AI memory layer that anonymous callers can read, poison, overwrite, or destroy.

elm1nst3r/GHOST-osint-crm

17 issues filed

Observed pattern: security and operations language in public docs, but issue-backed evidence of weak authorization, unsafe operational exposure, public investigative geodata, and anonymous mutation paths in code.

Why it stands out

The gap between documented posture and observed implementation is unusually visible here, especially around container control and public search exposure.

Issue summary

Issue Summary Class
#12Advanced search is unauthenticated and interpolates sortBy directly into SQLauth and injection
#13Unauthenticated Docker control endpoints allow remote stop/restart and log accessadmin exposure
#14Logo upload accepts SVG and serves active content from the application originstored XSS
#15Nominatim throttling is broken and frontend geocoding bypasses the compliance boundaryprovider misuse
#16Default Docker deployment exposes PostgreSQL with the repository-known password 'changeme'secret hygiene
#17Backend session middleware falls back to a repository-known signing secretsession security
#18Wireless network passwords are stored and rendered in plaintextcredential handling
#19Bootstrap docs and scripts normalise repository-known admin credentials as the expected setup pathcredential hygiene
#20Unauthenticated /api/system/health exposes memory, CPU, DB pool state, and database record countsinfo disclosure
#21Session cookie missing SameSite attribute and no CSRF middleware — all authenticated mutation routes vulnerableCSRF
#22GET /api/audit-logs is unauthenticated — exposes all investigation activity and target identities to anonymous callersinfo disclosure
#23docker-compose.yml hardcodes NODE_ENV=development, permanently bypassing the production security validation blockdeployment misconfiguration
#24Unauthenticated /api/locations exposes named investigative geodata and relationship metadataprivacy exposure
#25Public /api/geocode/batch rewrites all stored locations through anonymous batch geocodingunauthenticated mutation
#26Public batch-enhanced geocoder allows anonymous Nominatim fan-out and shared-cache mutationpublic fan-out / cache mutation
Fifteen issues. The repo does not just leak state; it lets anonymous callers read map-linked subject geodata and trigger full-dataset geocode mutation. A CRM that cannot defend its own investigation corpus is not a CRM. It is an exposure surface.

h9zdev/WireTapper

16 issues filed

Observed pattern: anonymous provider-backed reconnaissance, fabricated fallback output, browser-side XSS sinks, and a frontend that advertises telemetry, identity, and AI flows the backend does not even implement.

Why it stands out

The observed behavior suggests a system that would rather look useful than visibly admit failure, which is precisely the wrong instinct for a tool making evidence-like claims.

Issue summary

Issue Summary Class
#10Public recon endpoints proxy anonymous searches into WiGLE, Shodan, and cell-data providerspublic recon abuse
#11Recon APIs fabricate device intelligence when providers return no datafabricated data
#12Cell tower lookups use plaintext HTTP and scrape public AJAX endpoints as APIsprovider misuse
#13Untrusted provider fields are injected into popup and sidebar HTML, creating XSS sinksXSS sink
#14Recon routes make outbound provider calls with no timeouts, allowing worker starvationresource exhaustion
#15Committed entrypoints run the Flask debug server on 0.0.0.0debug exposure
#16Chat/message renderer writes arbitrary HTML into innerHTMLXSS sink
#17Tracked entrypoint encourages provider secrets to be stored directly in sourcesecret hygiene
#18Search results renderer injects unsanitised provider SSID and vendor fields into DOM via innerHTMLXSS sink
#19wpasec_kquery silently exfiltrates BSSID/SSID fingerprints to wpa-sec.stanev.org on every scan without disclosuredata exfiltration
#20Duplicate runnable entrypoints create split-brain runtime behaviorruntime divergence
#21Frontend ships fake identity and logout flows backed by nonexistent routesfalse auth surface
#22Frontend emits telemetry to a nonexistent /log-activity endpoint on every sessiondead telemetry
#23Built-in AI assistant calls a nonexistent /chatgpt backend routefake feature contract
Fourteen issues. This repo is structurally dishonest. The UI keeps implying working auth, logging, and AI support while the backend offers none of them. It is capability theatre wired to real recon and exfiltration risk.

Observed pattern: a public health surveillance tracker that markets live, source-attributed outbreak data while almost all of its case records are hardcoded seed constants. The primary ArcGIS data source returns 0 live cases every run, contains a NameError that silently drops all fetched records, and the GeoJSON metadata reports "status": "ok" for every source regardless of whether live data was used or hardcoded fallback was returned.

Why it stands out

The hantavirus-tracker applies the AI slop pattern to a domain where fabrication carries a specific and serious harm: public health decision-making during an active outbreak. The deduplication key inflates case counts by counting the same outbreak event once per data source, and the GitHub Actions workflow auto-pushes to the production Pages branch with no dependency pinning and no branch protection. Compromising a single PyPI package produces a write to the live public website.

Issue summary

Issue Summary Class
#1Scraper injects hardcoded MV Hondius itinerary rows into the published outbreak datasetfabricated data
#2Supplementary collectors publish hand-authored seed cases under CDC, ECDC, HealthMap, and GDELT source labelsfabricated data / false provenance
#7NameError in arcgis.py drops all ArcGIS cases when any feature has an unknown locationsilent data loss
#8GeoJSON metadata reports 'ok' for all sources regardless of live-vs-seed-fallback originfalse health state
#9Scrape workflow grants contents:write and auto-pushes to main with no dependency pinning or branch protectionsupply chain / CI risk
#10Pages workflow deploys entire repo root, exposing scrape logs, Python source, and dependency manifestsinfo disclosure
#11Cross-source deduplication key includes source field, causing the same case to be counted once per data sourceinflated case counts
#12HealthMap collector scrapes an undocumented internal PHP endpoint without authorizationunauthorized API access
#13Seed case source_verified_at timestamps are set to run time, fabricating data-freshness signals for hardcoded recordsfabricated freshness signals
Nine representative issues from a 15-issue trail. This is the only repo in the series where the fabrication pattern directly intersects public health decision-making: case counts are inflated by deduplication design, freshness timestamps are false, and the primary live source has silently returned 0 records. View all open issues.

VaradScript/GeoSentinel

cloned / issue filing blocked

Observed state: in scope for the same hostile-quality first pass, but the public issue workflow is blocked because the repository has GitHub issues disabled.

Why it is in scope

The naming overlap and likely fork-or-variant relationship make it a high-yield candidate for duplicated architectural and data-quality failures. It belongs in the series because cloned dashboard families often reproduce the same bugs with minimal adaptation.

Current status

  1. Repository cloned into the local audit workspace.
  2. GitHub issues are disabled, so the normal evidence-backed public filing path cannot be used here.

Juliusolsson05/pharos-ai

14 issues filed

Observed pattern: expensive public AI surfaces, proxy-style fetch paths, unauthenticated operator tooling, and a reference-data layer willing to ship speculative or incorrect geopolitical facts as if they were settled baseline truth.

Why it is in scope

This repo represents the more polished end of the same genre: cleaner code, better structure — but still a willingness to expose costly or trust-sensitive behavior through thin public boundaries, and still shipping committed credentials and an exploitable proxy.

Issue summary

Issue Summary Class
#78Public image proxy uses incomplete SSRF defenses and follows unvalidated redirectsproxy trust boundary
#79Public chat endpoint can trigger unbounded OpenAI spend and anonymous data growthcost exposure
#80Public RSS fetch endpoint exposes unauthenticated multi-feed fan-out and cache warmingpublic fan-out
#81Prediction history endpoint allows unbounded in-memory cache growthcache growth
#82OSINT subsystem ships repository-known storage and database credentials in committed configcredential exposure
#83Markets route scrapes Yahoo Finance internal chart API using a hardcoded browser User-Agentprovider abuse
#84Unauthenticated image proxy misses Tailscale CGNAT range in SSRF blocklist and proxies arbitrary Content-Type responsesSSRF / open proxy
#85World Bank military route accepts unbounded country list — triggers N×7 parallel upstream requests per call with no count cap or authresource exhaustion
#86Live-status endpoint caches offline on transient exceptionsfalse outage state
#87OSINT service exposes Bull Board queue dashboard without authenticationoperator surface exposure
#88Public predictions-markets route fan-outs 12 Polymarket searches on every requestpublic fan-out
#89Reference datasets hardcode incorrect and speculative geopolitical facts as canonical datacanonical data corruption
Twelve issues. The code is cleaner than the rest of the field, which makes the trust failures more revealing: public operator tooling, expensive anonymous fan-out, and canonical reference data that is simply wrong but still shipped as authoritative product truth.

Observed pattern: a market intelligence and geopolitical risk dashboard that presents cleaner architecture than most of the field — but still calls Yahoo Finance's undocumented internal chart API as if it were a stable, authorized integration, and ships a "Pentagon Pizza Index" fallback that returns a time-of-day integer score rather than a null when the live API is unavailable.

Why it is in scope

delta-intelligence-dashboard is notable precisely because it is better-built than most of the cluster: TypeScript, cleaner component structure, less outright fabrication. What remains is a quieter failure: five market-intelligence signals all routed through an undocumented query1.finance.yahoo.com/v8/finance/chart/ endpoint using a hardcoded browser User-Agent, and a fallback that misrepresents a DC office-hours heuristic as a real intelligence signal. Better code does not exempt the design from the same provider-discipline questions as the rest of the series.

Issue summary

Issue Summary Class
#1Five market signals call Yahoo Finance undocumented internal chart API on every polling cycleprovider abuse
#2Pentagon Pizza Index fallback returns time-of-day score instead of null when live API is unavailablefabricated fallback
Two issues. The repo is the most structurally competent entry in the series, which makes the provider-discipline gaps stand out rather than get lost in broader noise.

Why this matters

  • User risk: readers may make judgments based on synthetic, simulated, or weakly substantiated output.
  • Platform risk: exposed control surfaces and weak provider discipline create avoidable abuse and reliability risk.
  • Reputational risk: products that borrow the language of intelligence analysis acquire a higher burden of care, not a lower one.
  • Environmental cost: energy-intensive AI and data pipelines are being spent on fabricated or low-integrity outputs, turning planetary cost into confidence theatre.
  • Public trust harm: when theatrical interfaces hide evidentiary weakness, the broader category becomes harder to take seriously.
  • Market harm: the proliferation of these systems lowers the perceived standard for what “intelligence” software is allowed to get away with.

What this does not prove

  • It does not prove the maintainers intended abuse or deception.
  • It does not prove malicious use occurred.
  • It does not prove every route, every feature, or every repo in this cluster behaves the same way.
  • It does not prove any one provider relationship was formally terminated or breached.
  • It does not remove the need for further verification and remediation review as the issue set evolves.

Right of reply

At the time of publication, the projects discussed here had been engaged through their public GitHub issue trackers rather than through a separate private correspondence process. That means the current right-of-reply path is public and issue-linked.

  • Contact path used: public GitHub issues linked throughout this article.
  • Status: no consolidated substantive response incorporated into this page yet.
  • Update policy: if maintainers provide clarification, remediation evidence, or factual correction, this page should be updated with a dated note in the log below.

Methodology

  • Sources reviewed: public repositories, public issue trackers, README and security docs, visible route and integration code.
  • Tests performed: non-invasive code inspection, route inventory, duplicate issue checks, provider usage review, and issue-backed documentation.
  • Tests not performed: no destructive testing, no brute force, no third-party scanning, no auth bypass, no exploitation of live external systems.
  • Redactions: issue bodies were written to avoid disclosing secrets or misuse-enabling detail unnecessarily.
  • Confidence level: high on the documented issue set; lower on any broader industry inference beyond the repos already audited.

Conclusion

The slop-era failure is unearned authority at industrial scale. If outputs are synthetic, controls are weak, and provider boundaries are fragile, the system is not functioning as intelligence infrastructure regardless of interface polish. What makes this pattern so abrasive is how often the same failures are shipped with full confidence and then recopied into the next repo as if nobody will read the code.

Updates and corrections

  • 2026-05-14: Initial publication of the static exposé page.
  • 2026-05-14: Added linked issue index for the current audited repo set.
  • 2026-05-14: Expanded article structure to include claim/evidence blocks, timeline, methodology, caveats, right of reply, and update log.
  • 2026-05-14: Expanded the page to reflect the wider six-repo review series and added a public submission block.
  • 2026-05-14: Added reader-guide framing and accessibility-focused feedback updates for focus visibility, target size, and progress announcements.
  • 2026-05-14: Second-pass audits completed across all five active repos. New findings include: AI memory poisoning (GeoSentinel #25), missing CSRF protection (GHOST #21), silent BSSID/SSID exfiltration (WireTapper #19), SSRF blocklist bypass (pharos-ai #84).
  • 2026-05-14: osiris elevated from footnote to lead case study. Full issue table added with 41-issue trail. AGENTS.md prompt injection (osiris #46) documented as the standout finding of the series — a deliberate attempt to subvert AI-assisted security review.
  • 2026-05-14: Article statistics updated to reflect complete coverage: 82 findings across 5 audited repos. All issue tables brought current. Two new osiris evidence cards added to Claim 1.
  • 2026-05-15 (morning): Third-pass audit complete. New findings widened the pattern beyond obvious auth bugs: GeoSentinel now includes false provider status, random reverse-image similarity scoring, and guest investigative-history retention (#31-33); GHOST-osint-crm now includes public investigative geodata exposure and anonymous full-dataset geocode mutation (#24-26); WireTapper now includes fake identity, dead telemetry, and a nonexistent AI backend contract (#21-23); pharos-ai now includes an exposed queue dashboard, public 12-query prediction fan-out, and incorrect canonical geopolitical reference data (#87-89).
  • 2026-05-15 (afternoon): Fourth-pass audit added EliseyRotar/hantavirus-tracker, a public health surveillance tracker for the May 2026 MV Hondius Andes hantavirus outbreak. Fifteen issues are now filed there, covering hardcoded source-branded seed data, false freshness signals, duplicate inflation, an ArcGIS collector failure, and unsafe CI publication paths.
  • 2026-05-15 (late): The sample widened again and the pattern held. worldmonitor, HantaTracker26, OSINT-Master-Tool, OSINT-War-Room, OSINTel-Dashboard, hantatracker, and qgis-osint all produced first-pass issue sets quickly. The broader series now stands at 177 filed issues across 13 active public trackers, with VaradScript/GeoSentinel still blocked by disabled issues.
  • 2026-05-15 (latest): Added repo-level decommission or archival recommendation issues across every active tracker in scope. The argument is now structural, not cosmetic: repeated fabricated output, exposed control surfaces, and false operational state are enough to question whether these repos should remain publicly positioned as usable systems.
  • 2026-05-15 (fifth pass): delta-intelligence-dashboard added to scope. Two issues filed: undocumented Yahoo Finance internal chart API used for all five market signals (VIX, Treasury, WTI Crude, Gold, Dollar Index), and the Pentagon Pizza Index fallback returning a time-of-day integer score instead of null when the live API is unavailable. OSINT-War-Room updated to 9 issues (+2: permanently disabled Twitter scraper still spawned at startup, and decommission recommendation). Series total: 181 filed issues across 14 active public trackers.