diff --git a/appsensor-dot-org/site-contents/docs/v2.3.2/api/application.wadl b/appsensor-dot-org/site-contents/docs/v2.3.2/api/application.wadl
new file mode 100644
index 00000000..9eafda76
--- /dev/null
+++ b/appsensor-dot-org/site-contents/docs/v2.3.2/api/application.wadl
@@ -0,0 +1,250 @@
+
+
+
type | +description | +
---|---|
Attack + | ++ | +
DetectionPoint + | ++ | +
DetectionSystem + | ++ | +
Event + | ++ | +
Expression + | ++ | +
GeoLocation + | ++ | +
IPAddress + | ++ | +
Interval + | ++ | +
KeyValuePair + | ++ | +
Resource + | ++ | +
Response + | ++ | +
Rule + | ++ | +
Threshold + | ++ | +
User + | ++ | +
The AppSensor project is an OWASP project to create a knowledge base as well as + practical implementations for intrusion detection within applications.
++ There is a WADL document available that describes the resources API. +
+ ++ You may also enjoy the Swagger UI provided for this API. +
+ +name | +path | +methods | +description | +
---|---|---|---|
RestReportingEngine + | +
|
+
|
+ This is the restful endpoint that handles reporting requests on the server-side. + +This simple RESTful implementation queries the appropriate *Store implementations +for matching entities. + | +
RestRequestHandler + | +
|
+
|
+ This is the restful endpoint that handles requests on the server-side. + | +
type | +description | +
---|---|
Attack + | ++ | +
DetectionPoint + | ++ | +
DetectionSystem + | ++ | +
Event + | ++ | +
Expression + | ++ | +
GeoLocation + | ++ | +
IPAddress + | ++ | +
Interval + | ++ | +
KeyValuePair + | ++ | +
Resource + | ++ | +
Response + | ++ | +
Rule + | ++ | +
Threshold + | ++ | +
User + | ++ | +
name | +data type | +description | +
---|---|---|
detectionPoint + | +DetectionPoint + + | ++ | +
detectionSystem + | +DetectionSystem + + | ++ | +
id + | +string + + | ++ | +
metadata + | +array of KeyValuePair + + | ++ | +
resource + | +Resource + + | ++ | +
rule + | +Rule + + | ++ | +
timestamp + | +string + + | ++ | +
user + | +User + + | ++ | +
Example
+ +{ + "detectionSystem" : { + "detectionSystemId" : "...", + "ipAddress" : { + "address" : "...", + "geoLocation" : { }, + "id" : "..." + }, + "id" : "..." + }, + "metadata" : [ { + "value" : "...", + "key" : "...", + "id" : "..." + }, { + "value" : "...", + "key" : "...", + "id" : "..." + } ], + "timestamp" : "...", + "user" : { + "ipAddress" : { + "address" : "...", + "geoLocation" : { }, + "id" : "..." + }, + "username" : "...", + "id" : "..." + }, + "rule" : { + "expressions" : [ { + "window" : { }, + "detectionPoints" : [ { }, { } ], + "clauses" : [ { }, { } ] + }, { + "window" : { }, + "detectionPoints" : [ { }, { } ], + "clauses" : [ { }, { } ] + } ], + "window" : { + "duration" : 12345, + "id" : "...", + "unit" : "..." + }, + "name" : "...", + "allDetectionPoints" : [ { + "id" : "...", + "responses" : [ { }, { } ], + "label" : "...", + "guid" : "...", + "threshold" : { }, + "category" : "..." + }, { + "id" : "...", + "responses" : [ { }, { } ], + "label" : "...", + "guid" : "...", + "threshold" : { }, + "category" : "..." + } ], + "id" : "...", + "lastExpression" : { + "window" : { }, + "detectionPoints" : [ { }, { } ], + "clauses" : [ { }, { } ] + }, + "guid" : "...", + "responses" : [ { + "user" : { }, + "detectionSystem" : { }, + "interval" : { }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { }, { } ], + "action" : "..." + }, { + "user" : { }, + "detectionSystem" : { }, + "interval" : { }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { }, { } ], + "action" : "..." + } ] + }, + "id" : "...", + "detectionPoint" : { + "id" : "...", + "responses" : [ { + "user" : { }, + "detectionSystem" : { }, + "interval" : { }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { }, { } ], + "action" : "..." + }, { + "user" : { }, + "detectionSystem" : { }, + "interval" : { }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { }, { } ], + "action" : "..." + } ], + "label" : "...", + "guid" : "...", + "threshold" : { + "id" : "...", + "count" : 12345, + "interval" : { } + }, + "category" : "..." + }, + "resource" : { + "method" : "...", + "id" : "...", + "location" : "..." + } +}+ + + +
name | +data type | +description | +
---|---|---|
category + | +string + + | ++ | +
guid + | +string + + | ++ | +
id + | +string + + | ++ | +
label + | +string + + | ++ | +
responses + | +array of Response + + | ++ | +
responses + | +array of Response + + | ++ | +
threshold + | +Threshold + + | ++ | +
threshold + | +Threshold + + | ++ | +
Example
+ +{ + "id" : "...", + "responses" : [ { + "user" : { + "ipAddress" : { }, + "username" : "...", + "id" : "..." + }, + "detectionSystem" : { + "detectionSystemId" : "...", + "ipAddress" : { }, + "id" : "..." + }, + "interval" : { + "duration" : 12345, + "id" : "...", + "unit" : "..." + }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { + "value" : "...", + "key" : "...", + "id" : "..." + }, { + "value" : "...", + "key" : "...", + "id" : "..." + } ], + "action" : "..." + }, { + "user" : { + "ipAddress" : { }, + "username" : "...", + "id" : "..." + }, + "detectionSystem" : { + "detectionSystemId" : "...", + "ipAddress" : { }, + "id" : "..." + }, + "interval" : { + "duration" : 12345, + "id" : "...", + "unit" : "..." + }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { + "value" : "...", + "key" : "...", + "id" : "..." + }, { + "value" : "...", + "key" : "...", + "id" : "..." + } ], + "action" : "..." + } ], + "label" : "...", + "guid" : "...", + "threshold" : { + "id" : "...", + "count" : 12345, + "interval" : { + "duration" : 12345, + "id" : "...", + "unit" : "..." + } + }, + "category" : "..." +}+ + + +
name | +data type | +description | +
---|---|---|
detectionSystemId + | +string + + | ++ | +
id + | +string + + | ++ | +
ipAddress + | +IPAddress + + | ++ | +
ipAddress + | +IPAddress + + | ++ | +
Example
+ +{ + "detectionSystemId" : "...", + "ipAddress" : { + "address" : "...", + "geoLocation" : { + "longitude" : 12345.0, + "id" : "...", + "latitude" : 12345.0 + }, + "id" : "..." + }, + "id" : "..." +}+ + + +
name | +data type | +description | +
---|---|---|
detectionPoint + | +DetectionPoint + + | ++ | +
detectionSystem + | +DetectionSystem + + | ++ | +
id + | +string + + | ++ | +
metadata + | +array of KeyValuePair + + | ++ | +
resource + | +Resource + + | ++ | +
timeAscendingComparator + | +object + + | ++ | +
timestamp + | +string + + | ++ | +
user + | +User + + | ++ | +
Example
+ +{ + "resource" : { + "method" : "...", + "id" : "...", + "location" : "..." + }, + "timestamp" : "...", + "detectionSystem" : { + "detectionSystemId" : "...", + "ipAddress" : { + "address" : "...", + "geoLocation" : { }, + "id" : "..." + }, + "id" : "..." + }, + "user" : { + "ipAddress" : { + "address" : "...", + "geoLocation" : { }, + "id" : "..." + }, + "username" : "...", + "id" : "..." + }, + "metadata" : [ { + "value" : "...", + "key" : "...", + "id" : "..." + }, { + "value" : "...", + "key" : "...", + "id" : "..." + } ], + "id" : "...", + "detectionPoint" : { + "id" : "...", + "responses" : [ { + "user" : { }, + "detectionSystem" : { }, + "interval" : { }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { }, { } ], + "action" : "..." + }, { + "user" : { }, + "detectionSystem" : { }, + "interval" : { }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { }, { } ], + "action" : "..." + } ], + "label" : "...", + "guid" : "...", + "threshold" : { + "id" : "...", + "count" : 12345, + "interval" : { } + }, + "category" : "..." + }, + "timeAscendingComparator" : { } +}+ + + +
name | +data type | +description | +
---|---|---|
clauses + | +array of object + + | ++ | +
detectionPoints + | +array of DetectionPoint + + | ++ | +
window + | +Interval + + | ++ | +
Example
+ +{ + "window" : { + "duration" : 12345, + "id" : "...", + "unit" : "..." + }, + "detectionPoints" : [ { + "id" : "...", + "responses" : [ { + "user" : { }, + "detectionSystem" : { }, + "interval" : { }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { }, { } ], + "action" : "..." + }, { + "user" : { }, + "detectionSystem" : { }, + "interval" : { }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { }, { } ], + "action" : "..." + } ], + "label" : "...", + "guid" : "...", + "threshold" : { + "id" : "...", + "count" : 12345, + "interval" : { } + }, + "category" : "..." + }, { + "id" : "...", + "responses" : [ { + "user" : { }, + "detectionSystem" : { }, + "interval" : { }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { }, { } ], + "action" : "..." + }, { + "user" : { }, + "detectionSystem" : { }, + "interval" : { }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { }, { } ], + "action" : "..." + } ], + "label" : "...", + "guid" : "...", + "threshold" : { + "id" : "...", + "count" : 12345, + "interval" : { } + }, + "category" : "..." + } ], + "clauses" : [ { }, { } ] +}+ + + +
name | +data type | +description | +
---|---|---|
id + | +string + + | ++ | +
latitude + | +number + + | ++ | +
longitude + | +number + + | ++ | +
Example
+ +{ + "longitude" : 12345.0, + "id" : "...", + "latitude" : 12345.0 +}+ + + +
name | +data type | +description | +
---|---|---|
duration + | +number + + | ++ | +
id + | +string + + | ++ | +
unit + | +string + + | ++ | +
Example
+ +{ + "duration" : 12345, + "id" : "...", + "unit" : "..." +}+ + + +
name | +data type | +description | +
---|---|---|
address + | +string + + | ++ | +
geoLocation + | +GeoLocation + + | ++ | +
geoLocation + | +GeoLocation + + | ++ | +
id + | +string + + | ++ | +
Example
+ +{ + "address" : "...", + "geoLocation" : { + "longitude" : 12345.0, + "id" : "...", + "latitude" : 12345.0 + }, + "id" : "..." +}+ + + +
name | +data type | +description | +
---|---|---|
id + | +string + + | ++ | +
key + | +string + + | ++ | +
value + | +string + + | ++ | +
Example
+ +{ + "value" : "...", + "key" : "...", + "id" : "..." +}+ + + +
name | +data type | +description | +
---|---|---|
id + | +string + + | ++ | +
location + | +string + + | ++ | +
method + | +string + + | ++ | +
Example
+ +{ + "method" : "...", + "id" : "...", + "location" : "..." +}+ + + +
name | +data type | +description | +
---|---|---|
action + | +string + + | ++ | +
active + | +boolean + + | ++ | +
detectionSystem + | +DetectionSystem + + | ++ | +
id + | +string + + | ++ | +
interval + | +Interval + + | ++ | +
metadata + | +array of KeyValuePair + + | ++ | +
timestamp + | +string + + | ++ | +
user + | +User + + | ++ | +
Example
+ +{ + "user" : { + "ipAddress" : { + "address" : "...", + "geoLocation" : { }, + "id" : "..." + }, + "username" : "...", + "id" : "..." + }, + "detectionSystem" : { + "detectionSystemId" : "...", + "ipAddress" : { + "address" : "...", + "geoLocation" : { }, + "id" : "..." + }, + "id" : "..." + }, + "interval" : { + "duration" : 12345, + "id" : "...", + "unit" : "..." + }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { + "value" : "...", + "key" : "...", + "id" : "..." + }, { + "value" : "...", + "key" : "...", + "id" : "..." + } ], + "action" : "..." +}+ + + +
name | +data type | +description | +
---|---|---|
allDetectionPoints + | +array of DetectionPoint + + | ++ | +
expressions + | +array of Expression + + | ++ | +
guid + | +string + + | ++ | +
id + | +string + + | ++ | +
lastExpression + | +Expression + + | ++ | +
name + | +string + + | ++ | +
responses + | +array of Response + + | ++ | +
window + | +Interval + + | ++ | +
Example
+ +{ + "expressions" : [ { + "window" : { + "duration" : 12345, + "id" : "...", + "unit" : "..." + }, + "detectionPoints" : [ { + "id" : "...", + "responses" : [ { }, { } ], + "label" : "...", + "guid" : "...", + "threshold" : { }, + "category" : "..." + }, { + "id" : "...", + "responses" : [ { }, { } ], + "label" : "...", + "guid" : "...", + "threshold" : { }, + "category" : "..." + } ], + "clauses" : [ { }, { } ] + }, { + "window" : { + "duration" : 12345, + "id" : "...", + "unit" : "..." + }, + "detectionPoints" : [ { + "id" : "...", + "responses" : [ { }, { } ], + "label" : "...", + "guid" : "...", + "threshold" : { }, + "category" : "..." + }, { + "id" : "...", + "responses" : [ { }, { } ], + "label" : "...", + "guid" : "...", + "threshold" : { }, + "category" : "..." + } ], + "clauses" : [ { }, { } ] + } ], + "window" : { + "duration" : 12345, + "id" : "...", + "unit" : "..." + }, + "name" : "...", + "allDetectionPoints" : [ { + "id" : "...", + "responses" : [ { + "user" : { }, + "detectionSystem" : { }, + "interval" : { }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { }, { } ], + "action" : "..." + }, { + "user" : { }, + "detectionSystem" : { }, + "interval" : { }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { }, { } ], + "action" : "..." + } ], + "label" : "...", + "guid" : "...", + "threshold" : { + "id" : "...", + "count" : 12345, + "interval" : { } + }, + "category" : "..." + }, { + "id" : "...", + "responses" : [ { + "user" : { }, + "detectionSystem" : { }, + "interval" : { }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { }, { } ], + "action" : "..." + }, { + "user" : { }, + "detectionSystem" : { }, + "interval" : { }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { }, { } ], + "action" : "..." + } ], + "label" : "...", + "guid" : "...", + "threshold" : { + "id" : "...", + "count" : 12345, + "interval" : { } + }, + "category" : "..." + } ], + "id" : "...", + "lastExpression" : { + "window" : { + "duration" : 12345, + "id" : "...", + "unit" : "..." + }, + "detectionPoints" : [ { + "id" : "...", + "responses" : [ { }, { } ], + "label" : "...", + "guid" : "...", + "threshold" : { }, + "category" : "..." + }, { + "id" : "...", + "responses" : [ { }, { } ], + "label" : "...", + "guid" : "...", + "threshold" : { }, + "category" : "..." + } ], + "clauses" : [ { }, { } ] + }, + "guid" : "...", + "responses" : [ { + "user" : { + "ipAddress" : { }, + "username" : "...", + "id" : "..." + }, + "detectionSystem" : { + "detectionSystemId" : "...", + "ipAddress" : { }, + "id" : "..." + }, + "interval" : { + "duration" : 12345, + "id" : "...", + "unit" : "..." + }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { + "value" : "...", + "key" : "...", + "id" : "..." + }, { + "value" : "...", + "key" : "...", + "id" : "..." + } ], + "action" : "..." + }, { + "user" : { + "ipAddress" : { }, + "username" : "...", + "id" : "..." + }, + "detectionSystem" : { + "detectionSystemId" : "...", + "ipAddress" : { }, + "id" : "..." + }, + "interval" : { + "duration" : 12345, + "id" : "...", + "unit" : "..." + }, + "timestamp" : "...", + "id" : "...", + "active" : true, + "metadata" : [ { + "value" : "...", + "key" : "...", + "id" : "..." + }, { + "value" : "...", + "key" : "...", + "id" : "..." + } ], + "action" : "..." + } ] +}+ + + +
name | +data type | +description | +
---|---|---|
count + | +number + + | ++ | +
id + | +string + + | ++ | +
interval + | +Interval + + | ++ | +
Example
+ +{ + "id" : "...", + "count" : 12345, + "interval" : { + "duration" : 12345, + "id" : "...", + "unit" : "..." + } +}+ + + +
name | +data type | +description | +
---|---|---|
id + | +string + + | ++ | +
ipAddress + | +IPAddress + + | ++ | +
ipAddress + | +IPAddress + + | ++ | +
username + | +string + + | ++ | +
Example
+ +{ + "ipAddress" : { + "address" : "...", + "geoLocation" : { + "longitude" : 12345.0, + "id" : "...", + "latitude" : 12345.0 + }, + "id" : "..." + }, + "username" : "...", + "id" : "..." +}+ + + +
This is the restful endpoint that handles reporting requests on the server-side. + +This simple RESTful implementation queries the appropriate *Store implementations +for matching entities.
+ +name | +type | +description | +
---|---|---|
earliest | +query | ++ |
media type | +data type | +
---|---|
application/json | +array of Event + (JSON) | +
name | +type | +description | +
---|---|---|
earliest | +query | ++ |
media type | +data type | +
---|---|
application/json | +array of Attack + (JSON) | +
name | +type | +description | +
---|---|---|
earliest | +query | ++ |
media type | +data type | +
---|---|
application/json | +array of Response + (JSON) | +
name | +type | +description | +
---|---|---|
earliest | +query | ++ |
media type | +data type | +
---|---|
application/json | +number + (JSON) | +
name | +type | +description | +
---|---|---|
earliest | +query | ++ |
label | +query | ++ |
media type | +data type | +
---|---|
application/json | +number + (JSON) | +
name | +type | +description | +
---|---|---|
earliest | +query | ++ |
username | +query | ++ |
media type | +data type | +
---|---|
application/json | +number + (JSON) | +
name | +type | +description | +
---|---|---|
earliest | +query | ++ |
media type | +data type | +
---|---|
application/json | +number + (JSON) | +
name | +type | +description | +
---|---|---|
earliest | +query | ++ |
label | +query | ++ |
media type | +data type | +
---|---|
application/json | +number + (JSON) | +
name | +type | +description | +
---|---|---|
earliest | +query | ++ |
username | +query | ++ |
media type | +data type | +
---|---|
application/json | +number + (JSON) | +
name | +type | +description | +
---|---|---|
earliest | +query | ++ |
media type | +data type | +
---|---|
application/json | +number + (JSON) | +
name | +type | +description | +
---|---|---|
earliest | +query | ++ |
label | +query | ++ |
media type | +data type | +
---|---|
application/json | +number + (JSON) | +
name | +type | +description | +
---|---|---|
earliest | +query | ++ |
username | +query | ++ |
media type | +data type | +
---|---|
application/json | +number + (JSON) | +
media type | +data type | +
---|---|
application/json | +string + (JSON) | +
media type | +data type | +
---|---|
application/json | +KeyValuePair + (JSON) | +
This is the restful endpoint that handles requests on the server-side.
+ +media type | +data type | +
---|---|
application/json | +Event + (JSON) | +
media type | +data type | +
---|---|
application/json | +Attack + (JSON) | +
name | +type | +description | +
---|---|---|
earliest | +query | ++ |
media type | +data type | +
---|---|
application/json | +array of Response + (JSON) | +
+ There is a WADL document available that describes the resources API. +
++ You may also enjoy the Swagger UI provided for this API. +
+name | +path | +methods | +description | +
---|---|---|---|
RestReportingEngine + | +
|
+
|
+ This is the restful endpoint that handles reporting requests on the server-side. + +This simple RESTful implementation queries the appropriate *Store implementations +for matching entities. + | +
RestRequestHandler + | +
|
+
|
+ This is the restful endpoint that handles requests on the server-side. + | +