Beta Red Team — Rules of Engagement
Session 4: Open Red Team
| Effective | 29 September 2026 |
| Expires | 31 March 2027 |
| Applies to | all Crypt-in developer beta participants |
| Server-side red team | target 30 October 2026, clone redteam-license.lake8.dev only |
| Never in scope | license.lake8.dev — the production licence server |
| Contact | security@lake8.dev |
| PGP | cryptin.lake8.dev/security/pgp/ |
| PGP fingerprint | published at cryptin.lake8.dev/security/pgp/ |
What this is
Section titled “What this is”The Crypt-in developer beta is Session 4 of our public red team program. Sessions 1–3 were conducted internally with Claude Opus 5, full source access, and a live dongle. The full report is public at cryptin.lake8.dev/security/red-team-2026-08/
Session 4 is you.
Every beta participant is officially part of our security program. These rules define what you can do, what you cannot do, and what protects you legally when you find something.
1. Scope — what you can attack
Section titled “1. Scope — what you can attack”Everything in scope is yours: your hardware, your client, your files. You have permission to test it aggressively. The licence server is the one entry below that says what you may not do — read it.
Your hardware
Section titled “Your hardware”- Your ESP32-S3 beta dongle (firmware
-dev) - Your flash memory — including SPI dumps, serial console access, NVS extraction
- Your firmware binary — reverse engineering, disassembly, Ghidra, IDA, Binary Ninja, anything you want
- Your USB HID traffic — capture, replay, manipulation, injection
- Any combination of your own dongles
Your client installation
Section titled “Your client installation”- The Windows client (Personal v1) on your own machine
- The SDK on your own machine
- Memory inspection, debugging, patching, replacing DLLs, writing your own HID client — all permitted
- File system inspection, process instrumentation, API hooking
The licence server — the clone only, and not open yet
Section titled “The licence server — the clone only, and not open yet”During the beta the licence server is not a target. Your beta client
connects to the production server, license.lake8.dev, and you use it only
to activate, renew, transfer and recover your own licence — as a user, not
as an attacker. Do not attack it, and do not load-test it.
Server-side red-teaming has not opened: target date 30 October 2026 —
see the status note at the top of this page. When it opens, it opens against a
clone, redteam-license.lake8.dev, reached by a separate red-team build
of the client: the RedTeam configuration of the public SDK repository
(github.com/jaffa2970/cryptin-sdk-beta,
dotnet build -c RedTeam), which points at the clone and writes
«⚠ RED TEAM — redteam-license.lake8.dev» in every window title.
From that date the clone — and only the clone — is in scope: activation,
renewal, transfer, recovery, expiry, race conditions, replay, concurrency,
timing, and load testing are all fair game on the clone. license.lake8.dev
never is.
A beta dongle will accept the clone’s tokens. The clone signs licences
with the beta key, the same one compiled into beta firmware — bench-tested
on 20 October 2026 with a beta dongle, which accepted a personal-beta-v1
licence issued by the clone and rejected the same licence with the signature
altered. The key is of the beta only and expires with it on
31 March 2027; the paid product will use a different key. Minting a
licence that a real beta chip accepts, without our key, is a real target.
Load testing — where it ends and where flood begins. Load testing is
authorised on the clone from a single host and a single source IP, up to
the rate limit the server already applies: 120 requests per minute per IP
globally, 20 per minute per IP on unauthenticated write endpoints.
Receiving 429 RATE_LIMITED is a valid outcome — hitting it, seeing how it
reports, and timing its recovery are all in scope. Forcing 429 on purpose, or
working around it by rotating source IPs or distributing the same load across
more than one source, is flood and falls under §2. At most 50 concurrent
connections. Bursts of at most 5 minutes, with a pause between one and
the next. No amplification, no reflection, no botnet, no stress-as-a-service.
If the clone stops answering GET /health, stop and tell us. That is a
take-down (§2) — and it may also be the provider’s automatic protection kicking
in on their side (see the status note). It is not a result to claim; the input
that got there, instead, is a finding we want to see.
Accidental collateral effects during authorized testing on the clone are covered under safe harbour if reported immediately to security@lake8.dev.
The .crin format
Section titled “The .crin format”- Malformed containers, fuzzing, parser attacks — in scope
- ZIP payload attacks (path traversal, ZIP bomb) — in scope, on your own machine only
- Do not send malicious .crin files to shared services or other beta participants — test only against your own installation
2. Out of scope — what you must not do
Section titled “2. Out of scope — what you must not do”These are hard limits. Violating them removes your safe harbour.
license.lake8.dev— the production licence server. The beta client talks to it for normal use; it is never a target. The only licence server you may attack is the clone, and only once it opens.- Other users’ data or accounts — do not access, modify, or read any data belonging to another beta participant
- The lake8.dev production infrastructure — do not attack lake8.dev (the blog/product site), stats.lake8.dev, or any service not listed in scope
- Denial of service against shared infrastructure — do not attempt to take down any licence server, production or clone, and do not flood it. See the load-testing threshold in §1.
- Crashing the clone process on purpose — taking the clone down is not an objective of this programme. The input that happens to crash the server is a finding we want: stop, keep it reproducible, and report it. The outage itself is not a result to claim. See the safe-harbour clause for accidental collateral effects in §3.
- The cloud provider’s infrastructure — the host, the
hypervisor, their internal network, their other tenants, and any
service of theirs. The perimeter is the clone’s own service,
reached by its name
redteam-license.lake8.devon ports 80 and 443; everything else at the provider is off-table, even when the clone sits on it. This matches the condition under which the public test was permitted at all. - Physical attacks on third-party hardware — test only on hardware you own
- Social engineering — do not attempt to deceive lake8.dev staff or other participants
- Vulnerability disclosure before coordination — do not publish findings before the coordinated disclosure date; see §4
3. Safe harbour
Section titled “3. Safe harbour”lake8.dev grants the following protections to all beta participants who act within these rules, to the maximum extent permitted by applicable law.
We will not pursue legal action against you — civil, criminal, or contractual, including any claim under the EULA of the Windows client or the SDK licence — for:
- Any security testing conducted within the scope defined in §1
- Accessing, reading, or extracting data from your own dongle, your own client installation, or your own licence account
- Attempting to bypass, circumvent, or break any security control on your own hardware and in your own client installation — and, from the day the clone opens, on the clone with your own account
- Discovering and reporting vulnerabilities through these channels
- Accidental collateral effects during authorized testing, if reported immediately — including a process crash on the clone that a specific input happened to cause. The input and its circumstances are what we want to see; the outage itself is not an objective and not a result to claim.
This safe harbour covers testing conducted in good faith under these rules, regardless of whether you find a vulnerability.
This protection applies under:
- Italian law (lake8.dev is an Italian entity)
- EU NIS2 Directive provisions on security research
- Equivalent national cybersecurity research provisions
If you are unsure whether a specific test is in scope, ask first: security@lake8.dev
If you do not ask and the test turns out to be borderline, we will evaluate in good faith whether you acted within the spirit of these rules before making any determination.
This safe harbour does not extend to any test against the production
licence server (license.lake8.dev) or any other lake8 production service.
Those are out of scope (§2); attacking them is neither authorised nor
protected, and may expose you to civil and criminal liability.
4. Reporting
Section titled “4. Reporting”Send findings to security@lake8.dev. Encrypt sensitive findings with our PGP key. Verify the key fingerprint out-of-band before sending sensitive material: the fingerprint is published at cryptin.lake8.dev/security/pgp/.
If email bounces or you receive no acknowledgment, use the contact details at cryptin.lake8.dev/security/pgp/ as a fallback channel.
Include:
- Steps to reproduce
- What you expected to happen
- What actually happened
- Impact assessment
- Your hardware revision and firmware SHA256
Response times:
- Every report: acknowledgment within 7 days, assessment within 21 days. The assessment is what assigns the severity.
- High and Critical: fix within 90 days of the assessment.
- Medium and Low: best-effort, with status updates, until the public launch (April 2027). We will revisit this as we go.
- Scale: Critical / High / Medium / Low — the same scale as the August red team report. We do the classification, and you are free to contest it.
- Applies to reports received from 29 September 2026. Findings already published in the August report (F-001-REV, F-ISO, F-003) keep the fix timeline declared there.
We will coordinate disclosure with you before publishing anything. Default embargo: 90 days from acknowledgment, or sooner if a fix ships.
If we miss the 7-day acknowledgment, send a follow-up. If we still do not respond within 7 additional days, you are free to disclose with 7 days advance notice to security@lake8.dev.
If no acknowledgment arrives and email appears to be failing, the embargo clock starts from the date of your first documented send attempt.
5. Known open findings
Section titled “5. Known open findings”Before you start, read the current open findings:
| ID | Severity | Description | Fix |
|---|---|---|---|
| F-001-REV | High | Session binding not implemented — unlocked state accessible to second HID handle | Q2 2027 |
| F-ISO | Medium | Block-cipher accumulator not bound to a handle — a second handle can interleave chunks or abort a transfer. Fail-closed | Q2 2027 |
| F-003/B1 | Low | PIN transmitted in cleartext over USB HID | Q2 2027 |
These are known and accepted. Reporting them again is welcome if you have a new attack path or a bypass of the documented mitigation. Reproducing a known finding with a new method is a valid contribution.
6. Attribution
Section titled “6. Attribution”We will credit every researcher whose finding leads to a fix or a documented accepted risk — by name, handle, or anonymously, your choice.
The most significant finding from Session 4 will be acknowledged by name in the April 2027 public launch security report.
All findings will be published in our public register at cryptin.lake8.dev/security/red-team-2026-08/ with researcher credit.
We do not offer monetary bounties at this stage.
7. Beta hardware — security implications
Section titled “7. Beta hardware — security implications”Beta dongles run the -dev firmware track. eFuses are not burned.
This means:
CMD_GET_SECRET(0x04) responds — file_secret can be extracted- Flash is readable via SPI dump — K_root is extractable
- With K_root you can derive K_identity and decrypt .crin files offline without the dongle
A beta dongle protects against laptop theft. It does not protect against an attacker with physical access and an SPI flash reader.
Do not store data on a beta dongle that you cannot accept being readable by someone with physical access to the hardware.
Production dongles (April 2027) have eFuses burned at first boot, Secure Boot v2 and Flash Encryption active. The beta is intentionally open to enable deeper security research.
8. Scope validity
Section titled “8. Scope validity”These rules are valid from 29 September 2026 to 31 March 2027, the end of the developer beta period.
After 31 March 2027 this document expires. Testing conducted after that date is no longer covered by this safe harbour unless a new programme is announced.
9. The mission
Section titled “9. The mission”Read the red team report before you start. Try every attack described. Try attacks we have not described — on your own hardware, your own client and your own files. Not on the licence server.
“I broke it” — tell us how. “I couldn’t break it” — tell us that too.
Both answers are valuable. Session 4 feeds directly into the April 2027 public launch security report.
lake8.dev — Giantommaso Fogli, San Pietro in Casale, Italy security@lake8.dev · cryptin.lake8.dev/security/pgp/
Terms of ServicePrivacy PolicySecurity contact: security@lake8.devVulnerability Disclosure Policy
Alcuni contenuti sono stati redatti con il supporto di strumenti di intelligenza artificiale generativa e revisionati dall'autore. Le immagini hardware hanno scopo puramente illustrativo.
Some content was drafted with the support of generative AI tools and reviewed by the author. Hardware images are purely illustrative.
Einige Inhalte wurden mit Unterstützung generativer KI-Werkzeuge verfasst und vom Autor überprüft. Hardware-Abbildungen dienen ausschließlich illustrativen Zwecken.
Algunos contenidos han sido redactados con el apoyo de herramientas de IA generativa y revisados por el autor. Las imágenes de hardware tienen carácter meramente ilustrativo.
In caso di conflitto tra versioni linguistiche, prevale il testo in lingua italiana.