I’m trying to feel more comfortable using random GitHub projects, basically.

32 points
*

I don’t think “AI” is going to add anything (positive) to such a use case. And if you remove “AI” as a requirement, you’ll probably get more promising candidates than if you restrict yourself to “AI” (whatever that means) solutions.

permalink
report
reply
-16 points
*

I don’t care if the solution is AI based or not, indeed.

I guess I thought it like that because AI is quite fit for the task of understanding what might be the purpose of code in a few seconds/minutes without you having to review it. I don’t know how some non-AI tool could be better for such task.

Edit: so many people against the idea. Have you guys used GitHub Copilot? It understands the context of your repo to help you write the next thing… Right? Well, what if you apply the same idea to simply review for malicious/unexpected behaviour on third party repos? Doesn’t seem too weird for me.

permalink
report
parent
reply
24 points

AI is quite fit for the task

EXTREMELY LOUD INCORRECT BUZZER

permalink
report
parent
reply
14 points
*

AI is quite fit for the task of understanding what might be the purpose of code

Disagree.

I don’t know how some non-AI tool could be better for such task.

ClamAV has been filling a somewhat similar use case for a long time, and I don’t think I’ve ever heard anyone call it “AI”.

I guess bayesian filters like email providers use to filter spam could be considered “AI” (though old-school AI, not the kind of stuff that’s such a bubble now) and may possibly be applicable to your use case.

permalink
report
parent
reply
1 point

Bayesian filters are statistical, they have nothing to do with machine learning.

permalink
report
parent
reply
5 points

AI is quite fit for the task of understanding

Sure, and parrots are amazing at spotting fallacies like cherry picking…

permalink
report
parent
reply
-6 points

Don’t listen to the idiots downvoting you. This is absolutely a good task for AI. I suspect current AI isn’t quite clever enough to detect this sort of thing reliably unless it is very blatant malicious code, but a lot of malicious code is fairly blatant if you have the time to actually read an entire codebase in detail, which of course AI can do and humans can’t.

For example the extra . that disabled a test in xz? I think current AI would easily be capable of highlighting it as wrong. It probably wouldn’t be able to figure out that it was malicious rather than a mistake yet though.

permalink
report
parent
reply
5 points

I mean anything is a good fit for future, science fiction AI if we imagine hard enough.

What you describe as “blatant malicious code” is probably only things like very specific C&C domains or instruction sets. We already have very efficient string matching tools for those, though, and they don’t burn power at an atrocious rate.

You’ve given us an example so PoC||GTFO. Major code AI tools like Copilot struggle to explain test files with a variety of styles, skips, and comments, so I think you have your work cut out for you.

permalink
report
parent
reply
16 points

Privado CLI will produce a list of data exfilration points in the code.

If the JSON output file points out a bunch of endpoints you don’t recognize from the README, then I wouldn’t trust the project.

Privado likely won’t catch a malicious binary file, but your local PC antivirus likely will.

permalink
report
reply
12 points

The solution to what you want is not to analyze the code projects automagically, but rather to run them in a container/virtual machine. Running them in an environment which restricts what they can access limits the harm an intentional — or accidental bug can do.

There is no way to automatically analyze code for malice, or bugs with 100% reliability.

permalink
report
reply
4 points

Of course, 100% reliability is impossible even with human reviewers. I just want a tool that gives me at least something, cause I don’t have the time or knowledge to review a full repo before executing it on my machine.

permalink
report
parent
reply
1 point

That is another tool you can use to reduce the risk of malicious code, but it isn’t perfect, so using sandboxing doesn’t mean you can forget about all other security tools.

There is no way to automatically analyze code for malice, or bugs with 100% reliability.

He wasn’t asking for 100% reliability. 100% and 0% are not the only possibilities.

permalink
report
parent
reply
2 points

Not exactly what you asked, but related; roast your Github profile: https://github-roast.pages.dev/

permalink
report
reply
3 points

How is that related? I don’t see it.

permalink
report
parent
reply
1 point

It’s an AI tool analyzing a Git repo.

permalink
report
parent
reply
1 point

It doesn’t analyze only one repo

permalink
report
parent
reply
2 points

What do you consider malicious, specifically. Because AI are not magic boxes, they are regurgitation machines prone to hallucinations. You need to train it on examples to identify what you want from it.

permalink
report
reply
4 points

I just want a report that says “we detected in line 27 or file X, a particular behavior that feels weird as it tries to upload your environment variables into some unexpected URL”.

permalink
report
parent
reply
1 point

particular behavior that feels weird

Yea, AI doesn’t do feelings.

tries to upload your environment variables into some unexpected URL

Most of the time that is obfuscated and can’t be detected as part of a code review. It only shows up in dynamic analysis.

permalink
report
parent
reply
2 points

AI doesn’t do feelings

How can I have a serious conversation with these annoying answers? Come on, you know what I am talking about. Even an AI chatbot would know what I mean.

Any AI chatbot, even “general purpose” ones will read your code and will return a description of what it does if you ask it.

And particularly AI would be great at catching “useless”, “weird” or unexplainable code in a repository. Maybe not with the current levels of context. But that’s what I want to know, if these tools (or anything similar) exist yet.

Thank you.

permalink
report
parent
reply
-5 points

AI doesn’t do feelings

It absolutely does. I don’t know where you got that weird idea.

permalink
report
parent
reply

Programming

!programming@programming.dev

Create post

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you’re posting long videos try to add in some form of tldr for those who don’t want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



Community stats

  • 3.4K

    Monthly active users

  • 754

    Posts

  • 5.8K

    Comments