Giter Club home page Giter Club logo

defectdojo / django-defectdojo Goto Github PK

View Code? Open in Web Editor NEW
3.4K 208.0 1.5K 155.45 MB

DevSecOps, ASPM, Vulnerability Management. All on one platform.

Home Page: https://defectdojo.com

License: BSD 3-Clause "New" or "Revised" License

Python 37.00% HTML 61.28% JavaScript 0.87% Shell 0.27% CSS 0.19% Smarty 0.35% Batchfile 0.01% Mustache 0.02%
python vulnerability-databases django security owasp analytics vulnerability-management automation security-automation security-orchestration devsecops vulnerability-correlation kubernetes hacktoberfest appsec

django-defectdojo's Introduction

DefectDojo

Open Source Security Index - Fastest Growing Open Source Security Projects

OWASP Flagship GitHub release YouTube Subscribe Twitter Follow

Unit Tests Integration Tests CII Best Practices

Screenshot of DefectDojo

DefectDojo is a DevSecOps, ASPM (application security posture management), and vulnerability management tool. DefectDojo orchestrates end-to-end security testing, vulnerability tracking, deduplication, remediation, and reporting.

Demo

Try out DefectDojo on our demo server at demo.defectdojo.org

Log in with username admin and password 1Defectdojo@demo#appsec. Please note that the demo is publicly accessible and regularly reset. Do not put sensitive data in the demo.

Quick Start for Compose V2

From July 2023 Compose V1 stopped receiving updates.

Compose V2 integrates compose functions into the Docker platform, continuing to support most of the previous docker-compose features and flags. You can run Compose V2 by replacing the hyphen (-) with a space, using docker compose instead of docker-compose.

# Clone the project
git clone https://github.com/DefectDojo/django-DefectDojo
cd django-DefectDojo

# Building Docker images
./dc-build.sh

# Run the application (for other profiles besides postgres-redis see  
# https://github.com/DefectDojo/django-DefectDojo/blob/dev/readme-docs/DOCKER.md)
./dc-up-d.sh postgres-redis

# Obtain admin credentials. The initializer can take up to 3 minutes to run.
# Use docker compose logs -f initializer to track its progress.
docker compose logs initializer | grep "Admin password:"

For Docker Compose V1

You can run Compose V1 by editing the files below to add the hyphen (-) between docker compose.

     dc-build.sh
     dc-down.sh
     dc-stop.sh
     dc-unittest.sh
     dc-up-d.sh
     dc-up.sh
     docker/docker-compose-check.sh
     docker/entrypoint-initializer.sh
     docker/setEnv.sh

Navigate to http://localhost:8080 to see your new instance!

Documentation

Supported Installation Options

Community, Getting Involved, and Updates

Slack LinkedIn Twitter Youtube

Join the OWASP Slack community and participate in the discussion! You can find us in our channel there, #defectdojo. Follow DefectDojo on Twitter, LinkedIn, and YouTube for project updates!

Contributing

⚠️ We have instituted a feature freeze on v2 of DefectDojo as we begin work on v3. Please see our contributing guidelines for more information. Check out our latest update on v3 here.

Pro Edition

Upgrade to DefectDojo Pro today to take your DevSecOps to 11. DefectDojo Pro is designed to meet you wherever you are on your security journey and help you scale, with enhanced dashboards, additional smart features, tunable deduplication, and support from DevSecOps experts.

Alternatively, for information please email [email protected]

About Us

DefectDojo is maintained by:

Core Moderators can help you with pull requests or feedback on dev ideas:

Moderators can help you with pull requests or feedback on dev ideas:

Hall of Fame

  • Valentijn Scholten (@valentijnscholten | Sponsor | LinkedIn) - Valentijn served as a core moderator for 3 years. Valentijn’s contributions were numerous and extensive. He overhauled, improved, and optimized many parts of the codebase. He consistently fielded questions, provided feedback on pull requests, and provided a helping hand wherever it was needed.
  • Fred Blaise (@madchap | LinkedIn) - Fred served as a core moderator during a critical time for DefectDojo. He contributed code, helped the team stay organized, and architected important policies and procedures.
  • Aaron Weaver (@aaronweaver | LinkedIn) - Aaron has been a long time contributor and user of DefectDojo. He did the second major UI overhaul and his contributions include automation enhancements, CI/CD engagements, increased metadata at the product level, and many more.

Security

Please report Security issues via our disclosure policy.

License

DefectDojo is licensed under the BSD 3-Clause License

django-defectdojo's People

Contributors

aaronweaver avatar alles-klar avatar blakeaowens avatar coheigea avatar damiencarol avatar dependabot-preview[bot] avatar dependabot[bot] avatar deverica avatar devgrega avatar dr3dd589 avatar dsever avatar felixhernandez avatar felixhernandez15 avatar grendel513 avatar jpbowie avatar kiblik avatar madchap avatar maffooch avatar manuel-sommer avatar mtesauro avatar nwse-fwn avatar patriknordlen avatar piyarathnalakmali avatar propersam avatar ptrovatelli avatar renovate[bot] avatar stefanfl avatar twsagarcia avatar valentijnscholten avatar wurstbrot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

django-defectdojo's Issues

Integration with LDAP for authentication?

For my use case, I prefer to integrate this with LDAP and not rely on django's authentication system.

Is it possible to configure DefectDojo to authenticate against an internal LDAP Directory Server (eg OpenLDAP or Active Directory) ? I've looked at django-auth-ldap, but I'm new to Django and don't understand how to integrate this with DefectDojo...if it's possible at all.

Installation error with auditlog

Hey guys, I'm hitting an install error not related to the missing overextends dependency. Something is wrong with auditlog.

Below is the relevant dump information, I'm using python 2.7.10, Django 1.8.4, Ubuntu 15.10

Operations to perform:
Synchronize unmigrated apps: gunicorn, staticfiles, messages, humanize, polymorphic, tastypie_swagger, overextends, djangobower
Apply all migrations: dojo, watson, sessions, admin, sites, auth, tastypie, contenttypes, auditlog
Synchronizing apps without migrations:
Creating tables...
Running deferred SQL...
Installing custom SQL...
Running migrations:
Rendering model states... DONE
Applying auditlog.0004_logentry_detailed_object_repr...Traceback (most recent call last):
File "manage.py", line 10, in
execute_from_command_line(sys.argv)
.....

django.db.utils.OperationalError: (1101, "BLOB/TEXT column 'additional_data' can't have a default value")
/usr/local/lib/python2.7/dist-packages/auditlog/models.py:6: RemovedInDjango19Warning: django.contrib.contenttypes.generic is deprecated and will be removed in Django 1.9. Its contents have been moved to the fields, forms, and admin submodules of django.contrib.contenttypes.
from django.contrib.contenttypes import generic

500 on Nessus uploads - 'Finding' object has no attribute 'unsaved_req_resp'

Hello,
Seeing a 500 error the first time I try to import a nessus scan result.
same error using .csv or .nessus format. When I click back, a single finding is available. If use the re-import option it seems to import successfully.

Running Centos 7.2 setup via the setup.bash scripts and pip installed from epel-release

Environment:

Request Method: POST
Request URL: http://192.168.128.75:8000/engagement/2/import_scan_results

Django Version: 1.8.10
Python Version: 2.7.5
Installed Applications:
('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'polymorphic',
'overextends',
'django.contrib.admin',
'django.contrib.humanize',
'gunicorn',
'tastypie',
'djangobower',
'auditlog',
'dojo',
'tastypie_swagger',
'watson')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'dojo.middleware.LoginRequiredMiddleware')

Traceback:
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response

  1.                 response = wrapped_callback(request, _callback_args, *_callback_kwargs)
    
    File "/usr/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  2.             return view_func(request, _args, *_kwargs)
    
    File "/root/django-DefectDojo/dojo/engagement/views.py" in import_scan_results
  3.                 if len(item.unsaved_req_resp) > 0:
    

Exception Type: AttributeError at /engagement/2/import_scan_results
Exception Value: 'Finding' object has no attribute 'unsaved_req_resp'

Person Table

Create a person table with a role(s) and contact information so that a person can be associated with a application, line of business or organization.

Report generation issue

I'm having an issue generating a PDF report, once I click on "Save and Run" the report status remains "Running" for hours and the report is never generated.

Below is the debug log, any help would be appreciated. Thanks

Performing system checks...

System check identified no issues (0 silenced).
April 14, 2016 - 11:23:03
Django version 1.8.10, using settings 'dojo.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

[14/Apr/2016 11:23:24] "POST /reports/custom HTTP/1.1" 302 0
[14/Apr/2016 11:23:24] "GET /reports HTTP/1.1" 200 27206
[14/Apr/2016 11:23:34] "GET /reports/7/status HTTP/1.1" 200 32
[14/Apr/2016 11:23:44] "GET /reports/7/status HTTP/1.1" 200 32
[14/Apr/2016 11:23:54] "GET /reports/7/status HTTP/1.1" 200 32
[14/Apr/2016 11:24:04] "GET /reports/7/status HTTP/1.1" 200 32
[14/Apr/2016 11:24:14] "GET /reports/7/status HTTP/1.1" 200 32
[14/Apr/2016 11:24:24] "GET /reports/7/status HTTP/1.1" 200 32
[14/Apr/2016 11:24:34] "GET /reports/7/status HTTP/1.1" 200 32
[14/Apr/2016 11:24:44] "GET /reports/7/status HTTP/1.1" 200 32

defectdojo

Finding Images

The ability to insert images and then specify using markdown where those images should appear in the finding. The report generator should then place those images where specified in the markdown.

default interface/port

The applications listens by default on 127.0.0.1. Is there a way to change it to 0.0.0.0? I have the app installed on a remote VPS and i would like to be able to access through the internet.

Thanks a lot and sorry if this has been already referenced.

Including reports with Install

Hey guys, I noticed there has been some issues with new folks not knowing how to setup reports / having issues. I know everything needed is in the docs, but could we explore adding this at install? I think it would be a big plus.

Bulk Edit of Findings

I'd like to be able to bulk edit findings in the Product >> Findings view. That way it will be much faster when vetting findings. Should be able to change severity, verified and active.

Status updates via slack or mail

Many agile teams like push notifications in case of status changes, instead of checking a status overview. For example, teams I work with use Slack to have Jenkins notify them of things that are going on. I think it would really help if each team in ddojo can list a slack channel where status changes can be pushed to.

e.g.:
New nikto import: 0C - 1H - 2M - 3L
Issue 156 has been accepted
Issue 134 pushed to Jira

Demo site - Exceptiion while viewing potential finding

If you log into the demo site as an admin, add an engagement, add a potential finding then click on the link for the new potential finding, you get the following exception:

Page not found (404)
Request Method:     GET
Request URL:    https://defectdojo.pythonanywhere.com/finding/1
Raised by:  dojo.finding.views.view_finding

No Finding matches the given query.

You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.

Table 'django_site' doesnt exist

  1. I've installed this app in 'linuxmint' OS and tried to run it using the command "python manage.py runserver" and the app started without any issues.
    1
  2. but when i tried to view the site in browser (http://127.0.0.1:8000) im getting 500 internal server error.
    3
  3. and then i checked the database by manually logging in, the specifed table(django_site) does not exist in the db also.

Organization/Line of Business

I'd like the ability to define multiple organizations and optionally lines of business associated with each organization.

Tags

The ability to create arbitrary tags and assign those tags to an application.

Integration with Faraday IPE

With respect to the importing of issues, I think a lot of time can be saved by making a connection with Faraday IPE. (Faraday is a collaboration pentesting environment that currently can handle 40+ security tools). Using F-IPE for aggregation and assessing the issues and importing them into ddojo prevents having to develop imports for all tools.

(btw: I had a quick chat with the faraday maintainer on twitter and he's interested)

Vagrant Install Review

The Vagrant install script appears to be broken at the moment. Log included below.

It appears this has something to do with bower / collectstatic, but I haven't had a chance to dig into it too much.

TASK: [webserver | Run 'bower install' command] *******************************
failed: [127.0.0.1] => {"changed": true, "cmd": ["bower", "install"], "delta": "0:02:40.458522", "end": "2015-10-20 19:17:26.389936", "rc": 1, "start": "2015-10-20 19:14:45.931414", "warnings": []}
stderr: bower flot-axis#*                     invalid-meta flot-axis is missing "main" entry in bower.json
bower flot-axis#*                     invalid-meta flot-axis is missing "ignore" entry in bower.json
bower JUMFlot#*                       invalid-meta JUMFlot is missing "main" entry in bower.json
bower JUMFlot#*                       invalid-meta JUMFlot is missing "ignore" entry in bower.json
bower text-highlighter#*                   ECMDERR Failed to execute "git ls-remote --tags --heads git://github.com/mir3z/texthighlighter.git", exit code of #128 fatal: unable to connect to github.com: github.com[0: 192.30.252.128]: errno=Connection timed out

Additional error details:
fatal: unable to connect to github.com:
github.com[0: 192.30.252.128]: errno=Connection timed out
stdout: bower JUMFlot#*             not-cached https://github.com/jumjum123/JUMFlot.git#*
bower JUMFlot#*                resolve https://github.com/jumjum123/JUMFlot.git#*
bower flot-axis#*           not-cached https://github.com/markrcote/flot-axislabels.git#*
bower flot-axis#*              resolve https://github.com/markrcote/flot-axislabels.git#*
bower startbootstrap-sb-admin-2#*       not-cached git://github.com/IronSummitMedia/startbootstrap-sb-admin-2.git#*
bower startbootstrap-sb-admin-2#*          resolve git://github.com/IronSummitMedia/startbootstrap-sb-admin-2.git#*
bower text-highlighter#*                not-cached git://github.com/mir3z/texthighlighter.git#*
bower text-highlighter#*                   resolve git://github.com/mir3z/texthighlighter.git#*
bower jquery-ui#*                       not-cached git://github.com/components/jqueryui.git#*
bower jquery-ui#*                          resolve git://github.com/components/jqueryui.git#*
bower fullcalendar#*                    not-cached git://github.com/arshaw/fullcalendar.git#*
bower fullcalendar#*                       resolve git://github.com/arshaw/fullcalendar.git#*
bower chosen#*                          not-cached git://github.com/harvesthq/bower-chosen.git#*
bower chosen#*                             resolve git://github.com/harvesthq/bower-chosen.git#*
bower chosen-bootstrap#*                not-cached git://github.com/dbtek/chosen-bootstrap.git#*
bower chosen-bootstrap#*                   resolve git://github.com/dbtek/chosen-bootstrap.git#*
bower jquery-cookie#*                   not-cached git://github.com/carhartl/jquery-cookie.git#*
bower jquery-cookie#*                      resolve git://github.com/carhartl/jquery-cookie.git#*
bower font-awesome#4.4.0                not-cached git://github.com/FortAwesome/Font-Awesome.git#4.4.0
bower font-awesome#4.4.0                   resolve git://github.com/FortAwesome/Font-Awesome.git#4.4.0
bower JUMFlot#*                           checkout master
bower flot-axis#*                         checkout master
bower flot-axis#*                         resolved https://github.com/markrcote/flot-axislabels.git#a181e09d04
bower JUMFlot#*                           resolved https://github.com/jumjum123/JUMFlot.git#a440fa558a
...ignoring

TASK: [webserver | Git HTTPS Preference] **************************************
changed: [127.0.0.1] => {"changed": true, "cmd": ["git", "config", "--global", "url.https://.insteadOf", "git://"], "delta": "0:00:00.002900", "end": "2015-10-20 19:17:26.557293", "rc": 0, "start": "2015-10-20 19:17:26.554393", "stderr": "", "stdout": "", "warnings": ["Consider using git module rather than running git"]}

TASK: [webserver | Reinstall Bower] *******************************************
failed: [127.0.0.1] => {"changed": true, "cmd": ["bower", "install"], "delta": "0:00:38.965557", "end": "2015-10-20 19:18:05.685107", "rc": 1, "start": "2015-10-20 19:17:26.719550", "warnings": []}
stderr: bower chosen#*                            mismatch Version declared in the json (1.4.1) is different than the resolved one (1.4.2)
bower chosen-bootstrap#*              invalid-meta chosen-bootstrap is missing "ignore" entry in bower.json
bower flot-axis#*                     invalid-meta flot-axis is missing "main" entry in bower.json
bower flot-axis#*                     invalid-meta flot-axis is missing "ignore" entry in bower.json
bower JUMFlot#*                       invalid-meta JUMFlot is missing "main" entry in bower.json
bower JUMFlot#*                       invalid-meta JUMFlot is missing "ignore" entry in bower.json
bower holderjs#~2.4.1                 invalid-meta holderjs is missing "ignore" entry in bower.json
bower datatables-plugins#~1.0.1       invalid-meta datatables-plugins is missing "main" entry in bower.json
bower datatables-plugins#~1.0.1       invalid-meta datatables-plugins is missing "ignore" entry in bower.json
bower flot#~0.8.3                       deprecated Package flot is using the deprecated component.json
bower flot#~0.8.3                     invalid-meta Flot is missing "ignore" entry in bower.json
bower morrisjs#~0.5.1                     mismatch Version declared in the json (0.5.0) is different than the resolved one (0.5.1)
bower morrisjs#~0.5.1                 invalid-meta morris.js is missing "ignore" entry in bower.json
bower datatables-responsive#~1.0.3    invalid-meta datatables-responsive is missing "ignore" entry in bower.json
bower                                    ECONFLICT Unable to find suitable version for font-awesome
stdout: bower JUMFlot#*             not-cached https://github.com/jumjum123/JUMFlot.git#*
bower JUMFlot#*                resolve https://github.com/jumjum123/JUMFlot.git#*
bower flot-axis#*           not-cached https://github.com/markrcote/flot-axislabels.git#*
bower flot-axis#*              resolve https://github.com/markrcote/flot-axislabels.git#*
bower startbootstrap-sb-admin-2#*       not-cached git://github.com/IronSummitMedia/startbootstrap-sb-admin-2.git#*
bower startbootstrap-sb-admin-2#*          resolve git://github.com/IronSummitMedia/startbootstrap-sb-admin-2.git#*
bower fullcalendar#*                    not-cached git://github.com/arshaw/fullcalendar.git#*
bower fullcalendar#*                       resolve git://github.com/arshaw/fullcalendar.git#*
bower jquery-cookie#*                   not-cached git://github.com/carhartl/jquery-cookie.git#*
bower jquery-cookie#*                      resolve git://github.com/carhartl/jquery-cookie.git#*
bower jquery-ui#*                       not-cached git://github.com/components/jqueryui.git#*
bower jquery-ui#*                          resolve git://github.com/components/jqueryui.git#*
bower text-highlighter#*                not-cached git://github.com/mir3z/texthighlighter.git#*
bower text-highlighter#*                   resolve git://github.com/mir3z/texthighlighter.git#*
bower chosen#*                          not-cached git://github.com/harvesthq/bower-chosen.git#*
bower chosen#*                             resolve git://github.com/harvesthq/bower-chosen.git#*
bower chosen-bootstrap#*                not-cached git://github.com/dbtek/chosen-bootstrap.git#*
bower chosen-bootstrap#*                   resolve git://github.com/dbtek/chosen-bootstrap.git#*
bower font-awesome#4.4.0                not-cached git://github.com/FortAwesome/Font-Awesome.git#4.4.0
bower font-awesome#4.4.0                   resolve git://github.com/FortAwesome/Font-Awesome.git#4.4.0
bower flot-axis#*                         checkout master
bower JUMFlot#*                           checkout master
bower startbootstrap-sb-admin-2#*         download https://github.com/IronSummitMedia/startbootstrap-sb-admin-2/archive/v1.0.7.tar.gz
bower jquery-cookie#*                     download https://github.com/carhartl/jquery-cookie/archive/v1.4.1.tar.gz
bower fullcalendar#*                      download https://github.com/arshaw/fullcalendar/archive/v2.4.0.tar.gz
bower jquery-ui#*                         download https://github.com/components/jqueryui/archive/1.11.4.tar.gz
bower text-highlighter#*                  download https://github.com/mir3z/texthighlighter/archive/v1.2.0.tar.gz
bower chosen#*                            download https://github.com/harvesthq/bower-chosen/archive/v1.4.2.tar.gz
bower chosen-bootstrap#*                  download https://github.com/dbtek/chosen-bootstrap/archive/1.1.0.tar.gz
bower jquery-cookie#*                      extract archive.tar.gz
bower font-awesome#4.4.0                  download https://github.com/FortAwesome/Font-Awesome/archive/v4.4.0.tar.gz
bower jquery-cookie#*                     resolved git://github.com/carhartl/jquery-cookie.git#1.4.1
bower chosen#*                             extract archive.tar.gz
bower jquery#>=1.2                      not-cached git://github.com/jquery/jquery.git#>=1.2
bower jquery#>=1.2                         resolve git://github.com/jquery/jquery.git#>=1.2
bower chosen#*                            resolved git://github.com/harvesthq/bower-chosen.git#1.4.2
bower jquery#>=1.4.4                    not-cached git://github.com/jquery/jquery.git#>=1.4.4
bower jquery#>=1.4.4                       resolve git://github.com/jquery/jquery.git#>=1.4.4
bower chosen-bootstrap#*                   extract archive.tar.gz
bower fullcalendar#*                       extract archive.tar.gz
bower chosen-bootstrap#*                  resolved git://github.com/dbtek/chosen-bootstrap.git#1.1.0
bower text-highlighter#*                   extract archive.tar.gz
bower jquery-ui#*                          extract archive.tar.gz
bower bootstrap#>=3.0.0                 not-cached git://github.com/twbs/bootstrap.git#>=3.0.0
bower bootstrap#>=3.0.0                    resolve git://github.com/twbs/bootstrap.git#>=3.0.0
bower startbootstrap-sb-admin-2#*          extract archive.tar.gz
bower font-awesome#4.4.0                   extract archive.tar.gz
bower text-highlighter#*                  resolved git://github.com/mir3z/texthighlighter.git#1.2.0
bower fullcalendar#*                      resolved git://github.com/arshaw/fullcalendar.git#2.4.0
bower jquery#>=1.7.1                    not-cached git://github.com/jquery/jquery.git#>=1.7.1
bower jquery#>=1.7.1                       resolve git://github.com/jquery/jquery.git#>=1.7.1
bower moment#>=2.5.0                    not-cached git://github.com/moment/moment.git#>=2.5.0
bower moment#>=2.5.0                       resolve git://github.com/moment/moment.git#>=2.5.0
bower moment#>=2.5.0                      download https://github.com/moment/moment/archive/2.10.6.tar.gz
bower moment#>=2.5.0                       extract archive.tar.gz
bower jquery-ui#*                         resolved git://github.com/components/jqueryui.git#1.11.4
bower jquery#>=1.6                      not-cached git://github.com/jquery/jquery.git#>=1.6
bower jquery#>=1.6                         resolve git://github.com/jquery/jquery.git#>=1.6
bower flot-axis#*                         progress remote: Compressing objects:  25% (1/4)
bower flot-axis#*                         progress remote: Compressing objects:  50% (2/4)
bower jquery#>=1.4.4                      download https://github.com/jquery/jquery/archive/2.1.4.tar.gz
bower jquery#>=1.7.1                      download https://github.com/jquery/jquery/archive/2.1.4.tar.gz
bower jquery#>=1.6                        download https://github.com/jquery/jquery/archive/2.1.4.tar.gz
bower jquery#>=1.2                        download https://github.com/jquery/jquery/archive/2.1.4.tar.gz
bower flot-axis#*                         resolved https://github.com/markrcote/flot-axislabels.git#a181e09d04
bower bootstrap#>=3.0.0                   download https://github.com/twbs/bootstrap/archive/v3.3.5.tar.gz
bower jquery#>=1.7.1                       extract archive.tar.gz
bower jquery#>=1.2                         extract archive.tar.gz
bower jquery#>=1.4.4                       extract archive.tar.gz
bower jquery#>=1.6                         extract archive.tar.gz
bower startbootstrap-sb-admin-2#*         resolved git://github.com/IronSummitMedia/startbootstrap-sb-admin-2.git#1.0.7
bower bootstrap#~3.3.1                  not-cached git://github.com/twbs/bootstrap.git#~3.3.1
bower bootstrap#~3.3.1                     resolve git://github.com/twbs/bootstrap.git#~3.3.1
bower font-awesome#~4.2.0               not-cached git://github.com/FortAwesome/Font-Awesome.git#~4.2.0
bower font-awesome#~4.2.0                  resolve git://github.com/FortAwesome/Font-Awesome.git#~4.2.0
bower bootstrap#~3.3.1                    download https://github.com/twbs/bootstrap/archive/v3.3.5.tar.gz
bower font-awesome#~4.2.0                 download https://github.com/FortAwesome/Font-Awesome/archive/v4.2.0.tar.gz
bower datatables#~1.10.4                not-cached git://github.com/DataTables/DataTables.git#~1.10.4
bower datatables#~1.10.4                   resolve git://github.com/DataTables/DataTables.git#~1.10.4
bower datatables-plugins#~1.0.1         not-cached git://github.com/DataTables/Plugins.git#~1.0.1
bower datatables-plugins#~1.0.1            resolve git://github.com/DataTables/Plugins.git#~1.0.1
bower holderjs#~2.4.1                   not-cached git://github.com/imsky/holder.git#~2.4.1
bower holderjs#~2.4.1                      resolve git://github.com/imsky/holder.git#~2.4.1
bower metisMenu#~1.1.3                  not-cached git://github.com/onokumus/metisMenu.git#~1.1.3
bower metisMenu#~1.1.3                     resolve git://github.com/onokumus/metisMenu.git#~1.1.3
bower flot#~0.8.3                       not-cached git://github.com/flot/flot.git#~0.8.3
bower flot#~0.8.3                          resolve git://github.com/flot/flot.git#~0.8.3
bower morrisjs#~0.5.1                   not-cached git://github.com/morrisjs/morris.js.git#~0.5.1
bower morrisjs#~0.5.1                      resolve git://github.com/morrisjs/morris.js.git#~0.5.1
bower flot.tooltip#~0.8.4               not-cached git://github.com/krzysu/flot.tooltip.git#~0.8.4
bower flot.tooltip#~0.8.4                  resolve git://github.com/krzysu/flot.tooltip.git#~0.8.4
bower datatables-responsive#~1.0.3      not-cached git://github.com/DataTables/Responsive.git#~1.0.3
bower datatables-responsive#~1.0.3         resolve git://github.com/DataTables/Responsive.git#~1.0.3
bower bootstrap-social#~4.8.0           not-cached git://github.com/lipis/bootstrap-social.git#~4.8.0
bower bootstrap-social#~4.8.0              resolve git://github.com/lipis/bootstrap-social.git#~4.8.0
bower bootstrap#>=3.0.0                    extract archive.tar.gz
bower font-awesome#~4.2.0                  extract archive.tar.gz
bower bootstrap#~3.3.1                     extract archive.tar.gz
bower font-awesome#4.4.0                  resolved git://github.com/FortAwesome/Font-Awesome.git#4.4.0
bower JUMFlot#*                           progress remote: Compressing objects:   1% (1/71)
bower JUMFlot#*                           progress remote: Compressing objects:   2% (2/71)
bower JUMFlot#*                           progress remote: Compressing objects:   4% (3/71)
bower JUMFlot#*                           progress remote: Compressing objects:   5% (4/71)
bower JUMFlot#*                           progress remote: Compressing objects:   7% (5/71)
bower JUMFlot#*                           progress remote: Compressing objects:   8% (6/71)
bower JUMFlot#*                           progress remote: Compressing objects:   9% (7/71)
bower JUMFlot#*                           progress remote: Compressing objects:  11% (8/71)
bower JUMFlot#*                           progress remote: Compressing objects:  12% (9/71)
bower JUMFlot#*                           progress remote: Compressing objects:  14% (10/71)
bower JUMFlot#*                           progress remote: Compressing objects:  15% (11/71)
bower JUMFlot#*                           progress remote: Compressing objects:  16% (12/71)
bower JUMFlot#*                           progress remote: Compressing objects:  18% (13/71)
bower JUMFlot#*                           resolved https://github.com/jumjum123/JUMFlot.git#a440fa558a
bower jquery#>=1.2                        resolved git://github.com/jquery/jquery.git#2.1.4
bower jquery#>=1.4.4                      resolved git://github.com/jquery/jquery.git#2.1.4
bower jquery#>=1.6                        resolved git://github.com/jquery/jquery.git#2.1.4
bower datatables#~1.10.4                  download https://github.com/DataTables/DataTables/archive/1.10.9.tar.gz
bower metisMenu#~1.1.3                    download https://github.com/onokumus/metisMenu/archive/1.1.3.tar.gz
bower holderjs#~2.4.1                     download https://github.com/imsky/holder/archive/v2.4.1.tar.gz
bower datatables-plugins#~1.0.1           download https://github.com/DataTables/Plugins/archive/1.0.1.tar.gz
bower jquery#>=1.7.1                      resolved git://github.com/jquery/jquery.git#2.1.4
bower metisMenu#~1.1.3                     extract archive.tar.gz
bower holderjs#~2.4.1                      extract archive.tar.gz
bower datatables-plugins#~1.0.1            extract archive.tar.gz
bower datatables#~1.10.4                   extract archive.tar.gz
bower holderjs#~2.4.1                     resolved git://github.com/imsky/holder.git#2.4.1
bower metisMenu#~1.1.3                    resolved git://github.com/onokumus/metisMenu.git#1.1.3
bower moment#>=2.5.0                      resolved git://github.com/moment/moment.git#2.10.6
bower datatables-plugins#~1.0.1           resolved git://github.com/DataTables/Plugins.git#1.0.1
bower bootstrap#>=3.0.0                   resolved git://github.com/twbs/bootstrap.git#3.3.5
bower bootstrap#~3.3.1                    resolved git://github.com/twbs/bootstrap.git#3.3.5
bower datatables#~1.10.4                  resolved git://github.com/DataTables/DataTables.git#1.10.9
bower font-awesome#~4.2.0                 resolved git://github.com/FortAwesome/Font-Awesome.git#4.2.0
bower flot#~0.8.3                         download https://github.com/flot/flot/archive/v0.8.3.tar.gz
bower flot#~0.8.3                          extract archive.tar.gz
bower morrisjs#~0.5.1                     download https://github.com/morrisjs/morris.js/archive/0.5.1.tar.gz
bower flot#~0.8.3                         resolved git://github.com/flot/flot.git#0.8.3
bower datatables-responsive#~1.0.3        download https://github.com/DataTables/Responsive/archive/1.0.7.tar.gz
bower bootstrap-social#~4.8.0             download https://github.com/lipis/bootstrap-social/archive/4.8.0.tar.gz
bower flot.tooltip#~0.8.4                 download https://github.com/krzysu/flot.tooltip/archive/0.8.5.tar.gz
bower morrisjs#~0.5.1                      extract archive.tar.gz
bower datatables-responsive#~1.0.3         extract archive.tar.gz
bower flot.tooltip#~0.8.4                  extract archive.tar.gz
bower morrisjs#~0.5.1                     resolved git://github.com/morrisjs/morris.js.git#0.5.1
bower bootstrap-social#~4.8.0              extract archive.tar.gz
bower datatables-responsive#~1.0.3        resolved git://github.com/DataTables/Responsive.git#1.0.7
bower flot.tooltip#~0.8.4                 resolved git://github.com/krzysu/flot.tooltip.git#0.8.5
bower raphael#>= 2.0                    not-cached git://github.com/DmitryBaranovskiy/raphael.git#>= 2.0
bower raphael#>= 2.0                       resolve git://github.com/DmitryBaranovskiy/raphael.git#>= 2.0
bower mocha#~1.17.1                     not-cached git://github.com/mochajs/mocha.git#~1.17.1
bower mocha#~1.17.1                        resolve git://github.com/mochajs/mocha.git#~1.17.1
bower bootstrap-social#~4.8.0             resolved git://github.com/lipis/bootstrap-social.git#4.8.0
bower mocha#~1.17.1                       download https://github.com/mochajs/mocha/archive/1.17.1.tar.gz
bower mocha#~1.17.1                        extract archive.tar.gz
bower mocha#~1.17.1                       resolved git://github.com/mochajs/mocha.git#1.17.1
bower raphael#>= 2.0                      download https://github.com/DmitryBaranovskiy/raphael/archive/v2.1.4.tar.gz
bower raphael#>= 2.0                       extract archive.tar.gz
bower raphael#>= 2.0                      resolved git://github.com/DmitryBaranovskiy/raphael.git#2.1.4
...ignoring

TASK: [webserver | Bower Failure] *********************************************
skipping: [127.0.0.1]

TASK: [webserver | Run Django 'collectstatic' command] ************************
failed: [127.0.0.1] => {"cmd": "python manage.py collectstatic --noinput", "failed": true, "path": "/home/dd/.venvs/DefectDojo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "state": "absent", "syspath": ["/tmp/ansible-tmp-1445368687.74-63649177289236", "/usr/lib/python2.7", "/usr/lib/python2.7/plat-x86_64-linux-gnu", "/usr/lib/python2.7/lib-tk", "/usr/lib/python2.7/lib-old", "/usr/lib/python2.7/lib-dynload", "/usr/local/lib/python2.7/dist-packages", "/usr/lib/python2.7/dist-packages"]}
msg: stdout: Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/urlify.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/SelectBox.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/jquery.init.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/actions.min.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/related-widget-wrapper.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/actions.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/LICENSE-JQUERY.txt'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/prepopulate.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/inlines.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/core.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/calendar.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/collapse.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/timeparse.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/collapse.min.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/inlines.min.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/jquery.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/prepopulate.min.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/jquery.min.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/css/login.css'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/css/dashboard.css'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/css/widgets.css'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/css/forms.css'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/css/changelists.css'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/css/ie.css'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/css/base.css'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/css/rtl.css'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/default-bg.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/icon_error.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/icon-yes.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/nav-bg-selected.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/icon-unknown.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/inline-splitter-bg.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/icon_searchbox.png'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/tooltag-arrowright.png'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/icon_calendar.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/selector-search.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/icon-no.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/tooltag-add.png'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/icon_changelink.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/inline-restore-8bit.png'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/nav-bg-grabber.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/icon_success.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/icon_deletelink.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/changelist-bg_rtl.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/sorting-icons.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/changelist-bg.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/icon_alert.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/inline-delete.png'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/inline-restore.png'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/selector-icons.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/icon_addlink.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/nav-bg.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/default-bg-reverse.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/icon_clock.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/nav-bg-reverse.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/inline-delete-8bit.png'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/deleted-overlay.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.png'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.png'
Copying '/usr/share/django-DefectDojo/dojo/static/dojo/js/index.js'
Copying '/usr/share/django-DefectDojo/dojo/static/dojo/css/dojo.css'
Copying '/usr/share/django-DefectDojo/dojo/static/dojo/img/cloud_sec.png'
Copying '/usr/share/django-DefectDojo/dojo/static/dojo/img/logo.png'
Copying '/usr/share/django-DefectDojo/dojo/static/dojo/img/index.jpg'
Copying '/usr/share/django-DefectDojo/dojo/static/dojo/img/chop.png'
Copying '/usr/share/django-DefectDojo/dojo/static/dojo/img/glyphicons-halflings-white.png'
Copying '/usr/share/django-DefectDojo/dojo/static/dojo/img/glyphicons-halflings.png'
Copying '/usr/share/django-DefectDojo/dojo/static/dojo/img/favicon.ico'
Copying '/usr/share/django-DefectDojo/dojo/static/dojo/fonts/icomoon.eot'
Copying '/usr/share/django-DefectDojo/dojo/static/dojo/fonts/icomoon.svg'
Copying '/usr/share/django-DefectDojo/dojo/static/dojo/fonts/icomoon.woff'
Copying '/usr/share/django-DefectDojo/dojo/static/dojo/fonts/icomoon.ttf'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/js/swagger-ui.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/js/swagger-ui.min.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/js/lib/underscore-min.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/js/lib/swagger-oauth.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/js/lib/jquery.slideto.min.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/js/lib/jquery.ba-bbq.min.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/js/lib/backbone-min.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/js/lib/shred.bundle.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/js/lib/swagger.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/js/lib/jquery.wiggle.min.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/js/lib/handlebars-1.0.0.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/js/lib/highlight.7.3.pack.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/js/lib/jquery-1.8.0.min.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/js/lib/shred/content.js'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/images/wordnik_api.png'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/images/explorer_icons.png'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/images/pet_store_api.png'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/images/throbber.gif'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/images/logo_small.png'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/css/screen.css'
Copying '/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/tastypie_swagger/static/tastypie_swagger/css/highlight.default.css'

:stderr: /home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/auditlog/models.py:6: RemovedInDjango19Warning: django.contrib.contenttypes.generic is deprecated and will be removed in Django 1.9. Its contents have been moved to the fields, forms, and admin submodules of django.contrib.contenttypes.
  from django.contrib.contenttypes import generic

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/core/management/base.py", line 393, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/core/management/base.py", line 444, in execute
    output = self.handle(*args, **options)
  File "/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 168, in handle
    collected = self.collect()
  File "/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 98, in collect
    for path, storage in finder.list(self.ignore_patterns):
  File "/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/staticfiles/finders.py", line 112, in list
    for path in utils.get_files(storage, ignore_patterns):
  File "/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/contrib/staticfiles/utils.py", line 28, in get_files
    directories, files = storage.listdir(location)
  File "/home/dd/.venvs/DefectDojo/local/lib/python2.7/site-packages/django/core/files/storage.py", line 300, in listdir
    for entry in os.listdir(path):
OSError: [Errno 2] No such file or directory: '/usr/share/django-DefectDojo/components/components'


FATAL: all hosts have already failed -- aborting

python manage.py migrate

Ran python manage.py migrate and have this error:

Applying auditlog.0006_object_pk_index...Traceback (most recent call last): . . . django.db.utils.OperationalError: (1170, "BLOB/TEXT column 'object_pk' used in key specification without a key length")

Application Metadata

Create additional meta data for an application. For example:

App: # of users, revenue, Business Criticality, Lifecycle (Where in the dev lifecycle), Origin (internally developed, COTS, internal, Technologies (What is the app environment, hardware, OS etc.)
Regulations: PCI, HIPPA, SoX etc.

Jira Integration

Automated integration of findings with Jira to reduce the manual effort of copying and pasting findings from two systems.

500 on Scan Upload

Uploading a Nessus scan CSV results in a 500 error. The test is created, but the scan findings are not populated within the test.

Steps to recreate

  1. Add product
  2. Add engagement
  3. From the Tests section of the engagement, select "Import Scan Results" from the drop-down menu
  4. Complete scan upload information
    4a. Enter "Scan Completion Date"
    4b. Select "Minimum Severity"
    4c. Select "Nessus Scan" as the Scan type
    4d. Browse to the Nessus scan results CSV file
    4e. Click "Upload File"
  5. Note "Server Error (500)" from /engagement/###/import_scan_results
    5a. Note creation of new "Nessus Scan" test within the engagement.

Vagrant "Create Django superuser" Install Error

Error message:

TASK [webserver : Create Django superuser] *************************************
fatal: [127.0.0.1]: FAILED! => {"changed": false, "failed": true, "msg": "unsupported parameter for module: sudo_user"}

The error appears to be due to errant indention of the sudo and sudo_user modules in app.yml here:

- name: Create Django superuser
  shell: echo "from django.contrib.auth.models import User; User.objects.create_superuser('{{ dd_super_user }}', '{{ dd_super_user_email }}', '{{ dd_super_user_pass }}')" | {{ venv_dir }}/bin/python {{ dd_install_dir }}/manage.py shell && touch /home/{{ dd_user }}/.supercreated
  args:
    creates: /home/{{ dd_user }}/.supercreated
    sudo: yes
    sudo_user: '{{ dd_user }}'

Removing the preceding space from the sudo and sudo_user modules allowed the installation to continue successfully.

Setup Bash Script is broken for Debian

Installed /usr/local/lib/python2.7/dist-packages/python_nmap-0.3.4-py2.7.egg
Searching for gunicorn==19.1.1
Reading https://pypi.python.org/simple/gunicorn/
Best match: gunicorn 19.1.1
Downloading https://pypi.python.org/packages/source/g/gunicorn/gunicorn-19.1.1.tar.gz#md5=eaa72bff5341c05169b76ce3dcbb8140
Processing gunicorn-19.1.1.tar.gz
Writing /tmp/easy_install-BzslcD/gunicorn-19.1.1/setup.cfg
Running gunicorn-19.1.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-BzslcD/gunicorn-19.1.1/egg-dist-tmp-6CGA3_
warning: no previously-included files matching '.pyc' found under directory 'docs'
warning: no previously-included files matching '
.pyo' found under directory 'docs'
warning: no previously-included files matching '.pyc' found under directory 'tests'
warning: no previously-included files matching '
.pyo' found under directory 'tests'
warning: no previously-included files matching '.pyc' found under directory 'examples'
warning: no previously-included files matching '
.pyo' found under directory 'examples'
File "build/bdist.linux-x86_64/egg/gunicorn/workers/_gaiohttp.py", line 64
yield from self.wsgi.close()
^
SyntaxError: invalid syntax

File "/usr/local/lib/python2.7/dist-packages/gunicorn-19.1.1-py2.7.egg/gunicorn/workers/_gaiohttp.py", line 64
yield from self.wsgi.close()
^
SyntaxError: invalid syntax

Adding gunicorn 19.1.1 to easy-install.pth file
Installing gunicorn_paster script to /usr/local/bin
Installing gunicorn script to /usr/local/bin
Installing gunicorn_django script to /usr/local/bin

Installed /usr/local/lib/python2.7/dist-packages/gunicorn-19.1.1-py2.7.egg
Searching for django-tastypie-swagger
Best match: django-tastypie-swagger [unknown version]
Downloading https://github.com/concentricsky/django-tastypie-swagger/tarball/v0.1.3#egg=django-tastypie-swagger
Processing v0.1.3
Writing /tmp/easy_install-hJQiiA/concentricsky-django-tastypie-swagger-a8ba1c2/setup.cfg
Running concentricsky-django-tastypie-swagger-a8ba1c2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-hJQiiA/concentricsky-django-tastypie-swagger-a8ba1c2/egg-dist-tmp-K_OQS5
warning: no files found matching 'LICENSE'
warning: no files found matching 'README.rst'
warning: no files found matching '3RDPARTYLICENSES'
Adding django-tastypie-swagger 0.1.3 to easy-install.pth file

Installed /usr/local/lib/python2.7/dist-packages/django_tastypie_swagger-0.1.3-py2.7.egg
Searching for django-tastypie==0.12.1
Reading https://pypi.python.org/simple/django-tastypie/
Best match: django-tastypie 0.12.1
Downloading https://pypi.python.org/packages/source/d/django-tastypie/django-tastypie-0.12.1.tar.gz#md5=fbe635644c3551fbe66dd50e7e115537
Processing django-tastypie-0.12.1.tar.gz
Writing /tmp/easy_install-TSn4HV/django-tastypie-0.12.1/setup.cfg
Running django-tastypie-0.12.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-TSn4HV/django-tastypie-0.12.1/egg-dist-tmp-XahtKC
warning: no files found matching 'VERSION'
Adding django-tastypie 0.12.1 to easy-install.pth file

Installed /usr/local/lib/python2.7/dist-packages/django_tastypie-0.12.1-py2.7.egg
Searching for django-secure==1.0
Reading https://pypi.python.org/simple/django-secure/
Best match: django-secure 1.0
Downloading https://pypi.python.org/packages/source/d/django-secure/django-secure-1.0.tar.gz#md5=68fcc9570371e1e9f5ee57958a86a138
Processing django-secure-1.0.tar.gz
Writing /tmp/easy_install-oH0WK4/django-secure-1.0/setup.cfg
Running django-secure-1.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-oH0WK4/django-secure-1.0/egg-dist-tmp-ESoMsa
Adding django-secure 1.0 to easy-install.pth file

Installed /usr/local/lib/python2.7/dist-packages/django_secure-1.0-py2.7.egg
Searching for Pillow==2.3.0
Reading https://pypi.python.org/simple/Pillow/
Best match: Pillow 2.3.0
Downloading https://pypi.python.org/packages/source/P/Pillow/Pillow-2.3.0.zip#md5=56b6614499aacb7d6b5983c4914daea7
Processing Pillow-2.3.0.zip
Writing /tmp/easy_install-jQA1cd/Pillow-2.3.0/setup.cfg
Running Pillow-2.3.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-jQA1cd/Pillow-2.3.0/egg-dist-tmp-O0uE2H
libImaging/Unpack.c:867:1: warning: ‘copy3’ defined but not used [-Wunused-function]
copy3(UINT8* out, const UINT8* in, int pixels)

^

PIL SETUP SUMMARY

version Pillow 2.3.0
platform linux2 2.7.6 (default, Mar 22 2014, 22:59:56)

[GCC 4.8.2]

*** TKINTER support not available
*** JPEG support not available
--- ZLIB (PNG/ZIP) support available
*** LIBTIFF support not available
*** FREETYPE2 support not available
*** LITTLECMS2 support not available
*** WEBP support not available

*** WEBPMUX support not available

To add a missing option, make sure you have the required
library, and set the corresponding ROOT variable in the
setup.py script.

To check the build, run the selftest.py script.

Adding Pillow 2.3.0 to easy-install.pth file
Installing pildriver.py script to /usr/local/bin
Installing pilconvert.py script to /usr/local/bin
Installing pilfont.py script to /usr/local/bin
Installing pilfile.py script to /usr/local/bin
Installing pilprint.py script to /usr/local/bin

Installed /usr/local/lib/python2.7/dist-packages/Pillow-2.3.0-py2.7-linux-x86_64.egg
Searching for MySQL-python==1.2.5
Reading https://pypi.python.org/simple/MySQL-python/
Best match: MySQL-python 1.2.5
Downloading https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.5.zip#md5=654f75b302db6ed8dc5a898c625e030c
Processing MySQL-python-1.2.5.zip
Writing /tmp/easy_install-uXRkHw/MySQL-python-1.2.5/setup.cfg
Running MySQL-python-1.2.5/setup.py -q bdist_egg --dist-dir /tmp/easy_install-uXRkHw/MySQL-python-1.2.5/egg-dist-tmp-Owj4RP
In file included from _mysql.c:44:0:
/usr/include/mysql/my_config.h:422:0: warning: "HAVE_WCSCOLL" redefined [enabled by default]
#define HAVE_WCSCOLL
^
In file included from /usr/include/python2.7/pyconfig.h:3:0,
from /usr/include/python2.7/Python.h:8,
from _mysql.c:29:
/usr/include/x86_64-linux-gnu/python2.7/pyconfig.h:911:0: note: this is the location of the previous definition
#define HAVE_WCSCOLL 1
^
zip_safe flag not set; analyzing archive contents...
Adding MySQL-python 1.2.5 to easy-install.pth file

Installed /usr/local/lib/python2.7/dist-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg
Searching for Django>=1.7
Reading https://pypi.python.org/simple/Django/
Best match: Django 1.7.7
Downloading https://pypi.python.org/packages/source/D/Django/Django-1.7.7.tar.gz#md5=a62d6598966947d150525ad2ab20fb0c
Processing Django-1.7.7.tar.gz
Writing /tmp/easy_install-6frCdK/Django-1.7.7/setup.cfg
Running Django-1.7.7/setup.py -q bdist_egg --dist-dir /tmp/easy_install-6frCdK/Django-1.7.7/egg-dist-tmp-1yh8Jx
warning: no previously-included files matching 'pycache' found under directory ''
warning: no previously-included files matching '
.py[co]' found under directory '*'
Adding Django 1.7.7 to easy-install.pth file
Installing django-admin.py script to /usr/local/bin
Installing django-admin script to /usr/local/bin

Installed /usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg
Searching for meld3>=0.6.5
Reading https://pypi.python.org/simple/meld3/
Best match: meld3 1.0.0
Downloading https://pypi.python.org/packages/source/m/meld3/meld3-1.0.0.tar.gz#md5=ca270506dd4ecb20ae26fa72fbd9b0be
Processing meld3-1.0.0.tar.gz
Writing /tmp/easy_install-0CwtYB/meld3-1.0.0/setup.cfg
Running meld3-1.0.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-0CwtYB/meld3-1.0.0/egg-dist-tmp-SBJDW5
zip_safe flag not set; analyzing archive contents...
Adding meld3 1.0.0 to easy-install.pth file

Installed /usr/local/lib/python2.7/dist-packages/meld3-1.0.0-py2.7.egg
Searching for python-dateutil>=1.5,!=2.0
Reading https://pypi.python.org/simple/python-dateutil/
Reading http://labix.org/python-dateutil
Reading https://dateutil.readthedocs.org
Best match: python-dateutil 2.4.1
Downloading https://pypi.python.org/packages/source/p/python-dateutil/python-dateutil-2.4.1.zip#md5=e3f4c3bf3072e1de7a008f44b0ebddad
Processing python-dateutil-2.4.1.zip
Writing /tmp/easy_install-QSx0BL/python-dateutil-2.4.1/setup.cfg
Running python-dateutil-2.4.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-QSx0BL/python-dateutil-2.4.1/egg-dist-tmp-bojcHn
Adding python-dateutil 2.4.1 to easy-install.pth file

Installed /usr/local/lib/python2.7/dist-packages/python_dateutil-2.4.1-py2.7.egg
Searching for python-mimeparse>=0.1.4
Reading https://pypi.python.org/simple/python-mimeparse/
Best match: python-mimeparse 0.1.4
Downloading https://pypi.python.org/packages/source/p/python-mimeparse/python-mimeparse-0.1.4.tar.gz#md5=1d2816a16f17dcfe0c613da611fe7e13
Processing python-mimeparse-0.1.4.tar.gz
Writing /tmp/easy_install-inGrxW/python-mimeparse-0.1.4/setup.cfg
Running python-mimeparse-0.1.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-inGrxW/python-mimeparse-0.1.4/egg-dist-tmp-fdZ0zE
zip_safe flag not set; analyzing archive contents...
Adding python-mimeparse 0.1.4 to easy-install.pth file

Installed /usr/local/lib/python2.7/dist-packages/python_mimeparse-0.1.4-py2.7.egg
Searching for wsgiref==0.1.2
Best match: wsgiref 0.1.2
Adding wsgiref 0.1.2 to easy-install.pth file

Using /usr/lib/python2.7
Searching for requests==2.2.1
Best match: requests 2.2.1
Adding requests 2.2.1 to easy-install.pth file

Using /usr/lib/python2.7/dist-packages
Searching for six==1.5.2
Best match: six 1.5.2
six 1.5.2 is already the active version in easy-install.pth

Using /usr/lib/python2.7/dist-packages
Finished processing dependencies for DefectDojo==1.0
System check identified some issues:

WARNINGS:
?: (1_6.W001) Some project unittests may not execute as expected.
HINT: Django 1.6 introduced a new default test runner. It looks like this project was generated using Django 1.5 or earlier. You should ensure your tests are all running & behaving as expected. See https://docs.djangoproject.com/en/dev/releases/1.6/#new-test-runner for more information.
Migrations for 'dojo':
0001_initial.py:
- Create model BurpRawIssue
- Create model BurpRawIssueDetailItems
- Create model BurpRawIssues
- Create model BurpRawRequestResponse
- Create model Check_List
- Create model Contact
- Create model CWE
- Create model Development_Environment
- Create model Endpoint
- Create model Engagement
- Create model Engagement_Type
- Create model Finding
- Create model IPScan
- Create model Notes
- Create model Product
- Create model Product_Line
- Create model Product_Type
- Create model Report_Type
- Create model Risk_Acceptance
- Create model Scan
- Create model ScanSettings
- Create model Test
- Create model Test_Type
- Create model ThreatModel
- Create model VA
- Add field test_type to test
- Add field scan_settings to scan
- Add field prod_type to product
- Add field scan to ipscan
- Add field notes to finding
- Add field reporter to finding
- Add field test to finding
- Add field eng_type to engagement
- Add field lead to engagement
- Add field product to engagement
- Add field report_type to engagement
- Add field requester to engagement
- Add field risk_acceptance to engagement
- Add field auth_issues to check_list
- Add field author_issues to check_list
- Add field config_issues to check_list
- Add field crypto_issues to check_list
- Add field data_issues to check_list
- Add field engagement to check_list
- Add field other_issues to check_list
- Add field sensitive_issues to check_list
- Add field session_issues to check_list
- Add field burpIssues to burprawissue
- Create proxy model Dojo_User
System check identified some issues:

WARNINGS:
?: (1_6.W001) Some project unittests may not execute as expected.
HINT: Django 1.6 introduced a new default test runner. It looks like this project was generated using Django 1.5 or earlier. You should ensure your tests are all running & behaving as expected. See https://docs.djangoproject.com/en/dev/releases/1.6/#new-test-runner for more information.
Operations to perform:
Synchronize unmigrated apps: djangobower
Apply all migrations: dojo, sessions, admin, sites, auth, tastypie, contenttypes
Synchronizing apps without migrations:
Creating tables...
Installing custom SQL...
Installing indexes...
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying dojo.0001_initial.../usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/db/models/fields/init.py:1282: RuntimeWarning: DateTimeField Notes.date received a naive datetime (2015-03-25 23:43:09.497235) while time zone support is active.
RuntimeWarning)

/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/db/models/fields/init.py:1282: RuntimeWarning: DateTimeField Risk_Acceptance.created received a naive datetime (2015-03-25 23:43:12.781729) while time zone support is active.
RuntimeWarning)

/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/db/models/fields/init.py:1282: RuntimeWarning: DateTimeField Scan.date received a naive datetime (2015-03-25 23:43:12.841282) while time zone support is active.
RuntimeWarning)

/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/db/models/fields/init.py:1282: RuntimeWarning: DateTimeField ScanSettings.date received a naive datetime (2015-03-25 23:43:12.892175) while time zone support is active.
RuntimeWarning)

OK
Applying sessions.0001_initial... OK
Applying sites.0001_initial... OK
Applying tastypie.0001_initial... OK
System check identified some issues:

WARNINGS:
?: (1_6.W001) Some project unittests may not execute as expected.
HINT: Django 1.6 introduced a new default test runner. It looks like this project was generated using Django 1.5 or earlier. You should ensure your tests are all running & behaving as expected. See https://docs.djangoproject.com/en/dev/releases/1.6/#new-test-runner for more information.
System check identified some issues:

WARNINGS:
?: (1_6.W001) Some project unittests may not execute as expected.
HINT: Django 1.6 introduced a new default test runner. It looks like this project was generated using Django 1.5 or earlier. You should ensure your tests are all running & behaving as expected. See https://docs.djangoproject.com/en/dev/releases/1.6/#new-test-runner for more information.
Operations to perform:
Synchronize unmigrated apps: djangobower
Apply all migrations: dojo, sessions, admin, sites, auth, tastypie, contenttypes
Synchronizing apps without migrations:
Creating tables...
Installing custom SQL...
Installing indexes...
Running migrations:
No migrations to apply.

You have installed Django's auth system, and don't have any superusers defined.
Would you like to create one now? (yes/no): yes
System check identified some issues:

WARNINGS:
?: (1_6.W001) Some project unittests may not execute as expected.
HINT: Django 1.6 introduced a new default test runner. It looks like this project was generated using Django 1.5 or earlier. You should ensure your tests are all running & behaving as expected. See https://docs.djangoproject.com/en/dev/releases/1.6/#new-test-runner for more information.
Username (leave blank to use 'root'):
Email address:
Password:
Password (again):
Superuser created successfully.
Unknown command: 'bower'
Type 'manage.py help' for usage.

You have requested to collect static files at the destination
location as specified in your settings:

/var/www/example.com/static

This will overwrite existing files!
Are you sure you want to do this?

Type 'yes' to continue, or 'no' to cancel: yes
Copying '/root/django-DefectDojo/dojo/static/dojo/js/index.js'
Copying '/root/django-DefectDojo/dojo/static/dojo/css/dojo.css'
Copying '/root/django-DefectDojo/dojo/static/dojo/img/chop.png'
Copying '/root/django-DefectDojo/dojo/static/dojo/img/index.jpg'
Copying '/root/django-DefectDojo/dojo/static/dojo/img/cloud_sec.png'
Copying '/root/django-DefectDojo/dojo/static/dojo/img/glyphicons-halflings-white.png'
Copying '/root/django-DefectDojo/dojo/static/dojo/img/favicon.ico'
Copying '/root/django-DefectDojo/dojo/static/dojo/img/glyphicons-halflings.png'
Copying '/root/django-DefectDojo/dojo/static/dojo/img/logo.png'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/SelectFilter2.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/LICENSE-JQUERY.txt'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/calendar.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/collapse.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/prepopulate.min.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/actions.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/timeparse.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/SelectBox.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/prepopulate.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/jquery.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/actions.min.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/urlify.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/inlines.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/jquery.init.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/inlines.min.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/jquery.min.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/core.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/collapse.min.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/css/base.css'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/css/changelists.css'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/css/rtl.css'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/css/login.css'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/css/forms.css'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/css/dashboard.css'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/css/widgets.css'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/css/ie.css'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/inline-delete.png'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/icon_deletelink.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/icon-unknown.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/selector-search.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/nav-bg-selected.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/tooltag-add.png'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/icon-no.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/selector-icons.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/deleted-overlay.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/icon_success.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/default-bg.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/inline-splitter-bg.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/icon_error.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/inline-delete-8bit.png'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/nav-bg-reverse.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/changelist-bg.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/icon_clock.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/nav-bg-grabber.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/icon_calendar.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/icon_searchbox.png'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/icon_changelink.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/default-bg-reverse.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/sorting-icons.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/icon_addlink.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/icon-yes.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/nav-bg.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/inline-restore.png'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/inline-restore-8bit.png'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/icon_alert.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/changelist-bg_rtl.gif'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/tooltag-arrowright.png'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/gis/move_vertex_on.png'
Copying '/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/admin/static/admin/img/gis/move_vertex_off.png'
Copying '/usr/local/lib/python2.7/dist-packages/django_tastypie_swagger-0.1.3-py2.7.egg/tastypie_swagger/static/tastypie_swagger/js/swagger-ui.js'
Copying '/usr/local/lib/python2.7/dist-packages/django_tastypie_swagger-0.1.3-py2.7.egg/tastypie_swagger/static/tastypie_swagger/js/swagger-ui.min.js'
Copying '/usr/local/lib/python2.7/dist-packages/django_tastypie_swagger-0.1.3-py2.7.egg/tastypie_swagger/static/tastypie_swagger/js/lib/jquery.wiggle.min.js'
Copying '/usr/local/lib/python2.7/dist-packages/django_tastypie_swagger-0.1.3-py2.7.egg/tastypie_swagger/static/tastypie_swagger/js/lib/swagger.js'
Copying '/usr/local/lib/python2.7/dist-packages/django_tastypie_swagger-0.1.3-py2.7.egg/tastypie_swagger/static/tastypie_swagger/js/lib/jquery-1.8.0.min.js'
Copying '/usr/local/lib/python2.7/dist-packages/django_tastypie_swagger-0.1.3-py2.7.egg/tastypie_swagger/static/tastypie_swagger/js/lib/underscore-min.js'
Copying '/usr/local/lib/python2.7/dist-packages/django_tastypie_swagger-0.1.3-py2.7.egg/tastypie_swagger/static/tastypie_swagger/js/lib/highlight.7.3.pack.js'
Copying '/usr/local/lib/python2.7/dist-packages/django_tastypie_swagger-0.1.3-py2.7.egg/tastypie_swagger/static/tastypie_swagger/js/lib/backbone-min.js'
Copying '/usr/local/lib/python2.7/dist-packages/django_tastypie_swagger-0.1.3-py2.7.egg/tastypie_swagger/static/tastypie_swagger/js/lib/jquery.slideto.min.js'
Copying '/usr/local/lib/python2.7/dist-packages/django_tastypie_swagger-0.1.3-py2.7.egg/tastypie_swagger/static/tastypie_swagger/js/lib/jquery.ba-bbq.min.js'
Copying '/usr/local/lib/python2.7/dist-packages/django_tastypie_swagger-0.1.3-py2.7.egg/tastypie_swagger/static/tastypie_swagger/js/lib/handlebars-1.0.rc.1.js'
Copying '/usr/local/lib/python2.7/dist-packages/django_tastypie_swagger-0.1.3-py2.7.egg/tastypie_swagger/static/tastypie_swagger/images/wordnik_api.png'
Copying '/usr/local/lib/python2.7/dist-packages/django_tastypie_swagger-0.1.3-py2.7.egg/tastypie_swagger/static/tastypie_swagger/images/pet_store_api.png'
Copying '/usr/local/lib/python2.7/dist-packages/django_tastypie_swagger-0.1.3-py2.7.egg/tastypie_swagger/static/tastypie_swagger/images/logo_small.png'
Copying '/usr/local/lib/python2.7/dist-packages/django_tastypie_swagger-0.1.3-py2.7.egg/tastypie_swagger/static/tastypie_swagger/images/throbber.gif'
Copying '/usr/local/lib/python2.7/dist-packages/django_tastypie_swagger-0.1.3-py2.7.egg/tastypie_swagger/static/tastypie_swagger/css/screen.css'
Copying '/usr/local/lib/python2.7/dist-packages/django_tastypie_swagger-0.1.3-py2.7.egg/tastypie_swagger/static/tastypie_swagger/css/hightlight.default.css'
Traceback (most recent call last):
File "manage.py", line 10, in
execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/core/management/init.py", line 385, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/core/management/init.py", line 377, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/core/management/base.py", line 288, in run_from_argv
self.execute(_args, *_options.dict)
File "/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/core/management/base.py", line 338, in execute
output = self.handle(_args, *_options)
File "/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/core/management/base.py", line 533, in handle
return self.handle_noargs(**options)
File "/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/staticfiles/management/commands/collectstatic.py", line 168, in handle_noargs
collected = self.collect()
File "/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/staticfiles/management/commands/collectstatic.py", line 98, in collect
for path, storage in finder.list(self.ignore_patterns):
File "/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/staticfiles/finders.py", line 111, in list
for path in utils.get_files(storage, ignore_patterns):
File "/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/contrib/staticfiles/utils.py", line 27, in get_files
directories, files = storage.listdir(location)
File "/usr/local/lib/python2.7/dist-packages/Django-1.7.7-py2.7.egg/django/core/files/storage.py", line 270, in listdir
for entry in os.listdir(path):

OSError: [Errno 2] No such file or directory: '/root/django-DefectDojo/dojo/components/components'

SUCCESS! Now edit your settings.py file in the 'dojo' directory to complete the installation.

Installation issue

:~/django-TestTrack-master/vagrant_project# vagrant box add precise 32 http://files.vagrantup.com/precise32.box
/root/django-TestTrack-master/Vagrantfile:7:in <top (required)>': undefined met hodconfigure' for Vagrant:Module (NoMethodError)
from /usr/lib/ruby/vendor_ruby/vagrant/config/loader.rb:115:in load' from /usr/lib/ruby/vendor_ruby/vagrant/config/loader.rb:115:inblock in procs_for_source'
from /usr/lib/ruby/vendor_ruby/vagrant/config.rb:41:in block in capture _configures' from <internal:prelude>:10:insynchronize'
from /usr/lib/ruby/vendor_ruby/vagrant/config.rb:36:in capture_configur es' from /usr/lib/ruby/vendor_ruby/vagrant/config/loader.rb:114:inprocs_fo r_source'
from /usr/lib/ruby/vendor_ruby/vagrant/config/loader.rb:51:in block in set' from /usr/lib/ruby/vendor_ruby/vagrant/config/loader.rb:45:ineach'
from /usr/lib/ruby/vendor_ruby/vagrant/config/loader.rb:45:in set' from /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:377:inblock in l oad_config!'
from /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:392:in call' from /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:392:inload_confi g!'
from /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:327:in load!' from /usr/bin/vagrant:40:in

'

Credential Manager (Environment)

Credential Manager (Environment)

Make sure you assign this issue to yourself so contributors do not duplicate effort.

Authenticated scanning requires setting up credentials and roles to the appropriate environment. Often times these credentials need to be shared by the pentesting team.

Develop a Credential Manager in Dojo that replaces or modifies the Development_Environment tied to the Test model with the following fields:

  • username
  • password
  • environment (dev, staging, prod)
  • URL

Credentials would be on the product level and with the ability to assign them to a particular test. For example, often times testing will be done with several roles. During finding upload the tester would have the ability to specify which credentials for that product were used. This would facilitate faster re-testing as the credentials used should then be linked from the finding page.

Due to the sensitive nature of this feature, proper encryption and logging is required.

Apply Template to Existing Finding

Often times findings from scanners have various finding text. For an existing vulnerability there isn't a way to use any of the finding templates. I'd like to be able to insert template text on an existing finding by tying it to the CWE #. For example in the description portion of the finding I could click an insert template text button that would append the text to the description. At that point I can then edit the finding to my liking.

Error when adding engagement

If I add a new engagement and save it I get the following error:

UnboundLocalError at /engagement/3

local variable 'fpage' referenced before assignment

Request Method: GET
Request URL: http://localhost:8000/engagement/1
Django Version: 1.8.10
Exception Type: UnboundLocalError
Exception Value:

local variable 'fpage' referenced before assignment

Exception Location: /home/xebia/django-DefectDojo-master/dojo/engagement/views.py in view_engagement, line 199
Python Executable: /usr/bin/python
Python Version: 2.7.6
Python Path:

['/home/xebia/django-DefectDojo-master',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PILcompat',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
'/home/xebia/django-DefectDojo-master']

Missing upload / mandatory field

When I try to create a new finding or edit a finding from a ZAP report, there's a mandatory field 'Image'. However I can't find a way to upload anything.

When adding finding from a template, unable to add Systems/Endpoints

I reproduced this on my local machine, and on "http://defectdojo.pythonanywhere.com". The issue is when adding a finding from a template, it is no longer possible add a "systems/endpoints".

It's clear the URL on the "+" button loses the engagement ID because BEFORE clicking "Add Finding from Template", the URL for the "+" button is "http://defectdojo.pythonanywhere.com/endpoints/1/add".

After adding a finding from a template, the URL for the "+" button change to: "http://defectdojo.pythonanywhere.com/endpoints//add".

Note the double "//" where the engagement ID should exist, but does not.

Steps to reproduce:

  1. Browse to an Engagement and add a finding to a test, like here: http://defectdojo.pythonanywhere.com/test/5/add_findings
  2. Click "Add Finding from Template"
  3. Select a template finding
  4. Now that new finding is populated with data from the template, scroll down to "Systems/Endpoints" and click the "+" icon to the right of the textbox.
  5. The popup shows the generic "add endpoint" page, and not the correct one which allows me to add the endpoint for this specific finding.

Review and Approve Findings

Sometimes findings need to be peer reviewed by other reviewers. I'd like the ability to be able to assign a status to the finding of 'Under Review'. When a finding is under review that finding can be assigned to other system reviewers and will notify them that the finding needs to be reviewed. Optionally an email should be sent out notifying a reviewer that there is a finding that should be reviewed.

Setup Bash Script is broken for Fedora

Hey guys, it looks the the bash script was broken (for Fedora and probably RHEL) when we were working on the robustness.
Originally it would also perform a go to fail when an error occurred. I'll look into it, but if you have any insight Charles it would be helpful.

UPDATE 2. I'm not sure what is wrong here now. I'm not sure what egg its referring to. Will investigate when I can. I'm going to rerun on a debian box to see if it is also broken

DUMP 2:

Traceback (most recent call last):
File "setup.py", line 30, in
url='https://github.com/rackerlabs/django-DefectDojo'
File "/usr/lib64/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()
File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/lib/python2.7/site-packages/setuptools/command/install.py", line 73, in run
self.do_egg_install()
File "/usr/lib/python2.7/site-packages/setuptools/command/install.py", line 101, in do_egg_install
cmd.run()
File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 358, in run
self.easy_install(spec, not self.no_deps)
File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 574, in easy_install
return self.install_item(None, spec, tmpdir, deps, True)
File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 625, in install_item
self.process_distribution(spec, dist, deps)
File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 671, in process_distribution
[requirement], self.local_index, self.easy_install
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 572, in resolve
requirements.extend(dist.requires(req.extras)[::-1])
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2240, in requires
dm = self._dep_map
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2225, in _dep_map
for extra,reqs in split_sections(self._get_metadata(name)):
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2666, in split_sections
for line in yield_lines(s):
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 1926, in yield_lines
for ss in strs:
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2254, in _get_metadata
for line in self.get_metadata_lines(name):
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 1316, in get_metadata_lines
return yield_lines(self.get_metadata(name))
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 1308, in get_metadata
return self._get(self._fn(self.egg_info,name))
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 1372, in _get
return self.loader.get_data(path)
zlib.error: Error -5 while decompressing data: incomplete or truncated stream
Traceback (most recent call last):
File "manage.py", line 8, in
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
Traceback (most recent call last):
File "manage.py", line 8, in
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
Traceback (most recent call last):
File "manage.py", line 8, in
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
Traceback (most recent call last):
File "manage.py", line 8, in
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
Traceback (most recent call last):
File "manage.py", line 8, in
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management

UPDATE 1 submitted a PR & merged for bellow issue.

Now I'm hitting a snag with tastypie. Gotofail is still broken.

dump2:
Reading https://pypi.python.org/simple/django-tastypie-swagger/
No local packages or download links found for django-tastypie-swagger>=0.1.3
error: Could not find suitable distribution for Requirement.parse('django-tastypie-swagger>=0.1.3')
Traceback (most recent call last):
File "manage.py", line 8, in
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
Traceback (most recent call last):
File "manage.py", line 8, in
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management

beginning dump:

Created database trackerdb.
Traceback (most recent call last):
File "setup.py", line 3, in
from setuptools import setup
ImportError: No module named setuptools
Traceback (most recent call last):
File "manage.py", line 8, in
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
Traceback (most recent call last):
File "manage.py", line 8, in
from django.core.management import execute_from_command_line

ImportError: No module named django.core.management

SUCCESS! Now edit your settings.py file in the 'dojo' directory to complete the installation.

When you're ready to start the DefectDojo server, type 'python manage.py runserver' in this directory.

Can't Remove Endpoints

Hi Jay,

During Triage I tried to update some findings, but was unable to delete endpoints.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.