Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. Heads up you code maintainers who take submissions from people, delete unicode characters.

Heads up you code maintainers who take submissions from people, delete unicode characters.

Scheduled Pinned Locked Moved Uncategorized
infosecfossgithub
16 Posts 6 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • chuckmcmanis@chaos.socialC This user is from outside of this forum
    chuckmcmanis@chaos.socialC This user is from outside of this forum
    chuckmcmanis@chaos.social
    wrote last edited by
    #1

    Heads up you code maintainers who take submissions from people, delete unicode characters. See this: https://arstechnica.com/security/2026/03/supply-chain-attack-using-invisible-code-hits-github-and-other-repositories/ Yes, people put back doors in code using unicode characters that don't show up on the screen. #infosec #foss #github

    dalias@hachyderm.ioD labbatt50@mastodon.worldL chuckmcmanis@chaos.socialC ewhac@mastodon.socialE peterrenshaw@ioc.exchangeP 5 Replies Last reply
    0
    • chuckmcmanis@chaos.socialC chuckmcmanis@chaos.social

      Heads up you code maintainers who take submissions from people, delete unicode characters. See this: https://arstechnica.com/security/2026/03/supply-chain-attack-using-invisible-code-hits-github-and-other-repositories/ Yes, people put back doors in code using unicode characters that don't show up on the screen. #infosec #foss #github

      dalias@hachyderm.ioD This user is from outside of this forum
      dalias@hachyderm.ioD This user is from outside of this forum
      dalias@hachyderm.io
      wrote last edited by
      #2

      @ChuckMcManis Is there any actual source for this with technical details? @dangoodin's article seems to just be citing the aikido.dev blog, which in turn reads like LLM slop puffery making up fake vulns to advertise their tools.

      dalias@hachyderm.ioD 1 Reply Last reply
      0
      • dalias@hachyderm.ioD dalias@hachyderm.io

        @ChuckMcManis Is there any actual source for this with technical details? @dangoodin's article seems to just be citing the aikido.dev blog, which in turn reads like LLM slop puffery making up fake vulns to advertise their tools.

        dalias@hachyderm.ioD This user is from outside of this forum
        dalias@hachyderm.ioD This user is from outside of this forum
        dalias@hachyderm.io
        wrote last edited by
        #3

        @ChuckMcManis @dangoodin In particular, the example text shown has no "invisible characters" in it, and PUA (*private* use area, not public) characters generally show up as a replacement character like � or a hex code, not a blank or much less zero-width glyph, unless you're using a font that assigns them for some particular use.

        j0057@hachyderm.ioJ 1 Reply Last reply
        0
        • chuckmcmanis@chaos.socialC chuckmcmanis@chaos.social

          Heads up you code maintainers who take submissions from people, delete unicode characters. See this: https://arstechnica.com/security/2026/03/supply-chain-attack-using-invisible-code-hits-github-and-other-repositories/ Yes, people put back doors in code using unicode characters that don't show up on the screen. #infosec #foss #github

          labbatt50@mastodon.worldL This user is from outside of this forum
          labbatt50@mastodon.worldL This user is from outside of this forum
          labbatt50@mastodon.world
          wrote last edited by
          #4

          @ChuckMcManis

          Yes, that crap has been going on since unscupulous entities figured out the chaos they could cause by using these characters.

          chuckmcmanis@chaos.socialC 1 Reply Last reply
          0
          • labbatt50@mastodon.worldL labbatt50@mastodon.world

            @ChuckMcManis

            Yes, that crap has been going on since unscupulous entities figured out the chaos they could cause by using these characters.

            chuckmcmanis@chaos.socialC This user is from outside of this forum
            chuckmcmanis@chaos.socialC This user is from outside of this forum
            chuckmcmanis@chaos.social
            wrote last edited by
            #5

            @labbatt50 And now they have LLMs that will generate code using only unicode characters.

            labbatt50@mastodon.worldL 1 Reply Last reply
            0
            • dalias@hachyderm.ioD dalias@hachyderm.io

              @ChuckMcManis @dangoodin In particular, the example text shown has no "invisible characters" in it, and PUA (*private* use area, not public) characters generally show up as a replacement character like � or a hex code, not a blank or much less zero-width glyph, unless you're using a font that assigns them for some particular use.

              j0057@hachyderm.ioJ This user is from outside of this forum
              j0057@hachyderm.ioJ This user is from outside of this forum
              j0057@hachyderm.io
              wrote last edited by
              #6

              @dalias @ChuckMcManis @dangoodin Judging by the decoder snippet, the string between the backticks contains U+FE00 VARIATION SELECTOR 1 to U+FE0F VARIATION SELECTOR 16, and U+E0100 to U+E01EF have more variation selectors for 17 to 256. So we can theoretically choose between 256 variants of an emoji!

              https://en.wikipedia.org/wiki/Variation_Selectors_%28Unicode_block%29

              dalias@hachyderm.ioD 1 Reply Last reply
              0
              • j0057@hachyderm.ioJ j0057@hachyderm.io

                @dalias @ChuckMcManis @dangoodin Judging by the decoder snippet, the string between the backticks contains U+FE00 VARIATION SELECTOR 1 to U+FE0F VARIATION SELECTOR 16, and U+E0100 to U+E01EF have more variation selectors for 17 to 256. So we can theoretically choose between 256 variants of an emoji!

                https://en.wikipedia.org/wiki/Variation_Selectors_%28Unicode_block%29

                dalias@hachyderm.ioD This user is from outside of this forum
                dalias@hachyderm.ioD This user is from outside of this forum
                dalias@hachyderm.io
                wrote last edited by
                #7

                @j0057 @ChuckMcManis @dangoodin It's possible there is some actual nefarious thing going on, but that Aikido's slopbot writing the blog just completely botched the explanation of it...

                j0057@hachyderm.ioJ 1 Reply Last reply
                0
                • dalias@hachyderm.ioD dalias@hachyderm.io

                  @j0057 @ChuckMcManis @dangoodin It's possible there is some actual nefarious thing going on, but that Aikido's slopbot writing the blog just completely botched the explanation of it...

                  j0057@hachyderm.ioJ This user is from outside of this forum
                  j0057@hachyderm.ioJ This user is from outside of this forum
                  j0057@hachyderm.io
                  wrote last edited by
                  #8

                  @dalias @ChuckMcManis @dangoodin Calling `eval` on an apparently empty string being decoded is definitely suspicious and nefarious, it should never pass any decent code review.

                  dalias@hachyderm.ioD chuckmcmanis@chaos.socialC 2 Replies Last reply
                  0
                  • j0057@hachyderm.ioJ j0057@hachyderm.io

                    @dalias @ChuckMcManis @dangoodin Calling `eval` on an apparently empty string being decoded is definitely suspicious and nefarious, it should never pass any decent code review.

                    dalias@hachyderm.ioD This user is from outside of this forum
                    dalias@hachyderm.ioD This user is from outside of this forum
                    dalias@hachyderm.io
                    wrote last edited by
                    #9

                    @j0057 @ChuckMcManis @dangoodin Yeah, this looks like a complete non-issue.

                    1 Reply Last reply
                    0
                    • chuckmcmanis@chaos.socialC chuckmcmanis@chaos.social

                      Heads up you code maintainers who take submissions from people, delete unicode characters. See this: https://arstechnica.com/security/2026/03/supply-chain-attack-using-invisible-code-hits-github-and-other-repositories/ Yes, people put back doors in code using unicode characters that don't show up on the screen. #infosec #foss #github

                      chuckmcmanis@chaos.socialC This user is from outside of this forum
                      chuckmcmanis@chaos.socialC This user is from outside of this forum
                      chuckmcmanis@chaos.social
                      wrote last edited by
                      #10

                      Y'all are gonna force me to write a POC and then we'll all be in trouble.

                      1 Reply Last reply
                      0
                      • j0057@hachyderm.ioJ j0057@hachyderm.io

                        @dalias @ChuckMcManis @dangoodin Calling `eval` on an apparently empty string being decoded is definitely suspicious and nefarious, it should never pass any decent code review.

                        chuckmcmanis@chaos.socialC This user is from outside of this forum
                        chuckmcmanis@chaos.socialC This user is from outside of this forum
                        chuckmcmanis@chaos.social
                        wrote last edited by
                        #11

                        @j0057

                        I don't disagree with this, but how about calling eval() on a non-empty and innocuous string? Said string being only one or two regexes away from being not innocuous? How about your web service's json parameter list which when 'touched' by the magic regex has more parameters in it than you thought? People don't sanitize the strings that their own code sends them, and perhaps that is unwise.

                        @dalias @dangoodin

                        dalias@hachyderm.ioD 1 Reply Last reply
                        0
                        • chuckmcmanis@chaos.socialC chuckmcmanis@chaos.social

                          Heads up you code maintainers who take submissions from people, delete unicode characters. See this: https://arstechnica.com/security/2026/03/supply-chain-attack-using-invisible-code-hits-github-and-other-repositories/ Yes, people put back doors in code using unicode characters that don't show up on the screen. #infosec #foss #github

                          ewhac@mastodon.socialE This user is from outside of this forum
                          ewhac@mastodon.socialE This user is from outside of this forum
                          ewhac@mastodon.social
                          wrote last edited by
                          #12

                          @ChuckMcManis I'm curious to see a de-fanged example, so that I can see how Vim and Neovim display it, and also how it appears when run through `od -ax`.

                          ewhac@mastodon.socialE 1 Reply Last reply
                          0
                          • chuckmcmanis@chaos.socialC chuckmcmanis@chaos.social

                            @j0057

                            I don't disagree with this, but how about calling eval() on a non-empty and innocuous string? Said string being only one or two regexes away from being not innocuous? How about your web service's json parameter list which when 'touched' by the magic regex has more parameters in it than you thought? People don't sanitize the strings that their own code sends them, and perhaps that is unwise.

                            @dalias @dangoodin

                            dalias@hachyderm.ioD This user is from outside of this forum
                            dalias@hachyderm.ioD This user is from outside of this forum
                            dalias@hachyderm.io
                            wrote last edited by
                            #13

                            @ChuckMcManis @j0057 @dangoodin Applying the mapping to it is super sus already, and even presence of eval at all is sus. I wouldn't accept a PR with eval without a detailed explanation of why it's not practical without eval.

                            1 Reply Last reply
                            0
                            • ewhac@mastodon.socialE ewhac@mastodon.social

                              @ChuckMcManis I'm curious to see a de-fanged example, so that I can see how Vim and Neovim display it, and also how it appears when run through `od -ax`.

                              ewhac@mastodon.socialE This user is from outside of this forum
                              ewhac@mastodon.socialE This user is from outside of this forum
                              ewhac@mastodon.social
                              wrote last edited by
                              #14

                              @ChuckMcManis Also: What bozo thought it was a good idea to silently transcode the Public Use Area down to the ASCII range and then interpret it? Is this transcoding mandated by the Unicode standard, or just something "clever" they did on their own?

                              1 Reply Last reply
                              0
                              • chuckmcmanis@chaos.socialC chuckmcmanis@chaos.social

                                @labbatt50 And now they have LLMs that will generate code using only unicode characters.

                                labbatt50@mastodon.worldL This user is from outside of this forum
                                labbatt50@mastodon.worldL This user is from outside of this forum
                                labbatt50@mastodon.world
                                wrote last edited by
                                #15

                                @ChuckMcManis

                                Wasn't thinking. Absolutely, your right on the mark.

                                1 Reply Last reply
                                0
                                • chuckmcmanis@chaos.socialC chuckmcmanis@chaos.social

                                  Heads up you code maintainers who take submissions from people, delete unicode characters. See this: https://arstechnica.com/security/2026/03/supply-chain-attack-using-invisible-code-hits-github-and-other-repositories/ Yes, people put back doors in code using unicode characters that don't show up on the screen. #infosec #foss #github

                                  peterrenshaw@ioc.exchangeP This user is from outside of this forum
                                  peterrenshaw@ioc.exchangeP This user is from outside of this forum
                                  peterrenshaw@ioc.exchange
                                  wrote last edited by
                                  #16

                                  @ChuckMcManis back when Flickr was (written in Perl) built, Stewart Butterfield had a Unicode scanner on all user input. There’s an animal book where he describes the filter. I remember writing on in very slow Python calling inconv, (before Py handled UTF-8 unicode, PEP 3120). <https://www.yourtechstory.com/2024/08/15/stewart-butterfield-the-visionary-behind-flickr-and-slack/>

                                  1 Reply Last reply
                                  1
                                  0
                                  • R relay@relay.infosec.exchange shared this topic
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                  • Login

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • World
                                  • Users
                                  • Groups