Skip to content
0
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
  • 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 (No Skin)
  • No Skin
Collapse
Brand Logo

fedi wiki

  1. Home
  2. Technical Discussion
  3. Question re: Origin Based Security Model (FEP-fe34)

Question re: Origin Based Security Model (FEP-fe34)

Scheduled Pinned Locked Moved Technical Discussion
activitypubsecurityfe34fep
38 Posts 9 Posters 28 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.
  • profpatsch@mastodon.xyzP profpatsch@mastodon.xyz

    @trwnh @julian I would be more comfortable with there being a way of the serving server explicitly saying "this actor is allowed to moderate"

    trwnh@mastodon.socialT This user is from outside of this forum
    trwnh@mastodon.socialT This user is from outside of this forum
    trwnh@mastodon.social
    wrote last edited by
    #21

    @Profpatsch @julian i've been doing some trust and safety TF work to explore/develop a bidirectional link between actors and moderators/hosts, yeah. mostly in the context of "where to send moderation related activities" (so you don't Flag a user to themselves if there's a better option), but also could be used for authorizing Update/Delete activities.

    alternatively, the problem would not be there if service actors messaged each other for more explicit syndication...

    1 Reply Last reply
    0
    • thisismissem@activitypub.spaceT thisismissem@activitypub.space

      Well, yeah, that's why I linked what T&S is doing here to fix the moderator use case. At present I don't know of anyone sending cross-actor delete/update actions, so we'd be adding capability with the moderatedBy

      julian@activitypub.spaceJ This user is from outside of this forum
      julian@activitypub.spaceJ This user is from outside of this forum
      julian@activitypub.space
      wrote last edited by
      #22

      @thisismissem hmm, I believe Lemmy and Piefed send cross actor Deletes, but they might be Announces by the group actor.

      They (and I) don't use moderatedBy but rather the group actor's attributedTo

      Just want to make sure you're aware of that existing prior art.

      1 Reply Last reply
      0
      • julian@activitypub.spaceJ This user is from outside of this forum
        julian@activitypub.spaceJ This user is from outside of this forum
        julian@activitypub.space
        wrote last edited by
        #23

        @nutomic@lemmy.ml @rimu@piefed.social @bent0_b0x@norden.social — do y'all send Delete activities with the moderator actor?

        (Announce wrapping aside.)

        1 Reply Last reply
        0
        • rimu@piefed.socialR This user is from outside of this forum
          rimu@piefed.socialR This user is from outside of this forum
          rimu@piefed.social
          wrote last edited by
          #24

          Yes.

          This is easy in FEP 1b12-land because each community has a list of moderators so receiving instances know who to allow.

          Getting a list of instance admins requires calling the Lemmy API, unfortunately. So PieFed has a cron job that does that once per day for all instances. Admins rarely change.

          julian@activitypub.spaceJ nutomic@lemmy.mlN 2 Replies Last reply
          0
          • rimu@piefed.socialR rimu@piefed.social

            Yes.

            This is easy in FEP 1b12-land because each community has a list of moderators so receiving instances know who to allow.

            Getting a list of instance admins requires calling the Lemmy API, unfortunately. So PieFed has a cron job that does that once per day for all instances. Admins rarely change.

            julian@activitypub.spaceJ This user is from outside of this forum
            julian@activitypub.spaceJ This user is from outside of this forum
            julian@activitypub.space
            wrote last edited by julian@activitypub.space
            #25

            > @rimu@piefed.social said:
            >
            > Getting a list of instance admins requires calling the Lemmy API, unfortunately.

            Wait, why don't we write a mini FEP to extend this? attributedTo on the instance/application actor?

            • https://codeberg.org/fediverse/fep/src/branch/main/fep/2677/fep-2677.md
            • extending 1b12
            1 Reply Last reply
            0
            • rimu@piefed.socialR This user is from outside of this forum
              rimu@piefed.socialR This user is from outside of this forum
              rimu@piefed.social
              wrote last edited by
              #26

              That sounds fine to me.

              On communities the moderators are just an array of strings which are the activitypub actor IDs of the mods. I think NodeBB has an array of actor objects though?

              Anyway whatever it is, consistency with how the communities do it would be nice.

              julian@activitypub.spaceJ 1 Reply Last reply
              0
              • rimu@piefed.socialR rimu@piefed.social

                That sounds fine to me.

                On communities the moderators are just an array of strings which are the activitypub actor IDs of the mods. I think NodeBB has an array of actor objects though?

                Anyway whatever it is, consistency with how the communities do it would be nice.

                julian@activitypub.spaceJ This user is from outside of this forum
                julian@activitypub.spaceJ This user is from outside of this forum
                julian@activitypub.space
                wrote last edited by
                #27

                > @rimu@piefed.social said:
                >
                > I think NodeBB has an array of actor objects though

                Is this causing problems for you? I can send just the IDs instead.

                1 Reply Last reply
                0
                • rimu@piefed.socialR This user is from outside of this forum
                  rimu@piefed.socialR This user is from outside of this forum
                  rimu@piefed.social
                  wrote last edited by
                  #28

                  It's fine, I've already adjusted the code at my end. I don't know about Lemmy though.

                  nutomic@lemmy.mlN 1 Reply Last reply
                  0
                  • rimu@piefed.socialR rimu@piefed.social

                    Yes.

                    This is easy in FEP 1b12-land because each community has a list of moderators so receiving instances know who to allow.

                    Getting a list of instance admins requires calling the Lemmy API, unfortunately. So PieFed has a cron job that does that once per day for all instances. Admins rarely change.

                    nutomic@lemmy.mlN This user is from outside of this forum
                    nutomic@lemmy.mlN This user is from outside of this forum
                    nutomic@lemmy.ml
                    wrote last edited by
                    #29

                    Lemmy doesnt even federate admin status in any way, instead we trust that actions which are coming from the same instance as the community or post are valid. So essentially origin-based security model.

                    1 Reply Last reply
                    0
                    • rimu@piefed.socialR rimu@piefed.social

                      It's fine, I've already adjusted the code at my end. I don't know about Lemmy though.

                      nutomic@lemmy.mlN This user is from outside of this forum
                      nutomic@lemmy.mlN This user is from outside of this forum
                      nutomic@lemmy.ml
                      wrote last edited by
                      #30

                      Looks like this, only IDs: https://github.com/LemmyNet/lemmy/blob/main/crates/apub/apub/assets/lemmy/collections/group_moderators.json

                      julian@activitypub.spaceJ 1 Reply Last reply
                      0
                      • nutomic@lemmy.mlN nutomic@lemmy.ml

                        Looks like this, only IDs: https://github.com/LemmyNet/lemmy/blob/main/crates/apub/apub/assets/lemmy/collections/group_moderators.json

                        julian@activitypub.spaceJ This user is from outside of this forum
                        julian@activitypub.spaceJ This user is from outside of this forum
                        julian@activitypub.space
                        wrote last edited by
                        #31

                        Right, that's the "Group Moderation" section of FEP 1b12, right?

                        It may be a good idea to extend this concept to the instance/application actor as well. There's no urgent need to implement and consume, but it would be fairly simple thing to serve on our respective softwares I think.

                        1 Reply Last reply
                        0
                        • trwnh@mastodon.socialT This user is from outside of this forum
                          trwnh@mastodon.socialT This user is from outside of this forum
                          trwnh@mastodon.social
                          wrote last edited by
                          #32

                          @julian @thisismissem @technical-discussion Note that a community's attributedTo doesn't work for anything outside of communities, but a moderator can be declared for any object.

                          Right now, attributedTo.inbox is the last option to send your moderation activities. There are probably more relevant options to try first. The work is to identify those options and make them consistently discoverable. See "Delegated control" here: https://github.com/swicg/activitypub-trust-and-safety/issues/24#issuecomment-4365331657

                          1 Reply Last reply
                          0
                          • nutomic@lemmy.mlN This user is from outside of this forum
                            nutomic@lemmy.mlN This user is from outside of this forum
                            nutomic@lemmy.ml
                            wrote last edited by
                            #33

                            Yes exactly that FEP. Federating admin status would make sense for informational purposes, but rejecting mod actions based on that could cause problems as I mentioned in my previous comment.

                            julian@activitypub.spaceJ 1 Reply Last reply
                            0
                            • informapirata@activitypub.spaceI This user is from outside of this forum
                              informapirata@activitypub.spaceI This user is from outside of this forum
                              informapirata@activitypub.space
                              wrote last edited by
                              #34

                              Sorry @julian and @nutomic@lemmy.ml if this has almost nothing to do with this, but I'd like to point out that Lemmy (perhaps Piefed as well, but I'm not sure) has a very interesting feature: a community moderator can also be a user of an instance other than the one where that community is physically located.
                              This isn't possible with NodeBB because the API call isn't considered valid.
                              This means that the Lemmy development staff has managed to develop a way to somehow federate content moderation.

                              1 Reply Last reply
                              0
                              • nutomic@lemmy.mlN nutomic@lemmy.ml

                                Yes exactly that FEP. Federating admin status would make sense for informational purposes, but rejecting mod actions based on that could cause problems as I mentioned in my previous comment.

                                julian@activitypub.spaceJ This user is from outside of this forum
                                julian@activitypub.spaceJ This user is from outside of this forum
                                julian@activitypub.space
                                wrote last edited by
                                #35

                                > @nutomic@lemmy.ml said:
                                >
                                > but rejecting mod actions based on that could cause problems as I mentioned in my previous comment.

                                So to confirm then, you serve the moderator collection but you don't use it to determine whether an actor is able to modify/delete content on that instance, is that right?

                                Curious to know what those problems are.

                                1 Reply Last reply
                                0
                                • silverpill@mitra.socialS This user is from outside of this forum
                                  silverpill@mitra.socialS This user is from outside of this forum
                                  silverpill@mitra.social
                                  wrote last edited by
                                  #36

                                  @julian @rimu Do you want specifically FEP-2677? Please consider using FEP-d556 instead, it is very similar to FEP-2677 but doesn't require NodeInfo. Also, it is FINAL.

                                  julian@activitypub.spaceJ 1 Reply Last reply
                                  0
                                  • silverpill@mitra.socialS silverpill@mitra.social

                                    @julian @rimu Do you want specifically FEP-2677? Please consider using FEP-d556 instead, it is very similar to FEP-2677 but doesn't require NodeInfo. Also, it is FINAL.

                                    julian@activitypub.spaceJ This user is from outside of this forum
                                    julian@activitypub.spaceJ This user is from outside of this forum
                                    julian@activitypub.space
                                    wrote last edited by
                                    #37

                                    @silverpill@mitra.social was not aware of d556. I'll make the swap, thanks.

                                    1 Reply Last reply
                                    0
                                    • silverpill@mitra.socialS silverpill@mitra.social

                                      No, it's not wrong.

                                      I think the good of group moderation currently outweighs the theoretical bad of same-origin impersonation.

                                      silverpill@mitra.socialS This user is from outside of this forum
                                      silverpill@mitra.socialS This user is from outside of this forum
                                      silverpill@mitra.social
                                      wrote last edited by silverpill@mitra.social
                                      #38

                                      @julian I've done a review on FEP-fe34 and here's a more nuanced answer.

                                      The same-origin assumption is necessary for authentication, because it is not possible to not trust the server of origin.

                                      But it is not necessary for authorization. It is desirable, because that makes authorization procedures aligned with authentication procedures. But we can shift the burden of permission checks to the recipient.

                                      We might even have to do this, if we discover that servers accepting arbitrary payloads (C2S, FEP-ae97) can't reliably enforce the isolation of actors.

                                      But for the time being, you can accept same-origin admin deletions.

                                      1 Reply Last reply
                                      0

                                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                      With your input, this post could be even better 💗

                                      Register Login
                                      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