Replies: 2 comments 3 replies
|
Yep, we were the lucky (and I guess that really is true, although there have been moments in the last month or so where we have been reflecting on the risks associated with getting what you wished for) of several AI generated reports based on scans done of our github repositories. By way of further information, no idea what the token spend was, first round of reports included 83 items, there were about a dozen duplicates (scans are done using multiple sub-agents, it appears that what can happen is two, or more, sub-agents will find the same thing, but report on it slightly differently). There was one false positive. I'd definitely say it spoke well of the quality of the tool. The duplicate class issue is fixed in a 1.85.1 point release, too many moving parts, but sorted out now. We are using AI tools now, it took a few weeks to get up to speed, partly due to the shock factor (I've been writing code since I was 14, even in an industry defined by constant change, I hardly expected to run into something that was going to cause an existential crisis 50 years later!) and also just getting a better understanding of what the tools can do and what they cannot (very important). We needed to invest time in things like AGENTS.md/CLAUDE.md (don't change them by hand either, get the tools to do it, it's not really natural language, it's "agent speak" and the tools know how to write it) and skills. The duplicate class was a good example of the result of a "gap" we hadn't picked up on. I hate to say it, but #2387 probably would have happened anyway. We've spent the last couple of years working our way through the APIs trying to tighten things up. If you look at the history of "attacks" we seem to have moved into a world where sneaking things in that have side effects is popular, ensuring (where possible) that encoded inputs are precisely as they should be is really the only defense against this. That said, we do try to interoperate where we can. Can't blame the AI for that one, more that I had no idea that someone had, erm..., adapted X.509 in such a fashion. It'll be fixed in the 1.85.2 patch release we're working on now. As for what happens next, well, we care about the security of the libraries, and we will use what ever we can get our hands that will help us improve that. I'd like to say "the worst" is over, but I'm not sure, although things certainly seem to have improved in terms of what is currently being reported using current technology, these tools are not deterministic, so things can show up that were previously missed. The contributions from 3rd parties though (both AI and not-AI, see the CVEs and CONTRIBUTORS file have been a great help though and we are grateful. That said, if someone asks me in Jan 2027 what I thought of 2026, I'm probably going to say it was one tough year. <blatant-plug>For those interested in hearing more, I'll be giving a talk on this at the OpenSSL conference in Prague later this year. <blatant-plug> It has been quite a wild ride. |
|
As a follow up, I've just put provider jars for a patch release 1.85.2 up on https://www.bouncycastle.org/betas which fixes all the current defects, or in some cases "features" which seem to be causing people issues. Feedback from people affected that the new jars are working okay would be most welcome. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
There was a release of Bouncy Castle Java 1.85 on July 28th.
The release includes additional features, fixed defects, and resolution to 32! CVEs.
It also says the release contains fixes for the following CVEs:
For security reasons, it’s best to update but watch out before you update since the first issues for that version are coming in:
Given the sheer number and broad scope of these findings, were they uncovered using a new code-analysis tool?
I would guess AI have been involved. It sounds like there is an interesting story behind how all of this came to light.
All reactions