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 (Darkly)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Uncategorized
  3. While working on #Fedify, I noticed something about how #Misskey handles #ActivityPub object access.

While working on #Fedify, I noticed something about how #Misskey handles #ActivityPub object access.

Scheduled Pinned Locked Moved Uncategorized
fedifyfedidevmisskeymastodonactivitypub
11 Posts 4 Posters 40 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.
  • 洪 民憙 (Hong Minhee) :nonbinary:H This user is from outside of this forum
    洪 民憙 (Hong Minhee) :nonbinary:H This user is from outside of this forum
    洪 民憙 (Hong Minhee) :nonbinary:
    wrote last edited by
    #2

    Fedifyを開発していて気づいたことなんですが、MisskeyのActivityPubオブジェクトへのアクセス処理について少し疑問があります。リモートサーバーから、アクセス権限のあるアクターの有効なHTTP Signaturesを含むリクエストでフォロワー限定投稿やDMにアクセスしようとしても、Misskeyは内容を返さずに404を返すようです。どうやらMisskeyはHTTP Signaturesを検証せず、visibilityフィールド(publicとhome)だけを確認しているようです。

    Mastodonの場合、authorized fetchを有効にすると、HTTP Signaturesを検証して、リクエストしているアクターに権限があれば内容を返します。MisskeyもMastodonのような仕組みを採用してくれたら、ActivityPubが意図しているアクセス制御のセマンティクスをより適切に尊重できるんじゃないかと思います。他の方も同じようなことに気づかれたことはありますか?それとも、Misskeyがこのような処理をしている特別な理由があるのでしょうか?

    #Fedify #Misskey #ActivityPub #Mastodon #authorized_fetch #fedidev

    1 Reply Last reply
    1
    0
    • 洪 民憙 (Hong Minhee) :nonbinary:H This user is from outside of this forum
      洪 民憙 (Hong Minhee) :nonbinary:H This user is from outside of this forum
      洪 民憙 (Hong Minhee) :nonbinary:
      wrote last edited by
      #3

      For reference, Fedify makes implementing this kind of fine-grained access control quite straightforward—you can check the Fine-grained access control section in the documentation.

      1 Reply Last reply
      1
      0
      • 洪 民憙 (Hong Minhee) :nonbinary:H This user is from outside of this forum
        洪 民憙 (Hong Minhee) :nonbinary:H This user is from outside of this forum
        洪 民憙 (Hong Minhee) :nonbinary:
        wrote last edited by
        #4

        参考までに、Fedifyではこのようなきめ細かいアクセス制御を簡単に実装できます。ドキュメントの「Fine-grained access control」セクションをご覧ください。

        1 Reply Last reply
        1
        0
        • R AodeRelay shared this topic
        • gabboman the wafrn devG This user is from outside of this forum
          gabboman the wafrn devG This user is from outside of this forum
          gabboman the wafrn dev
          wrote last edited by
          #5

          Yeah and the replies collection isnt there on misskey either

          1 Reply Last reply
          1
          0
          • Evan ProdromouE This user is from outside of this forum
            Evan ProdromouE This user is from outside of this forum
            Evan Prodromou
            wrote last edited by
            #6

            @hongminhee woof. That's an important feature and a lot of the network fabric comes apart in that situation. If you can't refetch remote ActivityPub objects from their source, you have to keep them cached indefinitely. That gets very messy very quickly!

            洪 民憙 (Hong Minhee) :nonbinary:H julianJ 2 Replies Last reply
            1
            0
            • Evan ProdromouE Evan Prodromou

              @hongminhee woof. That's an important feature and a lot of the network fabric comes apart in that situation. If you can't refetch remote ActivityPub objects from their source, you have to keep them cached indefinitely. That gets very messy very quickly!

              洪 民憙 (Hong Minhee) :nonbinary:H This user is from outside of this forum
              洪 民憙 (Hong Minhee) :nonbinary:H This user is from outside of this forum
              洪 民憙 (Hong Minhee) :nonbinary:
              wrote last edited by
              #7

              @evan@cosocial.ca Yeah, indeed. It's also fragile for network errors.

              1 Reply Last reply
              1
              0
              • Evan ProdromouE Evan Prodromou

                @hongminhee woof. That's an important feature and a lot of the network fabric comes apart in that situation. If you can't refetch remote ActivityPub objects from their source, you have to keep them cached indefinitely. That gets very messy very quickly!

                julianJ This user is from outside of this forum
                julianJ This user is from outside of this forum
                julian
                wrote last edited by
                #8

                @evan@cosocial.ca to be fair, I think public objects are okay, it's just objects with limited visibility that are affected?

                While I agree that they should be accessible when requested, perhaps the developers erred on the side of caution to guard against information leakage?

                1 Reply Last reply
                1
                0
                • Evan ProdromouE This user is from outside of this forum
                  Evan ProdromouE This user is from outside of this forum
                  Evan Prodromou
                  wrote last edited by
                  #9

                  @julian It's "information leakage" to return an ActivityPub object to an actor it was addressed to. That's just communications; it's the whole point of ActivityPub.

                  julianJ 1 Reply Last reply
                  1
                  0
                  • Evan ProdromouE Evan Prodromou

                    @julian It's "information leakage" to return an ActivityPub object to an actor it was addressed to. That's just communications; it's the whole point of ActivityPub.

                    julianJ This user is from outside of this forum
                    julianJ This user is from outside of this forum
                    julian
                    wrote last edited by
                    #10

                    @evan@cosocial.ca not that, I meant, in the case of a logical error/bug that would accidentally return privileged activity data to someone who was not meant to see it. I'm just saying I could see the mental justification in saying "this is non-public data, I'd rather be safe and just not make it accessible on request, and only send the activity".

                    Not saying it's correct, just maybe providing an explanation.

                    1 Reply Last reply
                    1
                    0
                    • Evan ProdromouE This user is from outside of this forum
                      Evan ProdromouE This user is from outside of this forum
                      Evan Prodromou
                      wrote last edited by
                      #11

                      @julian No, I get it. It's just a catastrophically bad engineering decision.

                      1 Reply Last reply
                      1
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

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