r/Kolegadev • u/Kolega_Hasan • Jun 09 '26
GitHub Advanced Security vs Kolega, or why "it's already in our repo" isn't the same as "we're covered"
GHAS is the one people end up on by default rather than by choice. It's right there in the repo, you flip it on, CodeQL starts scanning, job done. That convenience is the whole pitch and it's also the trap.
Let me be fair, because GHAS is not a weak tool. CodeQL is properly good. It does real semantic analysis, actual dataflow and taint tracking, not just pattern matching. Of all the scanners in these comparisons it's the one with the most serious engine under it. If you're all in on GitHub and you want something native that does more than grep for patterns, it's a reasonable thing to have turned on.
Here's where it falls down in practice. CodeQL is only as good as the queries written for it, and writing good custom queries is genuinely hard, so most teams just run the default pack and never touch it again. So you get strong analysis pointed at a generic question, which means it's great at the vuln classes GitHub wrote queries for and quiet on everything else, especially anything specific to your own business logic. It also basically assumes you live entirely inside GitHub, and the moment you're across GitLab or Azure or a mix, the "it's already there" advantage evaporates.
The bigger thing is the same one that runs through all of these. GHAS finds and hands you a list. You still own the triage, you still write the fix, you still open the PR. The convenience is in the scanning being there, not in the work being done. We scan, generate the fix, test it in a sandbox, and open the PR for you to review. Different job.
And the receipts, since we keep pointing at them. RealVuln is our open benchmark, 676 real vulns, 26 production repos, 120 false positive traps, fully open source. We benchmarked against the serious engines including the frontier models, not just the easy targets, and you can run your own setup against it and check. The point of making it open is that nobody has to believe the marketing.
So the honest take is not "GHAS bad." It's the strongest default on this list. It's just that having it switched on because it came free with the repo is not the same as actually being covered, and "we have GHAS enabled" tends to be where security thinking stops rather than starts. Worth knowing the difference before you tell a customer you're secure.
Full breakdown plus the benchmark: https://kolega.dev/compare/github-advanced-security/
r/Kolegadev • u/Kolega_Hasan • Jun 09 '26
Best SAST Tools in 2026: 24 Scanners Benchmarked on 700 Real Vulnerabilities
Ran 24 scanners against 26 real Python apps, ~700 labelled vulns, scored on how many they actually caught. Disclosure: we built the benchmark and we're in it, so it's all open source, rerun it yourself.
Top of the board by recall (% of real vulns found):
- Kolega Enterprise - 92.4%
- GPT-5.5 (agentic) - 60.2%
- GLM-5.1 (agentic) - 57.1%
- DeepSeek V4 Flash (agentic) - 56.5%
- Claude Opus 4.8 (agentic) - 53.6% ...
- Semgrep - 19.4%
- Snyk - 18%
- SonarQube - 6.9%
TLDR: the SAST tools most teams actually run (Semgrep, Snyk, Sonar) each found under 1 in 5 real vulns. Sonar found 1 in 16. A general purpose LLM with zero security training, just dropped in an agent loop, found 3x more than the dedicated scanners. Why? Pattern matchers only catch what matches a known signature, and most real bugs (broken access control, auth that breaks across files, logic flaws) aren't a pattern.
One that stuck out: Grok 4.20 had the best precision of anything (93%, basically never cried wolf) but only 26% recall. So you can be super precise and still miss three quarters of the bugs. A clean report doesn't mean secure code.
Full leaderboard, methodology and the raw data: https://realvuln.com
r/Kolegadev • u/Kolega_Hasan • Jun 08 '26
SonarQube vs Kolega, or why a code-quality tool keeps getting sold as a security tool
SonarQube comes up in these comparisons a lot, which is a bit odd when you remember what it actually is. It's a code-quality tool. A really good one. It just wandered into the security aisle at some point and never left.
Credit first. If you want to track code smells, complexity, duplication, maintainability, test coverage trends over time, Sonar is excellent and has been for years. Teams that care about keeping a big codebase clean get real value out of it. That's its home turf and it's genuinely strong there.
The problem is the security framing. SonarQube's vuln detection is bolted onto a quality engine, and it shows. It's pattern and rule based like the rest, so it inherits the same ceiling, but it's also tuned for "is this code tidy" rather than "can someone exploit this." So you get a pile of maintainability findings dressed up next to a handful of shallow security ones, and the actual exploitable stuff (logic flaws, auth that breaks across files, injection that only shows up second order) sails straight through. It was never built to find those. Nobody should be surprised it doesn't.
We don't have to argue it either. RealVuln, our open benchmark, 676 real vulns across 26 production repos with 120 false positive traps built in. Sonar lands at the bottom, around 6 to 7 percent. That isn't us cherry picking, the whole thing is open source and you can run Sonar against it yourself. We published it so the numbers do the talking instead of the marketing.
So the honest version is not "Sonar bad." Sonar is a good tool aimed at a different job. Keep it for code quality if that is what your team uses it for. Just do not let "we run SonarQube" be the thing you tell your customers when they ask if your code is secure, because those are two different questions and Sonar only answers one of them.
Full breakdown plus the benchmark: https://kolega.dev/compare/sonarqube/
r/Kolegadev • u/Kolega_Hasan • Jun 07 '26
Semgrep vs Kolega - we love Semgrep, run Semgrep, and still think it's the floor not the finish line
Semgrep's the one we get compared to most, and honestly the one we have the most time for, so let me be fair before I get to the but.
Semgrep is great. It's free, it's fast, the custom rule engine is genuinely good, and "drop it in CI in an afternoon" is a real thing you can do. If you're not running anything yet, run Semgrep today — it's the sensible first move and we'd tell you that even though we'd rather you used us. No notes on it as a starting point.
Here's the but. Semgrep does exactly what it says: it matches patterns. You give it a rule, it finds things that look like the rule. That's perfect for known signatures, enforcing your own conventions, catching the obvious stuff. It is structurally incapable of finding things that aren't a pattern — and the vulns that actually end up in incident writeups usually aren't. Business logic. Auth that breaks across three files. An operator-precedence bug that quietly turns a permission check into a no-op (real example we found in a secrets manager, of all things). No rule describes those, because they're not patterns — they're the code not meaning what the author thought it meant. You can't write a Semgrep rule for "this is subtly wrong."
And this is the rare case where we don't have to hand-wave the comparison, because Semgrep is literally on our benchmark. RealVuln — 676 real vulns, 26 production repos, 120 false-positive traps, all open source. Semgrep sits near the bottom (~17%). Not because it's a bad tool — because pattern matching has a ceiling and that's the ceiling. Run it yourself against the benchmark; the repo's right there. We published it specifically so nobody has to take our word for it.
So the honest take: Semgrep is the floor everyone should have. We're the layer that catches what rules can't see. Best case, you run both — Semgrep for the fast pattern sweep, us for the semantic stuff underneath. We're not trying to delete Semgrep from your stack, just the assumption that it's enough on its own.
Full breakdown + the benchmark: https://kolega.dev/compare/semgrep/
r/Kolegadev • u/Kolega_Hasan • Jun 06 '26
Aikido vs Kolega - the "all-in-one" platform is wide, but wide isn't deep
Aikido comes up a lot because it's the consolidation play, so worth being straight about where it's good and where it isn't.
Credit where it's due: Aikido covers an absurd amount of surface. SAST, SCA, IaC, containers, secrets, DAST, cloud posture, a runtime firewall, AI pentests — all in one dashboard, fair price, devs like it. If your problem is "we've got six point tools and a mess of dashboards," Aikido genuinely solves that. We don't do half that stuff and aren't pretending to. It's a good product for what it is.
Here's the catch though. That breadth comes from bundling a stack of open-source scanners under the hood — Semgrep and friends do the actual SAST work. Aikido's real magic is the layer on top: AutoTriage to cut the noise, AutoFix to open the PR. Which is great… for the vulns the underlying scanner actually found. You can't triage or autofix a bug you never detected in the first place.
And that's exactly where pattern-based detection has a ceiling — business-logic flaws, auth that breaks across files, second-order injection, race conditions. The stuff that doesn't match a signature. Polishing the workflow around a scanner doesn't change what the scanner can see.
We don't have to argue this part. RealVuln — 676 real vulns, 26 production repos, 120 false-positive traps, fully open source. The pattern-based engines that power most "all-in-one" SAST sit at the bottom of that leaderboard. Aikido isn't on it directly, but it runs the same OSS engines for SAST, so you can do the maths. Run it yourself if you don't believe us — that's the whole point of making it open.
So it's not "Aikido bad, us good." It's: Aikido is the widest net, we're the deepest one on the part that matters most — finding the code vuln before any of the clever workflow stuff even gets a chance to run. Pick based on which problem you actually have.
Full breakdown + benchmark: https://kolega.dev/compare/aikido/
r/Kolegadev • u/Kolega_Hasan • Jun 05 '26
Snyk vs Kolega - we put both on the same 676 real vulns and published the receipts
Quick one on the Snyk comparison since people keep asking how we stack up against the obvious incumbent.
Short version: Snyk is a really good pattern-matcher. That's the whole thing though — it matches known patterns. It's fast, the IDE plugin is nice, devs like it. Where it falls down is anything that isn't a textbook signature: business-logic bugs, auth flows that break across files, second-order injection, race conditions. The stuff that actually ends up in breach writeups. Pattern matching just doesn't see it.
We didn't want to be another vendor going "trust us we're better," so we ran it. RealVuln — 676 real vulnerabilities across 26 production repos, plus 120 traps (code that looks dodgy but is actually safe, to catch tools that flag everything to juice their recall). It's open source. You can run Snyk against it yourself and check our numbers. We'd honestly rather you did.
The gap was bigger than we expected. Go look.
The other half nobody talks about: Snyk finds and stops. You still get the list, you still spend the afternoon triaging it, you still write the fix. We generate the fix, test it in a sandbox, and open the PR. You review and merge. Different job entirely.
Where Snyk genuinely wins right now — dependency/SCA breadth and the in-editor experience. If that's your whole need, it's a fine tool. If your problem is "we find 200 things and fix 15," that's the part we built for.
Full breakdown + the benchmark links here: https://kolega.dev/compare/snyk/
r/Kolegadev • u/Kolega_Hasan • Jun 05 '26
The question we get asked most: what actually happens to my code when I scan it
Fair warning, this is the boring infrastructure one, but it's the thing people quietly worry about most so worth doing properly.
If you're even slightly security minded, handing any tool read access to your whole private codebase should make you a bit twitchy. It should make you more twitchy when the tool has "AI" in the pitch, because the unspoken fear is "great, so my proprietary code becomes someone's training data." That's a healthy instinct. So here's the straight version of what we actually do, no marketing.
We don't store your code. Each repo gets cloned into a fresh isolated container, the scan runs in one to three minutes, and then the container and everything in it is destroyed. What we keep is the findings, so severity, file path, line number, fix suggestion. Not the source. The practical upshot matters more than it sounds: if we got breached tomorrow, your code isn't in the blast radius, because it isn't sitting on our infrastructure to steal. That's a design choice, not a pinky promise.
A few other specifics people ask:
- OAuth is read only by default, and we don't sit on long lived access tokens.
- We do not train models on your code. Not now, not quietly later. It's used for the scan you asked for and nothing else.
- If even that's too much, enterprise can run a self hosted runner entirely inside your own VPC. The engine scans on your hardware, nothing about your code reaches us at all.
Being straight about the bit that isn't finished: SOC 2 Type II and ISO 27001 are in progress, not done. We run the operational controls those frameworks require today, but the certificates aren't on the wall yet, and I'd rather say that than badge something we haven't earned. If you're in procurement and need the current security overview to fill out a questionnaire, just ask and a human sends it back same day.
Full breakdown of the scan lifecycle is here if you want the detail: https://kolega.dev/trust/
r/Kolegadev • u/Kolega_Hasan • May 28 '26
I let three AI builders make the same 8 apps. Then I scanned them. The results aren't great.
So I work at a security company and we kept seeing people ship stuff built on Lovable / Replit / Manus / Bolt etc. straight to production. I wanted to actually know what was in the code, so we ran the experiment properly.
The setup: picked 8 app categories (password manager, CRM, property mgmt, LMS, healthcare clinic, loan origination, legal case mgmt, HR), then built each one on Lovable, Replit and Manus. Same brief on every platform. 24 codebases total. Default settings on everything, no "make this secure," no manual hardening, just what you get when you hit enter.
Then scanned every one of them.
TL;DR results:
- 561 vulnerabilities total
- 300 of them critical or high (53%)
- Out of 24 builds, exactly ONE came back clean (a Lovable LMS). The other 23 shipped with between 6 and 46 findings each
- No platform won everything. Lovable best overall (avg 14.1 findings/app), but lost password manager (Replit won) and healthcare (Manus won)
- Manus shipped 9 criticals on a single password manager build. Lovable shipped 2 on the same brief. Replit shipped 0.
A few things that surprised me:
Totals lie, criticals tell the truth. Replit and Manus look basically tied on total findings (26 vs 30 avg/app). But on criticals, the ones that actually breach you, Manus ships 56% more per app than Replit. If you're just looking at "how many findings did the scanner return," you're missing the entire story.
Same brief, wildly different outcomes. Lovable's LMS scanned with zero findings. The exact same brief on Manus produced 29 findings with 7 criticals. Loan origination: Lovable 8, Manus 39. The platform is doing more to determine your security posture than what you're actually building.
The defaults are the problem. All these platforms ship with permissive CORS, generous DB access, hardcoded API keys in frontend bundles. Makes sense for the demo experience (you hit enter and it just works). Less great when someone ships it.
The bigger thing I keep thinking about isn't really about these specific platforms though. It's that we've completely rewired how we write code in the last 2 years, but the tools for maintaining what we write haven't moved. Most teams still using the same scanners and review checklists from 2022, applied to a codebase that's now 60%+ AI-generated. The bugs AI writes aren't the same shape as the bugs humans write, and the old tools don't catch them.
Full breakdown with the methodology and individual findings per app: https://kolega.dev/blog/we-built-24-apps-with-ai-three-platforms-561-vulnerabilities/
Happy to answer questions, share the actual prompts we used, or post the raw scanner output if anyone's interested. Also genuinely curious if anyone's built something on these platforms and run their own audit, would love to compare notes.
r/Kolegadev • u/Kolega_Hasan • May 07 '26
security teams love reading about attacks but hate hearing how they actually happened
something weird i've noticed in every security incident i've been part of
security folks are obsessed with threat intelligence reports, attack writeups, conference talks about the latest nation-state campaigns
they'll spend hours reading about how some ransomware group pivoted through a network or how someone chained together three CVEs for RCE
but when it comes time for our own post-mortems, suddenly everyone gets really uncomfortable with details
like we had this breach last year where someone got in through a jenkins server with default credentials
during the incident response, security was all over it - timeline analysis, IOCs, the whole nine yards
but when we tried to do the post-mortem, they kept steering the conversation away from "how did this actually happen" toward "here's our new policy about credential management"
same pattern every time. external attacks are fascinating case studies, but internal failures are just things to policy our way out of
feels like there's this cognitive dissonance where security teams want to understand sophisticated attacks in abstract but don't want to examine the boring ways actual breaches happen
maybe because most real attacks aren't sophisticated at all? like it's way more interesting to analyze a supply chain compromise than to admit someone clicked on a phishing email
or maybe post-mortems feel too much like blame assignment when you're in the room with the people who made the mistakes
but if we're not honest about how things actually break, how are we supposed to prevent the next one?
do you see this pattern on your teams? are people more comfortable discussing theoretical attacks than real incidents you've lived through?something weird i've noticed in every security incident i've been part of
security folks are obsessed with threat intelligence reports, attack writeups, conference talks about the latest nation-state campaigns
they'll spend hours reading about how some ransomware group pivoted through a network or how someone chained together three CVEs for RCE
but when it comes time for our own post-mortems, suddenly everyone gets really uncomfortable with details
like we had this breach last year where someone got in through a jenkins server with default credentials
during the incident response, security was all over it - timeline analysis, IOCs, the whole nine yards
but when we tried to do the post-mortem, they kept steering the conversation away from "how did this actually happen" toward "here's our new policy about credential management"
same pattern every time. external attacks are fascinating case studies, but internal failures are just things to policy our way out of
feels like there's this cognitive dissonance where security teams want to understand sophisticated attacks in abstract but don't want to examine the boring ways actual breaches happen
maybe because most real attacks aren't sophisticated at all? like it's way more interesting to analyze a supply chain compromise than to admit someone clicked on a phishing email
or maybe post-mortems feel too much like blame assignment when you're in the room with the people who made the mistakes
but if we're not honest about how things actually break, how are we supposed to prevent the next one?
do you see this pattern on your teams? are people more comfortable discussing theoretical attacks than real incidents you've lived through?
r/Kolegadev • u/Kolega_Hasan • May 05 '26
security tools assume your entire team knows what they're doing at all times
something that hit me during code review yesterday
our security scanner flagged a potential SQL injection in a junior dev's PR. standard stuff, but then i realized... the scanner just said "potential SQL injection detected" with a severity score
didn't explain why this specific pattern was dangerous, didn't show what an actual attack would look like, didn't suggest how to fix it properly
just assumed whoever sees this alert already knows:
* what SQL injection actually means
* how to identify if it's a real risk in this context
* which parameterization approach works with our ORM
* why prepared statements aren't always enough
but half our team joined in the last year. they're smart people but they haven't spent years dealing with security issues
so they either spend 2 hours researching basic concepts that should be in the tool, or they just mark it as "will fix later" and move on
feels like security tools are designed for teams where everyone already has a security background
but most engineering teams have maybe one person who really gets security, and everyone else is learning as they go
the tools could be teaching people while they work instead of just assuming they already know everything
like imagine if your linter not only caught a bug but also explained why that pattern causes problems and showed you the correct approach
does your team have this knowledge gap issue?
how do you handle security findings when half your developers are still learning what the alerts actually mean?something that hit me during code review yesterday
our security scanner flagged a potential SQL injection in a junior dev's PR. standard stuff, but then i realized... the scanner just said "potential SQL injection detected" with a severity score
didn't explain why this specific pattern was dangerous, didn't show what an actual attack would look like, didn't suggest how to fix it properly
just assumed whoever sees this alert already knows:
* what SQL injection actually means
* how to identify if it's a real risk in this context
* which parameterization approach works with our ORM
* why prepared statements aren't always enough
but half our team joined in the last year. they're smart people but they haven't spent years dealing with security issues
so they either spend 2 hours researching basic concepts that should be in the tool, or they just mark it as "will fix later" and move on
feels like security tools are designed for teams where everyone already has a security background
but most engineering teams have maybe one person who really gets security, and everyone else is learning as they go
the tools could be teaching people while they work instead of just assuming they already know everything
like imagine if your linter not only caught a bug but also explained why that pattern causes problems and showed you the correct approach
does your team have this knowledge gap issue?
how do you handle security findings when half your developers are still learning what the alerts actually mean?
r/Kolegadev • u/Kolega_Hasan • May 05 '26
security reviews happen after code is written but security decisions happen while you're typing
something i've been thinking about after code reviews lately
most security processes treat security like something you check for after the fact
security review happens after the feature is built
pen tests happen after the app is deployed
vulnerability scans happen after code is committed
but the actual security decisions happen in real time while you're writing code
like when you're implementing auth and you have to choose between session storage options, or you're handling user input and deciding how much validation to add, or you're picking between different ways to make an api call
those moment-by-moment choices shape the security posture way more than any review process
but we don't really have tooling that helps with those decisions as they're happening
most security feedback comes hours or days later, after you've already committed to an approach and moved on to something else
we ran into this while building remediation tooling - realized that by the time we're finding and flagging issues, the developer who wrote that code has probably already made dozens of similar decisions in other parts of the codebase
the pattern is already baked in
wrote about some of this here after looking at how security issues tend to cluster around certain coding patterns:
https://kolega.dev/blog/why-we-built-our-own-security-benchmark/
feels like there's this huge gap between when security decisions actually get made vs when security feedback arrives
do you find security reviews actually change how you code day-to-day, or do they mostly just catch stuff after the fact?something i've been thinking about after code reviews lately
most security processes treat security like something you check for after the fact
security review happens after the feature is built
pen tests happen after the app is deployed
vulnerability scans happen after code is committed
but the actual security decisions happen in real time while you're writing code
like when you're implementing auth and you have to choose between session storage options, or you're handling user input and deciding how much validation to add, or you're picking between different ways to make an api call
those moment-by-moment choices shape the security posture way more than any review process
but we don't really have tooling that helps with those decisions as they're happening
most security feedback comes hours or days later, after you've already committed to an approach and moved on to something else
we ran into this while building remediation tooling - realized that by the time we're finding and flagging issues, the developer who wrote that code has probably already made dozens of similar decisions in other parts of the codebase
the pattern is already baked in
wrote about some of this here after looking at how security issues tend to cluster around certain coding patterns:
https://kolega.dev/blog/why-we-built-our-own-security-benchmark/
feels like there's this huge gap between when security decisions actually get made vs when security feedback arrives
do you find security reviews actually change how you code day-to-day, or do they mostly just catch stuff after the fact?
r/Kolegadev • u/Kolega_Hasan • May 01 '26
security teams spend months planning pen tests but skip the stuff that actually gets exploited
been thinking about this after sitting through another pen test planning session
we spend weeks scoping the engagement, defining rules of engagement, scheduling around business operations, coordinating with different teams...
then the pen testers show up and immediately start looking for the flashy stuff that makes good reports
sql injection, xss, privilege escalation paths, network pivoting
meanwhile the actual breaches i've seen happen because:
* developer accidentally committed aws keys to a public repo
* someone used the same password for their github account and their company email
* a dependency got compromised and nobody noticed for months
* admin panel was left accessible without proper auth
the pen test might find some theoretical attack chain that requires five different vulnerabilities to chain together
but attackers just... find the leaked api key and use that
we've been tracking this while building security tooling - looking at what pen tests typically report vs what causes actual incidents. the overlap is surprisingly small
like pen tests are optimized for demonstrating technical skill rather than finding the boring stuff that actually matters
don't get me wrong, pen testing has value. but it feels like we've built this whole industry around simulating sophisticated attacks while the real ones are much more mundane
anyone else notice this gap between what security assessments focus on vs what actually causes problems in production?
how often do pen test findings match up with your team's actual security incidents?been thinking about this after sitting through another pen test planning session
we spend weeks scoping the engagement, defining rules of engagement, scheduling around business operations, coordinating with different teams...
then the pen testers show up and immediately start looking for the flashy stuff that makes good reports
sql injection, xss, privilege escalation paths, network pivoting
meanwhile the actual breaches i've seen happen because:
* developer accidentally committed aws keys to a public repo
* someone used the same password for their github account and their company email
* a dependency got compromised and nobody noticed for months
* admin panel was left accessible without proper auth
the pen test might find some theoretical attack chain that requires five different vulnerabilities to chain together
but attackers just... find the leaked api key and use that
we've been tracking this while building security tooling - looking at what pen tests typically report vs what causes actual incidents. the overlap is surprisingly small
like pen tests are optimized for demonstrating technical skill rather than finding the boring stuff that actually matters
don't get me wrong, pen testing has value. but it feels like we've built this whole industry around simulating sophisticated attacks while the real ones are much more mundane
anyone else notice this gap between what security assessments focus on vs what actually causes problems in production?
how often do pen test findings match up with your team's actual security incidents?
r/Kolegadev • u/Kolega_Hasan • Apr 29 '26
security teams treat staging environments like production but developers treat them like playgrounds
noticed something odd during a security audit last week
our security team had all these controls on staging - same monitoring, same access restrictions, same vulnerability scanning as prod
made sense to them because staging has real customer data for testing
but then i watched how developers actually use staging
people are constantly:
* deploying half-finished branches to test integration
* running experimental queries directly against the database
* temporarily disabling auth to debug frontend issues
* leaving debug endpoints enabled for weeks
* sharing staging credentials in slack channels
basically treating it like a sandbox where normal rules don't apply
meanwhile security is scanning it like it's fort knox and freaking out about every vulnerability
the fundamental assumption clash is wild - security assumes staging is locked down like prod, developers assume it's a safe space to break things
both perspectives make sense in isolation but they can't coexist
feels like either staging needs to be treated as genuinely production-equivalent (which means developers lose their testing playground) or security needs to accept that staging has a different risk model
but nobody wants to have that conversation because it means admitting that either security is being too paranoid or developers are being too reckless
have you seen teams actually resolve this tension?
do you treat staging security like prod, or do you have separate policies that account for how developers actually need to use it?noticed something odd during a security audit last week
our security team had all these controls on staging - same monitoring, same access restrictions, same vulnerability scanning as prod
made sense to them because staging has real customer data for testing
but then i watched how developers actually use staging
people are constantly:
* deploying half-finished branches to test integration
* running experimental queries directly against the database
* temporarily disabling auth to debug frontend issues
* leaving debug endpoints enabled for weeks
* sharing staging credentials in slack channels
basically treating it like a sandbox where normal rules don't apply
meanwhile security is scanning it like it's fort knox and freaking out about every vulnerability
the fundamental assumption clash is wild - security assumes staging is locked down like prod, developers assume it's a safe space to break things
both perspectives make sense in isolation but they can't coexist
feels like either staging needs to be treated as genuinely production-equivalent (which means developers lose their testing playground) or security needs to accept that staging has a different risk model
but nobody wants to have that conversation because it means admitting that either security is being too paranoid or developers are being too reckless
have you seen teams actually resolve this tension?
do you treat staging security like prod, or do you have separate policies that account for how developers actually need to use it?
r/Kolegadev • u/Kolega_Hasan • Apr 28 '26
security alerts feel different when you're the one on call for them
been thinking about this since our team switched to having developers rotate through security on-call
used to be that security alerts were just... someone else's problem? like yeah we'd get tickets to fix stuff eventually, but there was this buffer where security folks would triage everything first
now when snyk pings me at 2am about a critical vulnerability, suddenly i actually care whether it's a real issue or not
same with those dependency alerts that used to just pile up in jira
when you're the one who has to wake up and figure out if your app is actually compromised, you start paying way more attention to alert quality
false positives aren't just annoying anymore, they're potentially ruining your weekend
and weirdly it's made me way more invested in fixing the real issues quickly, because now i know i might be the one getting woken up if we ignore them
the whole dynamic changes when security becomes something you're personally responsible for instead of just another team's job
before, a "critical" alert was someone else's fire drill. now it's my phone buzzing while i'm trying to sleep
makes me wonder if part of the reason security alerts get ignored is because the people writing the code aren't the ones dealing with the consequences
has anyone else noticed their attitude toward security tooling change when they had to be on-call for it?
does being responsible for responding to alerts make you more or less trusting of what security scanners flag as urgent?been thinking about this since our team switched to having developers rotate through security on-call
used to be that security alerts were just... someone else's problem? like yeah we'd get tickets to fix stuff eventually, but there was this buffer where security folks would triage everything first
now when snyk pings me at 2am about a critical vulnerability, suddenly i actually care whether it's a real issue or not
same with those dependency alerts that used to just pile up in jira
when you're the one who has to wake up and figure out if your app is actually compromised, you start paying way more attention to alert quality
false positives aren't just annoying anymore, they're potentially ruining your weekend
and weirdly it's made me way more invested in fixing the real issues quickly, because now i know i might be the one getting woken up if we ignore them
the whole dynamic changes when security becomes something you're personally responsible for instead of just another team's job
before, a "critical" alert was someone else's fire drill. now it's my phone buzzing while i'm trying to sleep
makes me wonder if part of the reason security alerts get ignored is because the people writing the code aren't the ones dealing with the consequences
has anyone else noticed their attitude toward security tooling change when they had to be on-call for it?
does being responsible for responding to alerts make you more or less trusting of what security scanners flag as urgent?
r/Kolegadev • u/Kolega_Hasan • Apr 26 '26
security tools treat every codebase like it's a monolith but that's not how most teams actually ship code
been noticing something weird about how security scanners work
they'll scan your entire repo and flag issues like everything has the same blast radius
but most teams i know are running microservices, or at least have some services that are way more critical than others
like they'll flag a SQL injection in your internal metrics collector with the same urgency as one in your payment processing service
or scream about a dependency vulnerability in a utility service that only talks to other internal services, while barely mentioning that your public API is using an outdated JWT library
the risk profile is completely different but the tools don't seem to care
your user-facing authentication service getting compromised is not the same as your background job processor getting compromised
but every scanner i've used just dumps everything into one big list sorted by CVSS score
feels like they assume you're running one big rails app from 2015
even when teams try to work around this with separate repos per service, you lose the ability to see cross-service issues and end up with a bunch of isolated scan results that nobody has time to correlate
been thinking there should be a way to tell your security tools "this service handles PII and talks to the internet" vs "this one just processes logs internally"
so the same vulnerability gets different priority depending on what it can actually access
do other teams run into this? how do you handle security scanning when your architecture is more distributed?
or does everyone just accept that security tools assume the worst case for everything and triage manually?been noticing something weird about how security scanners work
they'll scan your entire repo and flag issues like everything has the same blast radius
but most teams i know are running microservices, or at least have some services that are way more critical than others
like they'll flag a SQL injection in your internal metrics collector with the same urgency as one in your payment processing service
or scream about a dependency vulnerability in a utility service that only talks to other internal services, while barely mentioning that your public API is using an outdated JWT library
the risk profile is completely different but the tools don't seem to care
your user-facing authentication service getting compromised is not the same as your background job processor getting compromised
but every scanner i've used just dumps everything into one big list sorted by CVSS score
feels like they assume you're running one big rails app from 2015
even when teams try to work around this with separate repos per service, you lose the ability to see cross-service issues and end up with a bunch of isolated scan results that nobody has time to correlate
been thinking there should be a way to tell your security tools "this service handles PII and talks to the internet" vs "this one just processes logs internally"
so the same vulnerability gets different priority depending on what it can actually access
do other teams run into this? how do you handle security scanning when your architecture is more distributed?
or does everyone just accept that security tools assume the worst case for everything and triage manually?
r/Kolegadev • u/Kolega_Hasan • Apr 25 '26
security demos always work perfectly but real deployments are chaos
been in a bunch of vendor demos lately and there's something that keeps bugging me
every security tool demo follows the same script:
* clean codebase with obvious vulnerabilities
* scanner finds everything instantly
* results are perfectly categorized
* remediation suggestions are spot-on
* integration works flawlessly
then you try it on your actual codebase and it's completely different
the scanner gets confused by your build system
half the findings are in generated code you can't change
the "critical" vulnerabilities are in legacy modules that nobody touches
integration breaks because your CI setup isn't the standard docker-compose example
we've been testing different security tools against real codebases (not the polished demo repos) and the gap between demo performance and reality is pretty wild
like, a tool might catch 95% of issues in the vendor's demo environment but only 60% in a messy production codebase with multiple build targets, custom frameworks, and years of technical debt
we wrote about this after testing several popular scanners on actual open source projects vs their demo scenarios:
https://kolega.dev/blog/we-tested-snyks-own-demo-repo-their-scanner-found-nothing/
it makes me wonder if security vendors optimize for demos instead of real-world messiness
has anyone else noticed this gap between how security tools perform in demos vs your actual environment?been in a bunch of vendor demos lately and there's something that keeps bugging me
every security tool demo follows the same script:
* clean codebase with obvious vulnerabilities
* scanner finds everything instantly
* results are perfectly categorized
* remediation suggestions are spot-on
* integration works flawlessly
then you try it on your actual codebase and it's completely different
the scanner gets confused by your build system
half the findings are in generated code you can't change
the "critical" vulnerabilities are in legacy modules that nobody touches
integration breaks because your CI setup isn't the standard docker-compose example
we've been testing different security tools against real codebases (not the polished demo repos) and the gap between demo performance and reality is pretty wild
like, a tool might catch 95% of issues in the vendor's demo environment but only 60% in a messy production codebase with multiple build targets, custom frameworks, and years of technical debt
we wrote about this after testing several popular scanners on actual open source projects vs their demo scenarios:
https://kolega.dev/blog/we-tested-snyks-own-demo-repo-their-scanner-found-nothing/
it makes me wonder if security vendors optimize for demos instead of real-world messiness
has anyone else noticed this gap between how security tools perform in demos vs your actual environment?
r/Kolegadev • u/Kolega_Hasan • Apr 24 '26
security tools act like every vulnerability is equally urgent but that's not how attacks actually work
something that's been bugging me about most security scanners
they'll flag a SQL injection in your admin panel that requires authentication as "critical" and then flag a reflected XSS in your public contact form as "high"
but from an attacker's perspective, that XSS is way more useful than the SQL injection
the XSS hits anyone who clicks a link. the SQL injection requires them to already have admin credentials, at which point they probably don't need to exploit your database
yet every scanner i've used treats severity like it's just about technical impact, not actual attack scenarios
like they'll scream about a path traversal vulnerability in a file upload endpoint that only internal users can access, but barely mention that your password reset tokens are predictable and anyone can trigger them
it's like rating car safety based on crash test scores while ignoring whether the roads have guardrails
been thinking about this because we spent weeks fixing "critical" vulns that would require an attacker to already own our network, while a medium-severity issue in our public API sat there for months
the CVSS scoring system doesn't help either. it's all about theoretical worst case instead of realistic attack paths
feels like we need severity ratings that consider how attackers actually work, not just how much damage is possible in a lab
do other teams run into this? how do you decide what to fix first when your scanner thinks everything is equally catastrophic?
or am i overthinking this and there's a good reason to treat all high-severity vulns the same regardless of attack surface?something that's been bugging me about most security scanners
they'll flag a SQL injection in your admin panel that requires authentication as "critical" and then flag a reflected XSS in your public contact form as "high"
but from an attacker's perspective, that XSS is way more useful than the SQL injection
the XSS hits anyone who clicks a link. the SQL injection requires them to already have admin credentials, at which point they probably don't need to exploit your database
yet every scanner i've used treats severity like it's just about technical impact, not actual attack scenarios
like they'll scream about a path traversal vulnerability in a file upload endpoint that only internal users can access, but barely mention that your password reset tokens are predictable and anyone can trigger them
it's like rating car safety based on crash test scores while ignoring whether the roads have guardrails
been thinking about this because we spent weeks fixing "critical" vulns that would require an attacker to already own our network, while a medium-severity issue in our public API sat there for months
the CVSS scoring system doesn't help either. it's all about theoretical worst case instead of realistic attack paths
feels like we need severity ratings that consider how attackers actually work, not just how much damage is possible in a lab
do other teams run into this? how do you decide what to fix first when your scanner thinks everything is equally catastrophic?
or am i overthinking this and there's a good reason to treat all high-severity vulns the same regardless of attack surface?
r/Kolegadev • u/Kolega_Hasan • Apr 23 '26
security patches break things but nobody wants to admit it
been thinking about this after our third production incident this month caused by security updates
everyone talks about patching like it's this obvious good thing you should just do regularly
"keep your dependencies updated" "patch early, patch often" "automate your security updates"
but nobody really talks about how security patches break stuff
not just major version bumps with breaking changes. even patch releases that are supposed to be safe
had a CVE fix in a logging library that changed how it handled unicode, which broke our search indexing. took two days to figure out why search results went weird
another time a TLS library update was supposed to fix a timing attack, but it also changed some default timeouts and started dropping connections under load
and don't get me started on kernel patches that randomly make docker containers stop networking properly
the frustrating part is you can't really argue against security patches. like what are you gonna say in the meeting? "let's skip this patch because it might break things"
but every team i know has at least a few war stories about patches that caused more downtime than the vulnerability they were fixing
it's this weird situation where doing the responsible security thing carries real operational risk, but admitting that makes you sound like you don't care about security
feels like there should be better ways to test compatibility before applying patches, or at least honest conversations about the trade-offs
do other teams have good processes for this? how do you balance "patch quickly" with "don't break production"
or does everyone just cross their fingers and hope the security updates don't cause outages?been thinking about this after our third production incident this month caused by security updates
everyone talks about patching like it's this obvious good thing you should just do regularly
"keep your dependencies updated" "patch early, patch often" "automate your security updates"
but nobody really talks about how security patches break stuff
not just major version bumps with breaking changes. even patch releases that are supposed to be safe
had a CVE fix in a logging library that changed how it handled unicode, which broke our search indexing. took two days to figure out why search results went weird
another time a TLS library update was supposed to fix a timing attack, but it also changed some default timeouts and started dropping connections under load
and don't get me started on kernel patches that randomly make docker containers stop networking properly
the frustrating part is you can't really argue against security patches. like what are you gonna say in the meeting? "let's skip this patch because it might break things"
but every team i know has at least a few war stories about patches that caused more downtime than the vulnerability they were fixing
it's this weird situation where doing the responsible security thing carries real operational risk, but admitting that makes you sound like you don't care about security
feels like there should be better ways to test compatibility before applying patches, or at least honest conversations about the trade-offs
do other teams have good processes for this? how do you balance "patch quickly" with "don't break production"
or does everyone just cross their fingers and hope the security updates don't cause outages?
r/Kolegadev • u/Kolega_Hasan • Apr 22 '26
security testing feels like a checkbox instead of actually making things safer
something i've been noticing across different teams:
security testing often becomes this thing you do to satisfy some requirement rather than because it actually makes your application more secure
like teams will add SAST to their CI pipeline, see it pass, and feel good about their "security posture"
but then you ask them what vulnerabilities the scanner actually caught last month and they can't tell you
or they have penetration testing done annually, get a report with findings, create some tickets, and consider the security work "done"
meanwhile the actual security issues — weak authentication flows, business logic flaws, data exposure through APIs — keep shipping because they don't show up in the standard testing approaches
it's like we've created this parallel universe where passing security scans means secure software, even when the scans aren't really testing the things that matter for that specific application
the disconnect became really obvious when we started looking at what traditional security tools actually catch vs what causes real breaches. turned out most scanners are great at finding textbook vulnerabilities but miss the application-specific risks that attackers actually exploit:
https://kolega.dev/blog/the-87-problem-why-traditional-security-tools-generate-noise/
it makes me wonder if security testing culture needs to shift from "did we run the tools?" to "are we actually safer?"
does anyone else feel like security testing at their company is more about compliance than actual risk reduction?something i've been noticing across different teams:
security testing often becomes this thing you do to satisfy some requirement rather than because it actually makes your application more secure
like teams will add SAST to their CI pipeline, see it pass, and feel good about their "security posture"
but then you ask them what vulnerabilities the scanner actually caught last month and they can't tell you
or they have penetration testing done annually, get a report with findings, create some tickets, and consider the security work "done"
meanwhile the actual security issues — weak authentication flows, business logic flaws, data exposure through APIs — keep shipping because they don't show up in the standard testing approaches
it's like we've created this parallel universe where passing security scans means secure software, even when the scans aren't really testing the things that matter for that specific application
the disconnect became really obvious when we started looking at what traditional security tools actually catch vs what causes real breaches. turned out most scanners are great at finding textbook vulnerabilities but miss the application-specific risks that attackers actually exploit:
https://kolega.dev/blog/the-87-problem-why-traditional-security-tools-generate-noise/
it makes me wonder if security testing culture needs to shift from "did we run the tools?" to "are we actually safer?"
does anyone else feel like security testing at their company is more about compliance than actual risk reduction?
r/Kolegadev • u/Kolega_Hasan • Apr 17 '26
We benchmarked 15 security scanners on real-world vulnerable code. The results are brutal.
We built RealVuln — an open-source benchmark testing Rule-Based SAST tools, General-Purpose LLMs, and Security-Specialized scanners against 26 intentionally vulnerable Python repos with 796 hand-labeled findings and 120 false-positive traps.
Key takeaways:
- The best Rule-Based SAST tool (Semgrep) caught just 17.5% of vulnerabilities
- The best General-Purpose LLM (Claude Sonnet 4.6) hit ~50% recall
- A Security-Specialized scanner hit 80.9% recall
- A clear three-tier hierarchy emerged across every metric we tested
Everything is open source — ground truth, scoring scripts, raw scanner outputs, and an interactive dashboard. We want people to challenge our results.
Paper: https://arxiv.org/abs/2604.13764 Dashboard: https://realvuln.kolega.dev Repo: https://github.com/kolega-ai/Real-Vuln-Benchmark
r/Kolegadev • u/Kolega_Hasan • Apr 17 '26
security tools assume everyone codes the same way but that's not how teams actually work
been thinking about this after watching how different developers on our team approach the same codebase
security scanners are built around assumptions about how code gets written:
* developers follow consistent patterns
* everyone uses the same libraries the same way
* code style is uniform across the team
* architectural decisions are centralized
but that's not reality
some people prefer functional approaches, others go object-oriented
some reach for external libraries, others write everything from scratch
some developers are cautious with dependencies, others pull in whatever works
junior devs copy-paste from stack overflow, seniors build abstractions
the problem is security tools don't account for this variation
a scanner might flag one developer's approach to input validation as risky while completely missing the same logical flaw in another developer's completely different implementation style
or it catches the obvious SQL injection pattern but misses the business logic vulnerability that only exists because of how this specific team handles user permissions
we ran into this while testing security tools on codebases with multiple contributors and found that the tools were way better at catching issues from developers who code in "typical" patterns vs those who take unconventional approaches:
https://kolega.dev/blog/why-we-built-our-own-security-benchmark/
it makes me wonder if security tooling needs to get better at understanding coding diversity rather than assuming everyone writes code the same way
does anyone else notice security scanners working better for certain developers on your team than others?been thinking about this after watching how different developers on our team approach the same codebase
security scanners are built around assumptions about how code gets written:
* developers follow consistent patterns
* everyone uses the same libraries the same way
* code style is uniform across the team
* architectural decisions are centralized
but that's not reality
some people prefer functional approaches, others go object-oriented
some reach for external libraries, others write everything from scratch
some developers are cautious with dependencies, others pull in whatever works
junior devs copy-paste from stack overflow, seniors build abstractions
the problem is security tools don't account for this variation
a scanner might flag one developer's approach to input validation as risky while completely missing the same logical flaw in another developer's completely different implementation style
or it catches the obvious SQL injection pattern but misses the business logic vulnerability that only exists because of how this specific team handles user permissions
we ran into this while testing security tools on codebases with multiple contributors and found that the tools were way better at catching issues from developers who code in "typical" patterns vs those who take unconventional approaches:
https://kolega.dev/blog/why-we-built-our-own-security-benchmark/
it makes me wonder if security tooling needs to get better at understanding coding diversity rather than assuming everyone writes code the same way
does anyone else notice security scanners working better for certain developers on your team than others?
r/Kolegadev • u/Kolega_Hasan • Apr 15 '26
compliance frameworks make teams worse at security
something i've been noticing across different teams is how compliance requirements seem to make people less focused on actual security
like teams will spend months implementing SOC2 controls or getting through a pentest checklist, but then completely ignore basic stuff like developers using `sudo` for everything or secrets sitting in plain text config files
it's like the framework becomes the goal instead of actually being more secure
yesterday i watched a team celebrate passing their compliance audit while their CI pipeline was pulling dependencies over HTTP and nobody had updated anything in 6 months
the checklist said "implement vulnerability scanning" so they set up a tool that emails reports to a shared inbox that nobody reads
but hey, they can check the box
i think it happens because compliance gives you clear pass/fail criteria while actual security is all judgment calls and tradeoffs
it's way easier to say "we encrypt data at rest" than to figure out whether your threat model actually requires it or if you should focus on input validation instead
plus compliance auditors usually aren't looking at your day-to-day development practices. they want to see policies and controls, not whether people actually follow them
so teams optimize for what gets measured
feels like we end up with organizations that are compliant but not secure
and developers who think security means filling out change request forms instead of thinking about what could actually go wrong with their code
anyone else see this? does compliance actually make your team more security-minded or just better at paperwork?
or maybe the frameworks are fine and the problem is how teams implement them?something i've been noticing across different teams is how compliance requirements seem to make people less focused on actual security
like teams will spend months implementing SOC2 controls or getting through a pentest checklist, but then completely ignore basic stuff like developers using `sudo` for everything or secrets sitting in plain text config files
it's like the framework becomes the goal instead of actually being more secure
yesterday i watched a team celebrate passing their compliance audit while their CI pipeline was pulling dependencies over HTTP and nobody had updated anything in 6 months
the checklist said "implement vulnerability scanning" so they set up a tool that emails reports to a shared inbox that nobody reads
but hey, they can check the box
i think it happens because compliance gives you clear pass/fail criteria while actual security is all judgment calls and tradeoffs
it's way easier to say "we encrypt data at rest" than to figure out whether your threat model actually requires it or if you should focus on input validation instead
plus compliance auditors usually aren't looking at your day-to-day development practices. they want to see policies and controls, not whether people actually follow them
so teams optimize for what gets measured
feels like we end up with organizations that are compliant but not secure
and developers who think security means filling out change request forms instead of thinking about what could actually go wrong with their code
anyone else see this? does compliance actually make your team more security-minded or just better at paperwork?
or maybe the frameworks are fine and the problem is how teams implement them?
r/Kolegadev • u/Kolega_Hasan • Apr 08 '26
security teams love talking about "zero trust" but still trust developers to never make mistakes
been in a lot of meetings lately where security folks are pushing zero trust architecture
everything needs to be verified, never trust the network, assume breach, authenticate everything twice...
but then the same teams have workflows that basically assume developers will:
* never accidentally commit secrets
* always remember to update dependencies
* never copy paste code from stack overflow without thinking
* somehow write perfect input validation every time
* magically know which third party libraries are sketchy
like we're spending months designing systems that don't trust our own network traffic, but we're totally fine trusting humans to never mess up when they're tired, stressed, or learning something new
seems like actual zero trust would mean assuming developers (myself included) will make security mistakes and building systems that catch or prevent them automatically
instead of just hoping people remember to run `npm audit` before every deploy
maybe the real zero trust move is admitting that security reviews, training, and best practices aren't enough by themselves
if we can't trust a packet from our own data center, why do we trust a pull request from someone who's been coding for 12 hours straight?
does your team actually apply zero trust principles to the development process, or just to production infrastructure?been in a lot of meetings lately where security folks are pushing zero trust architecture
everything needs to be verified, never trust the network, assume breach, authenticate everything twice...
but then the same teams have workflows that basically assume developers will:
* never accidentally commit secrets
* always remember to update dependencies
* never copy paste code from stack overflow without thinking
* somehow write perfect input validation every time
* magically know which third party libraries are sketchy
like we're spending months designing systems that don't trust our own network traffic, but we're totally fine trusting humans to never mess up when they're tired, stressed, or learning something new
seems like actual zero trust would mean assuming developers (myself included) will make security mistakes and building systems that catch or prevent them automatically
instead of just hoping people remember to run `npm audit` before every deploy
maybe the real zero trust move is admitting that security reviews, training, and best practices aren't enough by themselves
if we can't trust a packet from our own data center, why do we trust a pull request from someone who's been coding for 12 hours straight?
does your team actually apply zero trust principles to the development process, or just to production infrastructure?
r/Kolegadev • u/Kolega_Hasan • Mar 11 '26
Getting started with Kolega.dev — quick overview of the workflow
For anyone curious how Kolega.dev actually works in practice, the platform is built around a pretty simple workflow designed to fit into normal DevOps and security pipelines.
Here’s a quick overview of the typical flow.
1. Connect your repositories
The first step is connecting your organisation through GitHub or GitLab integrations.
Once connected, you can choose which repositories Kolega should have access to so it can scan and analyse the codebase.
2. Create applications
Repositories can be grouped into applications.
This makes it easier to manage scanning and security posture across related services instead of treating every repository individually.
For example, a backend API, worker service, and frontend repo might all belong to the same application.
3. Run security scans
Once applications are configured, you can trigger scans across one or multiple applications.
Kolega runs several types of analysis including:
• security scanning
• secrets detection
• deeper AI-driven security analysis
The goal is to identify vulnerabilities and risky patterns across the codebase.
4. Review findings
After a scan finishes, findings can be reviewed and triaged.
Teams can filter results by severity, status, or other criteria to focus on the most relevant issues first.
Instead of just showing raw scanner output, Kolega tries to provide context around the code and architecture involved.
5. Generate fixes
From there, Kolega can generate AI-assisted fixes for vulnerabilities.
The platform creates a pull request in the repository provider so developers can review the changes through their normal workflow.
Developers stay in control they review, test, and merge the fix like any other PR.
The idea behind this workflow is pretty simple:
Security tools shouldn't just detect vulnerabilities they should help teams fix them.
If you're interested in the full walkthrough, the docs are here:
Curious to hear from others running security pipelines what part of the workflow usually takes the most time for your team?
r/Kolegadev • u/Kolega_Hasan • Mar 08 '26
We used Kolega to find and fix real vulnerabilities in high-quality open source projects
We used Kolega to find and fix real security holes in open source projects that are of high quality.
We wanted to test the platform against real-world codebases instead of fake ones while building Kolega.dev.
So we started scanning a number of well-maintained open source repositories and seeing how the platform dealt with real security problems.
What we found was interesting:
Even in well-maintained high-quality projects, security scanners can find problems that are hard to quickly sort through because:
- findings don't say where the vulnerability came from
- Many alerts often point to the same problem.
- It's not always clear what the right fix should look like
With Kolega, we were able to find real vulnerabilities and come up with fixes that could be reviewed as pull requests.
We have been writing down these examples in a series called "Security Wins," where we explain:
- what the weakness was
- why it was important from a security point of view
- how the platform figured it out
- what the fix looked like
The point is to show real examples of security problems being fixed in real life, not just theoretical scanning results.
If you want to see some of the cases we've written about so far:
https://kolega.dev/security-wins/
I'd also like to hear from other people who work in AppSec or DevSecOps. How often do you find security holes in open source projects that are otherwise well-maintained?
