• 0 Posts
  • 212 Comments
Joined 3 years ago
cake
Cake day: June 10th, 2023

help-circle
  • I don’t get how that output showcases anything, unless he had run that against a known instance of forgejo so the owners of that instance could confirm that he actually executed code. But he’s only showing a text file, that’s like saying look I hacked super_secure_self_hosted_service:

    python hack_it.py localhost:3000
    
    Hacked!
    

    For all we know chain_alpha.py is just a bunch of prints.

    Also, even if it is real (which I don’t really doubt, but I have seen no proof) holding the information instead of properly disclosing it is just childish. It’s not a carrot methodology, it’s a stick one, and one without a carrot. This is the sort of thing you do to big companies with no morals, doing it to a small open source project is just wrong, they don’t have the manpower or money to redo the investigation you already did. Release a CVE, talk to the devs, and/or push a PR, but saying “I found a vulnerability but I won’t tell you about it” is just dumb.


  • That article has lots of issues:

    17% of the most popular Rust packages contain code that virtually nobody knows what it does

    That’s not true at all, the article where he got that information from says:

    Only 8 crate versions straight up don’t match their upstream repositories. None of these were malicious: seven were updates from vendored upstreams (such as wrapped C libraries) that weren’t represented in their repository at the point the crate version was published, and the last was the inadvertent inclusion of .github files that hadn’t yet been pushed to the GitHub repository.

    So, of the 999 most popular crates analyzed 0% contains code nobody knows what it does.

    He then lists some ways packages can be maliciously compromised:

    1. Steal credentials and impersonate a dev
    2. Misleading package names
    3. Malicious macros (this one is interesting, had never considered it before)
    4. Malicious build script

    And his solutions are:

    1. Bigger std library (solves none of the above)
    2. Source dependencies (solves none of the issues he showed, only the issue that happens in 0% of packages where binary doesn’t match the source and is detectable)
    3. Decentralized packages (which worsens every security concern)
    4. Centralized Checksum database (so a centralized package manager is bad, but a centralized Checksum index is good? How does that work?)

    Honestly I can’t take that article seriously, it grossly misinterpreted another study, presents problems that exist on every single package manager ever, doesn’t propose ANY valid solution, and the only thing he points to as a solution suffers from ALL of the same issues and then some.



  • Hey, I’ve been using silverbullet for a year or so. The first thing that I will say is that if you don’t care for client/server I would suggest just keep markdown files in a folder, that’s very portable and there are tons of plugins for editors to track that, that’s what I was doing before Silverbullet, and way before that it was org-mode which I still miss a few features sometimes. I’ve never used LogSeq, for any extended period so can’t talk about specifics there.

    From my experience these are the things I like about Silverbullet:

    • It’s mostly markdown, this means that if I ever have an issue with SB I can just access the files directly
    • Client/Server means I can add quick things from my phone/tablet/different computer very easily
    • Sync mode means I can edit even when offline and have it sync later
    • It is extremely hackable, if you can program you can make it do what you want and it can be amazing at times

    And these are some things I dislike about it:

    • Syntax doesn’t seem to be stable. I have some old files that don’t draw tables anymore because something changed in the extra syntax they have for queries.
    • It is very bare-bones, it doesn’t have the bells and whistles of other larger products and it never will, it’s not what it’s about.

    At the end of the day I think it’s a great tool for what it does, but you should understand what it is. If you’re expecting charts, diagrams or similar you will be sorely disappointed. If you expect a solid note taking app I think you’ll be very happy with it.


  • I theoretically have Diun setup, but realistically I just run my Ansible playbook weekly and have most containers set to latest. The exceptions being things that sometimes need special steps when upgrading such as Immich or critical stuff I want special attention such as Athelia/Authentik, for those I subscribe to their releases via RSS so I can update them easily, which usually is just changing a value in my Ansible configuration, but if extra changes are needed I can adapt them.




  • But what is a trusted provider? How can you trust it? How sure are you that you’re not being MitM? Have you fully manually verified that there’s no funky flags in curl like -k, that the url is using SSL, that it’s a correct url and not pointing at something malicious, etc, etc, etc. There are a lot of manual steps you must verify using this approach, whereas using a package manager all of them get checked automatically, plus some extra checks like hundreds of people validating the content is secure.

    To do apt get from an unknown repo, you first need to convince the person to execute root commands they don’t understand on their machine to add that unknown repo, if you can convice someone to run an unsafe command with root credentials then the machine is already compromised.

    I get your point, random internet scripts are dangerous but random internet packages can also dangerous. But that’s a false equivalence because there are lots of safeguards to the packages in the usual way people install them, but less than 0 safeguards to the curl|bash. In a similar manner, if this was a post talking about the dangers of fireworks and how you can blow yourself up using them your answer is “but someone can plant a bomb in the mall I go to, or steal the codes for a nuclear missile and blow me up anyways”.


  • But those are two very different things, I can very easily give you a one liner using curl|bash that will compromise your system, to get the same level of compromise through a proper authenticated channel such as apt/pacman/etc you would need to compromise either their private keys and attack before they notice and change them or stick malicious code in an official package, either of those is orders of magnitude more difficult than writing a simple bash script.










  • It is for pull requests. A user makes a change to the documentation, they want to be able to see the changes on a web page.

    So? What that has to do with SSL certificates? Do you think GitHub loses SSL when viewing PRs?

    If you don’t have them on the open web, developers and pull request authors can’t see the previews.

    You can have them in the open, but without SSL you can’t be sure what you’re accessing, i.e. it’s trivial to make a malicious site to take it’s place an MitM whoever tries to access the real one.

    The issue they had was being marked as phishing, not the SSL certificate warning page.

    Yes, a website without SSL is very likely a phishing attack, it means someone might be impersonating the real website and so it shouldn’t be trusted. Even if by a fluke of chance you hit the right site, all of your communication with it is unencrypted, so anyone in the path can see it clearly.



  • Ok, so, there are multiple things you should be aware.

    First of all you’ve set that DNS to be 10.0.0.41, that range of IPs is reserved for lan, similar to 192.168.0.41 would be. Only people in the same local network as you might be able to access it.

    Also, usually your home router doesn’t use the 10.x.x.x range, but some ISPs might do it in their internal network, which means your router doesn’t get an internet IP, instead your ISP router does and it shares the same external IP with different houses, so you would need to use something like https://www.whatsmyip.org/ to know what your external IP is.

    But there’s more, since you don’t control that router putting that external IP in the DNS won’t work either.

    You need to do something more complicated, I recommend you read on cloud flare tunnels for example.

    And one final piece of advice, don’t share your urls with randoms on the internet, security by obscurity is not security and all, but publicly advertising your url is asking for trouble, even without doing that you will see several attempts of logging into your servers constantly.