379 karma · joined December 28, 2015
After that, I suspect a lot of people already are familiar with the https://github.com/cursor/plugins/tree/main/pstack skills, but in case you aren't they can be a good starting point. The `blast-radius`, `how`, `interrogate`, and several of the `principle-` may be interesting if you haven't already looked at this.
There are some types of reviews I find models don't do a great job at: architecture reviews (things can get too complex for them to grasp), security reviews (they get cagey thinking you're a wrong-doer), UI/UX design (they're getting better, but still most models are pretty bad). There are some dedicated tools in several of these types of "models are bad at it/unwilling" areas if you find you're often finding 1 particular part of reviews difficult and pre-prompting isn't helping.
IANAL, but I've worked with a lot of lawyers in my life on software licenses on technical products and am also currently building a platform (ZeroQuarry) which uses some decompilation/disassembly tools (not for rebuilding source software, but rather to find underlying vulnerabilities).
Tools for reverse engineering have existed for a long time (Ghidra, IDA Pro, cavaj, and a bunch of other language-specific tools), which is why most commercial companies producing non-OSS executables have put in caveats that you can't "reverse engineer or decompile, decrypt, disassemble or otherwise reduce the Software to human-readable form".
Some of these tools and underlying source code/compilation mechanisms required more skill/time than others, and now with AI, just like in software development, multimedia creation and editing, etc, the barrier to entry and the skills needed to produce something have collapsed to the point that many novices can at least "get started" at virtually no cost. A lot of people on the "builder" side have reached for obfuscation to make it more difficult (a suite of tools has been available there for a long time as well), but all that does is raises the cost of decompilation, and that cost is on an exponentially decreasing cost curve: it was never really a viable defense against "advanced" actors: the only defense against them was legal guards.
To me, I think the more interesting legal conundrum we're entering isn't pure decompilation/deobfuscation/disassembly, but rather the "clean room" carve out. Several big tech companies (Compaq vs IBM, NEC vs Intel, etc) have gotten away with using 1 team to decompile a piece of code and then have that team write a spec for a clean-room team to re-implement without looking at the decompiled software. That was deemed legal over several court cases, and now it's effectively trivial as well. Or just have an AI with vision capabilities click every button in a UI, see how they work, build the spec from there, and you don't even need decompilation tools, as we're now seeing with the Adobe suite of products: https://getartcraft.com/apps and many others
I honestly can't think of a real protection for these companies/products except signed/encrypted software at the lowest level, but that only protects companies against non-interactive software (or the non-interactive components). Some people might be old enough to remember that some software used to ship with physical devices that were the physical keys used to allow encrypted software to run. Maybe some of that makes a return?
It's an approach to defensive security for software products (especially smaller companies) by acting as the security team you don't have/can't afford. It does security recon/analysis, etc via AI.
I got tired of all of the LLM labs building firewalls of "oh, nobody is allowed to do security research/find+fix vulnerabilities in their software unless they apply for special registration."
Instead of saying "oh, anything that the model determines is security research is a vulnerability threat", it does reliably enforceable analysis like "look for a TXT record in DNS the same way a SSL provider would ensure you own the property". So it can do "live" penetration tests against your infrastructure if you provide authorization
It handles things like incoming "security researcher" e-mails to cut down on the noise of nonsense vulnerability reports by acting as your security team that defends against the reports
It provides provable/signed attestation that a pentester has checked your code/live infrastructure/APIs/etc and validated them, and/or has done a check after you've remediated whatever issues that were found. It helps all 3 sides of the "company needs pentester" and "pentester" and "auditor"/"customer" to come to agreements on what's important and what's been solved
I found a bunch of vulnerabilities, which I sent to the maintainer and have now been patched, but some of the most interesting ones I found were that many of these vulnerabilities were actually crafted by (or at least reviewed by) CodeRabbit.
I think there are a lot of reasons to use AI code review tools these days, and no problem with CodeRabbit, but one of the things I've found interesting is a discussion from investors and potential customers about "why would I use a security code reviewer when I have an AI code reviewer in place already". I thought some of the examples here may be interesting for others.
It's a way to augment small/overloaded security teams. It can pentest and then generate a pentester-style PDF report for auditors and procurement, triage incoming e-mails from security researchers by then checking whether the vulnerabilities they claim actually exist and are exploitable, hook into GitHub to scan for vulnerabilities and auto-propose fixes or file GitHub issues for you.
It's free for Open Source projects, if anyone here is maintaining one
Setting the prompts and the flow with a coordinator agent directly gives a system much better capability to investigate security issues because it doesn't rely on 1-shotting things
I've reached out to a number of the Obsidian plugin maintainers for responsible disclosure to let them know about the issues and how to fix them, and what surprised me even more was that the most common response was roughly "yeah, we all know Obsidian plugins are basically unsafe when used against untrusted markdown content." I was surprised by this response as an Obsidian user with a number of plugins installed. It made me rethink how I think about plugins.
I like their new community program that attempts to identify some risks, but IMO it's just far too little. Obsidian really needs to have a sandboxed system. I've reached out to Obsidian as well to flag some of these risks and suggested a sandbox system as well, but haven't really had much progress in moving the needle, so I wanted to raise awareness here.
There's still a lot of naivety on what the difference is between models and platforms, and its easier for a lot of these big companies to just make a blanket statement like "nothing DeepSeek" than for their procurement teams to try to understand and negotiate with each vendor. They don't see the potential benefit over the potential risk of somebody misinterpreting or getting it wrong, so they outright ban it.
Most people that approve or buy software simply also just don't understand how models are being trained or if it's possible/how far a model could go to "introduce backdoors." A backdoor could be, from a business perspective, a model which has been trained to give answers that could hurt western business in a "strict text mode" or produces payloads in a programmatic mode that are intentionally trained to introduce software vulnerabilities.
Anyone can make arguments against these for a variety of reasons (looking at the transparency of both sides and comparing, etc) but for many reasons today and for better or worse, many Chinese models are being banned on big software contracts, which gets back to the title of the article
I've been running my own security scanning software (disclaimer: now starting a company @ zeroquarry.com) for this, and from what I've seen there's a huge value in prompts + adversarial LLM review. Without adversarial review, you get garbage (as this blog points out: 4/5 basically are nonsense) and with a good prompt, you can use almost any "near frontier" model from my experience as long as the prompt helps with the guardrails or the model doesn't protect in such a strict way
A license in the software sense is effectively the legal terms and conditions for using the software in any way. A license can define anything your legal mind can dream up: "only usable when you wear a red shirt," "only usable on the third Tuesday of the month," etc. You can multi-license things: "License A is that you can only use this software when you wear a red shirt. License B is that you can only use it on the third Tuesday of the month. This software is dual licensed under A and B: you can choose which license you want to use, but you must use one of them if you want to use the software legally, because those are the legal conditions I've laid out in using the software." If you use the software on Wednesday wearing a blue shirt, you're operating it against the terms and effectively are in breach of the license. This is (part of) why putting source code out on the internet isn't the same as "open source" and why downloading and using source code you find without reviewing the actual license terms may end you up in hot water. It's why standardized licenses are so helpful to legal teams that review these sorts of things at corporations.
These are obviously facetious examples, but most for-profit entities might choose a dual licensing structure where "if you want to run it for free, you choose something in the realm of open source licenses and if you don't like the terms of those licenses, you pay us for a license that gives you something else." In cases like the blog author's here: you say "option A is AGPL" and "option B is you pay us for a license to remove AGPL and which gives you different rights." You hope enough companies are scared by AGPL to want to pay you for the non-AGPL version and the distribution/OSS-friendly nature of AGPL helps you build a user-base enough that by the time it gets to a legal team to approve/deny, that the legal team denies and is willing to pay to make the problem go away.
It isn't written about often, but it's the reason many "open core" companies moved away from AGPL to protect their revenue from larger SaaS/IaaS/PaaS players from eating their lunch.
Some writings are:
- https://writing.kemitchell.com/2021/01/24/Reading-AGPL
- https://katedowninglaw.com/2019/09/08/the-great-open-source-...
Remote: sure, or in person (preferred)
Technologies: Python, Lua, Docker, Java, pretty much all SQL/NoSQL. But I'm a bit unusual here in that my focus tends to be a bit more on the product side than the engineering.
CV: https://connelly.casa/Users/Public/Desktop/Shane%20Connelly%...
Email: me@sha.ne
About: I've worked in leadership positions at the border of product and engineering at several tech-heavy companies. I was head of product for Elasticsearch and Kong, CPO at SPREAD GmbH, and just moved from Germany to Australia earlier this year after having spent most of my career in San Francisco area. I'm currently very interested in product security areas especially and have been launching https://zeroquarry.com
Remote: Indifferent. I've worked partially remote from 2015-2025 and in-person before/after. I like both
Willing to relocate: no
Technologies: python, SQL and most major BI tools, javascript, elasticsearch, LLMs and surrounding tooling, various API gateways
CV: https://connelly.casa/?url=/Users/Public/Desktop/Shane%20Con...
LinkedIn: https://www.linkedin.com/in/shaneconnelly/
Email: in the CV
I'm a technologist turned product manager and into product leadership. Most of my career has been leading product teams in complex B2B applied ML/AI and "big data" products. I was product lead for Elasticsearch @ Elastic, Kong @ Kong, Vectara's head of product, and currently CPO @ SPREAD AI. We've recently relocated our family to Australia due to my wife changing positions, and realistically can't be at a company where everyone in the company is in/near Germany except me (the hours just don't work for a company that isn't committed to remote work).
SPREAD builds B2B software for mechatronics customers like cars and defense systems. We help them design, build and diagnose problems with their systems faster. We do it with a combination of a well-designed ontology we've spent years working on as well as AI-based systems. Right now, we're looking for a technical writer and also someone to start our support organization.
Candidates must be in Germany already, though specific location within the country doesn't matter that much
The second time, I pushed strongly and made sure the entire executive team knew that we would be misleading our users. I pointed to the horizon and talked about the problems with "forever" language. I had to push very strongly back on the marketing team to change verbiage and then they silently made updates anyway to add "forever" verbiage. They were eventually fired for this.
But what I find concerning here isn't that the "free" tier went away (it almost always must) but that there's denial and push-back in this set of threads about the verbiage. You made a mistake. Own it and apologize for the verbiage you put out there. Don't deny that it was ever there or argue over pedantic details about where/how that verbiage was placed.
Says "free forever"
SPREAD builds B2B software for mechatronics customers like cars and defense systems. We help them design, build and diagnose problems with their systems faster. We do it with a combination of a well-designed ontology we've spent years working on as well as AI-based systems. Right now, we're looking for a technical writer to join our team that's really forward thinking to own the writing, tooling, and also lead the company in ambitious technical writing.
You can reach me at shane at spread . ai with your resume
I'd be willing to take less battery life to get something like this, but nearly everything that's anywhere close either has no NFC (which means mobile payments are out the door) or doesn't have 5G or just has such an awful camera/processor as to be basically unusable for many every-day tasks.
SPREAD is a software company built to help electromechanical companies (automotive, aerospace, defense) build their products better and faster by bringing together the different data they have into a single system.
We have several of the largest automotive OEMs as customers already and are looking to expand our low-code platform.
https://spread-gmbh.jobs.personio.de/job/456964?language=en&... has job details and you're welcome to email [shane] at our domain as well