Тёмный
Embrace The Red
Embrace The Red
Embrace The Red
Подписаться
Computer security, ethical hacking, red teaming and technology at large. Some artificial intelligence, machine learning and other fun things once in a while. Learn the hacks, stop the attacks!

Information on this channel is provided for research and educational purposes to advance understanding of attacks and countermeasures to help secure the Internet. Penetration testing requires authorization from proper stakeholders. I do not support or condone illegal hacking.

Blog at embracethered.com

(c) WUNDERWUZZI, LLC

ChatGPT  - Commodore 64
0:34
Год назад
Комментарии
@novaland.
@novaland. 12 дней назад
very useful video thank you very much !
@embracethered
@embracethered 12 дней назад
Glad it was helpful! And thanks for watching!
@nickbritt
@nickbritt 15 дней назад
Great walk through I’ve been following along for a while now, the ascii smuggling tool is great. Is there a public place where we could try this tool out via a bug bounty program or similar? When I looked at the in scope items hallucinations and attacks like DAN are out of scope.
@embracethered
@embracethered 14 дней назад
Thanks for watching! 🙏 Great question, it depends on program. bug bounty programs (and industry at large) are a bit behind when it comes to considering novel LLM appsec issues, and there end to end but also long term implications. I often have lengthy threads with companies behind the scenes to help educate and explain, and it always starts with "not applicable", "model safety" issue,... and eventually turns into a fix/improvements - including a few findings about ASCII smuggling I hope to share in coming weeks/months. To explore and research i often create small toy apps myself to debug and help understand what could go wrong. Again, thanks for watching and let me knowing there is any specific topic you'd like me to cover in future?
@nickbritt
@nickbritt 14 дней назад
@@embracethered honestly I’ll be reading the blog and watching regardless. I really enjoy the data exfiltration techniques you shared. But I guess anything that would carry more impact to anyone implementing AI in their web application’s or areas that you deem has the most impact on the underlying models.
@LeonDerczynski
@LeonDerczynski 15 дней назад
Beautiful. Thank you!
@embracethered
@embracethered 15 дней назад
Thanks! Hope it's useful and helps some to get started! 🙂
@donatocapitella
@donatocapitella 27 дней назад
Thank you for sharing this!
@embracethered
@embracethered 27 дней назад
Thanks for watching! Check out the related blog post also. Also, let me know if there is any content you'd like to see covered in future. 🙂
@octopus3141
@octopus3141 Месяц назад
Great stuff 👍
@embracethered
@embracethered Месяц назад
Thanks for the visit and note. Appreciate it! Let me know if there are any relevant topics you'd like to see covered?
@Agathozerk
@Agathozerk Месяц назад
nice video bru
@embracethered
@embracethered Месяц назад
Thanks! Let me know if there are other topics of interest?
@user-or7kk7gh8u
@user-or7kk7gh8u Месяц назад
Can you please share what .py file you has run on this video to monitor chatgpt3.5 chat (print-data-exfiltration-log.py) under code please share
@embracethered
@embracethered Месяц назад
It was just a script that filters the web server log for requests from ChatGPT user agent and only shows the query parameter and no request IP - so it's easier to view. You can just grep /var/log/ngninx/access.log also (assuming you use nginx on Linux). I can see if I still have the script somewhere but it wasn't anything special.
@pez5491
@pez5491 Месяц назад
Gold!
@embracethered
@embracethered Месяц назад
Thanks!!
@maloseevanschaba7343
@maloseevanschaba7343 2 месяца назад
Perfect straight to the point,
@embracethered
@embracethered 2 месяца назад
Thanks for watching!
@Astranix59
@Astranix59 2 месяца назад
What wordlist file do you use?
@embracethered
@embracethered 2 месяца назад
Depends, a common source to get started is: github.com/danielmiessler/SecLists. Also, quite significant are the mutations and rulesets that are being used by the way.
@Astranix59
@Astranix59 2 месяца назад
@@embracethered thank you!!
@chitchatvn5208
@chitchatvn5208 3 месяца назад
Thanks. Great content!
@embracethered
@embracethered 3 месяца назад
Glad you liked it!
@chitchatvn5208
@chitchatvn5208 3 месяца назад
Thanks Yohann.
@embracethered
@embracethered 3 месяца назад
Thanks!
@chitchatvn5208
@chitchatvn5208 3 месяца назад
Thanks Yohann.
@embracethered
@embracethered 2 месяца назад
Glad you found it interesting! Thanks for checking it out!
@chitchatvn5208
@chitchatvn5208 3 месяца назад
thanks Yohann.
@embracethered
@embracethered 3 месяца назад
Thank you! Hope it was useful! 🙂
@chitchatvn5208
@chitchatvn5208 3 месяца назад
Thanks Johann.
@embracethered
@embracethered 3 месяца назад
You are welcome!
@6cylbmw
@6cylbmw 3 месяца назад
I didn't really understand the vulnerability impact. You are exfiltrating own chat (user A) to own drive (user A) drive. How is it exploitable?
@embracethered
@embracethered 3 месяца назад
Attacker is causing the Chatbot to send past chat data to attackers server (in this case a google doc is capturing the exfiltrated data). Check out the linked blog post, explains it in detail.
@endone3661
@endone3661 3 месяца назад
what is this ?
@embracethered
@embracethered 3 месяца назад
It's about a Jupyter Notebook that allows to self-study prompt injection and to experiment and play around with the technique by solving a set of challenges.
@th3pac1fist
@th3pac1fist 3 месяца назад
🔥
@embracethered
@embracethered 3 месяца назад
Thanks!! It's probably one of my most interesting videos.
@RandomAccess2
@RandomAccess2 3 месяца назад
[Environment]::SetEnvironmentVariable("SSLKEYLOGFILE", "c:\temp\sslkeys\keys", "MACHINE") netsh trace start capture=yes tracefile=c:\temp\sslkeys\trace.etl report=disabled netsh trace stop
@notV3NOM
@notV3NOM 3 месяца назад
Thanks , great insights
@embracethered
@embracethered 3 месяца назад
Thanks for watching! Glad it was interesting.
@erinclay4917
@erinclay4917 4 месяца назад
How'd you get that cool paint splash effect around your head? What software are you using?
@embracethered
@embracethered 4 месяца назад
Thanks! It's just a custom image I created. drew a white circle on black background - then zigzagged that splash effect over with a brush and then use a filter for webcam in OBS to blend it in.
@void-qy4ov
@void-qy4ov 4 месяца назад
Great tut. Thanks 👍
@embracethered
@embracethered 4 месяца назад
Glad it was helpful! Thanks for watching!
@Sway55
@Sway55 4 месяца назад
how to do it for traffic outside of browser? say I have a desktop app
@TheHologr4m
@TheHologr4m 4 месяца назад
Was not expecting this in the playlist.
@embracethered
@embracethered 4 месяца назад
Haha
@petraat8806
@petraat8806 4 месяца назад
im trying to understand what just happened please can someone explain
@embracethered
@embracethered 4 месяца назад
You can read up on the details here: embracethered.com/blog/posts/2023/google-bard-data-exfiltration/ And if you want to understand the big picture around LLM prompt injections check out this talk m.ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-qyTSOSDEC5M.html Thanks for watching!
@kajalpuri3404
@kajalpuri3404 4 месяца назад
Thank you so much. Exactly the video I needed.
@embracethered
@embracethered 4 месяца назад
Glad it was helpful!
@plaverty9
@plaverty9 5 месяцев назад
I just tried this, but the only difference is I was capturing this information over HTTP instead of SMB. Does that make a difference? I ask because I was trying to generate a proof of concept where I controlled the username and password going in, but it wouldn't crack. I tried four different times and it didn't work. Is something different when these are captured over HTTP instead of an SMB connection?
@embracethered
@embracethered 4 месяца назад
Good question. First thought is that it should just work the same, but I haven't tried. Relaying def works, that I have done many times in past.
@plaverty9
@plaverty9 4 месяца назад
Thanks. I had a colleague try it too, and got the same result as I did. This is for a pentest proof of concept, so I’m not in position to relay unfortunately.
@netor-3y4
@netor-3y4 5 месяцев назад
ff
@347my455
@347my455 5 месяцев назад
superb!
@embracethered
@embracethered 5 месяцев назад
Thank you!🙏
@Fitnessdealnews
@Fitnessdealnews 5 месяцев назад
One of the best presentation I’ve seen
@embracethered
@embracethered 5 месяцев назад
Thanks for watching! Really appreciate the feedback! 😀
@MohdAli-nz4yi
@MohdAli-nz4yi 5 месяцев назад
I think a better conclusion is: never put in the context of an LLM information you need to keep private, because it will leak.
@embracethered
@embracethered 5 месяцев назад
Thanks for watching and the note. I think that misses the point that the LLM can attack the hosting app/user, so developers/users can't trust the responses. this includes confused deputy issues (in the app), such as automatic tool invocation.
@MohdAli-nz4yi
@MohdAli-nz4yi 5 месяцев назад
@@embracethered Agreed! So 2 big points: 1. Never put info in LLM context you don't want to leak. 2. Never put untrusted input into LLM context, it's like executing arbitrary code you have downloaded from the internet on your machine. LLM inputs must always be trusted, because the LLM will "execute" it in "trusted mode".
@embracethered
@embracethered 5 месяцев назад
@@MohdAli-nz4yi (1) I agree we shouldn't put sensitive information, like passwords, credit card number, or sensitive PII into chatbots. For (2) The challenge is that everyone wants to have an LLM operate over untrusted data. And that's the problem that hopefully one day will have a deterministic and secure solution. For now the best advise is to not trust the output. e.g. Developers shouldn't blindly take the output and invoke other tools/plugins in agents or render output as HTML, and users shouldn't blindly trust the output because it can be a hallucination (or a backdoor), or attacker controlled via an indirect prompt injection. However, some use cases might be too risky to implement at all. And its best to threat model implementations accordingly to understand risks and implications.
@ludovicjacomme1804
@ludovicjacomme1804 5 месяцев назад
Excellent presentation, thanks a lot for sharing, extremely informative.
@embracethered
@embracethered 5 месяцев назад
Thanks for watching! Glad to hear it's informative! 🙂
@artemsemenov8136
@artemsemenov8136 5 месяцев назад
Thank you, is awesome!
@embracethered
@embracethered 5 месяцев назад
Glad you like it!
@artemsemenov8136
@artemsemenov8136 5 месяцев назад
@@embracethered I'm a fan of yours, I've talked about your research at cybersecurity conferences in Russia. You're awesome.
@embracethered
@embracethered 5 месяцев назад
Thank you! 🙏
@artemsemenov8136
@artemsemenov8136 5 месяцев назад
@@embracethered what you think abot LLM security scanners, garak and vigil. Also, have you met P2SQlinjection in the real world ?
@macklemo5968
@macklemo5968 5 месяцев назад
🔥
@embracethered
@embracethered 5 месяцев назад
Thanks! 🚀🚀🚀
@jlf_
@jlf_ 5 месяцев назад
I really enjoyed your talk, Johann! Thank you!
@embracethered
@embracethered 5 месяцев назад
Thanks for watching and glad you enjoyed it! 🙂
@ninosawas3568
@ninosawas3568 6 месяцев назад
Great video! Very informative. Interesting to see how the LLMs ability to "pay attention" is such a large exploit. I wonder if mitigating this issue would lead to LLMs being overall less effective at following user instructions
@embracethered
@embracethered 6 месяцев назад
Thanks for watching! I believe you are correct, it's a double edged sword. The best mitigation at the moment is to not trust the responses. Unfortunately it's hence impossible at the moment to build a rather generic autonomous agent that uses tools automatically. It's a real bummer, because i think most of us want secure and safe agents.
@isiltarexilium798
@isiltarexilium798 6 месяцев назад
How can I use annother host (as neuroai.host) instead of openai?
@madjack821
@madjack821 7 месяцев назад
Is this blocked on some routers? I’ve tried this with my current network at the house and “key content” doesn’t show on the screen. I am running as administrator and previous networks are showing key content.
@mortenwormdue3593
@mortenwormdue3593 7 месяцев назад
Only works, if the traffic comes from the browser - in your example, chrome provides the session keys. So, no - not really workable on a server.
@0q2628
@0q2628 7 месяцев назад
love this idea :)
@embracethered
@embracethered 7 месяцев назад
Thanks for watching! Yes, LLMs are awesome and fun to experiment with.
@owowhatsthis....3025
@owowhatsthis....3025 7 месяцев назад
Thanks helps a lot. from 🇩🇪
@embracethered
@embracethered 7 месяцев назад
Glad it helped! Thanks for watching!
@balonikowaty
@balonikowaty 7 месяцев назад
Great work Johann, as always! The more we give access to other data sources. which include documents, the more we expose each other to indirect injection attacks. It is worth pointing out that instructions could have been made in white ink size 0.1, making the document look normal!
@embracethered
@embracethered 7 месяцев назад
Much appreciated!
@fire17102
@fire17102 7 месяцев назад
When does bard decide to load and use a doc? Is it only when stated in the prompt? Or can we set up a file that will be implicitly called on every prompt? Something like AI_SAFETY_MANIFEST_-_MUST_BE_READ_ON_EVERY_USER_PROMPT.doc 😏
@fire17102
@fire17102 7 месяцев назад
Read the post, really good I guess these sort of procedures will work across many different stacks and companies Also I wonder if you log your attempts, probably allot of wisdom can be drawn from your first attempt evolving to the last. You got it on the 10th try. Maybe showing a smart llm all 10 of those could find patterns. Effectively creating a prompt optimizer thay bring you faster results next time. All the best
@embracethered
@embracethered 7 месяцев назад
Thanks for the note! Yes, this is a very common flaw across LLM apps. Check out some of my other posts about Bing Chat, ChatGPT or Claude. Yep, on the iteration count - spot on. A lot of initial tests were around basic validation that injection and reading of chat history worked, then the addition of Image rendering, then in context learning examples to increase reliability of the exploit.
@LukmaansStack
@LukmaansStack 7 месяцев назад
in development environment the cookies are setting but in production environment the cookies are not setting what is the solution for this issue please help
@embracethered
@embracethered 7 месяцев назад
Thanks for watching! Seems like a developer question, it might be related to the domain or path properties of the cookies when they get set
@user-nl4qz3ej1y
@user-nl4qz3ej1y 8 месяцев назад
Hi, for SSH agent forwarding to work, the ssh-agent service must first be initiated on our local machine. However, I'm confused that does it work there as well? Upon reviewing the SSH source code, it is evident that SSH utilizes the "AF_UNIX" family to establish a connection to the ssh-agent socket.
@embracethered
@embracethered 8 месяцев назад
Hello, thanks for watching. Hope itvwas interesting. I’m not sure if I understand the question? But yeah, ssh-agent can run locally or remotely also.
@cedric60666
@cedric60666 8 месяцев назад
Thanks for explaining this. I guess it would also work with "private" instances of ChatGPT or equivalent system, as long as the user input is not sanitized ...
@embracethered
@embracethered 8 месяцев назад
Thanks for watching. I’m not sure how private instances work (or what they exactly are), but presumably yes, unless they put a configurable Content Security Policy or some other fix in place to not allow images to render/connect.
@levinsdurai4350
@levinsdurai4350 8 месяцев назад
is without port posible in wiindows like mac and ubuntu ?
@aitboss85
@aitboss85 9 месяцев назад
Can you please explain to me what is the saturn you typed in the browser? Is this a custom defined protocol to connect to your machine? and how can I do the same? Thank you!
@embracethered
@embracethered 8 месяцев назад
Hi there, thanks for watching. It’s just the name of a web server, it’s using http protocol. can omit typing http(s) in most browsers.
@aitboss85
@aitboss85 8 месяцев назад
@@embracethered I still can't figure out how to do it 🥹
@bicks4436
@bicks4436 Месяц назад
​@aitboss85 the most simple way to do this without dns is to just add the name you want (ie saturn) and the IP address to your hosts file. Of course, if this is a private IP it will only work on that network unless you have additional things set up