SWAN Weakness Detector

SWAN is a machine-learning approach for detection of methods of interest for security in Java libraries.

License

License

GroupId

GroupId

de.upb.cs.swt
ArtifactId

ArtifactId

swan_core
Last Version

Last Version

1.3.0
Release Date

Release Date

Type

Type

jar
Description

Description

SWAN Weakness Detector
SWAN is a machine-learning approach for detection of methods of interest for security in Java libraries.
Project URL

Project URL

https://github.com/secure-software-engineering/swan
Source Code Management

Source Code Management

https://github.com/secure-software-engineering/swan

Download swan_core

How to add to project

<!-- https://jarcasting.com/artifacts/de.upb.cs.swt/swan_core/ -->
<dependency>
    <groupId>de.upb.cs.swt</groupId>
    <artifactId>swan_core</artifactId>
    <version>1.3.0</version>
</dependency>
// https://jarcasting.com/artifacts/de.upb.cs.swt/swan_core/
implementation 'de.upb.cs.swt:swan_core:1.3.0'
// https://jarcasting.com/artifacts/de.upb.cs.swt/swan_core/
implementation ("de.upb.cs.swt:swan_core:1.3.0")
'de.upb.cs.swt:swan_core:jar:1.3.0'
<dependency org="de.upb.cs.swt" name="swan_core" rev="1.3.0">
  <artifact name="swan_core" type="jar" />
</dependency>
@Grapes(
@Grab(group='de.upb.cs.swt', module='swan_core', version='1.3.0')
)
libraryDependencies += "de.upb.cs.swt" % "swan_core" % "1.3.0"
[de.upb.cs.swt/swan_core "1.3.0"]

Dependencies

compile (3)

Group / Artifact Type Version
ca.mcgill.sable : soot jar 3.2.0
nz.ac.waikato.cms.weka : weka-stable jar 3.6.9
com.googlecode.json-simple : json-simple jar 1.1.1

Project Modules

There are no modules declared in this project.

swan

Security methods for WeAkNess detection

Description:

SWAN is a machine-learning approach for detection of methods of interest for security in Java libraries. SWAN should be used in combination with other static analyses tools. It helps the users to create a set of relevant methods required as an input for static analyses, e.g. taint- and type-state analysis. SWAN detects four types of methods: source, sink, sanitizer, and authentication method. The found methods are further cathegorized according to relevant vulnerabilities (Common Weakness Enummeration - CWE). Curretntly SWAN supports the following CWEs: CWE78, CWE79, CWE89, CWE306, CWE601, CWE862, and CWE863.

SWAN_Assist provides a GUI support for SWAN. The user is able to interact with the learning process by giving feedback on the methods of interest. The tool helps users that write static analyses to create list of SWAN for their specific Java libraries. Moreover, users can manually inspect the proper usage of the methods detected by SWAN.

Contributors:

Contact:

Goran Piskachev (Fraunhofer IEM, Zukunftsmeile 1, 33102 Paderborn)

de.upb.cs.swt

Secure Software Engineering Group at Paderborn University and Fraunhofer IEM

Versions

Version
1.3.0
1.2.1
1.2.0
1.1.0
1.0.0