Tag a bug. Get a tested draft PR.
ByteAsk Cloud Agent reproduces, fixes and re-checks C and C++ bugs in a sealed sandbox, so your engineers don’t drop what they’re doing.
Runs in ByteAsk’s cloud, one sealed sandbox per task: no credentials inside, no open internet. Trust Center
Engineer
@ByteAsk the feed handler crashes on short packets. Can you take it?
ByteAskAPP
Fixed, and re-checked on a clean copy. Draft PR ready for your review.
Feed handler reads past the end of a short packet #6
Root cause. A 1-byte packet was decoded as 30 bytes.
Fix. Check msg_len before decoding; short packets are counted, not decoded. Regression test added.
- Crash reproduced with ASan
- Fixed code: sanitizer clean
- Re-checked on a clean copy, without the agent
Based on a real ByteAsk run on our own C++ feed handler, simplified.
Cloud agents, at work.
One sealed sandbox per task.
Cloud agent
Replay mismatch
Cloud agent
@ByteAsk Crash on short packets
SlackGuardh.msg_len < sizeof(wire::OrderMsg)
Contextcode graph of your buildRolling out
- who calls read_order?
- on_packet → read_orderhandler.hpp:68
- sizeof(OrderMsg)?
- 30 bytes
Harnessin the sandbox
- Build
- Replay
- ASan + UBSan
- Analysis
Cloud agent
Book race
gVisor · No credentials · No open internet · Trust Center
Read the patch. Your CI already ran.
Our harness checked it in the sandbox. Then your own CI ran on the draft.
include/tbt/handler.hppswitch (static_cast<char>(pkt.body[0])) { - case wire::kCancelOrder: on_order(read_order(pkt.body)); break; + case wire::kCancelOrder: + if (h.msg_len < sizeof(wire::OrderMsg)) { ++stats_.short_msg; break; } + on_order(read_order(pkt.body)); + break;
- Build / ProductionSuccessful
- Build / SimulatorSuccessful
- Behavior / Production replaySuccessful
- Safety / ASan + UBSanSuccessful
- Analysis / Production + simulatorSuccessful
Run it on one of your own bugs.
Bring one of your bugs. We set up your build with you and start the task.