check-spelling
Knot Resolver
check-spelling | Knot Resolver | |
---|---|---|
2 | 9 | |
241 | 336 | |
2.9% | 1.5% | |
7.8 | 9.5 | |
3 days ago | 7 days ago | |
Shell | C | |
MIT License | GNU General Public License v3.0 or later |
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.
check-spelling
-
Add check-spelling to a repository
View on GitHub
-
GitHub Actions checkspelling community workflow GitHub_TOKEN leakage via symlink
> If my repo always runs all tests on a PR, could someone just add a PR with a new test that is then run? Thus running their arbitrary code.
Running arbitrary code is inevitable if an action is configured to run on all PRs. People have abused this to run crypto miners and stuff in the past, but this for the most part is merely an annoyance to maintainers, not a security problem. It does become a security problem when arbitrary code execution is allowed with your secrets, including your configured secrets and the read/write GITHUB_TOKEN.
Expanding on the topic of secrets, if you trigger your test from the usual pull_request event, the workflow won't have access to GITHUB_TOKEN or configured secrets, so it's the safe default you should almost always choose. That becomes a problem when you need write access to the repo, e.g. to assign labels or add comments to the PR from the workflow, in which case you have to use the privileged pull_request_target event to expose GITHUB_TOKEN and secrets. pull_request_target by default runs in the context of the base of the PR, so there's still no arbitrary code, but you can explicitly check out the PR in that context, and when you do, your secrets are potentially exposed to arbitrary code. If you execute that arbitrary code in any job, or like in this case, post the content of effectively any file on disk as directed by an attacker, boom, owned.
Therefore, you should
- Avoid pull_request_target unless white access to the repo and/or access to configured secrets is absolutely necessary;
- When using pull_request_target, avoid checking out untrusted code;
- If it's absolutely necessary to check out untrusted code, make absolutely sure that the untrusted code isn't executed in any way, and that your trusted handling code can't be tricked by untrusted content in any way, like an arbitrary symlink. This is of course difficult to verify.
In this specific case, the fix seems to be checking that the absolute path of the untrusted advice.txt is within GITHUB_WORKSPACE (https://github.com/check-spelling/check-spelling/commit/4363...). IMO that's a wrong fix only covering the symptom. The real cause is using untrusted configuration files at all; why not make a copy of the trusted version of configuration files and use those instead???
GitHub has an article about security considerations here: https://securitylab.github.com/research/github-actions-preve...
Knot Resolver
- Systemd through the eyes of a musl distribution maintainer
- EU is building its own DNS service
- DNS server recommendation?
- Knot Resolver
-
Reasons to use unbound
Have you considered Knot resolver too?
-
Why might you run your own DNS server?
Knot-resolver (https://www.knot-resolver.cz/) you can't beat it's normal caching, proactive caching, stale caching, scriptability, basic stats information. It supports DNS, DNS over tls, doh, etc etc.
-
Add check-spelling to a repository
Originally posted by @tomaskrizek in https://github.com/CZ-NIC/knot-resolver/pull/75#discussion_r752569877
-
Kominfo can suck a huge one
My suggestion: Choose providers that support DNSSEC or server with DoH written in Go (aka m13253). Or if you are interested in new technology, you can try providers that implement Knot Resolver (DoH2).
-
What do you self-host that no one's heard of?
Knot DNS for auth dns and Knot resolver for recursive dns. I always seem to have issues with unbound so I'm using it instead.
What are some alternatives?
did_you_mean - The gem that has been saving people from typos since 2014
Unbound - Unbound is a validating, recursive, and caching DNS resolver.
advisories
PowerDNS - PowerDNS Authoritative, PowerDNS Recursor, dnsdist
PHP-Spellchecker - πππ PHP Library providing an easy way to spellcheck multiple sources of text by many spellcheckers
Bind - Mirror of https://gitlab.isc.org/isc-projects/bind9, please submit issues and PR/MRs in the GitLab. Any issues and PRs opened here will be closed without a comment.
ohmyzsh - π A delightful community-driven (with 2,300+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.
dnsmasq - mirror of dnsmasq (git://thekelleys.org.uk/dnsmasq.git ). This account is NOT maintained by dnsmasq developers. I am happy to give account to them. Please feel free to contact me. 1584171677[at]qq[dot]com
Windows Terminal - The new Windows Terminal and the original Windows console host, all in the same place!
Knot DNS - A mirrored repository
winget-cli - WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).
Yadifa - YADIFA is a lightweight authoritative Name Server with DNSSEC capabilities. Developed by the passionate people behind the .eu top-level domain, YADIFA has been built from scratch to face todayβs DNS challenges, with no compromise on security, speed and stability, to offer a better and safer Internet experience.