Nazneen Fatema Rajani

46 papers A* 8B 1Journal 25Unranked 12
YearRankTypeTitle / Venue / Authors
2021 A* conf
ICLR
Jesse Vig, Ali Madani, Lav R. Varshney, Caiming Xiong, Richard Socher, Nazneen Fatema Rajani
2021 J jnl
CoRR
Wojciech Kryscinski, Nazneen Fatema Rajani, Divyansh Agarwal, Caiming Xiong, Dragomir R. Radev
2021 A* conf
ICLR
Shiyang Li, Semih Yavuz, Kazuma Hashimoto, Jia Li, Tong Niu, Nazneen Fatema Rajani, Xifeng Yan, Yingbo Zhou, Caiming Xiong
2021 conf
NAACL-HLT
Linyong Nan, Dragomir R. Radev, Rui Zhang, Amrit Rau, Abhinand Sivaprasad, Chiachun Hsieh, Xiangru Tang, Aadit Vyas, Neha Verma, Pranav Krishna, Yangxiaokang Liu, Nadia Irwanto, Jessica Pan, Faiaz Rahman, Ahmad Zaidi, Mutethia Mutuma, Yasin Tarabar, Ankit Gupta, Tao Yu, Yi Chern Tan, Xi Victoria Lin, Caiming Xiong, Richard Socher, Nazneen Fatema Rajani
2021 conf
EMNLP (Findings)
Ben Krause, Akhilesh Deepak Gotmare, Bryan McCann, Nitish Shirish Keskar, Shafiq R. Joty, Richard Socher, Nazneen Fatema Rajani
2021 conf
NAACL-HLT (Industry Papers)
Karan Goel, Laurel J. Orr, Nazneen Fatema Rajani, Jesse Vig, Christopher Ré
2021 J jnl
CoRR
Tanya Goyal, Nazneen Fatema Rajani, Wenhao Liu, Wojciech Kryscinski
2021 J jnl
CoRR
Prafulla Kumar Choubey, Jesse Vig, Wenhao Liu, Nazneen Fatema Rajani
2021 conf
NAACL-HLT (Demonstrations)
Karan Goel, Nazneen Fatema Rajani, Jesse Vig, Zachary Taschdjian, Mohit Bansal, Christopher Ré
2021 J jnl
CoRR
Karan Goel, Nazneen Fatema Rajani, Jesse Vig, Samson Tan, Jason Wu, Stephan Zheng, Caiming Xiong, Mohit Bansal, Christopher Ré
2021 conf
ACL (student)
Qingyun Wang, Semih Yavuz, Xi Victoria Lin, Heng Ji, Nazneen Fatema Rajani
2021 J jnl
CoRR
Qingyun Wang, Semih Yavuz, Victoria Lin, Heng Ji, Nazneen Fatema Rajani
2021 J jnl
CoRR
Jesse Vig, Wojciech Kryscinski, Karan Goel, Nazneen Fatema Rajani
2020 J jnl
CoRR
Jesse Vig, Ali Madani, Lav R. Varshney, Caiming Xiong, Richard Socher, Nazneen Fatema Rajani
2020 J jnl
CoRR
Junxian He, Wojciech Kryscinski, Bryan McCann, Nazneen Fatema Rajani, Caiming Xiong
2020 J jnl
CoRR
Gustavo Aguilar, Bryan McCann, Tong Niu, Nazneen Fatema Rajani, Nitish Shirish Keskar, Thamar Solorio
2020 J jnl
CoRR
Shiyang Li, Semih Yavuz, Kazuma Hashimoto, Jia Li, Tong Niu, Nazneen Fatema Rajani, Xifeng Yan, Yingbo Zhou, Caiming Xiong
2020 J jnl
CoRR
Dragomir R. Radev, Rui Zhang, Amrit Rau, Abhinand Sivaprasad, Chiachun Hsieh, Nazneen Fatema Rajani, Xiangru Tang, Aadit Vyas, Neha Verma, Pranav Krishna, Yangxiaokang Liu, Nadia Irwanto, Jessica Pan, Faiaz Rahman, Ahmad Zaidi, Murori Mutuma, Yasin Tarabar, Ankit Gupta, Tao Yu, Yi Chern Tan, Xi Victoria Lin, Caiming Xiong, Richard Socher
2020 A* conf
ACL
Tianlu Wang, Xi Victoria Lin, Nazneen Fatema Rajani, Bryan McCann, Vicente Ordonez, Caiming Xiong
2020 J jnl
CoRR
Tianlu Wang, Xi Victoria Lin, Nazneen Fatema Rajani, Bryan McCann, Vicente Ordonez, Caiming Xiong
2020 A* conf
ACL
Jay DeYoung, Sarthak Jain, Nazneen Fatema Rajani, Eric Lehman, Caiming Xiong, Richard Socher, Byron C. Wallace
2020 A* conf
ACL
Nazneen Fatema Rajani, Rui Zhang, Yi Chern Tan, Stephan Zheng, Jeremy Weiss, Aadit Vyas, Abhijit Gupta, Caiming Xiong, Richard Socher, Dragomir R. Radev
2020 J jnl
CoRR
Nazneen Fatema Rajani, Rui Zhang, Yi Chern Tan, Stephan Zheng, Jeremy Weiss, Aadit Vyas, Abhijit Gupta, Caiming Xiong, Richard Socher, Dragomir R. Radev
2020 J jnl
CoRR
Lav R. Varshney, Nazneen Fatema Rajani, Richard Socher
2020 J jnl
CoRR
Nazneen Fatema Rajani, Ben Krause, Wenpeng Yin, Tong Niu, Richard Socher, Caiming Xiong
2020 J jnl
CoRR
Han Guo, Nazneen Fatema Rajani, Peter Hase, Mohit Bansal, Caiming Xiong
2020 J jnl
CoRR
Ben Krause, Akhilesh Deepak Gotmare, Bryan McCann, Nitish Shirish Keskar, Shafiq R. Joty, Richard Socher, Nazneen Fatema Rajani
2020 J jnl
CoRR
Pascal Sturmfels, Jesse Vig, Ali Madani, Nazneen Fatema Rajani
2020 B conf
INLG
Qingyun Wang, Qi Zeng, Lifu Huang, Kevin Knight, Heng Ji, Nazneen Fatema Rajani
2020 J jnl
CoRR
Qingyun Wang, Qi Zeng, Lifu Huang, Kevin Knight, Heng Ji, Nazneen Fatema Rajani
2020 conf
EMNLP (1)
Wenpeng Yin, Nazneen Fatema Rajani, Dragomir R. Radev, Richard Socher, Caiming Xiong
2020 J jnl
CoRR
Wenpeng Yin, Nazneen Fatema Rajani, Dragomir R. Radev, Richard Socher, Caiming Xiong
2020 J jnl
CoRR
Hiroaki Hayashi, Wojciech Kryscinski, Bryan McCann, Nazneen Fatema Rajani, Caiming Xiong
2019 J jnl
CoRR
Jay DeYoung, Sarthak Jain, Nazneen Fatema Rajani, Eric Lehman, Caiming Xiong, Richard Socher, Byron C. Wallace
2019 conf
ACL (1)
Nazneen Fatema Rajani, Bryan McCann, Caiming Xiong, Richard Socher
2019 J jnl
CoRR
Nazneen Fatema Rajani, Bryan McCann, Caiming Xiong, Richard Socher
2018 conf
NAACL-HLT
Nazneen Fatema Rajani, Raymond J. Mooney
2017 conf
BioNLP
Nazneen Fatema Rajani, Mihaela A. Bornea, Ken Barker
2017 A* conf
IJCAI
Nazneen Fatema Rajani, Raymond J. Mooney
2016 A* conf
EMNLP
Nazneen Fatema Rajani, Raymond J. Mooney
2016 conf
TAC
Nazneen Fatema Rajani, Raymond J. Mooney
2016 J jnl
CoRR
Nazneen Fatema Rajani, Raymond J. Mooney
2016 J jnl
CoRR
Nazneen Fatema Rajani, Raymond J. Mooney
2015 conf
TAC
Nazneen Fatema Rajani, Raymond J. Mooney
2015 conf
ACL (1)
Vidhoon Viswanathan, Nazneen Fatema Rajani, Yinon Bentor, Raymond J. Mooney
2014 A* conf
SIGIR
Nazneen Fatema Rajani, Kate McArdle, Jason Baldridge
redb/extractors/basicproperties.py
← Index redb/extractors/basicproperties.py python
from dataclasses import asdict
import inspect
import os
import magic
from magika import Magika
from datetime import datetime, timezone
from typing import Any, List, Tuple

from redb.extractors.enum import Tag
from redb.models.dataclasses import BasicProperties
from redb.extractors.extractor import Extractor


class BasicPropertiesExtractor(Extractor):

    def __init__(
        self,
        filepath,
        log,
        exporters=None,
        index_prefix=None,
        elastic_index=None,
        known_benign=False,
        known_malicious=False,
        parent_sha256=None,
        precomputed_hashes=None,
        is_fat=None,
        child_sha256=None,
        child_architecture=None,
        child_filetype=None,
        first_seen=None,
    ):
        super().__init__(
            filepath,
            log,
            exporters=exporters,
            index_prefix=index_prefix,
            elastic_index=elastic_index,
            known_benign=known_benign,
            known_malicious=known_malicious,
            precomputed_hashes=precomputed_hashes,
        )
        self.basic_properties = None
        self.elastic_index = self.index_prefix + "-basic_properties"
        self.is_packed = None
        self.parent_sha256 = parent_sha256  # For FAT Mach-O slices, points to container hash
        self.is_fat = is_fat  # True for FAT Mach-O containers, None otherwise
        self.child_sha256 = child_sha256  # SHA256 hashes of children (FAT slices, zip contents)
        self.child_architecture = child_architecture  # Architecture names for FAT Mach-O slices
        self.child_filetype = child_filetype  # Magika filetypes for children (useful for zip archives)
        self.first_seen = first_seen  # From catalog_samples, None for local files

    def tag(self):
        return Tag.BASIC_PROPERTIES.value

    def _extract_basic_properties(self):
        self.log.debug(inspect.currentframe().f_code.co_name)
        filename = None  # Reserved for future use
        sample_name = os.path.basename(self.filepath)
        file_entropy = round(self.calculate_entropy(self.binary), 3)
        type_ = magic.from_buffer(self.binary)
        type_mime = magic.from_buffer(self.binary, mime=True)
        type_magika = Magika().identify_bytes(self.binary).output.label
        size = len(self.binary)
        self.basic_properties = BasicProperties(
            filename, sample_name, size, type_, type_mime, type_magika,
            file_entropy, self.is_packed, self.is_fat, self.child_sha256,
            self.child_architecture, self.child_filetype,
            first_seen=str(self.first_seen) if self.first_seen else None,
        )
        self.log.debug(f"Basic Properties dump: {asdict(self.basic_properties)}")

    def extract(self):
        self.log.debug(inspect.currentframe().f_code.co_name)
        try:
            self._extract_basic_properties()
            # self.export_to_elastic([self.basic_properties])
            return self.basic_properties
        except Exception as e:
            self.log.error(f"Extract basic properties error {self.hash.sha256} Exception: {e}")
            return None

    def prepare_export_data(self, exporter_type: str) -> Any:
        if exporter_type == "ElasticsearchExporter":
            return self.basic_properties
        elif exporter_type == "ClickHouseExporter":
            data = [[
                self.sha256,
                self.md5,
                self.sha1,
                self.parent_sha256,  # NULL for standalone/FAT, fat_hash for slices
                self.basic_properties.child_sha256 or [],  # SHA256 hashes of children
                self.basic_properties.child_architecture or [],  # Architecture names for FAT slices
                self.basic_properties.child_filetype or [],  # Magika filetypes for children
                self.basic_properties.is_fat,  # True for FAT Mach-O containers, NULL otherwise
                self.basic_properties.filename,
                self.basic_properties.sample_name,
                self.basic_properties.filesize,
                self.basic_properties.file_entropy,
                self.basic_properties.filetype,
                self.basic_properties.filetype_mime,
                self.basic_properties.filetype_magika,
                self.first_seen or datetime(1970, 1, 1, tzinfo=timezone.utc),  # From catalog_samples, epoch zero for local files (uses original datetime, not string)
                datetime.now(timezone.utc)
            ]]

            column_names = [
                'sha256', 'md5', 'sha1', 'parent_sha256', 'child_sha256', 'child_architecture', 'child_filetype',
                'is_fat', 'filename', 'sample_name',
                'filesize', 'file_entropy', 'filetype', 'filetype_mime',
                'filetype_magika', 'first_seen', 'analysis_date'
            ]

            column_type_names = [
                'String', 'String', 'String', 'Nullable(String)',
                'Array(FixedString(64))', 'Array(LowCardinality(String))', 'Array(LowCardinality(String))',
                'Nullable(UInt8)', 'Nullable(String)', 'String',
                'UInt64', 'Float64', 'LowCardinality(String)',
                'LowCardinality(String)', 'LowCardinality(String)',
                'DateTime64(3, \'UTC\')',
                'DateTime64(3, \'UTC\')'
            ]

            return data, column_names, column_type_names

    def get_clickhouse_table(self) -> str:
        return "redb_basic_properties"