Review resources before approving them (XF Community)

Status
Not open for further replies.
Okay, so you have no idea how checksums work and you have no idea how easily exploitable and customer-unfriendly your "system" is, gotcha. Sorry for the confusion, I thought you'd maybe consider googling this and gaining a basic understanding of how these systems work, and realising the flaws in your own system when they're pointed out to you.

...
Fillip

Checksums are used to verify a download like on this page https://www.clearos.com/clearfoundation/software/clearos-downloads on the bottom you'll see "SHA256sum: ac1a12dbcf0f94d7495aa1cd4b8db470571c207ed1c481cb80b8a65631a1cc10" if you check it on your own pc it needs to be the same. Would i TRUST this checksum NO I WILL NOT TRUST. The only thing that checksum has done is verified that my download is not corrupted to get it from their server to my PC nothing more nothing less it still can contain a virus that was not discovered but still in the file when checksum was generated. Also because its on the same server hackers can have altered the image and the checksum. That's why it only works how i said it developer has file and someone else has the checksum.
 
Sounds to me like you want to force certification onto people - which is definitely *not* a good idea.

Yes but i would create more then one certificate the first tier is easy just read the security documentation what to look out for, you just read get a developer badge saying you read the document it a max 10 min to read. Second tier you need to do more etc etc until you on tier X and you got them all. This way everyone can develop if they like but we the user see in what tier the developer is in. The fun part could be that we the non developer can do the samething as a developer but unless we submit a add-on or something else we get other sort of badges. To get a badge as developer should be fun not a burden its to chalenge you and let the developer learn and for a developer to show off. But this should also contain a penalty if the developer does something wrong the penalty is not forever you should be able to learn from your mistake and remove the penalty. But the more penalties you get the harder it gets to remove it, but you should always be able to remove it in the end.
 
I literally couldn't disagree more.

First, we make it clear that resources are not reviewed nor affiliated with us via a notice which displays on the resource:

View attachment 161138

XF's own actions and writing deviates from this, implying and demonstrating responsibility for code functionality and security.

https://xenforo.com/community/help/resource-guidelines/ says guidelines, but then says policies and that they are rules that must be adhered to. Certain code functional actions cannot be taken. If reported by someone, XF does review the add-on. This policy is set by XF to protect its customers, ensuring that add-ons available via xenforo.com do not contain functionality that XF deems risky. You are thusly accepting a level of responsibility and duty of care for and on behalf of customers.

Through https://xenforo.com/community/help/resource-vulnerabilities/ escalation, XF is also reviewing the add-on.
 
Yes but i would create more then one certificate the first tier is easy just read the security documentation what to look out for, you just read get a developer badge saying you read the document it a max 10 min to read. Second tier you need to do more etc etc until you on tier X and you got them all. This way everyone can develop if they like but we the user see in what tier the developer is in. The fun part could be that we the non developer can do the samething as a developer but unless we submit a add-on or something else we get other sort of badges. To get a badge as developer should be fun not a burden its to chalenge you and let the developer learn and for a developer to show off. But this should also contain a penalty if the developer does something wrong the penalty is not forever you should be able to learn from your mistake and remove the penalty. But the more penalties you get the harder it gets to remove it, but you should always be able to remove it in the end.
I couldn't agree in the slightest with the idea of forced certification. But the rest of your idea also seems silly to me, what you're suggesting is too complex and confusing. This is a community forum for a software, not some play forum with badges and awards all over the place.
 
I couldn't agree in the slightest with the idea of forced certification. But the rest of your idea also seems silly to me, what you're suggesting is too complex and confusing. This is a community forum for a software, not some play forum with badges and awards all over the place.
Rather than belittle others contributions to an issue that concerns us all, I would like to hear your ideas on how to best regulate bad coding practices.
 
For the sake of minimizing the complications, how about xF add-on coders under the able guidance of xf core developers (@Chris D, @Kier, @Mike & Mods like @Brogan) start something like xF.org on the lines of vB.org, which was primarily supported and run by add-on developers. It was a healthy and lively place for both the add-on developers and the forum owners during the golden period under the same xF core developers... but primarily run and managed by seasoned add-on developers/coders/designers.

Keeping a separate entity from xF.com will keep the 'responsibility' caveat away from xF core developers, who should primarily focus on core forum software as is the case now. And at the same time, a separate entity would allow seasoned xF add-on coders to have more freedom to express themselves under the able guidance of xf core developers.

What would make this entity special would be that it would adopt premium add-ons in a core pool. This pool of premium add-ons would be nurtured and audited periodically by a core group of seasoned add-on coders/developers... who can help each other in cleaning up the code and keep the quality of the add-ons healthy for the general consumption.

The most important policy in being selected in the pool of premium add-on would be that: in case any add-on is abandoned by the coder due to any reason... that add-on would be supported/adapted by the core group of add-on coders or by any developer, who would like to adopt it. In this case, there would be a clear-cut policy on the revenue share. This can be decided with a general consensus...

We can identify the pool of 25-50 or more most sought after add-ons based on a criteria like most downloads or most first post likes or public voting...

For example, most add-ons always in demand are:

Blog Scripts
Articles Management
Donations Manager
Calendar
Classifieds
Ads Manager
Post Ratings
Chat Scripts
Widgets
CTA Featured Threads & Portals
Showcase
Integration/Bridges
Social Groups
Links Directory
Keyword Management
Feedback Management
RM Marketplace
Analytic Tools
Forum Skins
Add to the list...
 
XF's own actions and writing deviates from this, implying and demonstrating responsibility for code functionality and security.

https://xenforo.com/community/help/resource-guidelines/ says guidelines, but then says policies and that they are rules that must be adhered to. Certain code functional actions cannot be taken. If reported by someone, XF does review the add-on. This policy is set by XF to protect its customers, ensuring that add-ons available via xenforo.com do not contain functionality that XF deems risky. You are thusly accepting a level of responsibility and duty of care for and on behalf of customers.

Through https://xenforo.com/community/help/resource-vulnerabilities/ escalation, XF is also reviewing the add-on.

Not at all, again, its reading into something which isn't there. Just because we have those rules in place for developers does not suggest we guarantee that for the end user, explicitly or implied.

If something is reported for breaking those guidelines, it will be looked into.

Its the same as the unsolicited PM rule, just because we have it doesn't mean we sit there reading the database looking for them.
 
I couldn't agree in the slightest with the idea of forced certification. But the rest of your idea also seems silly to me, what you're suggesting is too complex and confusing. This is a community forum for a software, not some play forum with badges and awards all over the place.

What would you do? Let everyone just develop and post add-ons and hope that we do not see this

On Jan 1, 2016 version 1.3 of this add-on was released to address an exploitable SQL injection vulnerability. If you are still using a version of this add-on which is below 1.3 or released before Jan 1, 2016 then it is essential that you update to the latest version of the add-on as soon as possible to fix this security issue. If you have any further questions, please ask.]

to many times in the RM and hope no one got hit by it. On forums we like to compair with cars, some one driving needs a driving license, why so you know the rules and know you to have minimum control of the car, if not in control you can do damages. But in the digital world it let them go unprepared do what ever the want it does not matter. Well next year people in the EU it will matter because we will get General Data Protection Regulation that every EU country must have. So these kind of trouble we cant have anymore it can cost you money as owner and your reputation. So do we want developers that know the basic rules or nothing at all.
 
Last edited:
Rather than belittle others contributions to an issue that concerns us all, I would like to hear your ideas on how to best regulate bad coding practices.
I'm not belittling his contribution, I simply don't agree with it and am expressing that opinion.

What would you do? Let everyone just develop and post add-ons and hope that we do not see this

On Jan 1, 2016 version 1.3 of this add-on was released to address an exploitable SQL injection vulnerability. If you are still using a version of this add-on which is below 1.3 or released before Jan 1, 2016 then it is essential that you update to the latest version of the add-on as soon as possible to fix this security issue. If you have any further questions, please ask.

to many times in the RM and hope no one got hit by it. On forums we like to compair with cars, some one driving needs a driving license, why so you know the rules and know you to have minimum control of the car, if not in control you can do damages. But in the digital world it let them go unprepared do what ever the want it does not matter. Well next year people in the EU it will matter because we will get General Data Protection Regulation that every EU country must have. So these kind of trouble we cant have anymore it can cost you money as owner and your reputation. So do we want developers that know the basic rules or nothing at all.
Good question. As some here have acknowledged, this isn't a black and white issue like some people in here are making it out to be. Any regulation you do comes at a cost, and this isn't really a rich marketplace filled with competition where any losses in development by regulation can be easily disregarded.

I've seen 'marketplaces' (considering the RM a marketplace here) with half-arsed resource/product moderation. They're complete crap. You either let free markets fix up the problems, and the review system is a relatively successful way to do that (it works one way, though), or you become fully involved in the moderation of the content on the marketplace. Anything in the middle just annoys the developers, in my experience.

I don't see too many add-ons, especially the larger ones, suffering from SQL injections or critical security vulnerabilities - it's pretty hard to, assuming you correctly use the APIs within XenForo. The ones creating vulnerable code are probably newer developers if anything, and they're probably just applying some flawed logic from experience outside of XenForo. And honestly, if vulnerable code is your problem, then it's incorrect to assign the blame to developers alone. XenForo doesn't have *any* documentation for XF1 at all. For developers wanting to get the hang of XF1 APIs to write add-ons, you're forced to download and reverse engineer existing add-ons, browse the forums and analyse snippets and whatnot rather than be able to read some documentation and jump straight into programming. I didn't find that method difficult myself, and I think it makes you a better developer, but if you're going to say that developers are unable to properly use the functions within XF, most of that blame should be assigned to XF for having no developer documentation at all since release. I see that's changing with XF2, and I'm hoping comprehensive, well-written developer documentation will attract developers and be a partial solution to the problems discussed in this thread.

I don't think car licensing is a fair analogy. The biggest reasonable threat from unsafe driving is death, the biggest reasonable threat from incompetent developers is loss of secure data or exploitation of websites. There are lots of drivers (because there are lots of people), you can impose regulation and unfair requirements for driving that people will have to meet, and it really won't make that big of a difference, you do that in a relatively small market of < 25 active developers, it just doesn't work the same. A better comparison is buying a 2nd hand car. There is no legal regulation on car sales, you don't need a license or need to be certified and display a sign of certification. The car could be faulty or poorly handled and the seller could mislead you in regards to that. It's your job to analyse the documents and have the car checked out by your mechanic and ensure it meets your requirements. It may end up being more expensive, but you can always buy a product, have a developer check it out and refund it if it doesn't meet your requirements (I do find it unreasonable, having to do that for every add-on, but the option remains available to you and it does illustrate why analogies to completely different sectors don't work here). Since you're familiar with EU law it seems, all EU residents are to be allowed a 14-day refund guarantee on all online purchases, regardless of the location of the seller.

The GDPR is pretty strict, but I honestly doubt many forums are going to adhere to it. Small businesses aren't exactly the most legally compliant people around. For example, I think we're the only developers on this site (except M2N's add-ons and XenForo itself of course) that charge VAT and adhere to VAT MOSS regulations, even though every single developer selling any paid add-on here located anywhere in the world should be VAT/VAT MOSS registered and charging VAT and issuing VAT invoices. The GDPR is going to require a lot more businesses, every single forum except types like 4chan, to register as data controllers. Do you think forums are going to register? I doubt it. They aren't going to remove user data on demand either, as they perhaps should. Hence, I don't think the introduction of new laws is going to change the developer situation here.

Back onto topic, resources, I don't think security vulnerabilities are the biggest problem caused by non-regulation. The example you cited is from the beginning of 2016, and it's one out of thousands of add-ons on the RM. I don't think many have existing critical vulnerabilities in them. The biggest issue is buggy code that's just not properly tested. A typical worst case scenario of such is board downtime or altered pages, I think, rather than actual vulnerabilities. Obviously, this is unacceptable. I still think most (active) developers here would fix major issues like that when reported, especially if/when XenForo intervention happens, which it does for add-ons that are reported to cause more major issues.

So that being said, is the problem here more minor bugs like functionality that doesn't completely work, or cosmetic problems?
 
I see what you mean about the SQL injection issue. Looks like that was AndyB who released a mass updates to alert people to a bug he fixed in late 2015 and early 2016. Through quick inspection of just two of the affected add-ons, it looks like instead of properly using prepared statements in XF to insert user inputted data, he was using a PHP method addslashes: http://php.net/manual/en/function.addslashes.php

Again, this is something I'd say I covered in paragraph 3 in my post above. This falls more onto XenForo lacking proper documentation on how to use XF APIs properly. Andy could've used mysqli_real_escape_string instead, which is a bit better, but he wouldn't have known about proper XF development techniques since there wasn't, and still isn't, any real documentation.
 
The problem we are facing is that software developers are taking security serious there doing more then a few years back, except in forum development. Security is still something people cant get behind of it where other developments are taking security in account here on this forum at the moment its not even possible to get people behind basic security measures.

Well i have seen examples of Andy and XF2 that has more examples and documentation that he just did not want to listen what people say. Also i think he was warned about unprepared statements long time ago. I was warned about his add-ons so i dont use them. I dont like to be strickt to people but if i was in charge of XF he would be in the penalty box i would revoke his permission to post in RM until he has proven him self (so it not forever). Look at it this way mistakes can be made but you need to learn from it and adjust your development as developer, but with him i have the idea he does not learn. For me i only trust a handfull of developers atm that i would install on my site.
 
Not at all, again, its reading into something which isn't there.
You're just recycling denial and ignoring what is there.
The XF statement is no review and no affiliation/responsibility.
Yet, code review is undertaken in at least 2 scenarios, add-on functionality risk is mandated and enforced. This is clearly accepting a level of responsibility and duty of care for and on behalf of customers.
 
You're just recycling denial and ignoring what is there.
The XF statement is no review and no affiliation/responsibility.
Yet, code review is undertaken in at least 2 scenarios, add-on functionality risk is mandated and enforced. This is clearly accepting a level of responsibility and duty of care for and on behalf of customers.
I suppose legally they're saying they take no responsibility for the content in the RM, hence reducing their liability. Obviously, you'd expect a brand to take some action when there are malicious or vulnerable resources hosted on its system, whether it claims to have legal liability or not, it'd have some effect on the brand to not take action in that sense. I don't think acting on that means they take responsibility for all content hosted on the system. Same goes with the housekeeping guidelines I suppose. It's not really actively scrutinised or moderated.
 
I suppose legally they're saying they take no responsibility for the content in the RM, hence reducing their liability. Obviously, you'd expect a brand to take some action when there are malicious or vulnerable resources hosted on its system, whether it claims to have legal liability or not, it'd have some effect on the brand to not take action in that sense. I don't think acting on that means they take responsibility for all content hosted on the system. Same goes with the housekeeping guidelines I suppose. It's not really actively scrutinised or moderated.

Legally you can do that atm but once the GDPR will be active i dont think its that easy anymore, the moment you know about security issues you will have to act. Now you have the issue that he skips stuff so you know he is a security risk. The worst thing about GDPR if i dont report issues to the authorities i can get into trouble realy bad. Another issue is that people can report if they suspect a security issue where there personal stuff is stolen or seen by people. The really fun part is that most people think its only breakins into their systems but also if someone has nothing to do with information in your company its falls under the GDPR. But if you leave a file on your desk and someone looks into it so in the analog world it still falls under the GDPR we still cant find if its excluded. With fines from ranging 0 to 10,000,000.00 euro or 10% of income worldwidei dont want to be fined everything above 3 to more figures and i will not make it. So as website owner i worry about people that do not take security and privacy first approche.
 
Something like this might be a good start

https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/

Seems to be working well for the 53k plugins they have in their repo
I have just read the developer guidlines and its clear that it is written from experience tro resolve the issues they have encountered. A lot of the issues addressed are familiar here. IMHO it would be a very good idea for XenForo to use this as a example to implement similar guidelines. It would resolve a lot. In my view this would be a big step forward.

The Wordpress plugin guidines make crystal clear that addons are the full responsibility of developers and that WordPress is not responsible for them:
2. Plugin developers are responsible for the files they upload and services they utilize.

Adding such statement would make it very clear and would resolve any discussion of responsibility.
This is how they review the code of their 56K addons:
WordPress said:
Once a plugin is queued for review, we will review the code for any issues. Most of the issues can be avoided by following the guidelines below. If we do find issues, we will contact the developer(s), and work towards a resolution.
Clearly there is an automatic check for a number of things. Which makes sense when there are thousands of addons.
WordPress said:
Security is the ultimate responsibility of the plugin developer, however the Plugin Directory enforces this to the best of our ability.
The Wordpress addon guidelines cover a wide array of issues/
it also refers to the coding standards here: https://make.wordpress.org/core/handbook/best-practices/coding-standards/
(see specific coding standards for HTML, CSS, JS, PHP linked on that page)

I think it would make a lot of sense to tell developers what is expected and what is not allowed. Like WordPress does. This would resolve a lot of issues already mentioned and unmentioned issues. When I read these WordPress developer guidelines there are various paragraphs where (minor and major) unsound methods by specific XF (ex)addon developers spring to mind.
 
Last edited:
You're just recycling denial and ignoring what is there.
The XF statement is no review and no affiliation/responsibility.
Yet, code review is undertaken in at least 2 scenarios, add-on functionality risk is mandated and enforced. This is clearly accepting a level of responsibility and duty of care for and on behalf of customers.

I am fully aware of what is written there. However you're extrapolating that into something it isn't.

Just because the rules exist doesn't imply at all it is a guarantee.

Think of it like speeding, every country has rules about the speeds you can drive, but still, every day people break those limits repeatedly, does it mean you can hold the government account to for it? Of course not, it falls back to the individual responsibility of the driver, or in this case, the addon author.
 
Of course not, it falls back to the individual responsibility of the driver, or in this case, the addon author
That is because its specifically written in the law. XenForo has not stated this in its terms or guidelines. Hence, there may be implied responsibility.
With the GDPR coming up with fines of millions, its advisable to resolve this.
 
With the GDPR coming up with fines of millions, its advisable to resolve this.

I fail to see what GDPR has to do with anything here? Unless the scope of the GDPR has massively increased since I last looked its only about personal data.
 
Status
Not open for further replies.
Top Bottom