security-products
Caddy
security-products | Caddy | |
---|---|---|
7 | 403 | |
- | 54,077 | |
- | 1.7% | |
- | 9.5 | |
- | 6 days ago | |
Go | ||
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
security-products
-
How to use GitLab SAST tool to detect simple DOM vulnerability?
Gitlab uses OSS analyzers for vulnerability detection. You will need to see what predefined rules are set up for the analyzers that were ran for the code in question. More than likely, these predefined rules will not detect everything. A POC will allow you to understand the limits of the provided rulesets, and you will need to customize your own rules for gaps that you find. You can find a list of analyzers here https://gitlab.com/gitlab-org/security-products/analyzers.
-
How Go Mitigates Supply Chain Attacks
>> The only commands that will change the go.mod (and therefore the build) are go get and go mod tidy. These commands are not expected to be run automatically or in CI, so changes to dependency trees must be made deliberately and have the opportunity to go through code review.
GO doesn't do jack shit to mitigate supply chain attacks. Version pinning with checksum and that is it. But what could they do? Solve supply chain attacks as a language feature? That doesn't even make sense.
Application developers using Go must prevent supply chain attacks against their applications. So go get some SAST for your pipeline.
Sure there is truth in saying: always verify your dependencies (and their dependencies) yourself with a code review on every update. But lets talk about collaborative vulnerability management instead. (yes there could be other attestations, but one thing at a time).
Let's say repositories that publishes go modules should also publish a curated list of known vulnerabilities (including known supply chain attacks) for the modules they publish. This curation is work: reports must be verified before being included in the list and they must be verified quickly. This work scales with the number of packages published. And worse, modules could be published in more than one repository, module publishing repository can be different from source code repositories, and lists of vulnerabilities can exist independent from these repository - so reports should be synced between different list providers. Different implementations and lack of common standards make this a hard problem. And implicit trust for bulk imports could open the door for takedown attacks.
There is an argument that vulnerability listing should be split from source and module publishing: each focusing on their core responsibility. For supply chain attacks especially this split in responsibilities also makes it harder for an attacker to both attack suppliers and suppress reports. But for all other issues it increase distance as reports must travel upstream. And it creates perverse incentives, like trying to keep reports exclusive to paying customers.
To pile on the insanity: reports can be wrong. And there are unfixed CVEs that are many years old (well ok maybe not for go... yet). Downstream there are "mitigated" and "wont-fix" classifications for reports about dependencies and many SAST tooling can't parse that for transitive dependencies.
Really, supply chain attacks are the easy case in vulnerability management, because they are so obviously a "must-fix" when detected. (and to please the never update crowd: for a downstream project "fix" can mean not updating a dependency into an attacked version)
Long story short: go get some SAST in your pipelines to defend against supply chain attacks. Like GitLabs Gemnasium ( https://gitlab.com/gitlab-org/security-products/gemnasium-db... ) or GitHubs Dependabot ( https://github.com/advisories?query=type%3Areviewed+ecosyste... ) among many, many others. (not recommendations, just examples!)
This helps you sort out supply chain attacks that other people have already found, before you update into them. (Collaboration!) is useful. Sure you are still left with reading the source changes of any dependency update, because who knows, you may be the first one to spot one, but hey, good for you.
-
The vulnerability research team @GitLab is introducing an open-source community-driven advisory database for third-party security dependencies
What's with the weird terms to/for the database?
-
GitLab Ultimate DAST Issues
GitLab documentation says nothing about Auth0 and I'm almost inclined to go in and edit Gitlab's code but that feels like it defeats the point of their plan which isn't cheap and I'd rather not have to maintain a workaround fix. Our GitLab contact hasn't been able to give a solid answer for this either.
- Package Hunter: A tool for identifying malicious dependencies via runtime monitoring.
-
Package Hunter: A tool for detecting malicious code in your dependencies
Interesting thought from https://twitter.com/d_scho/status/1419752750351540231
> Isn‘t dependabot doing the same, basically?
with a response in the thread at https://twitter.com/solidnerd/status/1420307219745230850
> Dependabot / renovate only checking for version updates of your programm deps. Package Hunter analyze a program's deps for unexpected behavior (mal code) by installing the dependencies in a sandbox env and monitors system calls executed during the installation.
Package Hunter requires Falco, Docker and NodeJS to run, following the instructions at https://gitlab.com/gitlab-org/security-products/package-hunt... - give it a try :)
- Javafuzz
Caddy
-
How I use Devbox in my Elm projects
These projects use Caddy as my local development server, Dart Sass for converting my Sass files to CSS, elm, elm-format, elm-optimize-level-2, elm-review, elm-test (only in Calculator), ShellCheck to find bugs in my shell scripts, and Terser to mangle and compress JavaScript code.
-
Why Does Windows Use Backslash as Path Separator?
No, look at the associated unit test: https://github.com/caddyserver/caddy/blob/c6eb186064091c79f4...
If that test fails we could serve PHP source code instead of having it be evaluated, a major security flaw.
-
How to securely reverse-proxy ASP.NET Core web apps
However, it's very unlikely that .NET developers will directly expose their Kestrel-based web apps to the internet. Typically, we use other popular web servers like Nginx, Traefik, and Caddy to act as a reverse-proxy in front of Kestrel for various reasons:
-
HTTP/2 Continuation Flood: Technical Details
I think that recompiling with upgraded Go will not solve the issue. It seems Caddy imports `golang.org/x/net/http2` and pins it to v0.22.0 which is vulnerable: https://github.com/caddyserver/caddy/issues/6219#issuecommen....
-
Show HN: Nano-web, a low latency one binary webserver designed for serving SPAs
Caddy [1] is a single binary. It is not minimal, but the size difference is barely noticeable.
serve also comes to mind. If you have node installed, `npx serve .` does exactly that.
There are a few go projects that fit your description, none of them very popular, probably because they end up being a 20-line wrapper around http frameworks just like this one.
[1] https://caddyserver.com/
-
I Deployed My Own Cute Lil’ Private Internet (a.k.a. VPC)
Each app’s front end is built with Qwik and uses Tailwind for styling. The server-side is powered by Qwik City (Qwik’s official meta-framework) and runs on Node.js hosted on a shared Linode VPS. The apps also use PM2 for process management and Caddy as a reverse proxy and SSL provisioner. The data is stored in a PostgreSQL database that also runs on a shared Linode VPS. The apps interact with the database using Drizzle, an Object-Relational Mapper (ORM) for JavaScript. The entire infrastructure for both apps is managed with Terraform using the Terraform Linode provider, which was new to me, but made provisioning and destroying infrastructure really fast and easy (once I learned how it all worked).
-
Automatic SSL Solution for SaaS/MicroSaaS Applications with Caddy, Node.js and Docker
So I dug a little deeper and came across this gem: Caddy. Caddy is this fantastic, extensible, cross-platform, open-source web server that's written in Go. The best part? It comes with automatic HTTPS. It basically condenses all the work our scripts and manual maintenance were doing into just 4-5 lines of config. So, stick around and I'll walk you through how to set up an automatic SSL solution with Caddy, Docker and a Node.js server.
-
Cheapest ECS Fargate Service with HTTPS
Let's use Caddy which can act as reverse-proxy with automatic HTTPS coverage.
-
Bluesky announces data federation for self hosters
Even if it may be simple, it doesn't handle edge cases such as https://github.com/caddyserver/caddy/issues/1632
I personally would make the trade off of taking on more complexity so that I can have extra compatibility.
-
Freenginx.org
One of the most heavily used Russian software projects on the internet https://www.nginx.com/blog/do-svidaniya-igor-thank-you-for-n... but it's only marginally more modern than Apache httpd.
In light of recently announced nginx memory-safety vulnerabilities I'd suggest migrating to Caddy https://caddyserver.com/
What are some alternatives?
pub - The pub command line tool
traefik - The Cloud Native Application Proxy
HAProxy - HAProxy documentation
envoy - Cloud-native high-performance edge/middle/service proxy
Nginx - An official read-only mirror of http://hg.nginx.org/nginx/ which is updated hourly. Pull requests on GitHub cannot be accepted and will be automatically closed. The proper way to submit changes to nginx is via the nginx development mailing list, see http://nginx.org/en/docs/contributing_changes.html
RoadRunner - 🤯 High-performance PHP application server, process manager written in Go and powered with plugins
Squid - Squid Web Proxy Cache
docker-swag - Nginx webserver and reverse proxy with php support and a built-in Certbot (Let's Encrypt) client. It also contains fail2ban for intrusion prevention.
caddy-docker-proxy - Caddy as a reverse proxy for Docker
Nginx Proxy Manager - Docker container for managing Nginx proxy hosts with a simple, powerful interface
oauth2-proxy - A reverse proxy that provides authentication with Google, Azure, OpenID Connect and many more identity providers.
Lighttpd - lighttpd2 on github for easier collaboration - main repo still on lighttpd.net