Dosu says attacker abused org-invite flaw to reach its DB, CI and cloud
Dosu says an attacker abused an org-invitation flaw to reach its database, CI and cloud; it advises customers to check logs for its listed indicators.
- Published
- Ecosystem
- CI/CDCloudAI developer tools
- Fixed in
- Invitation authorization check fix shipped by Dosu on Nov 2, 2026 at 15:35 UTC (no version number given, not confirmed)
- Exploitation
- Yes, according to Dosu’s own post-mortem; no independent verification
What happened
According to Dosu’s own post-mortem, published by CEO Devin Stein on November 8, 2026, an attacker got into Dosu’s production systems on November 2, 2026. Dosu says the main intrusion ran from 04:11 to 07:59 UTC, with earlier scanning from October 31 and last probes of public endpoints on November 4 Dosu. This is the only source for the story. It is a first-party account from the affected company, and Dosu does not cite any independent verification.
Dosu describes the chain of events as follows Dosu:
- The attacker signed up for a free Dosu account with Slack sign-in, then exploited an incorrect RLS policy check on org invitations. Dosu says this let them create an invitation to any org, and they made themselves owner of Dosu’s internal org and of one open-source community org.
- As owner, Dosu says, the attacker changed the server URL of the internal org’s integrations to a Cloudflare Quick Tunnel they controlled. Dosu then sent those integrations’ credentials to the tunnel, including a read-only database token and a GitHub token for Dosu’s bot account.
- Dosu says the attacker used the database access to collect further database credentials, read tables and run commands.
- With the bot’s GitHub token, Dosu says, the attacker opened a pull request to an internal repository. Dosu’s CI ran an infrastructure preview on pull requests with access to production cloud credentials, and the pull request’s code sent those credentials to the attacker.
- With the cloud credentials, Dosu says, the attacker deployed a small backdoor service and ran a few reconnaissance commands. Dosu says its org policy blocked every attempt to make the service public.
- Dosu also says the attacker planted prompt-injection pages and asked Dosu’s AI agent for secrets, environment variables and cloud metadata, and that the agent refused every request for credentials.
Dosu says its database provider, Supabase, detected the malicious activity and alerted it at 08:17 UTC on November 2. Dosu says it was unavailable until 11:28 UTC that day.
On motive and tooling, Dosu says it believes the attacker was looking for OpenAI and Anthropic API keys and other credentials, based on query patterns. It says the attacker used the ARTEX penetration testing framework, which it says sent more than 80,000 requests in 90 minutes. Dosu says earlier penetration tests, including one the week before, did not detect the flaw.
What is not confirmed: there is no independent verification of Dosu’s account, no attribution to a named actor, and no count of affected customers beyond Dosu’s phrase “a small percentage”. Dosu says it ties the two attacking IP addresses to one operator through a shared TLS fingerprint.
Am I affected?
According to Dosu, the following was exposed Dosu:
- Account details for Dosu users: names, email addresses, sign-in providers and sign-in times. Dosu says there were no passwords or password hashes.
- For a small percentage of customers, pages Dosu had indexed from connected sources. Dosu says it contacted each of these customers directly.
Dosu says the following was not exposed:
- Source code, messages and billing information.
- Integration credentials and API keys. Dosu says the attacker reached the tables that hold them, but credentials are encrypted and API keys are hashed.
- Customer content. Dosu says no customer data was mutated and the only changes were two cosmetic org avatar changes.
Dosu says that if you have not been contacted directly, you do not need to take any action. Dosu states that it rotated every key and token it holds on customers’ behalf, so integrations do not need to be reconnected and new API keys are not needed.
Indicators of compromise published by Dosu (all times UTC) Dosu:
- 185.209.178.153 (IPv4, Latitude.sh): main attack address, Nov 2, 04:11 to 07:59.
- 56.10.188.158 (IPv4, AWS ap-southeast-1): scanning and probing, Oct 31 06:45 to Nov 4 04:35.
- plains-roof-anybody-seasons.trycloudflare.com: tunnel the attacker pointed integrations at, from Nov 2 06:09.
- webhook.site/42ecb092-44f0-4a9c-9b62-696d1405d911: where stolen CI credentials were sent, Nov 2 07:51.
- fldubai.com: email domain of the attacker’s accounts.
- TLS JA4 fingerprints t13d3112h2_e8f1e7e78f70_b26ce05bbdd6 (the attacker’s curl client) and t13d1813h1_85036bcba153_d339722ba4af (the attacker’s Python client).
- User agent ARTEX-17785/1.0, which Dosu describes as custom and seen only from the attacker.
- App, branch and service names with the prefixes pentest, probe and mq-probe-.
What to do now
- Check whether Dosu contacted you directly. Dosu says it notified affected customers on November 3 and 4 and will contact affected customers directly if it learns anything new Dosu.
- As a precaution, which Dosu recommends, search your own logs for the indicators of compromise listed above Dosu.
- If you find a match, or have questions, contact security@dosu.dev, the address Dosu gives Dosu.
- Dosu says you do not need to reconnect integrations or create new API keys, since it rotated what it holds for you. Treat this as Dosu’s statement, not something independently verified.