Python reference implementation of The Update Framework (TUF)
Find a file
Vladimir Diaz 0eea727e4e
Add TAP.rst and USAGE.rst
Signed-off-by: Vladimir Diaz <vladimir.v.diaz@gmail.com>
2018-01-23 17:06:05 -05:00
.github Add issue and pull request templates 2017-12-08 16:23:20 -05:00
docs Add banner_readme.png 2018-01-23 16:36:51 -05:00
tests Remove or edit remaining instances of 'restricted paths' 2018-01-19 14:20:38 -05:00
tuf Add python3 command to start http server 2018-01-22 17:26:21 -05:00
.gitignore Ignore virtualenv and pyenv files 2017-12-08 16:23:22 -05:00
.gitmodules Remove ssl_commons and ssl_crypto submodules 2017-01-09 13:00:25 -05:00
.pyup.yml Add pyup.io configuration file 2017-12-08 16:23:23 -05:00
.travis.yml Test only py 2.7, 3.4, 3.6 under Travis 2017-12-08 16:23:20 -05:00
ADOPTERS.md Format ADOPTERS.md 2017-11-08 17:00:46 -05:00
AUTHORS.txt Making it clearer who "owns" the project (in response to a CNCF question) 2017-07-10 22:05:58 -04:00
CHANGELOG.md Add version 0.10.1 changes to CHANGELOG.md 2017-11-13 16:07:10 -05:00
ci-requirements.txt Add Pylint dependency to CI and dev requirement files 2017-11-15 16:29:49 -05:00
CODE-OF-CONDUCT.md Fix link code of conduct 2017-11-08 17:04:41 -05:00
CONTRIBUTORS.rst Add CONTRIBUTOR.rst and INSTALLATION.rst 2018-01-23 16:34:27 -05:00
dev-requirements.txt Upgrade cffi and securesystemslib dependencies 2018-01-22 15:24:00 -05:00
GOVERNANCE.md Fix link to MAINTAINERS.txt in GOVERNANCE.md 2018-01-03 12:33:59 -05:00
INSTALLATION.rst Add CONTRIBUTOR.rst and INSTALLATION.rst 2018-01-23 16:34:27 -05:00
LICENSE-APACHE.txt Add apache and mit licenses, and edit README 2017-08-11 14:33:55 -04:00
LICENSE-MIT.txt Add apache and mit licenses, and edit README 2017-08-11 14:33:55 -04:00
MAINTAINERS.txt Add MAINTAINERS.txt file 2017-12-08 16:32:36 -05:00
MANIFEST.in Remove ssl_crypto references from MANIFEST.in 2017-01-13 11:06:59 -05:00
METADATA.md Fix link 2017-12-08 16:23:22 -05:00
OVERVIEW.rst Add OVERVIEW.rst 2018-01-23 16:54:19 -05:00
pylintrc Add logging-not-lazy to pylintrc 2017-12-22 10:26:31 -05:00
README.rst Relocate overview and minor edits to README 2018-01-23 16:55:15 -05:00
requirements.txt Remove obsolete & testing dependencies from requirements.txt 2017-11-09 11:15:40 -05:00
ROADMAP.md Edit ROADMAP.md to add tasks 2017-11-29 11:58:01 -05:00
SECURITY.md More fixes to markdown in Security.md 2017-05-16 15:16:03 -04:00
setup.cfg Update release files. 2014-07-16 12:51:35 -04:00
setup.py Upgrade cffi and securesystemslib dependencies 2018-01-22 15:24:00 -05:00
TAP.rst Add TAP.rst and USAGE.rst 2018-01-23 17:06:05 -05:00
tox.ini Test all supported Python versions under Tox 2017-12-08 16:23:20 -05:00
USAGE.rst Add TAP.rst and USAGE.rst 2018-01-23 17:06:05 -05:00

A Framework for Securing Software Update Systems
------------------------------------------------

.. image:: https://travis-ci.org/theupdateframework/tuf.svg?branch=develop
   :target: https://travis-ci.org/theupdateframework/tuf
   :alt: Travis

.. image:: https://coveralls.io/repos/theupdateframework/tuf/badge.svg?branch=develop
   :target: https://coveralls.io/r/theupdateframework/tuf?branch=develop
   :alt: Coveralls

.. image:: https://pyup.io/repos/github/theupdateframework/tuf/shield.svg
   :target: https://pyup.io/repos/github/theupdateframework/tuf/
   :alt: pyup

.. image:: https://pyup.io/repos/github/theupdateframework/tuf/python-3-shield.svg
   :target: https://pyup.io/repos/github/theupdateframework/tuf/
   :alt: Python 3

.. image:: https://app.fossa.io/api/projects/git%2Bgithub.com%2Ftheupdateframework%2Ftuf.svg?type=shield
   :target: https://app.fossa.io/projects/git%2Bgithub.com%2Ftheupdateframework%2Ftuf?ref=badge_shield
   :alt: FOSSA

.. image:: https://bestpractices.coreinfrastructure.org/projects/1351/badge
   :target: https://bestpractices.coreinfrastructure.org/projects/1351
   :alt: CII

.. image:: /docs/images/banner_readme.JPG
   :scale: 50 %

The Update Framework (TUF) helps developers to secure new or existing software
update systems, which are often found to be vulnerable to many known attacks.
TUF addresses this widespread problem by providing a comprehensive, flexible
security framework that developers can integrate with any software update
system.  The framework can be easily integrated (or implemented in the native
programming languages of these update systems) due to its concise,
self-contained architecture and specification.

TUF is hosted by the `Cloud Native Computing Foundation
<https://www.cncf.io/>`_ (CNCF) and follows the `CNCF Code of Conduct
<https://github.com/cncf/foundation/blob/master/code-of-conduct.md>`_.

Security Issues and Bugs
------------------------

Security issues can be reported by emailing justincappos@gmail.com.

At a minimum, the report must contain the following:

* Description of the vulnerability.
* Steps to reproduce the issue.

Optionally, reports that are emailed can be encrypted with PGP.  You should use
PGP key fingerprint E9C0 59EC 0D32 64FA B35F  94AD 465B F9F6 F8EB 475A.

Please do not use the GitHub issue tracker to submit vulnerability reports.
The issue tracker is intended for bug reports and to make feature requests.
Major feature requests, such as design changes to the specification, should
be proposed via TUF Augmentation Proposals, which are discussed below.

Mailing List
------------
Please visit our `mailing list
<https://groups.google.com/forum/?fromgroups#!forum/theupdateframework>`_ if
you would like to contact us.  Questions, feedback, and suggestions are
welcomed in this low-volume mailing list.

A `group feed
<https://groups.google.com/forum/feed/theupdateframework/msgs/atom.xml?num=50>`_
is available.

What is a TAP?
--------------

A TAP (TUF Augmentation Proposal) is a design document providing information to
the TUF community, or describing a new feature for TUF or its processes or
environment.  We intend TAPs to be the primary mechanisms for proposing major
new features, for collecting community input on an issue, and for documenting
the design decisions that have gone into TUF.

Please visit the `TAPs GitHub repo <https://github.com/theupdateframework/taps>`_
to review design changes that have been proposed to date, or to submit
your own new feature.

Using TUF
---------

TUF has four major classes of users: clients, for whom TUF is largely
transparent; mirrors, who will (in most cases) have nothing at all to do
with TUF; upstream servers, who will largely be responsible for care and
feeding of repositories; and integrators, who do the work of putting TUF
into existing projects.

An integration requires importing a single module into the new or existing
software updater and calling particular methods to perform updates.  Generating
metadata files stored on upstream servers can be handled by repository tools that
we provide for this purpose.


- `Integrating with a Software Updater <https://github.com/theupdateframework/tuf/tree/develop/tuf/client/README.md>`_

- `Creating a TUF Repository  <https://github.com/theupdateframework/tuf/tree/develop/tuf/README.md>`_

License
-------

This work is `dual-licensed <https://en.wikipedia.org/wiki/Multi-licensing>`_
and distributed under the (1) MIT License and (2) Apache License, Version 2.0.
Please see `LICENSE-MIT.txt
<https://github.com/theupdateframework/tuf/blob/develop/LICENSE-MIT.txt>`_
and `LICENSE-APACHE.txt
<https://github.com/theupdateframework/tuf/blob/develop/LICENSE-APACHE.txt>`_.


Acknowledgements
----------------

This project is managed by Prof. Justin Cappos and other members of the
`Secure Systems Lab <https://ssl.engineering.nyu.edu/>`_ at NYU.

This material is based upon work supported by the National Science
Foundation under Grant Nos. CNS-1345049 and CNS-0959138. Any opinions,
findings, and conclusions or recommendations expressed in this material
are those of the author(s) and do not necessarily reflect the views of
the National Science Foundation.