All Projects → gbreavin → Owasp Top10 Salesforce

gbreavin / Owasp Top10 Salesforce

Examples of OWASP Top 10 vulnerabilities in Salesforce

Labels

Projects that are alternatives of or similar to Owasp Top10 Salesforce

json2apex
Generate strongly typed apex code from a json structure.
Stars: ✭ 121 (+1916.67%)
Mutual labels:  apex
Pmd
An extensible multilanguage static code analyzer.
Stars: ✭ 3,667 (+61016.67%)
Mutual labels:  apex
Fflib Apex Common
Common Apex Library supporting Apex Enterprise Patterns and much more!
Stars: ✭ 536 (+8833.33%)
Mutual labels:  apex
Fflib Apex Mocks
An Apex mocking framework for true unit testing in Salesforce, with Stub API support
Stars: ✭ 253 (+4116.67%)
Mutual labels:  apex
Ebikes Lwc
Sample application for Lightning Web Components and Communities on Salesforce Platform. Part of the sample gallery. Retail use case. Get inspired and learn best practices.
Stars: ✭ 299 (+4883.33%)
Mutual labels:  apex
Npsp
The current version of the Salesforce.org Nonprofit Success Pack
Stars: ✭ 487 (+8016.67%)
Mutual labels:  apex
Script.apex
Evaluate Javascript expressions in Apex
Stars: ✭ 18 (+200%)
Mutual labels:  apex
Sf Build Scripts
Build and Deploy Scripts for Salesforce projects
Stars: ✭ 5 (-16.67%)
Mutual labels:  apex
Apex Recipes
A library of concise, meaningful examples of Apex code for common use cases following best practices.
Stars: ✭ 307 (+5016.67%)
Mutual labels:  apex
Sfdc Trigger Framework
A minimal trigger framework for your Salesforce Apex Triggers
Stars: ✭ 527 (+8683.33%)
Mutual labels:  apex
Lightningflowcomponents
A collection of unofficial Lightning Components that can be used to enhance Salesforce Lightning Flow and Lightning Pages.
Stars: ✭ 252 (+4100%)
Mutual labels:  apex
Apex Go
Golang runtime for Apex/Lambda.
Stars: ✭ 289 (+4716.67%)
Mutual labels:  apex
Declarative Lookup Rollup Summaries
Declarative Rollup Summaries for Lookups
Stars: ✭ 493 (+8116.67%)
Mutual labels:  apex
distributed reinforcement learning
implementation of distributed reinforcement learning with distributed tensorflow
Stars: ✭ 48 (+700%)
Mutual labels:  apex
Salesforcedx Vscode
Salesforce Extensions for VS Code
Stars: ✭ 653 (+10783.33%)
Mutual labels:  apex
amoss
Amoss - Apex Mock Objects, Spies and Stubs - A Simple Mocking framework for Apex (Salesforce)
Stars: ✭ 55 (+816.67%)
Mutual labels:  apex
Attic Apex Core
Mirror of Apache Apex core
Stars: ✭ 346 (+5666.67%)
Mutual labels:  apex
Visualforce
Visualforce examples and snippets
Stars: ✭ 6 (+0%)
Mutual labels:  apex
Sfdc Add Contacts To Campaign Report Service
Uses Apex Analytics API to add contacts from a report as campaign members.
Stars: ✭ 5 (-16.67%)
Mutual labels:  apex
Apex Mdapi
Apex Wrapper for the Salesforce Metadata API
Stars: ✭ 493 (+8116.67%)
Mutual labels:  apex

owasp-top10-salesforce

A collection of examples of what OWASP Top 10 vulnerabilities look like on Salesforce, including examples you can use to see how these vulnerabilities work.

Purpose

The OWASP Top 10 lists the top 10 most critical web application vulnerabilities to help educate those who buils such applications about the possible threats. This repo contains example code that demonstrates how these vulnerabilities can occur on Force.com

Background

These examples were presented at the August 2014 Sydney Salesforce Developers meetup. The accompanying slide deck provides more examples on each of the vulnerabilities, as well as prevention against them.

Scenario

The examples are created with an overarching scenario in mind. This codebase is part of a fictional company's Salesforce customisation, and in the codebase, they've made a number of errors that potentially leave them vulnerable in a number of ways.

The company sell products to customers. Customers are represented as Accounts and Contacts, and their purchases represented as Orders - in this case, a Custom Object has been created rather than the standard Order object.

I have tried to explain the relevant scenario for each example, but broadly, customers place an order in the system, and are contacted at a later date for payment. Once an order is paid for, it is marked as Shipped. Customers are usually external, but employees can also make purchases. The company has measures in place to prevent employees working on their own orders - though these measures aren't included here in this repo.

In some examples, the Visualforce pages are intended for internal users, though occasionally there are pages intended for customers. In these cases, the company have tried to avoid incurring extra license costs, so there are no authentication mechanisms in place i.e. these are intended to be exposed on a Force.com Site.

FAQs

Why aren't there examples for all vulnerabilities in the top 10?

Generally speaking, some of the vulnerabilities don't apply to the Force.com platform. For example, you don't have to maintain the software stack the server runs, so items that relate to software updates don't really apply (though having said that, don't forget about libraries you may be using).

Some vulnerabilities relate more to sharing and security setup within Salesforce.com. Capturing such examples in metadata is pretty laborious, for little gain. Therefore, the focus of this repo is to capture examples that require code.

Aren't these examples a little 'out there'?

The word I used when presenting this was 'tortured'. However, the examples are supposed to give enough context to highlight the vulnerabilities without needing to be overly specific and detailed. The point is not to consider these threats when you're making an application in the same context of the scenario explained above, but to consider these threats whenever or wherever they may rear their head. The details of a more realistic example would possibly get in the way of the core points of each vulnerability.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].