DESIGN 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. Some of the original design can still be recognized in the code:
  2. apt-sec update (DB creation/update)
  3. - Poll current Debian Packages/Sources files
  4. - deb2pkg; # map deb-name => pkg-name
  5. - pkg2src; # map pkg-name => src-name
  6. - Poll custom-created Sha1Sums file (created from Debian pkgs mirror)
  7. - sha1map; # map sha1sum => file-path
  8. - Poll DSAs (email trigger, apt-sec update)
  9. - src2dsa; # map src-name => dsa_id
  10. - dsa2cve; # map dsa_id => cve_id
  11. (- dsatable; # map dsa_id => dsa)
  12. - Poll CVEs for all the parsed DSAs
  13. - cvetable; # map cve_id => (rel-date, time-to-fix, score1, score2, score3))
  14. - Merge/process src2dsa, dsa2cve, cvetable:
  15. - src2mtbf; # map src-name => MTBFstats
  16. apt-sec check (Trustworthiness Computation)
  17. - IMA status as input (local,remote)
  18. - resolve IMA hashes to pkg names/aliases
  19. - compute MTBF(pkt)
  20. - compute aggregated MTBF for current system
  21. apt-sec show (show stats of pkg)
  22. apt-sec install/remove
  23. - show change in overall MTBF based on dpkg db
  24. html/
  25. - HTML frontend using index.sh as main CGI script
  26. mirror/
  27. - stores upstream advisories, repo files etc
  28. cache/
  29. - stores internal databases and outputs
  30. cronjob.sh
  31. - called once daily by cron to fetch and process any updates