PHP 8.3.31
Preview: 016_add_vulnerability_hit_table.py Size: 2.48 KB
/proc/self/root/opt/imunify360/venv/lib/python3.11/site-packages/imav/migrations/016_add_vulnerability_hit_table.py

"""
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License,
or (at your option) any later version.


This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
See the GNU General Public License for more details.


You should have received a copy of the GNU General Public License
 along with this program.  If not, see <https://www.gnu.org/licenses/>.

Copyright © 2019 Cloud Linux Software Inc.

This software is also available under ImunifyAV commercial license,
see <https://www.imunify360.com/legal/eula>
"""
import peewee as pw

from defence360agent.model.simplification import FilenameField


def migrate(migrator, database, fake=False, **kwargs):
    MalwareScan = migrator.orm["malware_scans"]

    class VulnerabilityHit(pw.Model):
        """Represents a vulnerable file."""

        class Meta:
            db_table = "vulnerability_hits"

        #: An id of a scan, unique per server.
        id = pw.PrimaryKeyField()
        #: A reference to :class:`MalwareScan`.
        scanid = pw.ForeignKeyField(
            MalwareScan,
            null=False,
            related_name="vulnerabilities",
            on_delete="CASCADE",
        )
        #: The owner of the file.
        owner = pw.CharField(null=False)
        #: The user a file belongs to (is in user's home but owned by another user)
        user = pw.CharField(null=False)
        #: The original path to the file.
        orig_file = FilenameField(null=False)
        #: The type of infection (signature).
        type = pw.CharField(null=False)
        #: The hash of the files as provided by AI-BOLIT.
        hash = pw.CharField(null=True)
        #: The size of the file.
        size = pw.CharField(null=True)
        #: The exact timestamp when AI-BOLIT has detected the file.
        timestamp = pw.FloatField(null=True)
        #: The current status of the file.
        #: Must be one of :class:`.VulnerabilityHitStatus`.
        status = pw.CharField(default="vulnerable")
        #: Timestamp when the file was last patched.
        patched_at = pw.FloatField(null=True)

    migrator.create_model(VulnerabilityHit)


def rollback(migrator, database, fake=False, **kwargs):
    VulnerabilityHit = migrator.orm["vulnerability_hits"]
    migrator.remove_model(VulnerabilityHit)

Directory Contents

Dirs: 1 × Files: 31

Name Size Perms Modified Actions
- drwxr-xr-x 2026-06-08 20:24:16
Edit Download
947 B lrw-r--r-- 2026-05-26 21:31:52
Edit Download
2.85 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
2.48 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
1.29 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
1.64 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
1.10 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
1.71 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
6.30 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
2.33 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
4.01 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
1.12 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
1.11 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
1.13 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
2.60 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
1.16 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
3.29 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
8.99 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
1.13 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
1.49 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
1.40 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
1.20 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
986 B lrw-r--r-- 2026-05-26 21:31:52
Edit Download
989 B lrw-r--r-- 2026-05-26 21:31:52
Edit Download
2.48 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
1.29 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
988 B lrw-r--r-- 2026-05-26 21:31:52
Edit Download
977 B lrw-r--r-- 2026-05-26 21:31:52
Edit Download
1.14 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
1.74 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
1.07 KB lrw-r--r-- 2026-05-26 21:31:52
Edit Download
0 B lrw-r--r-- 2026-05-26 21:31:52
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).